* Fixes NB#57592
authorSergio Villar Senin <svillar@igalia.com>
Thu, 31 May 2007 12:03:42 +0000 (12:03 +0000)
committerSergio Villar Senin <svillar@igalia.com>
Thu, 31 May 2007 12:03:42 +0000 (12:03 +0000)
* Adds Help support to the windows, and folder and header CSMs

pmo-trunk-r2008

src/maemo/modest-main-window-ui.h
src/maemo/modest-main-window.c
src/maemo/modest-platform.c
src/maemo/ui/modest-msg-edit-window-ui.xml
src/maemo/ui/modest-msg-view-window-ui.xml
src/modest-platform.h
src/modest-ui-actions.c
src/modest-ui-actions.h
src/widgets/modest-msg-edit-window-ui.h

index fb506b2..a63b12a 100644 (file)
@@ -99,7 +99,7 @@ static const GtkActionEntry modest_action_entries [] = {
        { "ToolsContacts",            NULL,      N_("mcen_me_inbox_open_addressbook"),                      NULL, NULL,  NULL },
        { "ToolsAddToContacts",            NULL,      N_("mcen_me_viewer_addtocontacts"),                      NULL, NULL,  G_CALLBACK (modest_ui_actions_on_add_to_contacts) },
        { "ToolsSearchMessages",            NULL,      N_("mcen_me_inbox_search"),                      NULL, NULL,  NULL },
        { "ToolsContacts",            NULL,      N_("mcen_me_inbox_open_addressbook"),                      NULL, NULL,  NULL },
        { "ToolsAddToContacts",            NULL,      N_("mcen_me_viewer_addtocontacts"),                      NULL, NULL,  G_CALLBACK (modest_ui_actions_on_add_to_contacts) },
        { "ToolsSearchMessages",            NULL,      N_("mcen_me_inbox_search"),                      NULL, NULL,  NULL },
-       { "ToolsHelp",            NULL,      N_("mcen_me_inbox_help"),                      NULL, NULL,  NULL },
+       { "ToolsHelp", NULL, N_("mcen_me_inbox_help"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_help) },
 
        /* Close */
        { "CloseWindow",          NULL,     N_("mcen_me_inbox_close_window"),               NULL, NULL,  G_CALLBACK (modest_ui_actions_on_close_window) },
 
        /* Close */
        { "CloseWindow",          NULL,     N_("mcen_me_inbox_close_window"),               NULL, NULL,  G_CALLBACK (modest_ui_actions_on_close_window) },
index e20d361..042d76b 100644 (file)
@@ -190,7 +190,7 @@ static const GtkActionEntry modest_folder_view_action_entries [] = {
        { "FolderViewCSMPasteMsgs", NULL, N_("mcen_me_inbox_paste"), NULL, NULL, NULL },
        { "FolderViewCSMDeleteFolder", NULL, N_("mcen_me_inbox_delete"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_delete_folder) },
        { "FolderViewCSMSearchMessages", NULL, N_("mcen_me_inbox_search"), NULL, NULL, NULL },
        { "FolderViewCSMPasteMsgs", NULL, N_("mcen_me_inbox_paste"), NULL, NULL, NULL },
        { "FolderViewCSMDeleteFolder", NULL, N_("mcen_me_inbox_delete"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_delete_folder) },
        { "FolderViewCSMSearchMessages", NULL, N_("mcen_me_inbox_search"), NULL, NULL, NULL },
-       { "FolderViewCSMHelp", NULL, N_("mcen_me_inbox_help"), NULL, NULL, NULL },
+       { "FolderViewCSMHelp", NULL, N_("mcen_me_inbox_help"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_help) },
 };
 
 
 };
 
 
index 5161310..f3a66bb 100644 (file)
@@ -781,12 +781,24 @@ modest_platform_on_new_msg (void)
 }
 
 
 }
 
 
