fixed problem with hildonmessage window. fixed problem with Makefile.am
[livewp] / applet / src / livewp-settings.c
index e712865..66efa32 100644 (file)
@@ -64,17 +64,25 @@ create_category_selector (Animation_WallpaperPrivate *priv){
     GList *category_list;
     GHashTable *result_table = NULL;
 
+    selector = hildon_touch_selector_new_text();
+
+    hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), "LiveWallpaper" );
+
     result_table = g_hash_table_new(g_str_hash, g_str_equal);
     while (store){  
-        if (!g_hash_table_lookup(result_table, g_hash_table_lookup(store->data, "category")))
+        if (!g_hash_table_lookup(result_table, g_hash_table_lookup(store->data, "category"))){
             g_hash_table_insert(result_table, g_hash_table_lookup(store->data, "category"), (gint *)1);     
+            hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), g_hash_table_lookup(store->data, "category"));
+        }
         store = g_slist_next(store);
     }
     
     /* Add Xscreensaver for install message */
-    if (!g_hash_table_lookup(result_table,"Xscreensaver"))
+    if (!g_hash_table_lookup(result_table,"Xscreensaver")){
             g_hash_table_insert(result_table, "Xscreensaver", (gint *)1);
-   
+            hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), "Xscreensaver");
+    }
+#if 0
 
     category_list = g_hash_table_get_keys (result_table);
     selector = hildon_touch_selector_new_text();
@@ -82,9 +90,10 @@ create_category_selector (Animation_WallpaperPrivate *priv){
     hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), "LiveWallpaper" );
     while (category_list){  
         hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector),category_list->data );
+        fprintf(stderr, "create %s\n", category_list->data);
         category_list = g_list_next(category_list);
     }
-
+#endif
     return selector;
 }
 
@@ -397,10 +406,11 @@ create_categories_button (Animation_WallpaperPrivate *priv){
                 num++;
             }
             if (!strcmp(theme, g_hash_table_lookup(store->data, "name"))){
-                if (g_hash_table_lookup(store->data, "category"))
+                if (g_hash_table_lookup(store->data, "category")){
                     hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 
                     (gint)g_hash_table_lookup(result_table, g_hash_table_lookup(store->data, "category"))); 
                     hildon_button_set_value(HILDON_BUTTON(button), g_hash_table_lookup(store->data, "category"));
+                }
                 break;
             }
 
@@ -549,26 +559,28 @@ lw_main_settings(Animation_WallpaperPrivate *priv, gpointer data){
         fprintf(stderr,"CHECK!!!!!!!!!!!!!!\n");
         banner = hildon_banner_show_information (window, NULL, _("Livewallpaper is reloading..."));
         hildon_banner_set_timeout(banner, 3000);
-        gtk_widget_show(banner);
-        gtk_main_iteration_do(FALSE);
         stop_applet(1);
         stop_applet(2);
         stop_applet(3);
         stop_applet(4);
-        sleep(1);
-        gtk_main_iteration_do(FALSE);
-        sleep(1);
-        gtk_main_iteration_do(FALSE);
-        sleep(1);
-        gtk_main_iteration_do(FALSE);
-        start_applet(1);
-        start_applet(2);
-        start_applet(3);
-        start_applet(4);
-        
+        g_timeout_add(3000, (GSourceFunc)cb_timeout_settings, window);
+    }else{
+        if (window)
+            gtk_widget_destroy(window);
     }
+}
+/*******************************************************************************/
+gboolean
+cb_timeout_settings(GtkWidget *window){
+
+    start_applet(1);
+    start_applet(2);
+    start_applet(3);
+    start_applet(4);
+
     if (window)
         gtk_widget_destroy(window);
+
 }
 /*******************************************************************************/
 void