diff options
-rw-r--r-- | shell/ChangeLog | 9 | ||||
-rw-r--r-- | shell/e-shortcuts-view-model.c | 4 | ||||
-rw-r--r-- | shell/e-shortcuts-view.c | 8 | ||||
-rw-r--r-- | shell/e-shortcuts.c | 5 |
4 files changed, 23 insertions, 3 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index 228929239c..ee1807db41 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,5 +1,14 @@ 2001-07-30 Jason Leach <jleach@ximian.com> + * e-shortcuts-view.c (rename_group_cb): Remember the current group + so after renaming a group it doesn't flip to the next group. Bug + #3857. + + * e-shortcuts.c (e_shortcuts_rename_group): Comparing two + separately allocated strings, use strcmp() instead of !=. + +2001-07-30 Jason Leach <jleach@ximian.com> + * e-shell-folder-creation-dialog.c (async_create_cb): If we can't create a folder because it already exists, select that folder that exists. Bug #1716. diff --git a/shell/e-shortcuts-view-model.c b/shell/e-shortcuts-view-model.c index 57d2762fb9..8936d24242 100644 --- a/shell/e-shortcuts-view-model.c +++ b/shell/e-shortcuts-view-model.c @@ -135,6 +135,10 @@ shortcuts_rename_group_cb (EShortcuts *shortcuts, shortcuts_view_model = E_SHORTCUTS_VIEW_MODEL (data); + /* FIXME: Ideally there should be an + e_shortcut_model_rename_group(), removing then re-add + actually causes a flip to the next group, which we work + around in e-shortcuts-view.c */ e_shortcut_model_remove_group (E_SHORTCUT_MODEL (shortcuts_view_model), group_num); e_shortcut_model_add_group (E_SHORTCUT_MODEL (shortcuts_view_model), group_num, new_title); load_group_into_model (shortcuts_view_model, group_num); diff --git a/shell/e-shortcuts-view.c b/shell/e-shortcuts-view.c index dc45bcd949..6cae3293ab 100644 --- a/shell/e-shortcuts-view.c +++ b/shell/e-shortcuts-view.c @@ -285,11 +285,14 @@ rename_group_cb (GtkWidget *widget, { RightClickMenuData *menu_data; EShortcuts *shortcuts; + EShortcutsView *shortcuts_view; const char *old_name; const char *new_name; + int group; menu_data = (RightClickMenuData *) data; - shortcuts = menu_data->shortcuts_view->priv->shortcuts; + shortcuts_view = menu_data->shortcuts_view; + shortcuts = shortcuts_view->priv->shortcuts; old_name = e_shortcuts_get_group_title (shortcuts, menu_data->group_num); @@ -301,7 +304,10 @@ rename_group_cb (GtkWidget *widget, if (new_name == NULL) return; + /* Remember the group and flip back to it */ + group = e_group_bar_get_current_group_num (E_GROUP_BAR (E_SHORTCUT_BAR (shortcuts_view))); e_shortcuts_rename_group (shortcuts, menu_data->group_num, new_name); + e_group_bar_set_current_group_num (E_GROUP_BAR (E_SHORTCUT_BAR (shortcuts_view)), group, FALSE); } static GnomeUIInfo icon_size_radio_group_uiinfo[] = { diff --git a/shell/e-shortcuts.c b/shell/e-shortcuts.c index 7c8505ab79..1aaf8edd52 100644 --- a/shell/e-shortcuts.c +++ b/shell/e-shortcuts.c @@ -1030,10 +1030,11 @@ e_shortcuts_rename_group (EShortcuts *shortcuts, g_return_if_fail (p != NULL); group = (ShortcutGroup *) p->data; - if (group->title != new_title) { + if (strcmp (group->title, new_title)) { g_free (group->title); group->title = g_strdup (new_title); - } + } else + return; gtk_signal_emit (GTK_OBJECT (shortcuts), signals[RENAME_GROUP], group_num, new_title); |