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

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Wed Jun 6 16:14:48 EEST 2007
Author: moimart
Date: 2007-06-06 16:14:46 +0300 (Wed, 06 Jun 2007)
New Revision: 12129

Modified:
   projects/haf/trunk/hildon-plugins-settings/ChangeLog
   projects/haf/trunk/hildon-plugins-settings/src/Makefile.am
   projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-cell-renderer-button.c
   projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-module-settings.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
Log:
2007-06-05  Moises Martinez  <moises.martinez at nokia.com>

        * src/hildon-plugin-cell-renderer-button.c:
        - Fixed some special cases.
        * src/hildon-plugin-settings-dialog.[ch]: Added property to be shown
        as a normal GtkWindow.
        * src/Makefile.am: Added src/hildon-plugin-module-settings-main.c to
        be built as a standalone binary.
        * src/hildon-plugin-module-settings.c:
        * src/hildon-plugin-module-settings-main.c:
        - Added standalone binary
	* ChangeLog updated.



Modified: projects/haf/trunk/hildon-plugins-settings/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-plugins-settings/ChangeLog	2007-06-06 11:17:23 UTC (rev 12128)
+++ projects/haf/trunk/hildon-plugins-settings/ChangeLog	2007-06-06 13:14:46 UTC (rev 12129)
@@ -1,10 +1,22 @@
 2007-06-05  Moises Martinez  <moises.martinez at nokia.com>
 
-	 * src/hildon-plugin-cell-renderer-button.c:
-	 - Fixed style when pressed.
+	* src/hildon-plugin-cell-renderer-button.c:
+	- Fixed some special cases.
+	* src/hildon-plugin-settings-dialog.[ch]: Added property to be shown
+	as a normal GtkWindow.
+	* src/Makefile.am: Added src/hildon-plugin-module-settings-main.c to
+	be built as a standalone binary.
+	* src/hildon-plugin-module-settings.c:
+	* src/hildon-plugin-module-settings-main.c:
+	- Added standalone binary
 
 2007-06-05  Moises Martinez  <moises.martinez at nokia.com>
 
+	* src/hildon-plugin-cell-renderer-button.c:
+	- Fixed style when pressed.
+
+2007-06-05  Moises Martinez  <moises.martinez at nokia.com>
+
 	* configure.ac:
 	- Added libhildondesktop headers.
 	* src/hildon-plugin-module-settings.[ch]:

Modified: projects/haf/trunk/hildon-plugins-settings/src/Makefile.am
===================================================================
--- projects/haf/trunk/hildon-plugins-settings/src/Makefile.am	2007-06-06 11:17:23 UTC (rev 12128)
+++ projects/haf/trunk/hildon-plugins-settings/src/Makefile.am	2007-06-06 13:14:46 UTC (rev 12129)
@@ -13,22 +13,42 @@
 
 
 LDFLAGS = -module -avoid-version
+HILDON_PLUGIN_LDADDS = $(CP_LIBS) $(OSSO_LIBS) $(GCONF_LIBS) \
+	 	       $(LIBOSSOHELP_LIBS) $(LIBHILDONMENU_LIBS)
 
+HILDON_PLUGIN_SOURCES = \
+	hildon-plugin-config-parser.h \
+        hildon-plugin-config-parser.c \
+        hildon-plugin-module-settings.h \
+        hildon-plugin-module-settings.c \
+        hildon-plugin-cell-renderer-button.h \
+        hildon-plugin-cell-renderer-button.c \
+        hildon-plugin-settings-dialog.h \
+        hildon-plugin-settings-dialog.c	
 
 pluginlib_LTLIBRARIES = libhildonpluginsettings.la
 
+
+libhildonpluginsettings_la_CPPFLAGS = $(INCLUDES)
+
 libhildonpluginsettings_la_LIBADD = \
-			       $(CP_LIBS) $(OSSO_LIBS) $(GCONF_LIBS) \
-			       $(LIBOSSOHELP_LIBS) $(LIBHILDONMENU_LIBS)
+	$(CP_LIBS) $(OSSO_LIBS) $(GCONF_LIBS) \
+	$(LIBOSSOHELP_LIBS) $(LIBHILDONMENU_LIBS)
 
 libhildonpluginsettings_la_SOURCES = \
