We assume that, if we cannot write temporary file to view, it's that
[modest] / src / widgets / modest-folder-view.c
index cd9ad27..1fc6cf2 100644 (file)
@@ -235,6 +235,7 @@ struct _ModestFolderViewPrivate {
        gchar                *mailbox;
        ModestFolderViewStyle style;
        ModestFolderViewCellStyle cell_style;
+       gboolean show_message_count;
 
        gboolean  reselect; /* we use this to force a reselection of the INBOX */
        gboolean  show_non_move;
@@ -375,7 +376,7 @@ get_inner_models (ModestFolderView *self,
 
        f_model = gtk_tree_view_get_model (GTK_TREE_VIEW (self));
        if (!GTK_IS_TREE_MODEL_FILTER(f_model)) {
-               g_warning ("BUG: %s: not a valid filter model", __FUNCTION__);
+               g_debug ("%s: emtpy model or not filter model", __FUNCTION__);
                return FALSE;
        }
 
@@ -550,6 +551,10 @@ format_compact_style (gchar **item_name,
                        g_free (*item_name);
                        *item_name = new_item_name;
                }
+       } else if (!g_ascii_strcasecmp (*item_name, "Inbox")) {
+
+               g_free (*item_name);
+               *item_name = g_strdup (_("mcen_me_folder_inbox"));
        }
 
        if (!is_special || multiaccount) {
@@ -663,7 +668,11 @@ text_cell_data  (GtkTreeViewColumn *column,
                } else {
                        /* Use bold font style if there are unread or unset messages */
                        if (number > 0) {
-                               item_name = g_strdup_printf ("%s (%d)", fname, number);
+                               if (priv->show_message_count) {
+                                       item_name = g_strdup_printf ("%s (%d)", fname, number);
+                               } else {
+                                       item_name = g_strdup (fname);
+                               }
                                item_weight = 800;
                        } else {
                                item_name = g_strdup (fname);
@@ -1112,6 +1121,7 @@ add_columns (GtkWidget *treeview)
 #ifdef MODEST_TOOLKIT_HILDON2
                      "ellipsize", PANGO_ELLIPSIZE_MIDDLE,
                      "ypad", MODEST_MARGIN_DEFAULT,
+                     "xpad", MODEST_MARGIN_DEFAULT,
 #else
                      "ellipsize", PANGO_ELLIPSIZE_END,
 #endif
@@ -1184,6 +1194,7 @@ modest_folder_view_init (ModestFolderView *obj)
        priv->reselect = FALSE;
        priv->show_non_move = TRUE;
        priv->list_to_move = NULL;
+       priv->show_message_count = TRUE;
 
        /* Build treeview */
        add_columns (GTK_WIDGET (obj));
@@ -1984,6 +1995,16 @@ filter_row (GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
                                break;
                        }
                }
+               if (retval && TNY_IS_ACCOUNT (instance) &&
+                   modest_tny_folder_store_is_remote (TNY_FOLDER_STORE (instance))) {
+                       ModestProtocolType protocol_type;
+
+                       protocol_type = modest_tny_account_get_protocol_type (TNY_ACCOUNT (instance));
+                       retval  = !modest_protocol_registry_protocol_type_has_tag 
+                               (modest_runtime_get_protocol_registry (),
+                                protocol_type,
+                                MODEST_PROTOCOL_REGISTRY_STORE_FORBID_MESSAGE_ADD);
+               }
        }
 
        /* apply special filters */
@@ -3416,6 +3437,7 @@ find_inbox_iter (GtkTreeModel *model, GtkTreeIter *iter, GtkTreeIter *inbox_iter
 void
 modest_folder_view_select_first_inbox_or_local (ModestFolderView *self)
 {
+#ifndef MODEST_TOOLKIT_HILDON2
        GtkTreeModel *model;
        GtkTreeIter iter, inbox_iter;
        GtkTreeSelection *sel;
@@ -3447,6 +3469,7 @@ modest_folder_view_select_first_inbox_or_local (ModestFolderView *self)
 
        /* set focus */
        gtk_widget_grab_focus (GTK_WIDGET(self));
+#endif
 }
 
 
@@ -3705,6 +3728,22 @@ modest_folder_view_show_non_move_folders (ModestFolderView *folder_view,
        }
 }
 
+void
+modest_folder_view_show_message_count (ModestFolderView *folder_view,
+                                         gboolean show)
+{
+       ModestFolderViewPrivate* priv;
+
+       g_return_if_fail (folder_view && MODEST_IS_FOLDER_VIEW (folder_view));
+
+       priv = MODEST_FOLDER_VIEW_GET_PRIVATE(folder_view);
+       priv->show_message_count = show;
+
+       g_object_set (G_OBJECT (priv->messages_renderer),
+                     "visible", (priv->cell_style == MODEST_FOLDER_VIEW_CELL_STYLE_COMPACT && priv->show_message_count),
+                     NULL);
+}
+
 /* Returns FALSE if it did not selected anything */
 static gboolean
 _clipboard_set_selected_data (ModestFolderView *folder_view,
@@ -3783,7 +3822,7 @@ modest_folder_view_set_cell_style (ModestFolderView *self,
        priv->cell_style = cell_style;
 
        g_object_set (G_OBJECT (priv->messages_renderer),
-                     "visible", (cell_style == MODEST_FOLDER_VIEW_CELL_STYLE_COMPACT),
+                     "visible", (cell_style == MODEST_FOLDER_VIEW_CELL_STYLE_COMPACT && priv->show_message_count),
                      NULL);
        
        gtk_widget_queue_draw (GTK_WIDGET (self));