From 3e3916428786e58ab79e2fe64280d6ee8970818a Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Fri, 26 May 2006 15:55:53 +0000 Subject: [PATCH] * move folder tree decoration to ModestTnyFolderTreeView pmo-trunk-r118 --- src/gtk-glade/modest-ui.c | 22 +--------------------- src/modest-tny-folder-tree-view.c | 23 ++++++++++++++++++++--- 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/src/gtk-glade/modest-ui.c b/src/gtk-glade/modest-ui.c index 219be19..42539f6 100644 --- a/src/gtk-glade/modest-ui.c +++ b/src/gtk-glade/modest-ui.c @@ -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; } diff --git a/src/modest-tny-folder-tree-view.c b/src/modest-tny-folder-tree-view.c index 6fee025..4e6d3f8 100644 --- a/src/modest-tny-folder-tree-view.c +++ b/src/modest-tny-folder-tree-view.c @@ -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); + } } -- 1.7.9.5