summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gmail.com>2023-05-08 15:07:26 +0000
committerEmmanuele Bassi <ebassi@gmail.com>2023-05-08 15:07:26 +0000
commit98e6ed474ff90a62c44dc5e68617e815ba8ed36c (patch)
treea5cc723b7565ed04fc610a14752d45cdb42aaa98 /gtk
parent1e48843616b3360afc4be0c7258376af601b1c0f (diff)
parentade316eaee890fccd260f5e15358325170c2ea24 (diff)
downloadgtk+-98e6ed474ff90a62c44dc5e68617e815ba8ed36c.tar.gz
Merge branch 'new-align-value' into 'main'
filterchooser: Maintain filter combo visibility See merge request GNOME/gtk!5939
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkfilechooserwidget.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
index a639b6d763..352e7fbd28 100644
--- a/gtk/gtkfilechooserwidget.c
+++ b/gtk/gtkfilechooserwidget.c
@@ -495,8 +495,7 @@ static void search_entry_activate_cb (GtkFileChooserWidget *impl);
static void search_entry_stop_cb (GtkFileChooserWidget *impl);
static void settings_load (GtkFileChooserWidget *impl);
-static void show_filters (GtkFileChooserWidget *impl,
- gboolean show);
+static void update_show_filters (GtkFileChooserWidget *impl);
static gboolean recent_files_setting_is_enabled (GtkFileChooserWidget *impl);
static void recent_start_loading (GtkFileChooserWidget *impl);
@@ -2527,7 +2526,7 @@ set_extra_widget (GtkFileChooserWidget *impl,
gtk_box_append (GTK_BOX (impl->extra_align), impl->extra_widget);
/* Calls update_extra_and_filters */
- show_filters (impl, impl->filters != NULL);
+ update_show_filters (impl);
}
static void
@@ -4811,10 +4810,10 @@ empty:
/* Shows or hides the filter widgets */
static void
-show_filters (GtkFileChooserWidget *impl,
- gboolean show)
+update_show_filters (GtkFileChooserWidget *impl)
{
- gtk_widget_set_visible (impl->filter_combo_hbox, show);
+ gtk_widget_set_visible (impl->filter_combo_hbox,
+ g_list_model_get_n_items (G_LIST_MODEL (impl->filters)) > 0);
update_extra_and_filters (impl);
}
@@ -4838,7 +4837,7 @@ gtk_file_chooser_widget_add_filter (GtkFileChooser *chooser,
if (!impl->current_filter)
set_current_filter (impl, filter);
- show_filters (impl, TRUE);
+ update_show_filters (impl);
g_object_notify (G_OBJECT (chooser), "filters");
}
@@ -4872,8 +4871,7 @@ gtk_file_chooser_widget_remove_filter (GtkFileChooser *chooser,
g_object_unref (filter);
- if (!impl->filters)
- show_filters (impl, FALSE);
+ update_show_filters (impl);
g_object_notify (G_OBJECT (chooser), "filters");
}