Implement "search messages" action (fixes NB#57209).
[modest] / src / modest-ui-actions.h
index f05608b..7444cb7 100644 (file)
 
 #include <widgets/modest-main-window.h>
 #include <widgets/modest-msg-edit-window.h>
+#include <widgets/modest-recpt-view.h>
+#include "modest-mail-operation.h"
 
 G_BEGIN_DECLS
 
 /* Menu & toolbar actions */
-void     modest_ui_actions_on_about         (GtkWidget *widget, ModestWindow *win);
+void     modest_ui_actions_on_about         (GtkAction *action, ModestWindow *win);
 
-void     modest_ui_actions_on_delete        (GtkWidget *widget, ModestWindow *win);
+void     modest_ui_actions_on_delete        (GtkAction *action, ModestWindow *win);
 
-void     modest_ui_actions_on_quit          (GtkWidget *widget, ModestWindow *win);
+void     modest_ui_actions_on_quit          (GtkAction *action, ModestWindow *win);
 
-void     modest_ui_actions_on_accounts      (GtkWidget *widget, ModestWindow *win);
+void     modest_ui_actions_on_close_window  (GtkAction *action, ModestWindow *win);
 
-void     modest_ui_actions_on_new_msg       (GtkWidget *widget, ModestWindow *win);
+void     modest_ui_actions_on_new_account      (GtkAction *action, ModestWindow *win);
 
-void     modest_ui_actions_on_open           (GtkWidget *widget, ModestWindow *win);
+void     modest_ui_actions_on_accounts      (GtkAction *action, ModestWindow *win);
 
-void     modest_ui_actions_on_reply         (GtkWidget *widget, ModestWindow *win);
+void     modest_ui_actions_on_smtp_servers  (GtkAction *action, ModestWindow *win);
 
-void     modest_ui_actions_on_forward       (GtkWidget *widget, ModestWindow *win);
+void     modest_ui_actions_on_add_to_contacts   (GtkAction *action, ModestWindow *win);
 
-void     modest_ui_actions_on_reply_all     (GtkWidget *widget, ModestWindow *win);
+void     modest_ui_actions_on_select_contacts (GtkAction *action, ModestMsgEditWindow *win);
 
-void     modest_ui_actions_on_next          (GtkWidget *widget, ModestMainWindow *main_window);
+void     modest_ui_actions_on_check_names (GtkAction *action, ModestMsgEditWindow *win);
 
-void     modest_ui_actions_on_prev          (GtkWidget *widget, ModestMainWindow *main_window);
+void     modest_ui_actions_on_new_msg       (GtkAction *action, ModestWindow *win);
 
-void    modest_ui_actions_toggle_view       (GtkWidget *widget, ModestMainWindow *main_window);
+void     modest_ui_actions_on_open           (GtkAction *action, ModestWindow *win);
+
+void     modest_ui_actions_on_reply         (GtkAction *action, ModestWindow *win);
+
+void     modest_ui_actions_on_forward       (GtkAction *action, ModestWindow *win);
+
+void     modest_ui_actions_on_sort          (GtkAction *action, ModestWindow *window);
+
+void     modest_ui_actions_on_reply_all     (GtkAction *action, ModestWindow *win);
+
+void     modest_ui_actions_on_next          (GtkAction *action, ModestWindow *main_window);
+
+void     modest_ui_actions_on_prev          (GtkAction *action, ModestWindow *main_window);
+
+void     modest_ui_actions_on_details       (GtkAction *action, ModestWindow *win);
+
+void     modest_ui_actions_on_move_to       (GtkAction *action, ModestWindow *win);
+
+void     modest_ui_actions_on_settings      (GtkAction *action, ModestWindow *win);
+
+/**
+ * modest_ui_actions_on_help:
+ * @action: a #GtkAction
+ * @win: a #ModestWindow
+ * 
+ * Shows the help dialog
+ **/
+void     modest_ui_actions_on_help          (GtkAction *action, ModestWindow *win);
+
+/**
+ * modest_ui_actions_toggle_folders_view:
+ * @action: the #GtkAction
+ * @main_window: the #ModestMainWindow
+ * 
+ * this action switches between split view (with a folders pane at the
+ * left) and simple view without the left pane with the folders and
+ * accounts. Maybe it's only useful for Maemo code, but as it uses
+ * generic code could be used also by the GNOME UI
+ **/
+void    modest_ui_actions_toggle_folders_view       (GtkAction *action, 
+                                                     ModestMainWindow *main_window);
+
+/**
+ * modest_ui_actions_toggle_folders_view:
+ * @action: the #GtkAction
+ * @main_window: the #ModestMainWindow
+ * 
+ * this action shows or hides the column titles of the header list
+ * view. It also enables the two lines rendering for the treeview rows
+ **/
+void    modest_ui_actions_toggle_header_list_view    (GtkAction *action, 
+                                                      ModestMainWindow *main_window);
 
 /* Widget actions */
 void     modest_ui_actions_on_header_selected          (ModestHeaderView *folder_view, 
@@ -69,7 +122,7 @@ void     modest_ui_actions_on_header_activated         (ModestHeaderView *folder
                                                         ModestMainWindow *main_window);
 
 void     modest_ui_actions_on_folder_selection_changed (ModestFolderView *folder_view,
-                                                        TnyFolder *folder, 
+                                                        TnyFolderStore *folder_store, 
                                                         gboolean selected,
                                                         ModestMainWindow *main_window);
 
@@ -80,45 +133,247 @@ void     modest_ui_actions_on_item_not_found           (ModestHeaderView *header
                                                         ModestItemType type,
                                                         ModestWindow *window);
 
-void     modest_ui_actions_on_header_status_update     (ModestHeaderView *header_view, 
-                                                        const gchar *msg,
-                                                        gint num, 
-                                                        gint total, 
-                                                        ModestMainWindow *main_window);
-
 void     modest_ui_actions_on_msg_link_hover           (ModestMsgView *msgview, const gchar* link,
                                                        ModestWindow *win);
 
 void     modest_ui_actions_on_msg_link_clicked         (ModestMsgView *msgview, const gchar* link,
                                                        ModestWindow *win);
 
-void     modest_ui_actions_on_msg_attachment_clicked   (ModestMsgView *msgview, int index,
+void     modest_ui_actions_on_msg_link_contextual      (ModestMsgView *msgview, const gchar* link,
+                                                       ModestWindow *win);
+
+void     modest_ui_actions_on_msg_attachment_clicked   (ModestMsgView *msgview, TnyMimePart *mime_part,
                                                        ModestWindow *win);
 
+void     modest_ui_actions_on_msg_recpt_activated   (ModestMsgView *msgview, const gchar *address,
+                                                    ModestWindow *win);
+
 void     modest_ui_actions_on_send                     (GtkWidget *widget,
                                                        ModestMsgEditWindow *edit_window);
+void     modest_ui_actions_on_save_to_drafts           (GtkWidget *widget, 
+                                                       ModestMsgEditWindow *edit_window);
 
-void    modest_ui_actions_on_send_receive              (GtkWidget *widget, ModestWindow *win);
 
-void     modest_ui_actions_on_new_folder               (GtkWidget *widget,
-                                                        ModestMainWindow *main_window);
+void     modest_ui_actions_on_toggle_bold              (GtkToggleAction *action,
+                                                       ModestMsgEditWindow *window);
 
-void     modest_ui_actions_on_rename_folder            (GtkWidget *widget,
-                                                        ModestMainWindow *main_window);
+void     modest_ui_actions_on_toggle_italics           (GtkToggleAction *action,
+                                                       ModestMsgEditWindow *window);
 
-void     modest_ui_actions_on_delete_folder            (GtkWidget *widget,
+void     modest_ui_actions_on_toggle_bullets           (GtkToggleAction *action,
+                                                       ModestMsgEditWindow *window);
+
+void     modest_ui_actions_on_change_justify      (GtkRadioAction *action,
+                                                  GtkRadioAction *selected,
+                                                  ModestMsgEditWindow *window);
+
+void     modest_ui_actions_on_select_editor_color      (GtkAction *action,
+                                                       ModestMsgEditWindow *window);
+
+void     modest_ui_actions_on_select_editor_background_color      (GtkAction *action,
+                                                                  ModestMsgEditWindow *window);
+
+void     modest_ui_actions_on_insert_image             (GtkAction *action,
+                                                       ModestMsgEditWindow *window);
+
+void     modest_ui_actions_on_attach_file             (GtkAction *action,
+                                                      ModestMsgEditWindow *window);
+
+void     modest_ui_actions_on_remove_attachments      (GtkAction *action,
+                                                      ModestMsgEditWindow *window);
+void     modest_ui_actions_on_mark_as_read            (GtkAction *action,
+                                                      ModestWindow *window);
+
+void     modest_ui_actions_on_mark_as_unread            (GtkAction *action,
+                                                        ModestWindow *window);
+
+/**
+ * modest_ui_actions_do_send_receive_all:
+ * @win: the window that will be used as source of the refresh mail operation
+ * 
+ * Refreshes all the accounts
+ **/
+void    modest_ui_actions_do_send_receive_all          (ModestWindow *win);
+
+/**
+ * modest_ui_actions_do_send_receive:
+ * @account_name: the name of the Modest account or NULL
+ * @win: the window that will be used as source of the refresh mail operation
+ * 
+ * Refreshes the Modest account whose name is passed as argument. If
+ * NULL is passed as #account_name then this function refreses the
+ * active account, if no active account is defined then it picks the
+ * default account
+ **/
+void    modest_ui_actions_do_send_receive              (const gchar *account_name,
+                                                       ModestWindow *win);
+
+/**
+ * modest_ui_actions_on_send_receive:
+ * @action: a #GtkAction
+ * @win: the Window that contains the action
+ * 
+ * Handles the activation of the send receive action, for example
+ * clicks on Send&Receive button in the main toolbar
+ **/
+void    modest_ui_actions_on_send_receive              (GtkAction *action, 
+                                                       ModestWindow *win);
+
+void     modest_ui_actions_on_new_folder               (GtkAction *action,
+                                                       ModestMainWindow *main_window);
+
+void     modest_ui_actions_on_rename_folder            (GtkAction *action,
+                                                       ModestMainWindow *main_window);
+
+void     modest_ui_actions_on_delete_folder            (GtkAction *action,
                                                         ModestMainWindow *main_window);
 
-void     modest_ui_actions_on_move_folder_to_trash_folder     (GtkWidget *widget,
+void     modest_ui_actions_on_move_folder_to_trash_folder     (GtkAction *action,
                                                               ModestMainWindow *main_window);
 
+/*
 void     modest_ui_actions_on_connection_changed    (TnyDevice *device, gboolean online,
                                                     ModestMainWindow *main_window);
+*/
 
 void     modest_ui_actions_on_password_requested (TnyAccountStore *account_store,
-                                                 const gchar* account_name,
-                                                 gchar **password,  gboolean *cancel, 
+                                                 const gchar* server_account_name,
+                                                 gchar **username, gchar **password, gboolean *cancel, 
                                                  gboolean *remember, ModestMainWindow *main_window);
 
+void     modest_ui_actions_on_undo                     (GtkAction *action,
+                                                       ModestWindow *window);
+
+void     modest_ui_actions_on_cut                      (GtkAction *action,
+                                                       ModestWindow *window);
+
+void     modest_ui_actions_on_copy                     (GtkAction *action,
+                                                       ModestWindow *window);
+
+void     modest_ui_actions_on_zoom_plus (GtkAction *action,
+                                        ModestWindow *window);
+
+void     modest_ui_actions_on_zoom_minus (GtkAction *action,
+                                         ModestWindow *window);
+
+void     modest_ui_actions_on_toggle_fullscreen    (GtkToggleAction *toggle,
+                                                   ModestWindow *window);
+
+void     modest_ui_actions_on_change_fullscreen    (GtkAction *action,
+                                                   ModestWindow *window);
+
+void     modest_ui_actions_on_paste                    (GtkAction *action,
+                                                       ModestWindow *window);
+
+void     modest_ui_actions_on_select_all               (GtkAction *action,
+                                                       ModestWindow *window);
+
+void     modest_ui_actions_on_toggle_show_cc (GtkToggleAction *toggle,
+                                             ModestMsgEditWindow *window);
+
+void     modest_ui_actions_on_toggle_show_bcc (GtkToggleAction *toggle,
+                                             ModestMsgEditWindow *window);
+
+void     modest_ui_actions_on_change_zoom              (GtkRadioAction *action,
+                                                       GtkRadioAction *selected,
+                                                       ModestWindow *window);
+
+void     modest_ui_actions_msg_edit_on_change_priority (GtkRadioAction *action,
+                                                       GtkRadioAction *selected,
+                                                       ModestWindow *window);
+
+void     modest_ui_actions_msg_edit_on_change_file_format (GtkRadioAction *action,
+                                                          GtkRadioAction *selected,
+                                                          ModestWindow *window);
+
+void     modest_ui_actions_msg_edit_on_select_font (GtkAction *action,
+                                                   ModestMsgEditWindow *window);
+
+/**
+ * modest_ui_actions_on_toggle_toolbar:
+ * @toggle: 
+ * @window: 
+ * 
+ * Hides/Shows the toolbars of the #ModestWindow instances
+ **/
+void     modest_ui_actions_on_toggle_toolbar           (GtkToggleAction *toggle, 
+                                                       ModestWindow *window);
+
+/**
+ * modest_ui_actions_on_folder_display_name_changed:
+ * @folder_view: a #ModestFolderView
+ * @display_name: the new window title
+ * @window: a #GtkWindow
+ * 
+ * Sets the title of the window to the value specified by
+ * display_name. This function is used typically as a callback to the
+ * "folder-display-name-changed" signal from the #ModestFolderView
+ **/
+void     modest_ui_actions_on_folder_display_name_changed (ModestFolderView *folder_view,
+                                                          const gchar *display_name,
+                                                          GtkWindow *window);
+
+void     modest_ui_actions_view_attachment                (GtkAction *action,
+                                                          ModestWindow *window);
+
+void     modest_ui_actions_save_attachments               (GtkAction *action,
+                                                          ModestWindow *window);
+
+void     modest_ui_actions_remove_attachments             (GtkAction *action,
+                                                          ModestWindow *window);
+
+/**
+ * modest_ui_actions_on_retrieve_msg_contents:
+ * @action: the #GtkAction
+ * @window: the #ModestWindow that issues the action
+ * 
+ * Retrieve the contents of the selected messages in the header view
+ **/
+void     modest_ui_actions_on_retrieve_msg_contents       (GtkAction *action,
+                                                          ModestWindow *window);
+
+void
+modest_ui_actions_on_email_menu_activated (GtkAction *action,
+                                         ModestWindow *window);
+
+void
+modest_ui_actions_on_edit_menu_activated (GtkAction *action,
+                                         ModestWindow *window);
+
+void
+modest_ui_actions_on_toolbar_csm_menu_activated (GtkAction *action,
+                                                ModestWindow *window);
+
+void
+modest_ui_actions_on_folder_view_csm_menu_activated (GtkAction *action,
+                                                    ModestWindow *window);
+
+void
+modest_ui_actions_on_header_view_csm_menu_activated (GtkAction *action,
+                                                    ModestWindow *window);
+
+void
+modest_ui_actions_check_toolbar_dimming_rules (ModestWindow *window);
+
+/**
+ * modest_ui_actions_move_folder_error_handler:
+ * @mail_op: a #ModestMailOperation
+ * @user_data: user data
+ * 
+ * manages an error in a mail operation that tries to move a folder
+ **/
+void     modest_ui_actions_move_folder_error_handler      (ModestMailOperation *mail_op, 
+                                                          gpointer user_data);
+
+/**
+ * modest_ui_actions_on_search_messages:
+ * @action: a #GtkAction
+ * @window: a #ModestWindow
+ *
+ * Shows the search messages dialog
+ **/
+void     modest_ui_actions_on_search_messages             (GtkAction *action,
+                                                          ModestWindow *window);
+
 G_END_DECLS
 #endif /* __MODEST_UI_ACTIONS_H__ */