From: Jose Dapena Paz Date: Tue, 20 Nov 2007 09:48:10 +0000 (+0000) Subject: * src/maemo/modest-msg-edit-window.c: X-Git-Tag: git_migration_finished~2057 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=adc91bd068ed13ace13c92ba97aebce16ced1ff4 * src/maemo/modest-msg-edit-window.c: * Now we setup the menu bar in construct (in new method). * src/maemo/modest-msg-view-window.c: * Move the toolbar menu options setting up to restore_settings. We were setting this in init stage and this was forcing the load of all items. * Now we get the menubar as a GtkMenu, instead of reparenting its children. pmo-trunk-r3774 --- diff --git a/src/maemo/modest-msg-edit-window.c b/src/maemo/modest-msg-edit-window.c index d2180be..66f8df0 100644 --- a/src/maemo/modest-msg-edit-window.c +++ b/src/maemo/modest-msg-edit-window.c @@ -637,9 +637,7 @@ init_window (ModestMsgEditWindow *obj) gtk_window_add_accel_group (GTK_WINDOW (obj), gtk_ui_manager_get_accel_group (parent_priv->ui_manager)); - /* Menubar. Update the state of some toggles */ - parent_priv->menubar = menubar_to_menu (parent_priv->ui_manager); - hildon_window_set_menu (HILDON_WINDOW (obj), GTK_MENU (parent_priv->menubar)); + parent_priv->menubar = NULL; size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); @@ -1300,6 +1298,9 @@ modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name, gboolean pre priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (obj); parent_priv = MODEST_WINDOW_GET_PRIVATE (obj); + /* Menubar. Update the state of some toggles */ + parent_priv->menubar = menubar_to_menu (parent_priv->ui_manager); + hildon_window_set_menu (HILDON_WINDOW (obj), GTK_MENU (parent_priv->menubar)); priv->from_field_protos = get_transports (); modest_combo_box_set_pair_list (MODEST_COMBO_BOX (priv->from_field), priv->from_field_protos); modest_msg_edit_window_setup_toolbar (MODEST_MSG_EDIT_WINDOW (obj)); diff --git a/src/maemo/modest-msg-view-window.c b/src/maemo/modest-msg-view-window.c index f293325..55fa2a5 100644 --- a/src/maemo/modest-msg-view-window.c +++ b/src/maemo/modest-msg-view-window.c @@ -282,7 +282,20 @@ save_state (ModestWindow *self) static void restore_settings (ModestMsgViewWindow *self) { - modest_widget_memory_restore (modest_runtime_get_conf (), + ModestConf *conf; + ModestWindowPrivate *parent_priv = MODEST_WINDOW_GET_PRIVATE (self); + GtkAction *action; + + conf = modest_runtime_get_conf (); + action = gtk_ui_manager_get_action (parent_priv->ui_manager, + "/MenuBar/ViewMenu/ViewShowToolbarMenu/ViewShowToolbarNormalScreenMenu"); + gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), + modest_conf_get_bool (conf, MODEST_CONF_MSG_VIEW_WINDOW_SHOW_TOOLBAR, NULL)); + action = gtk_ui_manager_get_action (parent_priv->ui_manager, + "/MenuBar/ViewMenu/ViewShowToolbarMenu/ViewShowToolbarFullScreenMenu"); + gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), + modest_conf_get_bool (conf, MODEST_CONF_MSG_VIEW_WINDOW_SHOW_TOOLBAR_FULLSCREEN, NULL)); + modest_widget_memory_restore (conf, G_OBJECT(self), MODEST_CONF_MSG_VIEW_WINDOW_KEY); } @@ -525,26 +538,10 @@ static GtkWidget * menubar_to_menu (GtkUIManager *ui_manager) { GtkWidget *main_menu; - GtkWidget *menubar; - GList *iter, *children; - - /* Create new main menu */ - main_menu = gtk_menu_new(); /* Get the menubar from the UI manager */ - menubar = gtk_ui_manager_get_widget (ui_manager, "/MenuBar"); + main_menu = gtk_ui_manager_get_widget (ui_manager, "/MenuBar"); - iter = children = gtk_container_get_children (GTK_CONTAINER (menubar)); - while (iter) { - GtkWidget *menu; - - menu = GTK_WIDGET (iter->data); - gtk_widget_reparent(menu, main_menu); - - iter = g_list_next (iter); - } - g_list_free (children); - return main_menu; } @@ -554,8 +551,6 @@ init_window (ModestMsgViewWindow *obj) GtkWidget *main_vbox; ModestMsgViewWindowPrivate *priv; ModestWindowPrivate *parent_priv; - ModestConf *conf; - GtkAction *action = NULL; priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE(obj); parent_priv = MODEST_WINDOW_GET_PRIVATE(obj); @@ -564,20 +559,6 @@ init_window (ModestMsgViewWindow *obj) modest_msg_view_set_shadow_type (MODEST_MSG_VIEW (priv->msg_view), GTK_SHADOW_NONE); main_vbox = gtk_vbox_new (FALSE, 6); - /* Menubar */ - parent_priv->menubar = menubar_to_menu (parent_priv->ui_manager); - conf = modest_runtime_get_conf (); - action = gtk_ui_manager_get_action (parent_priv->ui_manager, - "/MenuBar/ViewMenu/ViewShowToolbarMenu/ViewShowToolbarNormalScreenMenu"); - gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), - modest_conf_get_bool (conf, MODEST_CONF_MSG_VIEW_WINDOW_SHOW_TOOLBAR, NULL)); - action = gtk_ui_manager_get_action (parent_priv->ui_manager, - "/MenuBar/ViewMenu/ViewShowToolbarMenu/ViewShowToolbarFullScreenMenu"); - gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), - modest_conf_get_bool (conf, MODEST_CONF_MSG_VIEW_WINDOW_SHOW_TOOLBAR_FULLSCREEN, NULL)); - hildon_window_set_menu (HILDON_WINDOW(obj), GTK_MENU(parent_priv->menubar)); - gtk_widget_show (GTK_WIDGET(parent_priv->menubar)); - #ifdef MODEST_USE_MOZEMBED priv->main_scroll = priv->msg_view; gtk_widget_set_size_request (priv->msg_view, -1, 1600); @@ -595,8 +576,6 @@ init_window (ModestMsgViewWindow *obj) priv->find_toolbar = hildon_find_toolbar_new (NULL); hildon_window_add_toolbar (HILDON_WINDOW (obj), GTK_TOOLBAR (priv->find_toolbar)); gtk_widget_set_no_show_all (priv->find_toolbar, TRUE); - g_signal_connect (G_OBJECT (priv->find_toolbar), "close", G_CALLBACK (modest_msg_view_window_find_toolbar_close), obj); - g_signal_connect (G_OBJECT (priv->find_toolbar), "search", G_CALLBACK (modest_msg_view_window_find_toolbar_search), obj); gtk_widget_show_all (GTK_WIDGET(main_vbox)); } @@ -769,6 +748,10 @@ modest_msg_view_window_construct (ModestMsgViewWindow *self, priv->msg_uid = g_strdup (msg_uid); + /* Menubar */ + parent_priv->menubar = menubar_to_menu (parent_priv->ui_manager); + hildon_window_set_menu (HILDON_WINDOW(obj), GTK_MENU(parent_priv->menubar)); + gtk_widget_show (parent_priv->menubar); parent_priv->ui_dimming_manager = modest_ui_dimming_manager_new(); menu_rules_group = modest_dimming_rules_group_new ("ModestMenuDimmingRules", FALSE); @@ -838,6 +821,8 @@ modest_msg_view_window_construct (ModestMsgViewWindow *self, modest_window_set_active_account (MODEST_WINDOW(obj), modest_account_name); + g_signal_connect (G_OBJECT (priv->find_toolbar), "close", G_CALLBACK (modest_msg_view_window_find_toolbar_close), obj); + g_signal_connect (G_OBJECT (priv->find_toolbar), "search", G_CALLBACK (modest_msg_view_window_find_toolbar_search), obj); priv->last_search = NULL; /* Init the clipboard actions dim status */