-
-gboolean
-modest_platform_show_help (GtkWidget *widget, const gchar *help_id)
+void
+modest_platform_show_help (GtkWindow *parent_window, 
+                          const gchar *help_id)
 {
 {
-       g_return_val_if_fail (help_id, FALSE);
-       g_return_val_if_fail (osso_context, FALSE);
+       osso_return_t result;
+
+       g_return_if_fail (help_id);
+       g_return_if_fail (osso_context);
 
 
-       return ossohelp_show (osso_context, help_id, OSSO_HELP_SHOW_DIALOG);
+       /* Show help */
+       result = ossohelp_show (osso_context, help_id, OSSO_HELP_SHOW_DIALOG);
+
+       if (result != OSSO_OK) {
+               gchar *error_msg;
+               error_msg = g_strdup_printf ("FIXME The help topic %s could not be found", help_id); 
+               hildon_banner_show_information (GTK_WIDGET (parent_window),
+                                               NULL,
+                                               error_msg);
+               g_free (error_msg);
+       }
 }
 }
index c7bb67f..df432c5 100644 (file)
        <menuitem name="MessagePriorityNormalMenu" action="MessagePriorityNormal"/>
        <menuitem name="MessagePriorityLowMenu" action="MessagePriorityLow"/>
       </menu>
        <menuitem name="MessagePriorityNormalMenu" action="MessagePriorityNormal"/>
        <menuitem name="MessagePriorityLowMenu" action="MessagePriorityLow"/>
       </menu>
+      <separator/>
+<!--
+      <menuitem name="ToolsFindOnPageMenu" action="ToolsFindOnPage"/>
+      <menuitem name="ToolSearchMessagesMenu" action="ToolSearchMessages"/>
+      <separator/>
+-->
+      <menuitem name="ToolsHelpMenu" action="Help"/>
     </menu>
 
     <menu name="CloseMenu" action="Close">
     </menu>
 
     <menu name="CloseMenu" action="Close">
index 95ad57c..39d1c5d 100644 (file)
    <menu name="ToolsMenu" action="Tools">
       <menuitem name="ToolsAddToContactsMenu" action="ToolsAddToContacts"/>
       <separator/>
    <menu name="ToolsMenu" action="Tools">
       <menuitem name="ToolsAddToContactsMenu" action="ToolsAddToContacts"/>
       <separator/>
+<!--
+      <menuitem name="ToolsFindOnPageMenu" action="ToolsFindOnPage"/>
+      <menuitem name="ToolSearchMessagesMenu" action="ToolSearchMessages"/>
+      <separator/>
+-->
+      <menuitem name="ToolsHelpMenu" action="ToolsHelp"/>
    </menu>
 
    <menu name="CloseMenu" action="Close">
    </menu>
 
    <menu name="CloseMenu" action="Close">
index b2024eb..8eb4adc 100644 (file)
@@ -213,6 +213,17 @@ GtkWidget* modest_platform_get_global_settings_dialog (void);
 
 void modest_platform_on_new_msg (void);
 
 
 void modest_platform_on_new_msg (void);
 
+
+/**
+ * modest_platform_show_help:
+ * @parent_window: 
+ * @help_id: the help topic id to be shown in the help dialog
+ * 
+ * shows the application help dialog
+ **/
+void modest_platform_show_help (GtkWindow *parent_window, 
+                               const gchar *help_id);
+
 G_END_DECLS
 
 #endif /* __MODEST_PLATFORM_UTILS_H__ */
 G_END_DECLS
 
 #endif /* __MODEST_PLATFORM_UTILS_H__ */
index d5bd712..f974ffe 100644 (file)
@@ -2772,6 +2772,61 @@ modest_ui_actions_on_settings (GtkAction *action,
 }
 
 void 
 }
 
 void 
