]> Pileus Git - ~andy/gtk/commitdiff
Merged from gtk-2-4:
authorFederico Mena Quintero <federico@ximian.com>
Thu, 9 Dec 2004 02:12:47 +0000 (02:12 +0000)
committerFederico Mena Quintero <federico@src.gnome.org>
Thu, 9 Dec 2004 02:12:47 +0000 (02:12 +0000)
2004-12-08  Federico Mena Quintero  <federico@ximian.com>

Merged from gtk-2-4:

* gtk/gtkfilechooserdefault.c (pending_op_process): Center the
selected row so that it's easily visible.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkfilechooserdefault.c

index 9ec2954ba96941b061db067c46286457d7c34251..d6fce525bf549e61bae3195904be7d6c6fd65909 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-12-08  Federico Mena Quintero  <federico@ximian.com>
+
+       Merged from gtk-2-4:
+
+       * gtk/gtkfilechooserdefault.c (pending_op_process): Center the
+       selected row so that it's easily visible.
+
 2004-12-08  Matthias Clasen  <mclasen@redhat.com>
 
        Fix #111031, reported by Padraig O'Briain:
index 9ec2954ba96941b061db067c46286457d7c34251..d6fce525bf549e61bae3195904be7d6c6fd65909 100644 (file)
@@ -1,3 +1,10 @@
+2004-12-08  Federico Mena Quintero  <federico@ximian.com>
+
+       Merged from gtk-2-4:
+
+       * gtk/gtkfilechooserdefault.c (pending_op_process): Center the
+       selected row so that it's easily visible.
+
 2004-12-08  Matthias Clasen  <mclasen@redhat.com>
 
        Fix #111031, reported by Padraig O'Briain:
index 9ec2954ba96941b061db067c46286457d7c34251..d6fce525bf549e61bae3195904be7d6c6fd65909 100644 (file)
@@ -1,3 +1,10 @@
+2004-12-08  Federico Mena Quintero  <federico@ximian.com>
+
+       Merged from gtk-2-4:
+
+       * gtk/gtkfilechooserdefault.c (pending_op_process): Center the
+       selected row so that it's easily visible.
+
 2004-12-08  Matthias Clasen  <mclasen@redhat.com>
 
        Fix #111031, reported by Padraig O'Briain:
index 9ec2954ba96941b061db067c46286457d7c34251..d6fce525bf549e61bae3195904be7d6c6fd65909 100644 (file)
@@ -1,3 +1,10 @@
+2004-12-08  Federico Mena Quintero  <federico@ximian.com>
+
+       Merged from gtk-2-4:
+
+       * gtk/gtkfilechooserdefault.c (pending_op_process): Center the
+       selected row so that it's easily visible.
+
 2004-12-08  Matthias Clasen  <mclasen@redhat.com>
 
        Fix #111031, reported by Padraig O'Briain:
index 489b9d46cc07a0cf21bf04ace2e835c3341093b2..60bfad3f2f898dca14ede71ddbee53c7f94e04e6 100644 (file)
@@ -4265,6 +4265,31 @@ browse_files_select_first_row (GtkFileChooserDefault *impl)
   gtk_tree_path_free (path);
 }
 
+/* Callback used from gtk_tree_selection_selected_foreach(); centers the
+ * selected row in the tree view.
+ */
+static void
+center_selected_row_foreach_cb (GtkTreeModel      *model,
+                               GtkTreePath       *path,
+                               GtkTreeIter       *iter,
+                               gpointer           data)
+{
+  GtkFileChooserDefault *impl;
+
+  impl = GTK_FILE_CHOOSER_DEFAULT (data);
+  gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (impl->browse_files_tree_view), path, NULL, TRUE, 0.5, 0.0);
+}
+
+/* Centers the selected row in the tree view */
+static void
+browse_files_center_selected_row (GtkFileChooserDefault *impl)
+{
+  GtkTreeSelection *selection;
+
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view));
+  gtk_tree_selection_selected_foreach (selection, center_selected_row_foreach_cb, impl);
+}
+
 /* Processes the pending operation when a folder is finished loading */
 static void
 pending_op_process (GtkFileChooserDefault *impl)
@@ -4281,6 +4306,7 @@ pending_op_process (GtkFileChooserDefault *impl)
       gtk_file_path_free (impl->pending_select_path);
       impl->pending_select_path = NULL;
       impl->pending_op = PENDING_OP_NONE;
+      browse_files_center_selected_row (impl);
       break;
 
     case PENDING_OP_SELECT_FIRST: