Next step for categories
authorvlad <vlad@vlanout.(none)>
Thu, 12 Aug 2010 20:15:43 +0000 (23:15 +0300)
committervlad <vlad@vlanout.(none)>
Thu, 12 Aug 2010 20:15:43 +0000 (23:15 +0300)
applet/src/livewp-settings.c

index 14deb4a..6739b9c 100644 (file)
@@ -72,12 +72,12 @@ create_category_selector (Animation_WallpaperPrivate *priv){
     category_list = g_hash_table_get_keys (result_table);
     selector = hildon_touch_selector_new_text();
 
+    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 );
         category_list = g_list_next(category_list);
     }
 
-    hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), "LiveWallpaper" );
     return selector;
 }
 
@@ -225,6 +225,7 @@ fill_theme_button (Animation_WallpaperPrivate *priv, GtkWidget *button, gchar *c
     if (!selector)
         selector = hildon_touch_selector_new_text ();
     
+    hildon_button_set_value(HILDON_BUTTON(button), NULL);
     if (!strcmp(category, "LiveWallpaper")){
         hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Berlin"));
         hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Modern"));
@@ -232,29 +233,29 @@ fill_theme_button (Animation_WallpaperPrivate *priv, GtkWidget *button, gchar *c
         hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Accel"));
         hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), _("Video"));
         num = 5;        
+        if (theme){ 
+            if (!strcmp(theme, "Berlin")){
+                hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 0);
+                hildon_button_set_value(HILDON_BUTTON(button), _("Berlin"));
+            }
+            if (!strcmp(theme, "Modern")){
+                hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 1);
+                hildon_button_set_value(HILDON_BUTTON(button), _("Modern"));
+            }
+            if (!strcmp(theme, "Matrix")){
+                hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 2);
+                hildon_button_set_value(HILDON_BUTTON(button), _("Matrix"));
+            }
+            if (!strcmp(theme, "Accel")){
+                hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 3);
+                hildon_button_set_value(HILDON_BUTTON(button), _("Accel"));
+            }
+            if (!strcmp(theme, "Video")){
+                hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 4);
+                hildon_button_set_value(HILDON_BUTTON(button), _("Video"));
+            }
+       }
     }
-    if (theme) 
-        if (!strcmp(theme, "Berlin")){
-            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 0);
-            hildon_button_set_value(HILDON_BUTTON(button), _("Berlin"));
-        }
-        if (!strcmp(theme, "Modern")){
-            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 1);
-            hildon_button_set_value(HILDON_BUTTON(button), _("Modern"));
-        }
-        if (!strcmp(theme, "Matrix")){
-            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 2);
-            hildon_button_set_value(HILDON_BUTTON(button), _("Matrix"));
-        }
-        if (!strcmp(theme, "Accel")){
-            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 3);
-            hildon_button_set_value(HILDON_BUTTON(button), _("Accel"));
-        }
-        if (!strcmp(theme, "Video")){
-            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 4);
-            hildon_button_set_value(HILDON_BUTTON(button), _("Video"));
-        }
-
     while (store){  
         if (!g_hash_table_lookup(store->data, "category"))
             continue;
@@ -268,7 +269,6 @@ fill_theme_button (Animation_WallpaperPrivate *priv, GtkWidget *button, gchar *c
         }
         store = g_slist_next(store);
     }
-
        
     hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (button),
                                                        HILDON_TOUCH_SELECTOR (selector));
@@ -300,41 +300,38 @@ create_categories_button (Animation_WallpaperPrivate *priv){
     hildon_button_set_title (HILDON_BUTTON (button), _("Category"));
     hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (button),
                                                        HILDON_TOUCH_SELECTOR (selector));