-	hildon-plugin-config-parser.h \
-	hildon-plugin-config-parser.c \
-	hildon-plugin-module-settings.h \
-	hildon-plugin-module-settings.c \
-	hildon-plugin-cell-renderer-button.h \
-	hildon-plugin-cell-renderer-button.c \
-	hildon-plugin-settings-dialog.h \
-	hildon-plugin-settings-dialog.c \
+	$(HILDON_PLUGIN_SOURCES)				     
 	hildon-plugin-settings.c
 
+bin_PROGRAMS = hildon-plugin-settings
+
+hildon_plugin_settings_CPPFLAGS = $(INCLUDES)
+
+hildon_plugin_settings_LDADD = \
+	$(CP_LIBS) $(OSSO_LIBS) $(GCONF_LIBS) \
+        $(LIBOSSOHELP_LIBS) $(LIBHILDONMENU_LIBS)
+
+hildon_plugin_settings_SOURCES = \
+	$(HILDON_PLUGIN_SOURCES) \
+	hildon-plugin-settings-main.c
+	
+

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-06-06 11:17:23 UTC (rev 12128)
+++ projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-cell-renderer-button.c	2007-06-06 13:14:46 UTC (rev 12129)
@@ -455,7 +455,7 @@
 
   path = gtk_tree_path_new_from_string (path_string);
   
-  if (cellbutton->priv->clickable)
+  if (cellbutton->priv->clickable && cellbutton->priv->plugin_module)
   {
     GtkWidget *settings_dialog;
 	  

Modified: projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-module-settings.c
===================================================================
--- projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-module-settings.c	2007-06-06 11:17:23 UTC (rev 12128)
+++ projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-module-settings.c	2007-06-06 13:14:46 UTC (rev 12129)
@@ -213,12 +213,9 @@
 
 GtkWidget *
 hildon_plugin_module_settings_get_dialog (HildonPluginModuleSettings *module)
-{
-  g_assert (HILDON_PLUGIN_IS_MODULE_SETTINGS (module));
+{	  	
 
-  if (module->priv->settings_func)
-    return module->priv->settings_func ();
-  else
+  if (!module || !HILDON_PLUGIN_IS_MODULE_SETTINGS (module) || !module->priv->settings_func)
   {
     GtkWidget *dialog = gtk_dialog_new ();    
 
@@ -236,5 +233,7 @@
     /*TODO: Return a stock GtkDialog */
     return dialog;
   }    
+    
+  return module->priv->settings_func ();
 }
 

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-06-06 11:17:23 UTC (rev 12128)
+++ projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings-dialog.c	2007-06-06 13:14:46 UTC (rev 12129)
@@ -64,8 +64,6 @@
 #define HD_DESKTOP_CONFIG_USER_PATH ".osso/hildon-desktop"
 #define HD_DESKTOP_CONFIG_PATH "/etc/hildon-desktop"
 
-#define HPSD_ENABLE_HOME_FILTER FALSE
-
 #define HPSD_RESPONSE_UP GTK_RESPONSE_YES
 #define HPSD_RESPONSE_DOWN GTK_RESPONSE_NO
 
@@ -92,15 +90,33 @@
 
   GtkWidget *button_up;
   GtkWidget *button_down;
+
+  gboolean type;
+  gboolean hide_home;
 };
 
+enum
+{
+  PROP_WINDOW_TYPE=1,
+  PROP_HIDE_HOME
+};
+
 static GObject *hildon_plugin_settings_dialog_constructor (GType gtype,
                                               		   guint n_params,
                                               		   GObjectConstructParam *params);
 
 static void hildon_plugin_settings_dialog_finalize (GObject *object);
 
+static void hildon_plugin_settings_dialog_set_property (GObject *object,
+							guint prop_id,
+                                            		const GValue *value,
+                                            		GParamSpec *pspec);
 
+static void hildon_plugin_settings_dialog_get_property (GObject *object,
+							guint prop_id,
+							GValue *value,
+							GParamSpec *pspec);
+
 static void hildon_plugin_settings_dialog_response (GtkDialog *dialog, gint response_id);
 
 static void hildon_plugin_settings_dialog_fill_treeview (HildonPluginSettingsDialog *settings, GtkTreeView *tw);
@@ -129,6 +145,10 @@
   settings->tntm = NULL;	  
   
   settings->priv->tabs = NULL;
+
+  settings->priv->type = HILDON_PLUGIN_SETTINGS_DIALOG_TYPE_DIALOG;
+
+  settings->priv->hide_home = TRUE;
 }
 
 static void 
@@ -139,11 +159,29 @@
 
   object_class->constructor = hildon_plugin_settings_dialog_constructor;
   object_class->finalize    = hildon_plugin_settings_dialog_finalize;
