* Fixes NB#97669, "find in page" is now a button and not a checkbox
authorSergio Villar Senin <svillar@igalia.com>
Mon, 12 Jan 2009 12:47:44 +0000 (12:47 +0000)
committerSergio Villar Senin <svillar@igalia.com>
Mon, 12 Jan 2009 12:47:44 +0000 (12:47 +0000)
pmo-trunk-r7099

src/hildon2/modest-msg-edit-window.c
src/modest-ui-actions.c
src/modest-ui-actions.h
src/widgets/modest-msg-edit-window-ui.h

index 81b26b4..49d969c 100644 (file)
@@ -260,7 +260,7 @@ struct _ModestMsgEditWindowPrivate {
        GtkWidget   *font_tool_button_label;
        GSList      *size_items_group;
        GtkWidget   *size_tool_button_label;
-       
+
        GtkWidget   *find_toolbar;
        gchar       *last_search;
 
@@ -277,7 +277,7 @@ struct _ModestMsgEditWindowPrivate {
        gint images_count;
 
        TnyHeaderFlags priority_flags;
-       
+
        gboolean    can_undo, can_redo;
        gulong      clipboard_change_handler_id;
        gulong      default_clipboard_change_handler_id;
@@ -294,7 +294,6 @@ struct _ModestMsgEditWindowPrivate {
        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), \
@@ -635,9 +634,9 @@ connect_signals (ModestMsgEditWindow *obj)
        g_signal_connect_after (G_OBJECT (priv->subject_field), "move-cursor", G_CALLBACK (subject_field_move_cursor), obj);
        g_signal_connect (G_OBJECT (priv->subject_field), "insert-text", G_CALLBACK (subject_field_insert_text), obj);
 
-       g_signal_connect (G_OBJECT (priv->find_toolbar), "close", G_CALLBACK (modest_msg_edit_window_find_toolbar_close), obj);
        g_signal_connect (G_OBJECT (priv->find_toolbar), "search", G_CALLBACK (modest_msg_edit_window_find_toolbar_search), obj);
-
+       g_signal_connect (G_OBJECT (priv->find_toolbar), "close", G_CALLBACK (modest_msg_edit_window_find_toolbar_close), obj);
        priv->clipboard_change_handler_id = 
                g_signal_connect (G_OBJECT (gtk_clipboard_get (GDK_SELECTION_PRIMARY)), "owner-change",
                                  G_CALLBACK (modest_msg_edit_window_clipboard_owner_change), obj);
@@ -3273,7 +3272,6 @@ subject_field_insert_text (GtkEditable *editable,
                                                dgettext("hildon-common-strings",
                                                         "ckdg_ib_maximum_characters_reached"));
        }
-       
        g_string_free (result, TRUE);
 }
 
@@ -3295,7 +3293,6 @@ modest_msg_edit_window_toggle_find_toolbar (ModestMsgEditWindow *window,
                gtk_widget_hide_all (priv->find_toolbar);
                gtk_widget_grab_focus (priv->msg_body);
        }
-    
 }
 
 static gboolean 
@@ -3417,17 +3414,6 @@ modest_msg_edit_window_find_toolbar_search (GtkWidget *widget,
        g_free (current_search);
 }
 
