aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-tree.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2005-02-01 15:41:49 +0800
committerMichael Zucci <zucchi@src.gnome.org>2005-02-01 15:41:49 +0800
commit347a9a04cf4c1fbacdb7c44f872e9d67bc0801b0 (patch)
treeef0bce083dd39108268abb3469ceec1c12dc410b /mail/em-folder-tree.c
parent55b25cdd13d43105fe4cca4e27e1de9e51fd49ef (diff)
downloadgsoc2013-evolution-347a9a04cf4c1fbacdb7c44f872e9d67bc0801b0.tar
gsoc2013-evolution-347a9a04cf4c1fbacdb7c44f872e9d67bc0801b0.tar.gz
gsoc2013-evolution-347a9a04cf4c1fbacdb7c44f872e9d67bc0801b0.tar.bz2
gsoc2013-evolution-347a9a04cf4c1fbacdb7c44f872e9d67bc0801b0.tar.lz
gsoc2013-evolution-347a9a04cf4c1fbacdb7c44f872e9d67bc0801b0.tar.xz
gsoc2013-evolution-347a9a04cf4c1fbacdb7c44f872e9d67bc0801b0.tar.zst
gsoc2013-evolution-347a9a04cf4c1fbacdb7c44f872e9d67bc0801b0.zip
use the type hint to sort for inbox, not the name.
2005-02-01 Not Zed <NotZed@Ximian.com> * em-folder-tree-model.c (sort_cb): use the type hint to sort for inbox, not the name. (emft_is_special_local_folder): removed. (em_folder_tree_model_set_folder_info): special-case the local-store case, handle translated names and the name hints. * em-folder-tree.c (render_pixbuf): use the camel folderinfo folder type to determine the icon, don't hardcode based on name. ** See bug #71310 * em-composer-prefs.c (sig_add_script_response): force a save of the signatures as soon as they change. Also save the script name if we were just editing it, not just the signature name. svn path=/trunk/; revision=28653
Diffstat (limited to 'mail/em-folder-tree.c')
-rw-r--r--mail/em-folder-tree.c35
1 files changed, 20 insertions, 15 deletions
diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c
index d8741e0c71..ad88721c5b 100644
--- a/mail/em-folder-tree.c
+++ b/mail/em-folder-tree.c
@@ -279,7 +279,6 @@ render_pixbuf (GtkTreeViewColumn *column, GtkCellRenderer *renderer,
GdkPixbuf *pixbuf = NULL;
gboolean is_store;
guint32 flags;
- char *full_name;
if (!initialised) {
folder_icons[FOLDER_ICON_NORMAL] = e_icon_factory_get_icon ("stock_folder", E_ICON_SIZE_MENU);
@@ -292,27 +291,33 @@ render_pixbuf (GtkTreeViewColumn *column, GtkCellRenderer *renderer,
initialised = TRUE;
}
- gtk_tree_model_get (model, iter, COL_STRING_FULL_NAME, &full_name,
- COL_BOOL_IS_STORE, &is_store, COL_UINT_FLAGS, &flags, -1);
- if (!is_store && full_name != NULL) {
- if (!g_ascii_strcasecmp (full_name, "Inbox"))
+ gtk_tree_model_get (model, iter, COL_BOOL_IS_STORE, &is_store, COL_UINT_FLAGS, &flags, -1);
+
+ if (!is_store) {
+ switch((flags & CAMEL_FOLDER_TYPE_MASK)) {
+ case CAMEL_FOLDER_TYPE_INBOX:
pixbuf = folder_icons[FOLDER_ICON_INBOX];
- else if (!g_ascii_strcasecmp (full_name, "Outbox"))
+ break;
+ case CAMEL_FOLDER_TYPE_OUTBOX:
pixbuf = folder_icons[FOLDER_ICON_OUTBOX];
- else if (!strcmp (full_name, CAMEL_VTRASH_NAME))
+ break;
+ case CAMEL_FOLDER_TYPE_TRASH:
pixbuf = folder_icons[FOLDER_ICON_TRASH];
- else if (!strcmp (full_name, CAMEL_VJUNK_NAME))
+ break;
+ case CAMEL_FOLDER_TYPE_JUNK:
pixbuf = folder_icons[FOLDER_ICON_JUNK];
- else if (flags & CAMEL_FOLDER_SHARED_TO_ME)
- pixbuf = folder_icons[FOLDER_ICON_SHARED_TO_ME];
- else if (flags & CAMEL_FOLDER_SHARED_BY_ME)
- pixbuf = folder_icons[FOLDER_ICON_SHARED_BY_ME];
- else
- pixbuf = folder_icons[FOLDER_ICON_NORMAL];
+ break;
+ default:
+ if (flags & CAMEL_FOLDER_SHARED_TO_ME)
+ pixbuf = folder_icons[FOLDER_ICON_SHARED_TO_ME];
+ else if (flags & CAMEL_FOLDER_SHARED_BY_ME)
+ pixbuf = folder_icons[FOLDER_ICON_SHARED_BY_ME];
+ else
+ pixbuf = folder_icons[FOLDER_ICON_NORMAL];
+ }
}
g_object_set (renderer, "pixbuf", pixbuf, "visible", !is_store, NULL);
- g_free (full_name);
}
static void