From 48bfdd5174d451ea8df204ac6861afe26ffa0c76 Mon Sep 17 00:00:00 2001 From: Jonathan Blandford Date: Fri, 5 Mar 2004 23:02:01 +0000 Subject: [PATCH] scroll to the new path. Fri Mar 5 18:00:36 2004 Jonathan Blandford * gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll to the new path. * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update the allocation when scrolling instead of cancelling editing. --- ChangeLog | 8 ++++++++ ChangeLog.pre-2-10 | 8 ++++++++ ChangeLog.pre-2-4 | 8 ++++++++ ChangeLog.pre-2-6 | 8 ++++++++ ChangeLog.pre-2-8 | 8 ++++++++ gtk/gtkfilechooserdefault.c | 6 +++++- gtk/gtktreeview.c | 5 ++++- 7 files changed, 49 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4ce893501b..108eecbc62 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Fri Mar 5 18:00:36 2004 Jonathan Blandford + + * gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll + to the new path. + + * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update the + allocation when scrolling instead of cancelling editing. + Fri Mar 5 23:52:34 2004 Matthias Clasen * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_set_modify_func): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 4ce893501b..108eecbc62 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +Fri Mar 5 18:00:36 2004 Jonathan Blandford + + * gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll + to the new path. + + * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update the + allocation when scrolling instead of cancelling editing. + Fri Mar 5 23:52:34 2004 Matthias Clasen * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_set_modify_func): diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 4ce893501b..108eecbc62 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +Fri Mar 5 18:00:36 2004 Jonathan Blandford + + * gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll + to the new path. + + * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update the + allocation when scrolling instead of cancelling editing. + Fri Mar 5 23:52:34 2004 Matthias Clasen * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_set_modify_func): diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 4ce893501b..108eecbc62 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +Fri Mar 5 18:00:36 2004 Jonathan Blandford + + * gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll + to the new path. + + * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update the + allocation when scrolling instead of cancelling editing. + Fri Mar 5 23:52:34 2004 Matthias Clasen * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_set_modify_func): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 4ce893501b..108eecbc62 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +Fri Mar 5 18:00:36 2004 Jonathan Blandford + + * gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll + to the new path. + + * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update the + allocation when scrolling instead of cancelling editing. + Fri Mar 5 23:52:34 2004 Matthias Clasen * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_set_modify_func): diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 997925aaaf..7d805c39e2 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -1254,9 +1254,13 @@ new_folder_button_clicked (GtkButton *button, /* FIXME: this doesn't work for folder mode, just for file mode */ _gtk_file_system_model_add_editable (impl->browse_files_model, &iter); - g_object_set (impl->list_name_renderer, "editable", TRUE, NULL); path = gtk_tree_model_get_path (GTK_TREE_MODEL (impl->browse_files_model), &iter); + gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (impl->browse_files_tree_view), + path, impl->list_name_column, + FALSE, 0.0, 0.0); + + g_object_set (impl->list_name_renderer, "editable", TRUE, NULL); gtk_tree_view_set_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view), path, impl->list_name_column, diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 3c5bc71414..d149c5f99b 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -8514,7 +8514,10 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment, 0); dy = tree_view->priv->dy - (int) tree_view->priv->vadjustment->value; if (dy && tree_view->priv->edited_column) - gtk_tree_view_stop_editing (tree_view, TRUE); + { + if (GTK_IS_WIDGET (tree_view->priv->edited_column->editable_widget)) + GTK_WIDGET (tree_view->priv->edited_column->editable_widget)->allocation.y += dy; + } gdk_window_scroll (tree_view->priv->bin_window, 0, dy); /* update our dy and top_row */