+  
+  object_class->set_property = hildon_plugin_settings_dialog_set_property;
+  object_class->get_property = hildon_plugin_settings_dialog_get_property;
 
   dialog_class->response    = hildon_plugin_settings_dialog_response;
-  
+
   g_type_class_add_private (object_class, sizeof (HildonPluginSettingsDialogPrivate));
 
+  g_object_class_install_property (object_class,
+                                   PROP_WINDOW_TYPE,
+                                   g_param_spec_boolean ("window-type",
+                                                         "window-type",
+                                                         "Type of the settings dialog window",
+                                                         HILDON_PLUGIN_SETTINGS_DIALOG_TYPE_DIALOG,
+                                                         G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
+  g_object_class_install_property (object_class,
+                                   PROP_HIDE_HOME,
+                                   g_param_spec_boolean ("hide-home",
+                                                         "hide-home",
+                                                         "Hide our beloved home",
+                                                         TRUE,
+                                                         G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
+
 }
 
 static GObject *
@@ -168,9 +206,17 @@
   dialog = GTK_DIALOG (object);
   settings = HILDON_PLUGIN_SETTINGS_DIALOG (object);
 
+  if (settings->priv->type == HILDON_PLUGIN_SETTINGS_DIALOG_TYPE_WINDOW)
+  {	  
+    gtk_window_set_type_hint (GTK_WINDOW (dialog), GDK_WINDOW_TYPE_HINT_NORMAL);
+  }
+  else 
+  {
+    gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
+    gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
+  }
+  
   gtk_window_set_title (GTK_WINDOW (dialog), HPSD_TITLE);
-  gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
-  gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
   gtk_dialog_set_has_separator (dialog, FALSE);
 
   gtk_widget_set_size_request (GTK_WIDGET (dialog), -1, 300);
@@ -298,6 +344,58 @@
   G_OBJECT_CLASS (hildon_plugin_settings_dialog_parent_class)->finalize (object);
 }	
 
+static void
+hildon_plugin_settings_dialog_set_property (GObject *object,
+                                            guint prop_id,
+                                            const GValue *value,
+                                            GParamSpec *pspec)
+{
+  HildonPluginSettingsDialog *settings;
+
+  settings = HILDON_PLUGIN_SETTINGS_DIALOG (object);
+
+  switch (prop_id)
+  {
+    case PROP_WINDOW_TYPE:
+      settings->priv->type = g_value_get_boolean (value);
+      break;
+
+    case PROP_HIDE_HOME:
+      settings->priv->hide_home = g_value_get_boolean (value);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+hildon_plugin_settings_dialog_get_property (GObject *object,
+                                            guint prop_id,
+                                            GValue *value,
+                                            GParamSpec *pspec)
+{
+  HildonPluginSettingsDialog *settings;
+
+  settings = HILDON_PLUGIN_SETTINGS_DIALOG (object);
+
+  switch (prop_id)
+  {
+    case PROP_WINDOW_TYPE:
+      g_value_set_boolean (value, settings->priv->type);
+      break;
+
+    case PROP_HIDE_HOME:
+      g_value_set_boolean (value, settings->priv->hide_home);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
 static void 
 hildon_plugin_settings_dialog_response_cb (GtkDialog *dialog, gint response_id, gpointer data)
 {
@@ -522,7 +620,7 @@
     if (!plugin_dir || 
 	!type || 
 	!config_file ||
-        (g_str_equal (type,HD_CONTAINER_TYPE_HOME) && HPSD_ENABLE_HOME_FILTER))
+        (g_str_equal (type,HD_CONTAINER_TYPE_HOME) && settings->priv->hide_home))
     {
       goto cleanup;
     }

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-06-06 11:17:23 UTC (rev 12128)
+++ projects/haf/trunk/hildon-plugins-settings/src/hildon-plugin-settings-dialog.h	2007-06-06 13:14:46 UTC (rev 12129)
@@ -30,6 +30,9 @@
 #include <gtk/gtktreemodel.h>
 #include <gtk/gtktreemodelfilter.h>
 
+#define HILDON_PLUGIN_SETTINGS_DIALOG_TYPE_DIALOG TRUE
+#define HILDON_PLUGIN_SETTINGS_DIALOG_TYPE_WINDOW FALSE
+
 G_BEGIN_DECLS
 
 typedef struct _HildonPluginSettingsDialog HildonPluginSettingsDialog;


More information about the maemo-commits mailing list