From efa2ba8ab068f38e435a995d05cd99dbd1eb6fd4 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Tue, 24 Sep 2002 21:01:04 +0000 Subject: Placate compiler. * e-shell-view-menu.c (launch_pilot_settings): Placate compiler. * e-shell-folder-commands.c (xfer_result_callback): When FOLDER_COMMAND_MOVE, update the shortcuts by using e_shortcuts_update_shortcuts_for_changed_uri(). * e-shortcuts.c (e_shortcuts_update_shortcuts_for_changed_uri): New. svn path=/trunk/; revision=18206 --- shell/e-shortcuts.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'shell/e-shortcuts.c') diff --git a/shell/e-shortcuts.c b/shell/e-shortcuts.c index 8ad70eba0f..a1ccf6a8e9 100644 --- a/shell/e-shortcuts.c +++ b/shell/e-shortcuts.c @@ -1236,5 +1236,40 @@ e_shortcuts_get_group_uses_small_icons (EShortcuts *shortcuts, return group->use_small_icons; } + +void +e_shortcuts_update_shortcuts_for_changed_uri (EShortcuts *shortcuts, + const char *old_uri, + const char *new_uri) +{ + EShortcutsPrivate *priv; + GSList *p; + + g_return_if_fail (E_IS_SHORTCUTS (shortcuts)); + g_return_if_fail (old_uri != NULL); + g_return_if_fail (new_uri != NULL); + + priv = shortcuts->priv; + + for (p = priv->groups; p != NULL; p = p->next) { + ShortcutGroup *group; + GSList *q; + + group = (ShortcutGroup *) p->data; + for (q = group->shortcuts; q != NULL; q = q->next) { + EShortcutItem *item; + + item = (EShortcutItem *) q->data; + + if (strcmp (item->uri, old_uri) == 0) { + g_free (item->uri); + item->uri = g_strdup (new_uri); + + make_dirty (shortcuts); + } + } + } +} + E_MAKE_TYPE (e_shortcuts, "EShortcuts", EShortcuts, class_init, init, PARENT_TYPE) -- cgit v1.2.3