aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shortcuts-view.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2002-07-10 03:49:15 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2002-07-10 03:49:15 +0800
commit4139f5b3ccabe156364d1999b793804094ac707d (patch)
treecae98a48a7dc52d7e190593fe80ba86d2682b6d1 /shell/e-shortcuts-view.c
parent992fafd1905a462d10d0db219f7fd7d7dd717106 (diff)
downloadgsoc2013-evolution-4139f5b3ccabe156364d1999b793804094ac707d.tar.gz
gsoc2013-evolution-4139f5b3ccabe156364d1999b793804094ac707d.tar.zst
gsoc2013-evolution-4139f5b3ccabe156364d1999b793804094ac707d.zip
If the custom_icon_name is not NULL, return the pixbuf for it.
* e-shortcuts-view-model.c (get_icon_for_item): If the custom_icon_name is not NULL, return the pixbuf for it. * e-storage-set-view.c: #include "e-icon-factory.h". * e-shortcuts-view.c (impl_shortcut_dropped): Pass the custom_icon_name. (get_shortcut_info): New arg @custom_icon_name_return. (rename_shortcut_cb): Pass the custom_icon_name here. * e-shell-view-menu.c (new_shortcut_dialog_folder_selected_cb): Pass the custom_icon_name for the folder's shortcut. * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar): Pass the custom_icon_name for the folder's shortcut. * e-corba-shortcuts.c (impl_add): Use the customIconName member in struct ::Shortcuts::Shortcut. (shorcut_list_to_corba): Set the customIconName member on the returned shortcuts. (impl_get): Likewise. * Evolution-Shortcuts.idl: New member customIconName in struct Shortcut. * e-shortcuts.c (shortcut_item_new): New arg @custom_icon_name; initialize the member in EShortcutItem from it. (shortcut_item_update): New arg @custom_icon_name; set the custom_icon_name from it. Also remove some braindeadness from this code. (update_shortcut_and_emit_signal): New arg @custom_icon_name. (load_shortcuts): Load the custom icon name from the XML [eg. <item name="foo" type="mail" icon="inbox">]. (save_shortcuts): Save the custom icon name in the XML. (e_shortcuts_add_shortcut): New arg @custom_icon_name. (update_shortcuts_by_path): Pass the custom_icon_name to update_shortcut_and_emit_signal(). (e_shortcuts_update_shortcut): New arg @custom_icon_name; pass it to update_shortcut_and_emit_signal(). (e_shortcuts_add_default_group): Pass "inbox" as the custom_icon_name for the inbox shortcut, and NULL for the other shortcuts. * e-shortcuts.h: New member custom_icon_name in EShortcutItem. svn path=/trunk/; revision=17394
Diffstat (limited to 'shell/e-shortcuts-view.c')
-rw-r--r--shell/e-shortcuts-view.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/shell/e-shortcuts-view.c b/shell/e-shortcuts-view.c
index ed0e72c8d7..b926471281 100644
--- a/shell/e-shortcuts-view.c
+++ b/shell/e-shortcuts-view.c
@@ -380,7 +380,8 @@ rename_shortcut_cb (GtkWidget *widget,
return;
e_shortcuts_update_shortcut (shortcuts, menu_data->group_num, menu_data->item_num,
- shortcut_item->uri, new_name, shortcut_item->unread_count, shortcut_item->type);
+ shortcut_item->uri, new_name, shortcut_item->unread_count,
+ shortcut_item->type, shortcut_item->custom_icon_name);
g_free (new_name);
}
@@ -502,7 +503,8 @@ static void
get_shortcut_info (EShortcutsView *shortcuts_view,
const char *item_url,
int *unread_count_return,
- const char **type_return)
+ const char **type_return,
+ const char **custom_icon_name_return)
{
EShortcutsViewPrivate *priv;
EStorageSet *storage_set;
@@ -522,11 +524,13 @@ get_shortcut_info (EShortcutsView *shortcuts_view,
folder = e_storage_set_get_folder (storage_set, path);
if (folder != NULL) {
- *unread_count_return = e_folder_get_unread_count (folder);
- *type_return = e_folder_get_type_string (folder);
+ *unread_count_return = e_folder_get_unread_count (folder);
+ *type_return = e_folder_get_type_string (folder);
+ *custom_icon_name_return = e_folder_get_custom_icon_name (folder);
} else {
- *unread_count_return = 0;
- *type_return = NULL;
+ *unread_count_return = 0;
+ *type_return = NULL;
+ *custom_icon_name_return = NULL;
}
}
@@ -541,6 +545,7 @@ impl_shortcut_dropped (EShortcutBar *shortcut_bar,
EShortcutsViewPrivate *priv;
int unread_count;
const char *type;
+ const char *custom_icon_name;
char *tmp;
char *tp;
char *name_without_unread;
@@ -548,7 +553,7 @@ impl_shortcut_dropped (EShortcutBar *shortcut_bar,
shortcuts_view = E_SHORTCUTS_VIEW (shortcut_bar);
priv = shortcuts_view->priv;
- get_shortcut_info (shortcuts_view, item_url, &unread_count, &type);
+ get_shortcut_info (shortcuts_view, item_url, &unread_count, &type, &custom_icon_name);
/* Looks funny, but keeps it from adding the unread count
repeatedly when dragging folders around */
@@ -560,7 +565,11 @@ impl_shortcut_dropped (EShortcutBar *shortcut_bar,
e_shortcuts_add_shortcut (priv->shortcuts,
group_num, position,
- item_url, name_without_unread, unread_count, type);
+ item_url,
+ name_without_unread,
+ unread_count,
+ type,
+ custom_icon_name);
g_free (tmp);
g_free (name_without_unread);