From 976890fe4126e453fc2b1812eb167d41b036dfbb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Dapena=20Paz?= Date: Wed, 3 Mar 2010 16:24:54 +0100 Subject: [PATCH] Port to master of commit aa843e2.. from Aleksander Chumakov: "Implemented center-alignment for selectors in the global settings dialog Fix for the bug #157019" Changes done are for adapting the API changes to toolkit factory. --- .../modest-hildon2-global-settings-dialog.c | 12 ++++++++---- src/hildon2/modest-selector-picker.c | 12 ++++++++++-- src/hildon2/modest-selector-picker.h | 3 ++- .../modest-default-global-settings-dialog.c | 8 ++++---- src/widgets/modest-msg-edit-window.c | 2 +- src/widgets/modest-toolkit-factory.c | 11 ++++++----- src/widgets/modest-toolkit-factory.h | 4 ++-- 7 files changed, 33 insertions(+), 19 deletions(-) diff --git a/src/hildon2/modest-hildon2-global-settings-dialog.c b/src/hildon2/modest-hildon2-global-settings-dialog.c index 2215133..53a83ba 100644 --- a/src/hildon2/modest-hildon2-global-settings-dialog.c +++ b/src/hildon2/modest-hildon2-global-settings-dialog.c @@ -210,7 +210,9 @@ create_updating_page (ModestHildon2GlobalSettingsDialog *self) ppriv->accounts_list = get_accounts_list (); ppriv->default_account_selector = modest_toolkit_factory_create_selector (modest_runtime_get_toolkit_factory (), ppriv->accounts_list, - g_str_equal); + g_str_equal, + TRUE); +log.c if (ppriv->accounts_list == NULL) { gtk_widget_set_sensitive (GTK_WIDGET (ppriv->default_account_selector), FALSE); } else { @@ -247,7 +249,8 @@ create_updating_page (ModestHildon2GlobalSettingsDialog *self) * so it can't know how to manage its memory. */ ppriv->msg_format_list = _modest_global_settings_dialog_get_msg_formats (); ppriv->msg_format = modest_toolkit_factory_create_selector (modest_runtime_get_toolkit_factory (), - ppriv->msg_format_list, g_int_equal); + ppriv->msg_format_list, g_int_equal, + TRUE); if (GTK_IS_COMBO_BOX (ppriv->msg_format)) { GtkWidget *caption; caption = modest_toolkit_utils_create_vcaptioned (title_size_group, @@ -293,7 +296,8 @@ create_updating_page (ModestHildon2GlobalSettingsDialog *self) * so it can't know how to manage its memory. */ ppriv->connect_via_list = _modest_global_settings_dialog_get_connected_via (); ppriv->connect_via = modest_toolkit_factory_create_selector (modest_runtime_get_toolkit_factory (), - ppriv->connect_via_list, g_int_equal); + ppriv->connect_via_list, g_int_equal, + TRUE); if (GTK_IS_COMBO_BOX (ppriv->connect_via)) { GtkWidget *caption; caption = modest_toolkit_utils_create_vcaptioned (title_size_group, @@ -315,7 +319,7 @@ create_updating_page (ModestHildon2GlobalSettingsDialog *self) * so it can't know how to manage its memory. */ ppriv->update_interval_list = _modest_global_settings_dialog_get_update_interval (); ppriv->update_interval = modest_toolkit_factory_create_selector (modest_runtime_get_toolkit_factory (), - ppriv->update_interval_list, g_int_equal); + ppriv->update_interval_list, g_int_equal, TRUE); if (GTK_IS_COMBO_BOX (ppriv->update_interval)) { GtkWidget *caption; caption = modest_toolkit_utils_create_vcaptioned (title_size_group, diff --git a/src/hildon2/modest-selector-picker.c b/src/hildon2/modest-selector-picker.c index 0f75875..d72e4b3 100644 --- a/src/hildon2/modest-selector-picker.c +++ b/src/hildon2/modest-selector-picker.c @@ -50,7 +50,7 @@ struct _ModestSelectorPickerPrivate { GEqualFunc id_equal_func; gint value_max_chars; - + gboolean center_aligned; }; #define MODEST_SELECTOR_PICKER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \ MODEST_TYPE_SELECTOR_PICKER, \ @@ -168,10 +168,16 @@ create_touch_selector (ModestSelectorPicker *self, GtkTreeModel *model) { GtkCellRenderer *renderer; GtkWidget *selector; + ModestSelectorPickerPrivate *priv; renderer = gtk_cell_renderer_text_new (); g_object_set (G_OBJECT (renderer), "ellipsize", PANGO_ELLIPSIZE_END, NULL); + priv = MODEST_SELECTOR_PICKER_GET_PRIVATE(self); + if (priv->center_aligned) { + g_object_set (G_OBJECT (renderer), "alignment", PANGO_ALIGN_CENTER, NULL); + } + selector = hildon_touch_selector_new (); hildon_touch_selector_append_column (HILDON_TOUCH_SELECTOR (selector), GTK_TREE_MODEL (model), renderer, "text", COLUMN_DISPLAY_NAME, NULL); @@ -205,7 +211,8 @@ modest_selector_picker_set_pair_list (ModestSelectorPicker *self, ModestPairList GtkWidget* modest_selector_picker_new (HildonSizeType size, HildonButtonArrangement arrangement, - ModestPairList *pairs, GEqualFunc id_equal_func) + ModestPairList *pairs, GEqualFunc id_equal_func, + gboolean center_aligned) { GtkTreeModel *model; GObject *obj; @@ -219,6 +226,7 @@ modest_selector_picker_new (HildonSizeType size, priv = MODEST_SELECTOR_PICKER_GET_PRIVATE(obj); priv->value_max_chars = -1; + priv->center_aligned = center_aligned; model = get_model (pairs); if (model) { diff --git a/src/hildon2/modest-selector-picker.h b/src/hildon2/modest-selector-picker.h index f66d2c3..a64d2c6 100644 --- a/src/hildon2/modest-selector-picker.h +++ b/src/hildon2/modest-selector-picker.h @@ -80,7 +80,8 @@ GType modest_selector_picker_get_type (void) G_GNUC_CONST; GtkWidget* modest_selector_picker_new (HildonSizeType size, HildonButtonArrangement arrangement, ModestPairList* pairs, - GEqualFunc id_equal_func); + GEqualFunc id_equal_func, + gboolean center_aligned); /** * modest_selector_picker_set_pair_list: diff --git a/src/widgets/modest-default-global-settings-dialog.c b/src/widgets/modest-default-global-settings-dialog.c index df54c4a..b8d483c 100644 --- a/src/widgets/modest-default-global-settings-dialog.c +++ b/src/widgets/modest-default-global-settings-dialog.c @@ -213,7 +213,7 @@ create_updating_page (ModestDefaultGlobalSettingsDialog *self) ppriv->accounts_list = get_accounts_list (); ppriv->default_account_selector = modest_toolkit_factory_create_selector (modest_runtime_get_toolkit_factory (), ppriv->accounts_list, - g_str_equal); + g_str_equal, TRUE); if (ppriv->accounts_list == NULL) { gtk_widget_set_sensitive (GTK_WIDGET (ppriv->default_account_selector), FALSE); } else { @@ -250,7 +250,7 @@ create_updating_page (ModestDefaultGlobalSettingsDialog *self) * so it can't know how to manage its memory. */ ppriv->msg_format_list = _modest_global_settings_dialog_get_msg_formats (); ppriv->msg_format = modest_toolkit_factory_create_selector (modest_runtime_get_toolkit_factory (), - ppriv->msg_format_list, g_int_equal); + ppriv->msg_format_list, g_int_equal, TRUE); if (GTK_IS_COMBO_BOX (ppriv->msg_format)) { GtkWidget *caption; caption = modest_toolkit_utils_create_vcaptioned (title_size_group, @@ -298,7 +298,7 @@ create_updating_page (ModestDefaultGlobalSettingsDialog *self) * so it can't know how to manage its memory. */ ppriv->connect_via_list = _modest_global_settings_dialog_get_connected_via (); ppriv->connect_via = modest_toolkit_factory_create_selector (modest_runtime_get_toolkit_factory (), - ppriv->connect_via_list, g_int_equal); + ppriv->connect_via_list, g_int_equal, TRUE); if (GTK_IS_COMBO_BOX (ppriv->connect_via)) { GtkWidget *caption; caption = modest_toolkit_utils_create_vcaptioned (title_size_group, @@ -320,7 +320,7 @@ create_updating_page (ModestDefaultGlobalSettingsDialog *self) * so it can't know how to manage its memory. */ ppriv->update_interval_list = _modest_global_settings_dialog_get_update_interval (); ppriv->update_interval = modest_toolkit_factory_create_selector (modest_runtime_get_toolkit_factory (), - ppriv->update_interval_list, g_int_equal); + ppriv->update_interval_list, g_int_equal, TRUE); if (GTK_IS_COMBO_BOX (ppriv->update_interval)) { GtkWidget *caption; caption = modest_toolkit_utils_create_vcaptioned (title_size_group, diff --git a/src/widgets/modest-msg-edit-window.c b/src/widgets/modest-msg-edit-window.c index ea6db37..0a2b46b 100644 --- a/src/widgets/modest-msg-edit-window.c +++ b/src/widgets/modest-msg-edit-window.c @@ -921,7 +921,7 @@ init_window (ModestMsgEditWindow *obj) * that uses it, because the ModestSelectorPicker uses the ID opaquely, * so it can't know how to manage its memory. */ priv->from_field = modest_toolkit_factory_create_selector (modest_runtime_get_toolkit_factory (), - NULL, g_str_equal); + NULL, g_str_equal, FALSE); modest_selector_set_value_max_chars (priv->from_field, MAX_FROM_VALUE); if (GTK_IS_COMBO_BOX (priv->from_field)) { from_caption = modest_toolkit_utils_create_captioned (title_size_group, NULL, diff --git a/src/widgets/modest-toolkit-factory.c b/src/widgets/modest-toolkit-factory.c index 42de49b..a24b370 100644 --- a/src/widgets/modest-toolkit-factory.c +++ b/src/widgets/modest-toolkit-factory.c @@ -144,7 +144,8 @@ static GtkWidget * modest_toolkit_factory_create_security_options_view_default ( GtkSizeGroup *value_size_group); static GtkWidget * modest_toolkit_factory_create_text_view_default (ModestToolkitFactory *self); static GtkWidget * modest_toolkit_factory_create_selector_default (ModestToolkitFactory *self, - ModestPairList *pairs, GEqualFunc id_equal_func); + ModestPairList *pairs, GEqualFunc id_equal_func, + gboolean center); static GtkWidget * modest_toolkit_factory_create_details_dialog_with_header_default (ModestToolkitFactory *self, GtkWindow *parent, TnyHeader *header, gboolean get_size); static GtkWidget * modest_toolkit_factory_create_details_dialog_with_folder_default (ModestToolkitFactory *self, GtkWindow *parent, @@ -847,21 +848,21 @@ modest_is_text_view (GtkWidget *widget) GtkWidget * modest_toolkit_factory_create_selector (ModestToolkitFactory *self, - ModestPairList *pairs, GEqualFunc id_equal_func) + ModestPairList *pairs, GEqualFunc id_equal_func, gboolean center) { - return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_selector (self, pairs, id_equal_func); + return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_selector (self, pairs, id_equal_func, center); } static GtkWidget * modest_toolkit_factory_create_selector_default (ModestToolkitFactory *self, - ModestPairList *pairs, GEqualFunc id_equal_func) + ModestPairList *pairs, GEqualFunc id_equal_func, gboolean center) { #ifdef USE_SELECTOR_COMBOBOX return modest_combo_box_new (pairs, id_equal_func); #else return modest_selector_picker_new (MODEST_EDITABLE_SIZE, HILDON_BUTTON_ARRANGEMENT_HORIZONTAL, - pairs, id_equal_func); + pairs, id_equal_func, center); #endif } diff --git a/src/widgets/modest-toolkit-factory.h b/src/widgets/modest-toolkit-factory.h index 0eecfaf..54b1237 100644 --- a/src/widgets/modest-toolkit-factory.h +++ b/src/widgets/modest-toolkit-factory.h @@ -57,7 +57,7 @@ struct _ModestToolkitFactoryClass gboolean full, GtkSizeGroup *title_size_group, GtkSizeGroup *value_size_group); GtkWidget * (*create_text_view) (ModestToolkitFactory *self); GtkWidget * (*create_selector) (ModestToolkitFactory *self, - ModestPairList *pairs, GEqualFunc id_equal_func); + ModestPairList *pairs, GEqualFunc id_equal_func, gboolean center); GtkWidget * (*create_details_dialog_with_header) (ModestToolkitFactory *self, GtkWindow *parent, TnyHeader *header, gboolean get_size); GtkWidget * (*create_details_dialog_with_folder) (ModestToolkitFactory *self, GtkWindow *parent, @@ -122,7 +122,7 @@ modest_toolkit_factory_create_text_view (ModestToolkitFactory *self); GtkWidget * modest_toolkit_factory_create_selector (ModestToolkitFactory *self, - ModestPairList *pairs, GEqualFunc id_equal_func); + ModestPairList *pairs, GEqualFunc id_equal_func, gboolean center); GtkWidget * modest_toolkit_factory_create_details_dialog_with_header (ModestToolkitFactory *self, GtkWindow *parent, -- 1.7.9.5