diff options
author | Not Zed <NotZed@Ximian.com> | 2005-02-01 15:41:49 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2005-02-01 15:41:49 +0800 |
commit | 347a9a04cf4c1fbacdb7c44f872e9d67bc0801b0 (patch) | |
tree | ef0bce083dd39108268abb3469ceec1c12dc410b /mail/em-folder-tree.c | |
parent | 55b25cdd13d43105fe4cca4e27e1de9e51fd49ef (diff) | |
download | gsoc2013-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.c | 35 |
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 |