[maemo-commits] [maemo-commits] r8348 - in projects/haf/trunk/maemo-af-desktop: . hildon-home

From: www-data at stage.maemo.org www-data at stage.maemo.org
Date: Mon Nov 27 15:02:56 EET 2006
Author: jobi
Date: 2006-11-27 15:02:54 +0200 (Mon, 27 Nov 2006)
New Revision: 8348

Modified:
   projects/haf/trunk/maemo-af-desktop/ChangeLog
   projects/haf/trunk/maemo-af-desktop/hildon-home/hildon-home-window.c
Log:

2006-11-27  Johan Bilien <johan.bilien at nokia.com>

	* hildon-home/hildon-home-window.c:
	- move acting on the select applets dialog from _dialog_run
	to a _run signal handler
	- send RESPONSE_CANCEL to that dialog if home ends up in the
	background. Fixes: NB#48438



Modified: projects/haf/trunk/maemo-af-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/maemo-af-desktop/ChangeLog	2006-11-27 12:59:20 UTC (rev 8347)
+++ projects/haf/trunk/maemo-af-desktop/ChangeLog	2006-11-27 13:02:54 UTC (rev 8348)
@@ -1,5 +1,13 @@
 2006-11-27  Johan Bilien <johan.bilien at nokia.com>
 
+	* hildon-home/hildon-home-window.c:
+	- move acting on the select applets dialog from _dialog_run
+	to a _run signal handler
+	- send RESPONSE_CANCEL to that dialog if home ends up in the
+	background. Fixes: NB#48438
+
+2006-11-27  Johan Bilien <johan.bilien at nokia.com>
+
 	* configure.ac: 2.9.99.10
 
 2006-11-27  Johan Bilien <johan.bilien at nokia.com>

Modified: projects/haf/trunk/maemo-af-desktop/hildon-home/hildon-home-window.c
===================================================================
--- projects/haf/trunk/maemo-af-desktop/hildon-home/hildon-home-window.c	2006-11-27 12:59:20 UTC (rev 8347)
+++ projects/haf/trunk/maemo-af-desktop/hildon-home/hildon-home-window.c	2006-11-27 13:02:54 UTC (rev 8348)
@@ -113,6 +113,8 @@
   GtkWidget *applet_area;
   GtkWidget *main_area;
 
+  GtkWidget *select_applet_dialog;
+
   GtkWidget *layout_mode_banner;
   guint      layout_mode_banner_to;
 
@@ -175,11 +177,26 @@
 }
 
 static void
+hildon_home_window_select_applets_response (HildonHomeWindow *window,
+                                            gint response)
+{
+  HildonHomeWindowPrivate *priv = window->priv;
+
+  gtk_widget_destroy (priv->select_applet_dialog);
+  priv->select_applet_dialog = NULL;
+  
+  if (response != GTK_RESPONSE_OK)
+    return;
+
+  hildon_home_area_sync_from_list (
+                          HILDON_HOME_AREA (priv->applet_area),
+                          priv->plugin_list);
+}
+
+static void
 titlebar_select_applets_activate_cb (HildonHomeTitlebar *titlebar,
                                      HildonHomeWindow   *window)
 {
-  GtkWidget *dialog;
-  gint response;
   HildonHomeWindowPrivate *priv = window->priv;
   g_debug ("select applets activate\n");
 
@@ -194,19 +211,15 @@
   hildon_home_area_sync_to_list (HILDON_HOME_AREA (priv->applet_area),
                                  priv->plugin_list);
 
-  dialog = hildon_home_select_applets_dialog_new_with_model 
-                                    (GTK_TREE_MODEL (priv->plugin_list),
-                                     priv->osso_context);
+  priv->select_applet_dialog = hildon_home_select_applets_dialog_new_with_model 
+      (GTK_TREE_MODEL (priv->plugin_list),
+       priv->osso_context);
 
-  response = gtk_dialog_run (GTK_DIALOG (dialog));
-  gtk_widget_destroy (dialog);
-  
-  if (response != GTK_RESPONSE_OK)
-    return;
+  g_signal_connect_swapped (priv->select_applet_dialog, "response",
+                            G_CALLBACK (hildon_home_window_select_applets_response),
+                            window);
 
-  hildon_home_area_sync_from_list (
-                          HILDON_HOME_AREA (priv->applet_area),
-                          priv->plugin_list);
+  gtk_widget_show_all (priv->select_applet_dialog);
 
 }
 
@@ -611,6 +624,10 @@
           g_free (user_filename);
         }
 
+      if (priv->select_applet_dialog)
+        gtk_dialog_response (GTK_DIALOG (priv->select_applet_dialog),
+                             GTK_RESPONSE_CANCEL);
+
       gtk_container_foreach (GTK_CONTAINER (priv->applet_area),
                              (GtkCallback)hildon_home_applet_set_is_background,
                              (gpointer)is_background);


More information about the maemo-commits mailing list