-static void
-modest_msg_edit_window_find_toolbar_close (GtkWidget *widget,
-                                          ModestMsgEditWindow *window)
-{
-       ModestMsgEditWindowPrivate *priv;
-
-       priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE(window);
-
-       hildon_check_button_set_active (HILDON_CHECK_BUTTON (priv->find_toolbar_button), FALSE);
-}
-
 gboolean 
 modest_msg_edit_window_get_sent (ModestMsgEditWindow *window)
 {
@@ -3447,8 +3433,14 @@ modest_msg_edit_window_set_sent (ModestMsgEditWindow *window,
        priv->sent = sent;
 }
 
+static void
+modest_msg_edit_window_find_toolbar_close (GtkWidget *widget,
+                                          ModestMsgEditWindow *window)
+{
+       modest_msg_edit_window_toggle_find_toolbar (window, FALSE);
+}
 
-void            
+void
 modest_msg_edit_window_set_draft (ModestMsgEditWindow *window,
                                  TnyMsg *draft)
 {
@@ -3849,16 +3841,6 @@ on_bcc_button_toggled (HildonCheckButton *button,
                                        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)
 {
@@ -3902,13 +3884,8 @@ setup_menu (ModestMsgEditWindow *self)
        modest_hildon2_window_add_to_menu (MODEST_HILDON2_WINDOW (self), _("mcen_me_message_settings"),
                                           APP_MENU_CALLBACK (on_message_settings),
                                           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);
-       modest_hildon2_window_add_button_to_menu (MODEST_HILDON2_WINDOW (self), GTK_BUTTON (priv->find_toolbar_button),
-                                                 NULL);
-       g_signal_connect (G_OBJECT (priv->find_toolbar_button), "toggled",
-                         G_CALLBACK (on_find_toolbar_button_toggled), (gpointer) self);
+       modest_hildon2_window_add_to_menu (MODEST_HILDON2_WINDOW (self), _("mcen_me_viewer_find"),
+                                          APP_MENU_CALLBACK (modest_ui_actions_on_toggle_find_in_page),
+                                          NULL);
 }
 
index b4795ed..df48261 100644 (file)
@@ -6151,12 +6151,19 @@ modest_ui_actions_on_open_addressbook (GtkAction *action, ModestWindow *win)
 
 
 void
-modest_ui_actions_on_toggle_find_in_page (GtkToggleAction *action,
+modest_ui_actions_on_toggle_find_in_page (GtkAction *action,
                                          ModestWindow *window)
 {
+       gboolean active;
        g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window));
 
-       modest_msg_edit_window_toggle_find_toolbar (MODEST_MSG_EDIT_WINDOW (window), gtk_toggle_action_get_active (action));
+       if (GTK_IS_TOGGLE_ACTION (action))
+               active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
+       else
+               active = TRUE;
+
+       modest_msg_edit_window_toggle_find_toolbar (MODEST_MSG_EDIT_WINDOW (window), 
+                                                   active);
 }
 
 static void 
index 7c1f5b4..b2e8885 100644 (file)
@@ -451,12 +451,12 @@ void     modest_ui_actions_on_search_messages             (GtkAction *action,
 
 /**
  * modest_ui_actions_on_find_in_page:
- * @action: a #GtkToggleAction
+ * @action: a #GtkAction
  * @window: a #ModestWindow
  *
  * Toggles the visibility of the find in page toolbar
  **/
-void     modest_ui_actions_on_toggle_find_in_page             (GtkToggleAction *action,
+void     modest_ui_actions_on_toggle_find_in_page             (GtkAction *action,
                                                               ModestWindow *window);
 
 /**
index c935740..36b1875 100644 (file)
@@ -94,6 +94,10 @@ static const GtkActionEntry modest_msg_edit_action_entries [] = {
        /* TOOLBAR ACTIONS */
        { "ToolbarSend", MODEST_STOCK_MAIL_SEND, N_("qgn_toolb_messagin_send"),  NULL, NULL,  G_CALLBACK (modest_ui_actions_on_send) },
 
+#ifdef MODEST_TOOLKIT_HILDON2
+       /* Find in page. This is a normal menu option in Hildon2, and a checkbox in the others */
+       { "FindInMessage", NULL, N_("mcen_me_viewer_find"), "<CTRL>F", NULL, G_CALLBACK (modest_ui_actions_on_toggle_find_in_page)},
+#endif
 };
 
 static const GtkToggleActionEntry modest_msg_edit_toggle_action_entries [] = {
@@ -120,9 +124,10 @@ static const GtkToggleActionEntry modest_msg_edit_toggle_action_entries [] = {
        { "ActionsBold", MODEST_TOOLBAR_ICON_BOLD, MODEST_TOOLBAR_ICON_BOLD, NULL, NULL, G_CALLBACK (modest_ui_actions_on_toggle_bold), FALSE },
        { "ActionsItalics", MODEST_TOOLBAR_ICON_ITALIC, MODEST_TOOLBAR_ICON_ITALIC, NULL, NULL, G_CALLBACK (modest_ui_actions_on_toggle_italics), FALSE },
 
+#ifndef MODEST_TOOLKIT_HILDON2
        /* Find in page */
        { "FindInMessage", NULL, N_("mcen_me_viewer_find"), "<CTRL>F", NULL, G_CALLBACK (modest_ui_actions_on_toggle_find_in_page), FALSE },
-
+#endif
 };
 
 static const GtkRadioActionEntry modest_msg_edit_alignment_radio_action_entries [] = {