+modest_ui_actions_on_help (GtkAction *action, 
+                          ModestWindow *win)
+{
+       const gchar *help_id;
+
+       if (MODEST_IS_MAIN_WINDOW (win)) {
+               const gchar *action_name;
+               action_name = gtk_action_get_name (action);
+
+               if (!strcmp (action_name, "FolderViewCSMHelp") ||
+                   !strcmp (action_name, "HeaderViewCSMHelp")) {
+                       GtkWidget *folder_view;
+                       TnyFolderStore *folder_store;
+                       /* Get selected folder */
+                       folder_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (win),
+                                                                          MODEST_WIDGET_TYPE_FOLDER_VIEW);
+                       folder_store = modest_folder_view_get_selected (MODEST_FOLDER_VIEW (folder_view));
+
+                       /* Switch help_id */
+                       if (TNY_IS_FOLDER (folder_store)) {
+                               switch (tny_folder_get_folder_type (TNY_FOLDER (folder_store))) {
+                               case TNY_FOLDER_TYPE_NORMAL:
+                                       help_id = "applications_email_userfolder";
+                                       break;
+                               case TNY_FOLDER_TYPE_INBOX:
+                                       help_id = "applications_email_inbox";
+                                       break;
+                               case TNY_FOLDER_TYPE_OUTBOX:
+                                       help_id = "applications_email_outbox";
+                                       break;
+                               case TNY_FOLDER_TYPE_SENT:
+                                       help_id = "applications_email_sent";
+                                       break;
+                               case TNY_FOLDER_TYPE_DRAFTS:
+                                       help_id = "applications_email_drafts";
+                                       break;
+                               case TNY_FOLDER_TYPE_ARCHIVE:
+                                       help_id = "applications_email_archive";
+                                       break;
+                               default:
+                                       help_id = NULL;
+                               }
+                       }
+               } else {
+                       help_id = "applications_email_mainview";        
+               }
+       } else if (MODEST_IS_MSG_VIEW_WINDOW (win)) {
+               help_id = "applications_email_viewer";
+       } else if (MODEST_IS_MSG_EDIT_WINDOW (win))
+               help_id = "applications_email_editor";
+
+       modest_platform_show_help (GTK_WINDOW (win), help_id);
+}
+
+void 
 modest_ui_actions_on_retrieve_msg_contents (GtkAction *action,
                                            ModestWindow *window)
 {
 modest_ui_actions_on_retrieve_msg_contents (GtkAction *action,
                                            ModestWindow *window)
 {
index cbc46a5..46eb9dd 100644 (file)
@@ -81,6 +81,15 @@ void     modest_ui_actions_on_move_to       (GtkAction *action, ModestWindow *wi
 void     modest_ui_actions_on_settings      (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
  * modest_ui_actions_toggle_folders_view:
  * @action: the #GtkAction
  * @main_window: the #ModestMainWindow
index 2556236..419a819 100644 (file)
@@ -73,6 +73,8 @@ static const GtkActionEntry modest_msg_edit_action_entries [] = {
        { "CheckNames", NULL, N_("mcen_me_editor_checknames"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_check_names)},
        { "CloseWindow", NULL, N_("mcen_me_inbox_close_window"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_close_window)},
        { "CloseAllWindows", NULL, N_("mcen_me_inbox_close_windows"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_quit) },
        { "CheckNames", NULL, N_("mcen_me_editor_checknames"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_check_names)},
        { "CloseWindow", NULL, N_("mcen_me_inbox_close_window"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_close_window)},
        { "CloseAllWindows", NULL, N_("mcen_me_inbox_close_windows"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_quit) },
+       { "Help", NULL, N_("mcen_me_inbox_help"), NULL, NULL, G_CALLBACK (modest_ui_actions_on_help) },
+
 
        /* KEY ACCELERATOR ACTIONS */
        { "ZoomPlus", NULL, N_("Zoom +"), "F7", NULL, G_CALLBACK (modest_ui_actions_on_zoom_plus) },
 
        /* KEY ACCELERATOR ACTIONS */
        { "ZoomPlus", NULL, N_("Zoom +"), "F7", NULL, G_CALLBACK (modest_ui_actions_on_zoom_plus) },