aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-05-25 04:14:59 +0800
committerMatthew Barnes <mbarnes@redhat.com>2011-05-25 04:14:59 +0800
commit7dbc147e266e0922e6d5c3042aeea508fc069d00 (patch)
treee70df076c51012981e83b2e56319f2fb3157c23e
parent47c740b2ba957c1bbab7088cd77b3761f56857bc (diff)
downloadgsoc2013-evolution-7dbc147e266e0922e6d5c3042aeea508fc069d00.tar.gz
gsoc2013-evolution-7dbc147e266e0922e6d5c3042aeea508fc069d00.tar.zst
gsoc2013-evolution-7dbc147e266e0922e6d5c3042aeea508fc069d00.zip
Add em_folder_tree_get_selected().
Returns the CamelStore and folder name of the selected row.
-rw-r--r--mail/em-folder-tree.c36
-rw-r--r--mail/em-folder-tree.h3
2 files changed, 39 insertions, 0 deletions
diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c
index 3bb5d509d5..9689c53dda 100644
--- a/mail/em-folder-tree.c
+++ b/mail/em-folder-tree.c
@@ -3149,6 +3149,42 @@ em_folder_tree_edit_selected (EMFolderTree *folder_tree)
gtk_tree_path_free (path);
}
+gboolean
+em_folder_tree_get_selected (EMFolderTree *folder_tree,
+ CamelStore **out_store,
+ gchar **out_folder_name)
+{
+ GtkTreeView *tree_view;
+ GtkTreeSelection *selection;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ CamelStore *store = NULL;
+ gchar *folder_name = NULL;
+
+ g_return_val_if_fail (EM_IS_FOLDER_TREE (folder_tree), FALSE);
+
+ tree_view = GTK_TREE_VIEW (folder_tree);
+ selection = gtk_tree_view_get_selection (tree_view);
+
+ if (!gtk_tree_selection_get_selected (selection, &model, &iter))
+ return FALSE;
+
+ gtk_tree_model_get (
+ model, &iter,
+ COL_POINTER_CAMEL_STORE, &store,
+ COL_STRING_FULL_NAME, &folder_name, -1);
+
+ if (out_store != NULL)
+ *out_store = g_object_ref (store);
+
+ if (out_folder_name != NULL)
+ *out_folder_name = folder_name;
+ else
+ g_free (folder_name);
+
+ return TRUE;
+}
+
gchar *
em_folder_tree_get_selected_uri (EMFolderTree *folder_tree)
{
diff --git a/mail/em-folder-tree.h b/mail/em-folder-tree.h
index 0e6eba4659..3a28d5c314 100644
--- a/mail/em-folder-tree.h
+++ b/mail/em-folder-tree.h
@@ -123,6 +123,9 @@ void em_folder_tree_select_next_path (EMFolderTree *folder_tree,
void em_folder_tree_select_prev_path (EMFolderTree *folder_tree,
gboolean skip_read_folders);
void em_folder_tree_edit_selected (EMFolderTree *folder_tree);
+gboolean em_folder_tree_get_selected (EMFolderTree *folder_tree,
+ CamelStore **out_store,
+ gchar **out_folder_name);
gchar * em_folder_tree_get_selected_uri (EMFolderTree *folder_tree);
gchar * em_folder_tree_get_selected_path
(EMFolderTree *folder_tree);
i-1.3.8&id=b02d34dc5e4664221cb012a1b75621db0e7b4dfb'>Fix build problem.nork2005-07-091-0/+4 * bump PORTREVISION for my previous commit.ume2005-06-121-1/+1 * chase location change of fpwutils.mk during upgradingume2005-06-121-1/+1 * Reset MAINTAINER to ports@.nork2004-12-231-1/+1 * SIZEify (maintainer timeout)trevor2004-03-311-0/+1 * Fix build with a SelF-eXtracting archive in CD-ROM.nork2004-03-041-4/+6 * Utilize PORTDOCS and DOCSDIR.nork2004-03-042-6/+6 * Bump PORTREVISION on all ports that depend on gettext to aid with upgrading.marcus2004-02-041-0/+1 * utilize SITE_PERLijliao2003-10-241-1/+1 * Use EXTRACT_DEPENDS on japanese/freepwing rather than use BUILD_DEPENDS.nork2003-04-051-1/+1 * Clear moonlight beckons.ade2003-03-072-1/+1 * Support the original dictionary EIJIRO included in a book sold by ALC Inc.taoka2002-09-151-12/+22