X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fhildon2%2Fmodest-msg-edit-window.c;h=031db11c86158cd07ddf1607f7112e4707057649;hp=6f3b220f34ec04de4e1b42e120ea2e0b72da5d74;hb=b05259100d320623438bf679794dbffb9d132748;hpb=62b3049f7d4bcc5125f0bcdbc63b5eb66313cb60 diff --git a/src/hildon2/modest-msg-edit-window.c b/src/hildon2/modest-msg-edit-window.c index 6f3b220..031db11 100644 --- a/src/hildon2/modest-msg-edit-window.c +++ b/src/hildon2/modest-msg-edit-window.c @@ -173,6 +173,17 @@ static void text_buffer_mark_set (GtkTextBuffer *buffer, ModestMsgEditWindow *userdata); static void on_message_settings (GtkAction *action, ModestMsgEditWindow *window); +static void add_to_menu (ModestMsgEditWindow *self, + HildonAppMenu *menu, + gchar *label, + GCallback callback, + ModestDimmingRulesGroup *group, + GCallback dimming_callback); +static void setup_menu (ModestMsgEditWindow *self, + ModestDimmingRulesGroup *group); +static gboolean modest_msg_edit_window_toggle_menu (HildonWindow *window, + guint button, + guint32 time); static void DEBUG_BUFFER (WPTextBuffer *buffer) { @@ -293,6 +304,11 @@ struct _ModestMsgEditWindowPrivate { gchar *msg_uid; gboolean sent; + + GtkWidget *app_menu; + GtkWidget *cc_button; + GtkWidget *bcc_button; + GtkWidget *find_toolbar_button; }; #define MODEST_MSG_EDIT_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \ @@ -363,12 +379,15 @@ modest_msg_edit_window_class_init (ModestMsgEditWindowClass *klass) { GObjectClass *gobject_class; ModestWindowClass *modest_window_class; + HildonWindowClass *hildon_window_class = (HildonWindowClass *) klass; gobject_class = (GObjectClass*) klass; modest_window_class = (ModestWindowClass*) klass; parent_class = g_type_class_peek_parent (klass); gobject_class->finalize = modest_msg_edit_window_finalize; + hildon_window_class->toggle_menu = modest_msg_edit_window_toggle_menu; + modest_window_class->set_zoom_func = set_zoom_do_nothing; modest_window_class->get_zoom_func = get_zoom_do_nothing; modest_window_class->zoom_plus_func = on_zoom_minus_plus_not_implemented; @@ -425,6 +444,7 @@ modest_msg_edit_window_init (ModestMsgEditWindow *obj) priv->last_upper = 0.0; priv->font_dialog = NULL; + priv->app_menu = NULL; if (!is_wp_text_buffer_started) { is_wp_text_buffer_started = TRUE; @@ -1117,7 +1137,6 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg, gboolean preserve_is_rich) TnyHeaderFlags priority_flags; TnyFolder *msg_folder; gboolean is_html = FALSE; - GtkAction *action; gboolean field_view_set; g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (self)); @@ -1136,7 +1155,6 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg, gboolean preserve_is_rich) if (to) modest_recpt_editor_set_recipients (MODEST_RECPT_EDITOR (priv->to_field), to); - action = gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/ViewMenu/ViewCcFieldMenu"); field_view_set = TRUE; if (cc) { modest_recpt_editor_set_recipients (MODEST_RECPT_EDITOR (priv->cc_field), cc); @@ -1147,10 +1165,8 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg, gboolean preserve_is_rich) gtk_widget_hide (priv->cc_caption); field_view_set = FALSE; } - if (action) - gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), field_view_set); + hildon_check_button_set_active (HILDON_CHECK_BUTTON (priv->cc_button), field_view_set); - action = gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/ViewMenu/ViewBccFieldMenu"); field_view_set = TRUE; if (bcc) { modest_recpt_editor_set_recipients (MODEST_RECPT_EDITOR (priv->bcc_field), bcc); @@ -1161,8 +1177,7 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg, gboolean preserve_is_rich) gtk_widget_hide (priv->bcc_caption); field_view_set = FALSE; } - if (action) - gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), field_view_set); + hildon_check_button_set_active (HILDON_CHECK_BUTTON (priv->bcc_button), field_view_set); if (subject) @@ -1467,8 +1482,6 @@ modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name, gboolean pre parent_priv = MODEST_WINDOW_GET_PRIVATE (obj); /* Menubar. Update the state of some toggles */ - parent_priv->menubar = modest_maemo_utils_get_manager_menubar_as_menu (parent_priv->ui_manager, "/MenuBar"); - hildon_window_set_menu (HILDON_WINDOW (obj), GTK_MENU (parent_priv->menubar)); priv->from_field_protos = get_transports (); modest_selector_picker_set_pair_list (MODEST_SELECTOR_PICKER (priv->from_field), priv->from_field_protos); modest_selector_picker_set_active_id (MODEST_SELECTOR_PICKER (priv->from_field), (gpointer) account_name); @@ -1515,6 +1528,10 @@ modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name, gboolean pre modest_ui_dimming_manager_insert_rules_group (parent_priv->ui_dimming_manager, menu_rules_group); modest_ui_dimming_manager_insert_rules_group (parent_priv->ui_dimming_manager, toolbar_rules_group); modest_ui_dimming_manager_insert_rules_group (parent_priv->ui_dimming_manager, clipboard_rules_group); + + /* Setup app menu */ + setup_menu (MODEST_MSG_EDIT_WINDOW (obj), menu_rules_group); + /* Checks the dimming rules */ g_object_unref (menu_rules_group); g_object_unref (toolbar_rules_group); @@ -3434,12 +3451,11 @@ static void modest_msg_edit_window_find_toolbar_close (GtkWidget *widget, ModestMsgEditWindow *window) { - GtkToggleAction *toggle; - ModestWindowPrivate *parent_priv; - parent_priv = MODEST_WINDOW_GET_PRIVATE (window); + ModestMsgEditWindowPrivate *priv; - toggle = GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (parent_priv->ui_manager, "/MenuBar/ToolsMenu/FindInMessageMenu")); - gtk_toggle_action_set_active (toggle, FALSE); + priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE(window); + + hildon_check_button_set_active (HILDON_CHECK_BUTTON (priv->find_toolbar_button), FALSE); } gboolean @@ -3624,24 +3640,40 @@ get_zoom_do_nothing (ModestWindow *window) return 1.0; } +typedef struct _MessageSettingsHelper { + ModestMsgEditWindow *window; + GSList *priority_group; + GtkWidget *align_picker; +} MessageSettingsHelper; + static void on_priority_toggle (HildonCheckButton *button, - GSList *priority_group) + MessageSettingsHelper *helper) { GSList *node; + ModestMsgEditWindowPrivate *priv; + + priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (helper->window); if (hildon_check_button_get_active (button)) { - for (node = priority_group; node != NULL; node = g_slist_next (node)) { + for (node = helper->priority_group; node != NULL; node = g_slist_next (node)) { HildonCheckButton *node_button = (HildonCheckButton *) node->data; if ((node_button != button) && hildon_check_button_get_active (node_button)) { hildon_check_button_set_active (node_button, FALSE); } + if (priv->priority_flags != (TnyHeaderFlags) g_object_get_data (G_OBJECT (button), "priority")) + modest_msg_edit_window_set_priority_flags (helper->window, + (TnyHeaderFlags) + g_object_get_data (G_OBJECT (button), + "priority")); } + + } else { gboolean found = FALSE; /* If no one is active, activate it again */ - for (node = priority_group; node != NULL; node = g_slist_next (node)) { + for (node = helper->priority_group; node != NULL; node = g_slist_next (node)) { HildonCheckButton *node_button = (HildonCheckButton *) node->data; if (hildon_check_button_get_active (node_button)) { found = TRUE; @@ -3655,6 +3687,70 @@ on_priority_toggle (HildonCheckButton *button, } static void +on_format_picker_value_changed (HildonPickerButton *button, + MessageSettingsHelper *helper) +{ + ModestMsgEditFormat new_format, old_format; + gint file_format; + + switch (hildon_picker_button_get_active (button)) { + case 1: + new_format = MODEST_MSG_EDIT_FORMAT_HTML; + file_format = MODEST_FILE_FORMAT_FORMATTED_TEXT; + break; + case 0: + default: + new_format = MODEST_MSG_EDIT_FORMAT_TEXT; + file_format = MODEST_FILE_FORMAT_PLAIN_TEXT; + break; + } + + old_format = modest_msg_edit_window_get_format (helper->window); + if (new_format != old_format) { + modest_msg_edit_window_set_file_format (MODEST_MSG_EDIT_WINDOW (helper->window), file_format); + + switch (modest_msg_edit_window_get_format (helper->window)) { + case MODEST_MSG_EDIT_FORMAT_TEXT: + hildon_picker_button_set_active (button, 0); + gtk_widget_set_sensitive (helper->align_picker, FALSE); + break; + case MODEST_MSG_EDIT_FORMAT_HTML: + default: + hildon_picker_button_set_active (button, 1); + gtk_widget_set_sensitive (helper->align_picker, TRUE); + break; + } + } +} + +static void +on_align_picker_value_changed (HildonPickerButton *button, + MessageSettingsHelper *helper) +{ + GtkJustification new_justify; + ModestMsgEditFormatState *format_state = NULL; + + switch (hildon_picker_button_get_active (button)) { + case 1: + new_justify = GTK_JUSTIFY_CENTER; + break; + case 2: + new_justify = GTK_JUSTIFY_RIGHT; + break; + case 0: + default: + new_justify = GTK_JUSTIFY_LEFT; + break; + } + + format_state = modest_msg_edit_window_get_format_state (helper->window); + if (format_state->justification != new_justify) + format_state->justification = new_justify; + modest_msg_edit_window_set_format_state (helper->window, format_state); + g_free (format_state); +} + +static void modest_msg_edit_window_show_msg_settings_dialog (ModestMsgEditWindow *window) { GtkWidget *dialog; @@ -3663,9 +3759,17 @@ modest_msg_edit_window_show_msg_settings_dialog (ModestMsgEditWindow *window) GtkWidget *high_toggle, *medium_toggle, *low_toggle; GtkWidget *captioned; GtkSizeGroup *title_sizegroup, *value_sizegroup; - GSList *priority_group = NULL; GtkWidget *format_picker; GtkWidget *format_selector; + GtkWidget *align_selector; + ModestMsgEditWindowPrivate *priv; + MessageSettingsHelper helper = {0,}; + ModestMsgEditFormatState *format_state = NULL; + + g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window)); + priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window); + helper.window = window; + helper.priority_group = NULL; title_sizegroup = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); value_sizegroup = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); @@ -3678,49 +3782,109 @@ modest_msg_edit_window_show_msg_settings_dialog (ModestMsgEditWindow *window) /* Priority toggles */ priority_hbox = gtk_hbox_new (TRUE, 0); high_toggle = hildon_check_button_new (HILDON_SIZE_FINGER_HEIGHT); - gtk_button_set_label (GTK_BUTTON (high_toggle), _("TDHigh")); - priority_group = g_slist_prepend (priority_group, high_toggle); + gtk_button_set_label (GTK_BUTTON (high_toggle), _("mcen_me_editor_priority_high")); + helper.priority_group = g_slist_prepend (helper.priority_group, high_toggle); + g_object_set_data (G_OBJECT (high_toggle), "priority", GINT_TO_POINTER (TNY_HEADER_FLAG_HIGH_PRIORITY)); medium_toggle = hildon_check_button_new (HILDON_SIZE_FINGER_HEIGHT); - gtk_button_set_label (GTK_BUTTON (medium_toggle), _("TDMedium")); - priority_group = g_slist_prepend (priority_group, medium_toggle); + gtk_button_set_label (GTK_BUTTON (medium_toggle), _("mcen_me_editor_priority_normal")); + helper.priority_group = g_slist_prepend (helper.priority_group, medium_toggle); + g_object_set_data (G_OBJECT (medium_toggle), "priority", GINT_TO_POINTER (TNY_HEADER_FLAG_NORMAL_PRIORITY)); low_toggle = hildon_check_button_new (HILDON_SIZE_FINGER_HEIGHT); - gtk_button_set_label (GTK_BUTTON (low_toggle), _("TDLow")); - priority_group = g_slist_prepend (priority_group, low_toggle); + gtk_button_set_label (GTK_BUTTON (low_toggle), _("mcen_me_editor_priority_low")); + helper.priority_group = g_slist_prepend (helper.priority_group, low_toggle); + g_object_set_data (G_OBJECT (low_toggle), "priority", GINT_TO_POINTER (TNY_HEADER_FLAG_LOW_PRIORITY)); gtk_box_pack_start (GTK_BOX (priority_hbox), low_toggle, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (priority_hbox), medium_toggle, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (priority_hbox), high_toggle, FALSE, FALSE, 0); - g_signal_connect (G_OBJECT (high_toggle), "toggled", G_CALLBACK (on_priority_toggle), priority_group); - g_signal_connect (G_OBJECT (medium_toggle), "toggled", G_CALLBACK (on_priority_toggle), priority_group); - g_signal_connect (G_OBJECT (low_toggle), "toggled", G_CALLBACK (on_priority_toggle), priority_group); gtk_widget_show_all (priority_hbox); captioned = modest_maemo_utils_create_captioned (title_sizegroup, value_sizegroup, - _("TODO: Priority:"), priority_hbox); + _("mcen_me_editor_message_priority"), priority_hbox); gtk_widget_show (captioned); gtk_box_pack_start (GTK_BOX (vbox), captioned, FALSE, FALSE, 0); /* format selector */ format_selector = hildon_touch_selector_new_text (); - hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (format_selector), _("TD:Plain text")); - hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (format_selector), _("TD:Formatted text")); + hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (format_selector), _("mcen_me_editor_plain_text")); + hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (format_selector), _("mcen_me_editor_formatted_text")); format_picker = hildon_picker_button_new (MODEST_EDITABLE_SIZE, HILDON_BUTTON_ARRANGEMENT_HORIZONTAL); hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (format_picker), HILDON_TOUCH_SELECTOR (format_selector)); modest_maemo_utils_set_hbutton_layout (title_sizegroup, value_sizegroup, - _("TODO:Format:"), format_picker); + _("mcen_me_editor_format"), format_picker); gtk_widget_show_all (format_picker); gtk_box_pack_start (GTK_BOX (vbox), format_picker, FALSE, FALSE, 0); + /* alignment selector */ + align_selector = hildon_touch_selector_new_text (); + hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (align_selector), _("mcen_me_editor_align_left")); + hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (align_selector), _("mcen_me_editor_align_centred")); + hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (align_selector), _("mcen_me_editor_align_right")); + helper.align_picker = hildon_picker_button_new (MODEST_EDITABLE_SIZE, + HILDON_BUTTON_ARRANGEMENT_HORIZONTAL); + hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (helper.align_picker), HILDON_TOUCH_SELECTOR (align_selector)); + modest_maemo_utils_set_hbutton_layout (title_sizegroup, value_sizegroup, + _("mcen_me_editor_align"), helper.align_picker); + gtk_widget_show_all (helper.align_picker); + gtk_box_pack_start (GTK_BOX (vbox), helper.align_picker, FALSE, FALSE, 0); + g_object_unref (title_sizegroup); g_object_unref (value_sizegroup); + gtk_window_set_title (GTK_WINDOW (dialog), _("TODO: Message settings")); /* Set current values */ + switch (priv->priority_flags) { + case TNY_HEADER_FLAG_HIGH_PRIORITY: + hildon_check_button_set_active (HILDON_CHECK_BUTTON (high_toggle), TRUE); + break; + case TNY_HEADER_FLAG_LOW_PRIORITY: + hildon_check_button_set_active (HILDON_CHECK_BUTTON (low_toggle), TRUE); + break; + default: + hildon_check_button_set_active (HILDON_CHECK_BUTTON (medium_toggle), TRUE); + break; + } + + switch (modest_msg_edit_window_get_format (window)) { + case MODEST_MSG_EDIT_FORMAT_TEXT: + hildon_picker_button_set_active (HILDON_PICKER_BUTTON (format_picker), 0); + gtk_widget_set_sensitive (helper.align_picker, FALSE); + break; + case MODEST_MSG_EDIT_FORMAT_HTML: + default: + hildon_picker_button_set_active (HILDON_PICKER_BUTTON (format_picker), 1); + gtk_widget_set_sensitive (helper.align_picker, TRUE); + break; + } + + format_state = modest_msg_edit_window_get_format_state (window); + switch (format_state->justification) { + case GTK_JUSTIFY_RIGHT: + hildon_picker_button_set_active (HILDON_PICKER_BUTTON (helper.align_picker), 2); + break; + case GTK_JUSTIFY_CENTER: + hildon_picker_button_set_active (HILDON_PICKER_BUTTON (helper.align_picker), 1); + break; + default: + hildon_picker_button_set_active (HILDON_PICKER_BUTTON (helper.align_picker), 0); + break; + + } + g_free (format_state); + + /* Signal connects */ + g_signal_connect (G_OBJECT (high_toggle), "toggled", G_CALLBACK (on_priority_toggle), &helper); + g_signal_connect (G_OBJECT (medium_toggle), "toggled", G_CALLBACK (on_priority_toggle), &helper); + g_signal_connect (G_OBJECT (low_toggle), "toggled", G_CALLBACK (on_priority_toggle), &helper); + g_signal_connect (G_OBJECT (format_picker), "value-changed", G_CALLBACK (on_format_picker_value_changed), &helper); + g_signal_connect (G_OBJECT (helper.align_picker), "value-changed", + G_CALLBACK (on_align_picker_value_changed), &helper); gtk_dialog_run (GTK_DIALOG (dialog)); /* Read new values */ gtk_widget_destroy (dialog); - g_slist_free (priority_group); + g_slist_free (helper.priority_group); } @@ -3729,3 +3893,138 @@ static void on_message_settings (GtkAction *action, { modest_msg_edit_window_show_msg_settings_dialog (window); } + + +static void add_button_to_menu (ModestMsgEditWindow *self, + HildonAppMenu *menu, + GtkButton *button, + ModestDimmingRulesGroup *group, + GCallback dimming_callback) +{ + if (dimming_callback) + modest_dimming_rules_group_add_widget_rule (group, + GTK_WIDGET (button), + dimming_callback, + MODEST_WINDOW (self)); + hildon_app_menu_append (menu, GTK_BUTTON (button)); +} + +static void add_to_menu (ModestMsgEditWindow *self, + HildonAppMenu *menu, + gchar *label, + GCallback callback, + ModestDimmingRulesGroup *group, + GCallback dimming_callback) +{ + GtkWidget *button; + + button = gtk_button_new_with_label (label); + g_signal_connect_after (G_OBJECT (button), "clicked", + callback, (gpointer) self); + add_button_to_menu (self, menu, GTK_BUTTON (button), group, dimming_callback); +} + +static void +on_cc_button_toggled (HildonCheckButton *button, + ModestMsgEditWindow *window) +{ + g_return_if_fail (MODEST_MSG_EDIT_WINDOW (window)); + + modest_msg_edit_window_show_cc (MODEST_MSG_EDIT_WINDOW (window), + hildon_check_button_get_active (button)); +} + +static void +on_bcc_button_toggled (HildonCheckButton *button, + ModestMsgEditWindow *window) +{ + g_return_if_fail (MODEST_MSG_EDIT_WINDOW (window)); + + modest_msg_edit_window_show_bcc (MODEST_MSG_EDIT_WINDOW (window), + hildon_check_button_get_active (button)); +} + +static void +on_find_toolbar_button_toggled (HildonCheckButton *button, + ModestMsgEditWindow *window) +{ + g_return_if_fail (MODEST_MSG_EDIT_WINDOW (window)); + modest_msg_edit_window_toggle_find_toolbar (MODEST_MSG_EDIT_WINDOW (window), + hildon_check_button_get_active (button)); + +} + +static void +setup_menu (ModestMsgEditWindow *self, ModestDimmingRulesGroup *group) +{ + ModestMsgEditWindowPrivate *priv = NULL; + + g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW(self)); + + priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (self); + + priv->app_menu = hildon_app_menu_new (); + + /* Settings menu buttons */ + add_to_menu (self, HILDON_APP_MENU (priv->app_menu), _("mcen_me_editor_checknames"), + G_CALLBACK (modest_ui_actions_on_check_names), + group, NULL); + add_to_menu (self, HILDON_APP_MENU (priv->app_menu), _("mcen_me_inbox_undo"), + G_CALLBACK (modest_ui_actions_on_undo), + group, G_CALLBACK (modest_ui_dimming_rules_on_undo)); + + priv->cc_button = hildon_check_button_new (0); + gtk_button_set_label (GTK_BUTTON (priv->cc_button), _("mcen_me_editor_showcc")); + hildon_check_button_set_active (HILDON_CHECK_BUTTON (priv->cc_button), + FALSE); + add_button_to_menu (self, HILDON_APP_MENU (priv->app_menu), GTK_BUTTON (priv->cc_button), + group, NULL); + g_signal_connect (G_OBJECT (priv->cc_button), "toggled", + G_CALLBACK (on_cc_button_toggled), (gpointer) self); + priv->bcc_button = hildon_check_button_new (0); + gtk_button_set_label (GTK_BUTTON (priv->bcc_button), _("mcen_me_editor_showbcc")); + hildon_check_button_set_active (HILDON_CHECK_BUTTON (priv->bcc_button), + FALSE); + add_button_to_menu (self, HILDON_APP_MENU (priv->app_menu), GTK_BUTTON (priv->bcc_button), + group, NULL); + g_signal_connect (G_OBJECT (priv->bcc_button), "toggled", + G_CALLBACK (on_bcc_button_toggled), (gpointer) self); + + add_to_menu (self, HILDON_APP_MENU (priv->app_menu), _("mcen_me_editor_attach_inlineimage"), + G_CALLBACK (modest_ui_actions_on_insert_image), + group, G_CALLBACK (modest_ui_dimming_rules_on_set_style)); + add_to_menu (self, HILDON_APP_MENU (priv->app_menu), _("mcen_me_inbox_remove_attachments"), + G_CALLBACK (modest_ui_actions_on_remove_attachments), + group, G_CALLBACK (modest_ui_dimming_rules_on_editor_remove_attachment)); + add_to_menu (self, HILDON_APP_MENU (priv->app_menu), _("TODO: Message settings..."), + G_CALLBACK (on_message_settings), + group, NULL); + priv->find_toolbar_button = hildon_check_button_new (0); + gtk_button_set_label (GTK_BUTTON (priv->find_toolbar_button), _("mcen_me_viewer_find")); + hildon_check_button_set_active (HILDON_CHECK_BUTTON (priv->find_toolbar_button), + FALSE); + add_button_to_menu (self, HILDON_APP_MENU (priv->app_menu), GTK_BUTTON (priv->find_toolbar_button), + group, NULL); + g_signal_connect (G_OBJECT (priv->find_toolbar_button), "toggled", + G_CALLBACK (on_find_toolbar_button_toggled), (gpointer) self); + + hildon_stackable_window_set_main_menu (HILDON_STACKABLE_WINDOW (self), + HILDON_APP_MENU (priv->app_menu)); +} + +static gboolean +modest_msg_edit_window_toggle_menu (HildonWindow *window, + guint button, + guint32 time) +{ + ModestMsgEditWindowPrivate *priv = NULL; + + priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window); + + modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (window)); + + gtk_widget_queue_resize (priv->app_menu); + + return HILDON_WINDOW_CLASS (parent_class)->toggle_menu (window, button, time); +} +