added checking for category Xscreensaver and theme Sherman's Aquarium
authorvlad <vlad@vlanout.(none)>
Fri, 20 Aug 2010 20:21:06 +0000 (23:21 +0300)
committervlad <vlad@vlanout.(none)>
Fri, 20 Aug 2010 20:21:06 +0000 (23:21 +0300)
applet/data/external_themes/xsnow2.xml
applet/src/livewp-settings.c

index b6e50d0..b95d95b 100644 (file)
@@ -1,5 +1,5 @@
 <theme>
-    <name>XsnowMaemo</name>
+    <name>Xsnow</name>
     <exec_path>/usr/bin/xsnow</exec_path>
     <category>Unknown</category>
      <icon_on>/usr/share/livewp/theme/Xsnow/icon.png</icon_on>       
index 409da26..b1728ad 100644 (file)
@@ -66,6 +66,11 @@ create_category_selector (Animation_WallpaperPrivate *priv){
             g_hash_table_insert(result_table, g_hash_table_lookup(store->data, "category"), (gint *)1);     
         store = g_slist_next(store);
     }
+    
+    /* Add Xscreensaver for install message */
+    if (!g_hash_table_lookup(result_table,"Xscreensaver"))
+            g_hash_table_insert(result_table, "Xscreensaver", (gint *)1);
+   
 
     category_list = g_hash_table_get_keys (result_table);
     selector = hildon_touch_selector_new_text();
@@ -218,6 +223,7 @@ void
 changed_value_category_cb (HildonPickerButton *picker, Animation_WallpaperPrivate *priv)
 {
     GtkWidget *theme_button = NULL;
+    const gchar *choice = hildon_button_get_value(HILDON_BUTTON (picker));
 
     theme_button = g_object_get_data(G_OBJECT(priv->window), "theme_button");
     if (!theme_button) 
@@ -226,12 +232,22 @@ changed_value_category_cb (HildonPickerButton *picker, Animation_WallpaperPrivat
     hildon_touch_selector_remove_column(selector, 0); 
     hildon_touch_selector_append_text_column(selector, (GtkTreeModel*)gtk_list_store_new (1, G_TYPE_STRING), TRUE);
     fill_theme_button(priv, theme_button, (gchar *)hildon_button_get_value(HILDON_BUTTON (picker)));
+    /* check xscreensaver category */
+    if (choice){
+        if (!strcmp(choice,"Xscreensaver"))
+            if (access("/usr/bin/xcreensaver", F_OK) != 0){
+                hildon_banner_show_information(GTK_WIDGET(picker), NULL, 
+                _("You haven't got the installed package Xscreensaver. Please install it via using Application Manager"));
+            }
+
+    }
 }
 /********************************************************************************/
 void
 fill_theme_button (Animation_WallpaperPrivate *priv, GtkWidget *button, gchar *category){
 
     gchar *theme = priv->theme;
+    gboolean flag = False;
     gint num=0;
         hildon_button_set_value(HILDON_BUTTON (button), NULL);
     if (!category){
@@ -287,8 +303,21 @@ fill_theme_button (Animation_WallpaperPrivate *priv, GtkWidget *button, gchar *c
         }
         store = g_slist_next(store);
     }
-       
-    hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (button),
+    /* Added Shreman's Aquarium for message */
+    if (!strcmp(category, "Unknown")){
+        store = priv->extheme_list;
+        while (store){  
+            if (!strcmp("Sherman's Aquarium" , g_hash_table_lookup(store->data, "name"))){
+                flag = TRUE;
+                break;
+            }
+            store = g_slist_next(store);
+        }
+        if (!flag)
+            hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), "Sherman's Aquarium");
+    }
+
+        hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (button),
                                                        HILDON_TOUCH_SELECTOR (selector));
 
     changed_value_theme_cb(HILDON_PICKER_BUTTON (button), priv);
@@ -618,6 +647,15 @@ lw_theme_settings(GtkWidget *button, Animation_WallpaperPrivate *priv) {
                         break;
                     }
                 }
+                /* Check Xsnow program */
+                if (!strcmp(hildon_button_get_value(HILDON_BUTTON (theme_button)), "Sherman's Aquarium")){
+                    if (access("/usr/bin/shermans", F_OK) != 0){
+                        hildon_banner_show_information(GTK_WIDGET(button), NULL, 
+                        _("You haven't got the installed package 'Sherman's Aquarium'. Please install it via using Application Manager"));
+                        /* if not scuccess exit from wthout saving */ 
+                        break;
+                    }
+                }
 
                 if (priv->theme)
                     g_free(priv->theme);