checking all view on display
authortanya <tanyshk@gmail.com>
Thu, 15 Jul 2010 11:24:03 +0000 (14:24 +0300)
committertanya <tanyshk@gmail.com>
Thu, 15 Jul 2010 11:24:03 +0000 (14:24 +0300)
applet/src/livewp-home-widget.c

index 3ff8735..1d41de4 100644 (file)
 #include <sys/time.h>
 #include <stdlib.h>
 
-#define PLUGIN_NAME "livewp-home-widget.desktop-0"
-#define GCONF_KEY_POSITION "/apps/osso/hildon-desktop/applets/%s/position"
-#define GCONF_KEY_MODIFIED "/apps/osso/hildon-desktop/applets/%s/modified"
-#define GCONF_KEY_VIEW     "/apps/osso/hildon-desktop/applets/%s/view"
+#define GCONF_KEY_POSITION "/apps/osso/hildon-desktop/applets/livewp-home-widget.desktop-%i/position"
+#define GCONF_KEY_MODIFIED "/apps/osso/hildon-desktop/applets/livewp-home-widget.desktop-%i/modified"
+#define GCONF_KEY_VIEW     "/apps/osso/hildon-desktop/applets/livewp-home-widget.desktop-%i/view"
 
 HD_DEFINE_PLUGIN_MODULE (AWallpaperPlugin, animation_wallpaper_plugin, HD_TYPE_HOME_PLUGIN_ITEM)
 #define Animation_Wallpaper_HOME_PLUGIN_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE (obj,\
@@ -44,6 +43,7 @@ lw_applet_realize (GtkWidget *widget)
 {
       GdkScreen *screen;
 
+  fprintf(stderr,"ddddddddddddd %s\n", hd_plugin_item_get_plugin_id (HD_PLUGIN_ITEM (widget)));
       screen = gtk_widget_get_screen (widget);
       gtk_widget_set_colormap (widget,
                                 gdk_screen_get_rgba_colormap (screen));
@@ -110,36 +110,46 @@ init_applet_position(gint *xapplet, gint *yapplet)
   gchar *modified_key;
   gchar *modified;
   GError *error = NULL;
+  gint i;
   GConfClient   *gconf_client = gconf_client_get_default ();
-  position_key = g_strdup_printf (GCONF_KEY_POSITION, PLUGIN_NAME);
-  position = gconf_client_get_list (gconf_client,
-                                    position_key,
-                                    GCONF_VALUE_INT,
-                                    NULL);
-  if (position && position->data && position->next->data){
-       *xapplet = GPOINTER_TO_INT (position->data);
-       *yapplet = GPOINTER_TO_INT (position->next->data);
-  }else{
-       position = g_slist_prepend (g_slist_prepend (NULL,
-                                      GINT_TO_POINTER (Ystartposition)),
-                                     GINT_TO_POINTER (Xstartposition));
-       gconf_client_set_list (gconf_client,
-                               position_key,
-                               GCONF_VALUE_INT,
-                              position,
-                              &error);
-       *xapplet = Xstartposition;
-       *yapplet = Ystartposition;
+  for (i=0;i<4;i++){
+      position_key = g_strdup_printf (GCONF_KEY_POSITION, i);
+      position = gconf_client_get_list (gconf_client,
+                                        position_key,
+                                        GCONF_VALUE_INT,
+                                        NULL);
+      if (position && position->data && position->next->data){
+        *xapplet = GPOINTER_TO_INT (position->data);
+        *yapplet = GPOINTER_TO_INT (position->next->data);
+      }else{
+        position = g_slist_prepend (g_slist_prepend (NULL,
+                                          GINT_TO_POINTER (Ystartposition)),
+                              GINT_TO_POINTER (Xstartposition));
+        gconf_client_set_list (gconf_client,
+                                   position_key,
+                                   GCONF_VALUE_INT,
+                               position,
+                       &error);
+        *xapplet = Xstartposition;
+        *yapplet = Ystartposition;
+      }
+      g_free (position_key);
+      modified = g_strdup_printf ("%i", 0);
+      modified_key = g_strdup_printf (GCONF_KEY_MODIFIED, i);
+      gconf_client_set_string (gconf_client,
+                               modified_key,
+                               modified,
+                               &error);
+      g_free(modified);
+      g_free(modified_key);
+      modified_key = g_strdup_printf (GCONF_KEY_VIEW, i);
+      gconf_client_set_int (gconf_client,
+                               modified_key,
+                               (i+1),
+                               &error);
+      g_free(modified_key);
+
   }
-  g_free (position_key);
-  modified = g_strdup_printf ("%i", 0);
-  modified_key = g_strdup_printf (GCONF_KEY_MODIFIED, PLUGIN_NAME);
-  gconf_client_set_string (gconf_client,
-                           modified_key,
-                           modified,
-                           &error);
-  g_free(modified);
-  g_free(modified_key);
   gconf_client_clear_cache(gconf_client);
   g_object_unref(gconf_client);
 }