Work to complete implementation of purge attachments operation
[modest] / src / maemo / modest-main-window.c
index 0facd90..a1f8f46 100644 (file)
@@ -68,7 +68,7 @@
 #define MODEST_MAIN_WINDOW_ACTION_GROUP_ADDITIONS "ModestMainWindowActionAdditions"
 
 #define XALIGN 0.5
-#define YALIGN 0.5
+#define YALIGN 0.0
 #define XSPACE 1
 #define YSPACE 0
 
@@ -514,7 +514,7 @@ on_account_store_connecting_finished (TnyAccountStore *store, ModestMainWindow *
 
        TnyDevice *device = tny_account_store_get_device (store);
 
-       modest_folder_view_update_model (MODEST_FOLDER_VIEW (priv->folder_view), store);
+       /* modest_folder_view_update_model (MODEST_FOLDER_VIEW (priv->folder_view), store); */
        
        /* Check that we are really online.
         * This signal should not be emitted when we are not connected, 
@@ -1228,7 +1228,7 @@ on_account_update (TnyAccountStore *account_store,
                                  G_CALLBACK (on_send_receive_csm_activated),
                                  NULL);
                item = gtk_separator_menu_item_new ();
-               gtk_menu_shell_append (GTK_MENU_SHELL (priv->accounts_popup), GTK_WIDGET (item));
+               gtk_menu_shell_prepend (GTK_MENU_SHELL (priv->accounts_popup), GTK_WIDGET (item));
        }
 
        /* Create a new action group */
@@ -1312,7 +1312,7 @@ on_account_update (TnyAccountStore *account_store,
                           it'll be no menu */
                        if (priv->accounts_popup) {
                                item = gtk_menu_item_new_with_label (display_name);
-                               gtk_menu_shell_append (GTK_MENU_SHELL (priv->accounts_popup), GTK_WIDGET (item));
+                               gtk_menu_shell_prepend (GTK_MENU_SHELL (priv->accounts_popup), GTK_WIDGET (item));
                                g_signal_connect_data (G_OBJECT (item), 
                                                       "activate", 
                                                       G_CALLBACK (on_send_receive_csm_activated),
@@ -1401,6 +1401,8 @@ create_empty_view (void)
 static GtkWidget *
 create_details_widget (GtkWidget *styled_widget, TnyAccount *account)
 {
+       /* TODO: Clean up this function. It's a mess, with lots of copy/paste. murrayc. */
+       
        GtkWidget *vbox;
        GtkWidget *label_w;
        gchar *label;
@@ -1415,18 +1417,25 @@ create_details_widget (GtkWidget *styled_widget, TnyAccount *account)
        gtk_style_lookup_color (styled_widget->style, "SecondaryTextColor", &color);
        gray_color_markup = modest_text_utils_get_color_string (&color);
 #else
-       gray_color_markup = "#BBBBBB";  
+       // gray_color_markup is freed below
+       gray_color_markup = g_strdup ("#BBBBBB");
 #endif 
        /* Account description: */
        
-       if (modest_tny_account_is_virtual_local_folders (account)) {
+       if (modest_tny_account_is_virtual_local_folders (account)
+               || (modest_tny_account_is_memory_card_account (account))) {
                gchar *tmp;
                /* Local folders: */
        
                /* Get device name */
-               gchar *device_name = modest_conf_get_string (modest_runtime_get_conf(),
+               gchar *device_name = NULL;
+               if (modest_tny_account_is_virtual_local_folders (account))
+                       device_name = modest_conf_get_string (modest_runtime_get_conf(),
                                                      MODEST_CONF_DEVICE_NAME, NULL);
-               tmp = g_strdup_printf (_("mcen_fi_localroot_description"), "");
+               else
+                       device_name = g_strdup (tny_account_get_name (account));
+                                                     
+               tmp = g_strdup_printf (_("mcen_fi_localroot_description"), ""); //TODO: Why the ""?
                label = g_markup_printf_escaped ("<span color='%s'>%s</span>%s",
                                                 gray_color_markup, tmp, device_name);
                g_free (tmp);
@@ -1486,7 +1495,8 @@ create_details_widget (GtkWidget *styled_widget, TnyAccount *account)
        g_free (label);
 
        /* Size / Date */
-       if (modest_tny_account_is_virtual_local_folders (account)) {
+       if (modest_tny_account_is_virtual_local_folders (account)
+               || modest_tny_account_is_memory_card_account (account)) {
                /* FIXME: format size */
                label = g_markup_printf_escaped ("<span color='%s'>%s:</span> %d", 
                                                 gray_color_markup, _("mcen_fi_rootfolder_size"), 
@@ -1592,8 +1602,7 @@ _on_msg_count_changed (ModestHeaderView *header_view,
        else {
                modest_main_window_set_contents_style (main_window,
                                                       MODEST_MAIN_WINDOW_CONTENTS_STYLE_HEADERS);
-       }
-       
+       }       
 }
 
 void 
@@ -1763,37 +1772,64 @@ set_toolbar_mode (ModestMainWindow *self,
        /* Show and hide toolbar items */
        switch (mode) {
        case TOOLBAR_MODE_NORMAL:
-               if (sort_action) 
-                       gtk_action_set_visible (sort_action, TRUE);
-               if (refresh_action) 
-                       gtk_action_set_visible (refresh_action, TRUE);
-               if (priv->progress_toolitem) {
+/*             if (sort_action)  */
+/*                     gtk_action_set_visible (sort_action, TRUE); */
+/*             if (refresh_action)  */
+/*                     gtk_action_set_visible (refresh_action, TRUE); */
+/*             if (priv->progress_toolitem) { */
+/*                     gtk_tool_item_set_expand (GTK_TOOL_ITEM (priv->progress_toolitem), FALSE); */
+/*                     gtk_widget_hide (priv->progress_toolitem); */
+/*             } */
+/*             if (priv->progress_bar) */
+/*                     gtk_widget_hide (priv->progress_bar); */
+               
+/*             if (cancel_action) */
+/*                     gtk_action_set_visible (cancel_action, FALSE); */
+               if (priv->sort_toolitem)
+                       gtk_widget_show (priv->sort_toolitem);
+               
+               if (priv->refresh_toolitem)
+                       gtk_widget_show (priv->refresh_toolitem);
+                       
+               if (priv->progress_toolitem)
                        gtk_tool_item_set_expand (GTK_TOOL_ITEM (priv->progress_toolitem), FALSE);
-                       gtk_widget_hide (priv->progress_toolitem);
-               }
                if (priv->progress_bar)
-                       gtk_widget_hide (priv->progress_bar);                   
-               
-               if (cancel_action)
-                       gtk_action_set_visible (cancel_action, FALSE);
+                       gtk_widget_hide (priv->progress_bar);
+                       
+               if (priv->cancel_toolitem)
+                       gtk_widget_hide (priv->cancel_toolitem);
 
                /* Hide toolbar if optimized view is enabled */
                if (priv->optimized_view)
                        gtk_widget_hide (GTK_WIDGET(parent_priv->toolbar));
                break;
        case TOOLBAR_MODE_TRANSFER:
-               if (sort_action)
-                       gtk_action_set_visible (sort_action, FALSE);
-               if (refresh_action)
-                       gtk_action_set_visible (refresh_action, FALSE);
-               if (cancel_action)
-                       gtk_action_set_visible (cancel_action, TRUE);
-               if (priv->progress_toolitem) {
+/*             if (sort_action) */
+/*                     gtk_action_set_visible (sort_action, FALSE); */
+/*             if (refresh_action) */
+/*                     gtk_action_set_visible (refresh_action, FALSE); */
+/*             if (cancel_action) */
+/*                     gtk_action_set_visible (cancel_action, TRUE); */
+/*             if (priv->progress_toolitem) { */
+/*                     gtk_tool_item_set_expand (GTK_TOOL_ITEM (priv->progress_toolitem), TRUE); */
+/*                     gtk_widget_show (priv->progress_toolitem); */
+/*             } */
+/*             if (priv->progress_bar) */
+/*                     gtk_widget_show (priv->progress_bar); */
+
+               if (priv->sort_toolitem)
+                       gtk_widget_hide (priv->sort_toolitem);
+               
+               if (priv->refresh_toolitem)
+                       gtk_widget_hide (priv->refresh_toolitem);
+               
+               if (priv->progress_toolitem)
                        gtk_tool_item_set_expand (GTK_TOOL_ITEM (priv->progress_toolitem), TRUE);
-                       gtk_widget_show (priv->progress_toolitem);
-               }
                if (priv->progress_bar)
-                       gtk_widget_show (priv->progress_bar);                   
+                       gtk_widget_show (priv->progress_bar);
+                       
+               if (priv->cancel_toolitem)
+                       gtk_widget_show (priv->cancel_toolitem);
 
                /* Show toolbar if it's hiden (optimized view ) */
                if (priv->optimized_view)
@@ -1864,6 +1900,7 @@ on_queue_changed (ModestMailOperationQueue *queue,
        switch (op_type) {
        case MODEST_MAIL_OPERATION_TYPE_SEND:
        case MODEST_MAIL_OPERATION_TYPE_RECEIVE:
+       case MODEST_MAIL_OPERATION_TYPE_OPEN:
                mode = TOOLBAR_MODE_TRANSFER;
                if (priv->current_toolbar_mode == TOOLBAR_MODE_NORMAL)
                        mode_changed = TRUE;