applet: move build_ui() function into execute(), for easier access to widgets
[espeaktime] / src / applet.c
index 71a1a88..6f74490 100644 (file)
@@ -76,8 +76,19 @@ static void add_scale(GtkVBox *vbox, GtkSizeGroup *size_group, const char *capti
                FALSE, FALSE, 0);
 }
 
-static GtkWidget *build_ui(void)
+osso_return_t execute(osso_context_t *osso, gpointer data, gboolean user_activated)
 {
+       GtkWidget *dialog;
+
+       dialog = gtk_dialog_new_with_buttons(
+               "eSpeakTime Settings",
+               GTK_WINDOW(data),
+               GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR,
+               "Test", 1,
+               GTK_STOCK_SAVE, GTK_RESPONSE_OK,
+               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+               NULL);
+
        int k;
        GtkVBox *vbox = GTK_VBOX(gtk_vbox_new(FALSE, 0));
        GtkSizeGroup *title_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
@@ -129,26 +140,21 @@ static GtkWidget *build_ui(void)
        GtkWidget *panarea = hildon_pannable_area_new();
        gtk_widget_set_size_request(panarea, -1, 800);
        hildon_pannable_area_add_with_viewport(HILDON_PANNABLE_AREA(panarea), GTK_WIDGET(vbox));
-       return panarea;
-}
-
-osso_return_t execute(osso_context_t *osso, gpointer data, gboolean user_activated)
-{
-       GtkWidget *dialog;
-
-       dialog = gtk_dialog_new_with_buttons(
-               "eSpeakTime Settings",
-               GTK_WINDOW(data),
-               GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR,
-               GTK_STOCK_SAVE,
-               GTK_RESPONSE_OK,
-               GTK_STOCK_CANCEL,
-               GTK_RESPONSE_CANCEL,
-               NULL);
 
-       gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), build_ui());
+       gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), panarea);
        gtk_widget_show_all(dialog);
-       gtk_dialog_run(GTK_DIALOG(dialog));
+       while (1) {
+               int result = gtk_dialog_run(GTK_DIALOG(dialog));
+               switch (result) {
+               case 1:
+                       g_print("Test button\n");
+                       continue;
+               case GTK_RESPONSE_OK:
+                       g_print("Save\n");
+                       break;
+               }
+               break;
+       }
        gtk_widget_destroy(GTK_WIDGET(dialog));
 
        return OSSO_OK;
@@ -156,6 +162,7 @@ osso_return_t execute(osso_context_t *osso, gpointer data, gboolean user_activat
 
 osso_return_t save_state(osso_context_t *osso, gpointer data)
 {
+       g_print("save_state called\n");
        return OSSO_OK;
 }