[gtk+/filechooser-recent-folders-2-24] Actually highlight the 'recently used' and 'search' items in the shortcuts bar
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/filechooser-recent-folders-2-24] Actually highlight the 'recently used' and 'search' items in the shortcuts bar
- Date: Tue, 12 Jul 2011 23:43:13 +0000 (UTC)
commit b602220e2f1a226ec292fed0e10f9c1c259edd2d
Author: Federico Mena Quintero <federico gnome org>
Date: Tue Jun 28 17:24:53 2011 -0500
Actually highlight the 'recently used' and 'search' items in the shortcuts bar
They weren't being selected in the shortcuts bar when those modes were
activated programmatically, instead of through the user selecting
them from the user interface.
gtk/gtkfilechooserdefault.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c
index 90baae4..0b7b6ac 100644
--- a/gtk/gtkfilechooserdefault.c
+++ b/gtk/gtkfilechooserdefault.c
@@ -8874,6 +8874,24 @@ stop_operation (GtkFileChooserDefault *impl, OperationMode mode)
}
}
+/* Sometimes we need to frob the selection in the shortcuts list manually */
+static void
+shortcuts_select_item_without_activating (GtkFileChooserDefault *impl, int pos)
+{
+ GtkTreeSelection *selection;
+ GtkTreePath *path;
+
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_shortcuts_tree_view));
+
+ g_signal_handlers_block_by_func (selection, G_CALLBACK (shortcuts_selection_changed_cb), impl);
+
+ path = gtk_tree_path_new_from_indices (pos, -1);
+ gtk_tree_selection_select_path (selection, path);
+ gtk_tree_path_free (path);
+
+ g_signal_handlers_unblock_by_func (selection, G_CALLBACK (shortcuts_selection_changed_cb), impl);
+}
+
/* Main entry point to the searching functions; this gets called when the user
* activates the Search shortcut.
*/
@@ -8891,6 +8909,8 @@ search_activate (GtkFileChooserDefault *impl)
previous_mode = impl->operation_mode;
impl->operation_mode = OPERATION_MODE_SEARCH;
+ shortcuts_select_item_without_activating (impl, shortcuts_get_index (impl, SHORTCUTS_SEARCH));
+
stop_operation (impl, previous_mode);
g_assert (impl->search_hbox == NULL);
@@ -9250,6 +9270,8 @@ recent_activate (GtkFileChooserDefault *impl)
previous_mode = impl->operation_mode;
impl->operation_mode = OPERATION_MODE_RECENT;
+ shortcuts_select_item_without_activating (impl, shortcuts_get_index (impl, SHORTCUTS_RECENT));
+
stop_operation (impl, previous_mode);
recent_hide_entry (impl);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]