-/*                                                       
     if (theme) {
         if (!strcmp(theme, "Berlin")){
-            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 0);
-            hildon_button_set_value(HILDON_BUTTON(button), _("Berlin"));
+            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 0); 
+            hildon_button_set_value(HILDON_BUTTON(button), _("LiveWallpaper"));
         }
         if (!strcmp(theme, "Modern")){
-            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 1);
-            hildon_button_set_value(HILDON_BUTTON(button), _("Modern"));
+            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 0); 
+            hildon_button_set_value(HILDON_BUTTON(button), _("LiveWallpaper"));
         }
         if (!strcmp(theme, "Matrix")){
-            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 2);
-            hildon_button_set_value(HILDON_BUTTON(button), _("Matrix"));
+            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 0); 
+            hildon_button_set_value(HILDON_BUTTON(button), _("LiveWallpaper"));
         }
         if (!strcmp(theme, "Accel")){
-            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 3);
-            hildon_button_set_value(HILDON_BUTTON(button), _("Accel"));
+            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 0); 
+            hildon_button_set_value(HILDON_BUTTON(button), _("LiveWallpaper"));
         }
         if (!strcmp(theme, "Video")){
-            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 4);
-            hildon_button_set_value(HILDON_BUTTON(button), _("Video"));
+            hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, 0); 
+            hildon_button_set_value(HILDON_BUTTON(button), _("LiveWallpaper"));
         }
-        num = 5;
         GSList *store = priv->extheme_list;
         while (store){
             if (!strcmp(theme, g_hash_table_lookup(store->data, "name"))){
-                hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, num);
-                hildon_button_set_value(HILDON_BUTTON(button), _(g_hash_table_lookup(store->data, "name")));
+                if (g_hash_table_lookup(store->data, "category"))
+                    hildon_button_set_value(HILDON_BUTTON(button), _(g_hash_table_lookup(store->data, "category")));
+/*                hildon_touch_selector_set_active (HILDON_TOUCH_SELECTOR (selector), 0, num); */
                 break;
             }
-            num++;
             store = g_slist_next(store);
         }
     }
-*/    
     return button;
 }
 
@@ -565,7 +562,8 @@ lw_theme_settings(GtkWidget *button, Animation_WallpaperPrivate *priv) {
     switch(result){
         case GTK_RESPONSE_YES:
             /* Check theme */
-            if (hildon_button_get_value(HILDON_BUTTON (theme_button))){
+            if (hildon_button_get_value(HILDON_BUTTON (theme_button)) &&
+                strcmp(hildon_button_get_value(HILDON_BUTTON (theme_button)), "")){
                 /* Check Xsnow program */
                 if (!strcmp(hildon_button_get_value(HILDON_BUTTON (theme_button)), _("Xsnow"))){
                     if (access("/usr/bin/xsnow", F_OK) != 0){
@@ -666,26 +664,6 @@ check_applet_state(gint number){
         g_free(str);
     }
     return result;
-#if 0
-    FILE    *file_in = NULL;
-    gchar buffer[2048];
-
-    file_in = fopen("/home/user/.config/hildon-desktop/home.plugins","r");
-    if (file_in){
-
-        fprintf(stderr,"Check applet state\n");
-        while (!feof(file_in)) {
-                memset(buffer, 0, sizeof(buffer));
-                fgets(buffer, sizeof(buffer) - 1, file_in);
-                if (!strcmp(buffer, 
-                            "X-Desktop-File=/usr/share/applications/hildon-home/livewp-home-widget.desktop\n")){
-                    result = TRUE;
-                    break;
-                }
-       }
-        fclose(file_in);
-    }
-#endif
 }
 /*******************************************************************************/
 void
@@ -734,40 +712,4 @@ stop_applet(gint number){
         g_free(str);
     g_object_unref(config_file);
 
-#if 0    
-    FILE    *file_in;
-    FILE    *file_out;
-    gchar buffer[2048];
-    gchar * str = NULL;
-
-    file_in = fopen("/home/user/.config/hildon-desktop/home.plugins","r");
-    file_out = fopen("/tmp/livewallpaper.plugins","w");
-    if (file_in && file_out){
-        while (!feof(file_in)) {
-            memset(buffer, 0, sizeof(buffer));
-            fgets(buffer, sizeof(buffer) - 1, file_in);
-            str = g_strdup_printf("[livewp-home-widget.desktop-%i]\n", number);
-            if (strcmp(buffer, str) &&
-                strcmp(buffer, "X-Desktop-File=/usr/share/applications/hildon-home/livewp-home-widget.desktop\n"))
-                fputs(buffer, file_out);
-        }
-        if (str){
-            g_free(str);
-        }
-        fclose(file_out);
-        fclose(file_in);
-        file_in = fopen("/tmp/livewallpaper.plugins","r");
-        file_out = fopen("/home/user/.config/hildon-desktop/home.plugins","w");
-        if (file_in && file_out){
-            while (!feof(file_in)){
-                memset(buffer, 0, sizeof(buffer));
-                fgets(buffer, sizeof(buffer) - 1, file_in);
-                fputs(buffer, file_out);
-            }
-            fclose(file_out);
-            fclose(file_in);
-            unlink ("/tmp/livewallpaper.plugins");
-        }
-    }
-#endif
 }