[maemo-commits] [maemo-commits] r12744 - in projects/haf/trunk/hildon-plugins-settings: . src

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Jul 16 16:35:31 EEST 2007
Author: moimart
Date: 2007-07-16 16:35:27 +0300 (Mon, 16 Jul 2007)
New Revision: 12744

Modified:
   projects/haf/trunk/hildon-plugins-settings/ChangeLog
   projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-cell-renderer-button.c
   projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings-dialog.c
   projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings-dialog.h
   projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings.c
Log:
2007-07-16  Moises Martinez  <moises.martinez at nokia.com>

        * src/hildon-plugin-cell-renderer-button.c:
        (hildon_plugin_cell_renderer_button_activate):
        - Set transient for parent dialog window.
        * src/hildon-plugin-settings-dialog.[ch]:
        (hildon_plugin_settings_dialog_new):
        - Set transient for parent.
        - Set again as MODAL.
        * src/hildon-plugin-settings.c: (execute):
        - Parent is user data. Fixes: NB#62322
	* ChangeLog updated.



Modified: projects/haf/trunk/hildon-plugins-settings/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-plugins-settings/ChangeLog	2007-07-16 12:40:17 UTC (rev 12743)
+++ projects/haf/trunk/hildon-plugins-settings/ChangeLog	2007-07-16 13:35:27 UTC (rev 12744)
@@ -1,3 +1,15 @@
+2007-07-16  Moises Martinez  <moises.martinez at nokia.com>
+
+	* src/hildon-plugin-cell-renderer-button.c:
+	(hildon_plugin_cell_renderer_button_activate):
+	- Set transient for parent dialog window.
+	* src/hildon-plugin-settings-dialog.[ch]:
+	(hildon_plugin_settings_dialog_new):
+	- Set transient for parent.
+	- Set again as MODAL.
+	* src/hildon-plugin-settings.c: (execute):
+	- Parent is user data. Fixes: NB#62322
+
 2007-07-12  Moises Martinez  <moises.martinez at nokia.com>
 
 	* src/Makefile.am: Fixed marshalers creation.

Modified: projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-cell-renderer-button.c
===================================================================
--- projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-cell-renderer-button.c	2007-07-16 12:40:17 UTC (rev 12743)
+++ projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-cell-renderer-button.c	2007-07-16 13:35:27 UTC (rev 12744)
@@ -468,6 +468,18 @@
     settings_dialog = 
       hildon_plugin_module_settings_get_dialog (cellbutton->priv->plugin_module);
 
+    GtkWidget *dialog_window = gtk_widget_get_toplevel (widget);
+
+    if (GTK_IS_WINDOW (dialog_window) && GTK_IS_DIALOG (dialog_window))
+    {
+      GtkWindow *transient_for = NULL;
+	      
+      g_object_get (dialog_window, "transient-for", &transient_for, NULL);
+
+      if (transient_for)  
+        g_object_set (settings_dialog, "transient-for", transient_for, NULL);
+    }
+
     if (settings_dialog && GTK_IS_DIALOG (settings_dialog))
       gtk_dialog_run (GTK_DIALOG (settings_dialog));
     

Modified: projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings-dialog.c
===================================================================
--- projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings-dialog.c	2007-07-16 12:40:17 UTC (rev 12743)
+++ projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings-dialog.c	2007-07-16 13:35:27 UTC (rev 12744)
@@ -318,7 +318,7 @@
   }
   else 
   {
-    gtk_window_set_modal (GTK_WINDOW (dialog), FALSE);
+    gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
     gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
   }
   
@@ -965,11 +965,16 @@
 }
 
 GtkWidget *
-hildon_plugin_settings_dialog_new (void)
+hildon_plugin_settings_dialog_new (GtkWindow *parent)
 {
-  return 
+  GtkWidget *dialog =  
     GTK_WIDGET 
       (g_object_new (HILDON_PLUGIN_TYPE_SETTINGS_DIALOG,NULL));
+
+  if (parent && GTK_IS_WINDOW (parent))
+    gtk_window_set_transient_for (GTK_WINDOW (dialog), parent);	    
+
+  return dialog;
 }
 
 GList *

Modified: projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings-dialog.h
===================================================================
--- projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings-dialog.h	2007-07-16 12:40:17 UTC (rev 12743)
+++ projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings-dialog.h	2007-07-16 13:35:27 UTC (rev 12744)
@@ -89,7 +89,7 @@
 hildon_plugin_settings_dialog_get_type (void);
 
 GtkWidget *
-hildon_plugin_settings_dialog_new (void);
+hildon_plugin_settings_dialog_new (GtkWindow *parent);
 
 GList *
 hildon_plugin_settings_dialog_get_container_names (HildonPluginSettingsDialog *settings);

Modified: projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings.c
===================================================================
--- projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings.c	2007-07-16 12:40:17 UTC (rev 12743)
+++ projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings.c	2007-07-16 13:35:27 UTC (rev 12744)
@@ -230,7 +230,7 @@
   GError *error = NULL;
   GtkTreeModel *sbtm = NULL;
 
-  GtkWidget *dialog = hildon_plugin_settings_dialog_new ();
+  GtkWidget *dialog = hildon_plugin_settings_dialog_new (GTK_WINDOW (user_data));
 
   hildon_plugin_settings_dialog_set_visibility_filter
     (HILDON_PLUGIN_SETTINGS_DIALOG (dialog),


More information about the maemo-commits mailing list