* move folder tree decoration to ModestTnyFolderTreeView
authorDirk-Jan C. Binnema <dirk-jan.binnema@nokia.com>
Fri, 26 May 2006 15:55:53 +0000 (15:55 +0000)
committerDirk-Jan C. Binnema <dirk-jan.binnema@nokia.com>
Fri, 26 May 2006 15:55:53 +0000 (15:55 +0000)
pmo-trunk-r118

src/gtk-glade/modest-ui.c
src/modest-tny-folder-tree-view.c

index 219be19..42539f6 100644 (file)
@@ -626,8 +626,6 @@ static GtkWidget*
 modest_main_window_folder_tree (ModestAccountMgr *modest_acc_mgr,
                                TnyAccountStoreIface *account_store)
 {
-       GtkTreeViewColumn *column;
-       GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
        GtkWidget *folder_tree;
 
        folder_tree = GTK_WIDGET(modest_tny_folder_tree_view_new (account_store));
@@ -635,25 +633,7 @@ modest_main_window_folder_tree (ModestAccountMgr *modest_acc_mgr,
                g_warning ("could not create folder list");
                return NULL;
        }
-
-       column = gtk_tree_view_column_new_with_attributes(_("All Mail Folders"),
-                                                         renderer,"text",
-                                                         TNY_ACCOUNT_TREE_MODEL_NAME_COLUMN,
-                                                         NULL);
-       gtk_tree_view_column_set_resizable (column, TRUE);
-       gtk_tree_view_append_column (GTK_TREE_VIEW(folder_tree), column);
-
-       column = gtk_tree_view_column_new_with_attributes(_("Unread"),
-                                                         renderer, "text",
-                                                         TNY_ACCOUNT_TREE_MODEL_UNREAD_COLUMN,
-                                                         NULL);
-       gtk_tree_view_column_set_resizable (column, TRUE);
-       gtk_tree_view_append_column (GTK_TREE_VIEW(folder_tree), column);
-
-
-       gtk_tree_view_set_headers_visible   (GTK_TREE_VIEW(folder_tree), TRUE);
-       gtk_tree_view_set_headers_clickable (GTK_TREE_VIEW(folder_tree), TRUE);
-
+       
        return folder_tree;
 }
 
index 6fee025..4e6d3f8 100644 (file)
@@ -94,10 +94,24 @@ static void
 modest_tny_folder_tree_view_init (ModestTnyFolderTreeView *obj)
 {
        ModestTnyFolderTreeViewPrivate *priv;
+       GtkTreeViewColumn *column;
+       GtkCellRenderer *renderer;
+       
        priv =  MODEST_TNY_FOLDER_TREE_VIEW_GET_PRIVATE(obj);
 
        priv->view_is_empty     = TRUE;
        priv->tny_account_store = NULL;
+
+       renderer = gtk_cell_renderer_text_new ();
+       column = gtk_tree_view_column_new_with_attributes(_("All Mail Folders"),
+                                                         renderer,"text",
+                                                         TNY_ACCOUNT_TREE_MODEL_NAME_COLUMN,
+                                                         NULL);
+       gtk_tree_view_column_set_resizable (column, TRUE);
+       gtk_tree_view_append_column (GTK_TREE_VIEW(obj), column);
+       
+       gtk_tree_view_set_headers_visible   (GTK_TREE_VIEW(obj), TRUE);
+       gtk_tree_view_set_headers_clickable (GTK_TREE_VIEW(obj), TRUE);
 }
 
 
@@ -239,7 +253,7 @@ void
 selection_changed (GtkTreeSelection *sel, gpointer user_data)
 {
        GtkTreeModel            *model;
-       TnyMsgFolderIface       *folder;
+       TnyMsgFolderIface       *folder = NULL;
        GtkTreeIter             iter;
        ModestTnyFolderTreeView *tree_view;
        ModestTnyFolderTreeViewPrivate *priv;
@@ -262,8 +276,11 @@ selection_changed (GtkTreeSelection *sel, gpointer user_data)
                            TNY_ACCOUNT_TREE_MODEL_INSTANCE_COLUMN,
                            &folder, -1);
        
-       g_signal_emit (G_OBJECT(tree_view), signals[FOLDER_SELECTED_SIGNAL], 0,
-                      folder); 
+       /* folder will not be defined if you click eg. on the root node */
+       if (folder) {
+               g_signal_emit (G_OBJECT(tree_view), signals[FOLDER_SELECTED_SIGNAL], 0,
+                      folder);
+       }
 }