[maemo-commits] [maemo-commits] r12129 - in projects/haf/trunk/hildon-plugins-settings: . src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Jun 6 16:14:48 EEST 2007
- Previous message: [maemo-commits] r12128 - projects/haf/hafbuildbot
- Next message: [maemo-commits] r12130 - projects/haf/trunk/hildon-plugins-settings/src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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;
- Previous message: [maemo-commits] r12128 - projects/haf/hafbuildbot
- Next message: [maemo-commits] r12130 - projects/haf/trunk/hildon-plugins-settings/src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]