diff options
author | Alexander Schwinn <alexxcons@xfce.org> | 2022-01-02 13:46:10 +0100 |
---|---|---|
committer | Andre Miranda <andreldm@xfce.org> | 2022-01-13 00:46:31 +0000 |
commit | 2547314958c1e71733241c42d7ff96fde6b67eae (patch) | |
tree | ccba395001d02d5e0ebba00af247f270ede61f04 | |
parent | 6ad93e79e1bfdf01133e675bec14727c91a25dab (diff) | |
download | xfce4-settings-2547314958c1e71733241c42d7ff96fde6b67eae.tar.gz |
settings-manager: Always show the search entry, no slider, no button
In order to make gtk-header-bar optional (no button in the header bar)
MR !63
-rw-r--r-- | xfce4-settings-manager/xfce-settings-manager-dialog.c | 56 |
1 files changed, 11 insertions, 45 deletions
diff --git a/xfce4-settings-manager/xfce-settings-manager-dialog.c b/xfce4-settings-manager/xfce-settings-manager-dialog.c index 8ac91839..999b37d2 100644 --- a/xfce4-settings-manager/xfce-settings-manager-dialog.c +++ b/xfce4-settings-manager/xfce-settings-manager-dialog.c @@ -61,8 +61,7 @@ struct _XfceSettingsManagerDialog GtkListStore *store; - GtkWidget *revealer; - GtkWidget *filter_button; + GtkWidget *filter_bar; GtkWidget *filter_entry; gchar *filter_text; @@ -119,8 +118,6 @@ static void xfce_settings_manager_dialog_set_title (XfceSettingsManage const gchar *title, const gchar *icon_name); static void xfce_settings_manager_dialog_go_back (XfceSettingsManagerDialog *dialog); -static void xfce_settings_manager_show_filter_toggled (GtkToggleButton *button, - gpointer user_data); static void xfce_settings_manager_dialog_entry_changed (GtkWidget *entry, XfceSettingsManagerDialog *dialog); static gboolean xfce_settings_manager_dialog_entry_key_press (GtkWidget *entry, @@ -192,7 +189,6 @@ static void xfce_settings_manager_dialog_init (XfceSettingsManagerDialog *dialog) { GtkWidget *dialog_vbox; - GtkWidget *box; GtkWidget *entry; GtkWidget *scroll; GtkWidget *viewport; @@ -238,33 +234,21 @@ xfce_settings_manager_dialog_init (XfceSettingsManagerDialog *dialog) gtk_button_set_image (GTK_BUTTON (button), image); /* Add the filter bar */ - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); - dialog->revealer = gtk_revealer_new (); - gtk_revealer_set_transition_type (GTK_REVEALER (dialog->revealer), GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN); - gtk_widget_set_margin_top (box, 4); - gtk_container_add (GTK_CONTAINER (dialog->revealer), box); - gtk_widget_show (dialog->revealer); - - dialog->filter_button = button = gtk_toggle_button_new (); - image = gtk_image_new_from_icon_name ("edit-find-symbolic", GTK_ICON_SIZE_BUTTON); - gtk_button_set_image (GTK_BUTTON (button), image); - gtk_header_bar_pack_end (GTK_HEADER_BAR (gtk_dialog_get_header_bar (GTK_DIALOG (dialog))), button); - gtk_widget_show (button); - g_signal_connect (G_OBJECT (button), "toggled", G_CALLBACK (xfce_settings_manager_show_filter_toggled), dialog); - xfconf_g_property_bind (dialog->channel, "/last/filter-visible", G_TYPE_BOOLEAN, G_OBJECT (button), "active"); - + dialog->filter_bar = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_widget_set_margin_top (dialog->filter_bar, 4); + gtk_widget_set_margin_end (dialog->filter_bar, 5); dialog->filter_entry = entry = gtk_search_entry_new (); - gtk_box_pack_start (GTK_BOX (box), entry, TRUE, FALSE, 0); - gtk_widget_set_valign (entry, GTK_ALIGN_CENTER); + gtk_box_pack_start (GTK_BOX (dialog->filter_bar), entry, TRUE, FALSE, 0); + gtk_widget_set_halign (dialog->filter_bar, GTK_ALIGN_END); g_signal_connect (G_OBJECT (entry), "changed", G_CALLBACK (xfce_settings_manager_dialog_entry_changed), dialog); g_signal_connect (G_OBJECT (entry), "key-press-event", G_CALLBACK (xfce_settings_manager_dialog_entry_key_press), dialog); - gtk_widget_show_all (box); + gtk_widget_show_all (dialog->filter_bar); dialog_vbox = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); - gtk_box_pack_start (GTK_BOX (dialog_vbox), dialog->revealer, FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (dialog_vbox), dialog->filter_bar, FALSE, TRUE, 0); dialog->category_scroll = scroll = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), GTK_SHADOW_ETCHED_IN); @@ -670,9 +654,8 @@ xfce_settings_manager_dialog_go_back (XfceSettingsManagerDialog *dialog) gtk_widget_set_sensitive (dialog->button_back, FALSE); gtk_widget_set_sensitive (dialog->button_help, TRUE); - gtk_widget_show (dialog->filter_button); - if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dialog->filter_button))) - gtk_widget_show (dialog->revealer); + gtk_widget_show (dialog->filter_bar); + gtk_entry_set_text (GTK_ENTRY (dialog->filter_entry), ""); gtk_widget_grab_focus (dialog->filter_entry); @@ -739,22 +722,6 @@ xfce_settings_manager_dialog_entry_changed (GtkWidget *entry, -static void -xfce_settings_manager_show_filter_toggled (GtkToggleButton *button, - gpointer user_data) -{ - XfceSettingsManagerDialog *dialog = XFCE_SETTINGS_MANAGER_DIALOG (user_data); - gboolean state; - - state = gtk_toggle_button_get_active (button); - gtk_widget_show (dialog->revealer); - gtk_revealer_set_reveal_child (GTK_REVEALER (dialog->revealer), state); - if (state && GTK_IS_WIDGET (dialog->filter_entry)) - gtk_widget_grab_focus (dialog->filter_entry); -} - - - static gboolean xfce_settings_manager_dialog_entry_key_press (GtkWidget *entry, GdkEventKey *event, @@ -843,8 +810,7 @@ xfce_settings_manager_dialog_plug_added (GtkWidget *socket, /* button sensitivity */ gtk_widget_set_sensitive (dialog->button_back, TRUE); gtk_widget_set_sensitive (dialog->button_help, dialog->help_page != NULL); - gtk_widget_hide (dialog->filter_button); - gtk_widget_hide (dialog->revealer); + gtk_widget_hide (dialog->filter_bar); /* plug startup complete */ gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET(dialog)), NULL); |