mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-18 09:00:34 +00:00
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.
This commit is contained in:
parent
ca74dc6a87
commit
b602220e2f
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user