diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2011-05-25 05:36:21 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@gnome-db.org> | 2011-06-30 00:42:20 +0800 |
commit | 6e6da8a4080c4606529603ad9a90489509bea105 (patch) | |
tree | ba6161fc5b5abc0c514004ea5fafa6424a46f224 /modules/mail/e-mail-shell-view.c | |
parent | 851a872865769d1d53e495fd1d0b82f0452594c4 (diff) | |
download | gsoc2013-evolution-6e6da8a4080c4606529603ad9a90489509bea105.tar gsoc2013-evolution-6e6da8a4080c4606529603ad9a90489509bea105.tar.gz gsoc2013-evolution-6e6da8a4080c4606529603ad9a90489509bea105.tar.bz2 gsoc2013-evolution-6e6da8a4080c4606529603ad9a90489509bea105.tar.lz gsoc2013-evolution-6e6da8a4080c4606529603ad9a90489509bea105.tar.xz gsoc2013-evolution-6e6da8a4080c4606529603ad9a90489509bea105.tar.zst gsoc2013-evolution-6e6da8a4080c4606529603ad9a90489509bea105.zip |
Use em_folder_tree_get_selected() in places to simplify code.
There were a few places where we were accessing the folder tree model
directly to get the selected store + folder name, or were asking for the
selected URI only to parse back into its store + folder name components.
Diffstat (limited to 'modules/mail/e-mail-shell-view.c')
-rw-r--r-- | modules/mail/e-mail-shell-view.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/modules/mail/e-mail-shell-view.c b/modules/mail/e-mail-shell-view.c index f0a89e3a37..04c9d4d034 100644 --- a/modules/mail/e-mail-shell-view.c +++ b/modules/mail/e-mail-shell-view.c @@ -660,27 +660,18 @@ current_account: /* Create a new search folder. */ - if (folder) { + if (folder != NULL) { store = camel_folder_get_parent_store (folder); + if (store != NULL) + g_object_ref (store); } else { - GtkTreeView *tree_view; - GtkTreeSelection *selection; - GtkTreeModel *model; - GtkTreeIter iter; - store = NULL; - tree_view = GTK_TREE_VIEW (folder_tree); - selection = gtk_tree_view_get_selection (tree_view); - - if (gtk_tree_selection_get_selected (selection, &model, &iter)) - gtk_tree_model_get ( - model, &iter, - COL_POINTER_CAMEL_STORE, &store, -1); + em_folder_tree_get_selected (folder_tree, &store, NULL); } list = NULL; /* list of CamelFolders */ - if (store) { + if (store != NULL) { CamelFolderInfo *root, *fi; /* FIXME This call blocks the main loop. */ @@ -722,6 +713,8 @@ current_account: if (root) camel_store_free_folder_info_full (store, root); + + g_object_unref (store); } list = g_list_reverse (list); |