This is a manual merge of branch drop split view intro trunk.
[modest] / src / maemo / modest-main-window.c
index e252f7f..e63d715 100644 (file)
@@ -1114,7 +1114,8 @@ modest_main_window_on_show (GtkWidget *self, gpointer user_data)
        ShowHelper *helper = (ShowHelper *) user_data;
        GtkWidget *folder_win = helper->folder_win;
        ModestMainWindowPrivate *priv = MODEST_MAIN_WINDOW_GET_PRIVATE(self);
-       
+       ModestAccountMgr *mgr;
+
        priv->folder_view = MODEST_FOLDER_VIEW (modest_platform_create_folder_view (NULL));
        wrap_in_scrolled_window (folder_win, GTK_WIDGET(priv->folder_view));
 
@@ -1136,18 +1137,10 @@ modest_main_window_on_show (GtkWidget *self, gpointer user_data)
        restore_settings (MODEST_MAIN_WINDOW(self), TRUE);
        priv->wait_for_settings = FALSE;
 
-       /* Check if accounts exist and show the account wizard if not */
-       gboolean accounts_exist = 
-               modest_account_mgr_has_accounts(modest_runtime_get_account_mgr(), TRUE);
-
-       if (!accounts_exist) {
-               /* This is necessary to have the main window shown behind the dialog 
-               It's an ugly hack... jschmid */
-               gtk_widget_show_all(GTK_WIDGET(self));
-               modest_ui_actions_on_accounts (NULL, MODEST_WINDOW(self));
-       } else {
+       /* Update the menus if there are accounts */
+       mgr = modest_runtime_get_account_mgr();
+       if (modest_account_mgr_has_accounts(mgr, TRUE))
                update_menus (MODEST_MAIN_WINDOW (self));
-       }
 
        /* Never call this function again (NOTE that it could happen
           as we hide the main window instead of closing it while
@@ -1721,7 +1714,7 @@ on_inner_widgets_key_pressed (GtkWidget *widget,
                return FALSE;
 
        if (MODEST_IS_HEADER_VIEW (widget)) {
-               if (event->keyval == GDK_Left)
+               if (event->keyval == GDK_Left || event->keyval == GDK_KP_Left)
                        gtk_widget_grab_focus (GTK_WIDGET (priv->folder_view));
                else if ((event->keyval == GDK_Return)||(event->keyval == GDK_KP_Enter)) {
                        guint selected_headers = modest_header_view_count_selected_headers (MODEST_HEADER_VIEW (widget));
@@ -1744,7 +1737,8 @@ on_inner_widgets_key_pressed (GtkWidget *widget,
                                }
                        }
                }
-       } else if (MODEST_IS_FOLDER_VIEW (widget) && (event->keyval == GDK_Right || event->keyval == GDK_Left)) {
+       } else if (MODEST_IS_FOLDER_VIEW (widget) && 
+                  (event->keyval == GDK_Right || event->keyval == GDK_KP_Right || event->keyval == GDK_Left || event->keyval == GDK_KP_Left)) {
 #if GTK_CHECK_VERSION(2, 8, 0) /* TODO: gtk_tree_view_get_visible_range() is only available in GTK+ 2.8 */
                GtkTreePath *selected_path = NULL;
                GtkTreePath *start_path = NULL;
@@ -2244,6 +2238,10 @@ modest_main_window_set_contents_style (ModestMainWindow *self,
 
        /* Show */
        gtk_widget_show_all (priv->contents_widget);
+
+       /* Recompute dimming rules */
+        modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (self));
+       modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (self));
 }
 
 ModestMainWindowContentsStyle