began version 0.6 Rewrote function start applet
authorVlad <vlad@gas.by>
Thu, 15 Jul 2010 08:39:17 +0000 (11:39 +0300)
committerVlad <vlad@gas.by>
Thu, 15 Jul 2010 08:39:17 +0000 (11:39 +0300)
applet/debian/changelog
applet/src/livewp-common.h
applet/src/livewp-settings.c

index 9001300..f7dbb35 100644 (file)
@@ -1,3 +1,9 @@
+live-wallpaper (0.6) unstable; urgency=low
+
+  * Added possiblity to use all displayes
+
+ -- Vlad Vasiliev <vlad@gas.by>  Tue, 15 Jun 2010 23:29:10 +0200
+
 live-wallpaper (0.5.1) unstable; urgency=low
 
   * Fixed bug with load theme at startup 
index 88cb82f..8465d24 100644 (file)
@@ -86,6 +86,7 @@ struct _Animation_WallpaperPrivate
     gint yapplet;
     Scene *scene;
     GHashTable * hash_scene_func;
+    GKeyFile *config_file;
 };
 
 struct _AWallpaperPlugin
index c7eaa12..12a7abf 100644 (file)
@@ -154,6 +154,7 @@ lw_settings(Animation_WallpaperPrivate *priv, gpointer data){
     gtk_widget_show (window);
     gtk_dialog_add_button(GTK_DIALOG(window), _("About"), GTK_RESPONSE_NO);
     save_button = gtk_dialog_add_button(GTK_DIALOG(window), _("Save"), GTK_RESPONSE_YES);
+
     result = gtk_dialog_run(GTK_DIALOG(window));
 
     switch(result){
@@ -205,36 +206,44 @@ lw_settings(Animation_WallpaperPrivate *priv, gpointer data){
 /*******************************************************************************/
 gboolean
 check_applet_state(void){
-    FILE    *file_in;
+    FILE    *file_in = NULL;
     gchar buffer[2048];
     gboolean result = FALSE;
 
     file_in = fopen("/home/user/.config/hildon-desktop/home.plugins","r");
-    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);
+    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);
+    }
     return result;
 }
 /*******************************************************************************/
 void
 start_applet(void){
-    FILE    *file_out;
 
-    file_out = fopen("/home/user/.config/hildon-desktop/home.plugins","w+");
-    if (file_out){
-        fputs("\n", file_out);
-        fputs("[livewp-home-widget.desktop-0]\n",file_out);
-        fputs("X-Desktop-File=/usr/share/applications/hildon-home/livewp-home-widget.desktop\n",file_out);
-        fclose(file_out);
-    }
+    HDConfigFile *config_file = NULL;
+    GKeyFile *gkey_file = NULL;
+
+    config_file = hd_config_file_new(NULL, "/home/user/.config/hildon-desktop/", "home.plugins");
+    
+    gkey_file = hd_config_file_load_file(config_file, FALSE);
+    if (gkey_file){
+        g_key_file_set_string (gkey_file, "livewp-home-widget.desktop-0", "X-Desktop-File", "/usr/share/applications/hildon-home/livewp-home-widget.desktop");
+        hd_config_file_save_file( config_file, gkey_file);
+        g_key_file_free(gkey_file);
+    }else
+        fprintf(stderr, "Problem with config file");
+    g_object_unref(config_file);
 }
 /*******************************************************************************/
 void