From b7618ec7c525acd94cbf31ee70afbee2342e90c9 Mon Sep 17 00:00:00 2001 From: Colin Clark Date: Sun, 8 May 2022 10:17:16 +0100 Subject: [PATCH] File filter - include Clear icon Include a Clear icon as the secondary icon in the File Filter box. --- src/view_file/view_file.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/view_file/view_file.c b/src/view_file/view_file.c index 9877d4f5..46d823d1 100644 --- a/src/view_file/view_file.c +++ b/src/view_file/view_file.c @@ -1155,6 +1155,15 @@ static void case_sensitive_cb(GtkWidget *widget, gpointer data) vf_refresh(vf); } +static void file_filter_clear_cb(GtkEntry *entry, GtkEntryIconPosition pos, GdkEvent *event, gpointer userdata) +{ + if (pos == GTK_ENTRY_ICON_SECONDARY) + { + gtk_entry_set_text(GTK_ENTRY(userdata), ""); + gtk_widget_grab_focus(GTK_WIDGET(userdata)); + } +} + static GtkWidget *vf_file_filter_init(ViewFile *vf) { GtkWidget *frame = gtk_frame_new(NULL); @@ -1175,6 +1184,10 @@ static GtkWidget *vf_file_filter_init(ViewFile *vf) gtk_widget_show((GTK_WIDGET(vf->file_filter.combo))); gtk_widget_set_tooltip_text(GTK_WIDGET(vf->file_filter.combo), _("Use regular expressions")); + gtk_entry_set_icon_from_stock(GTK_ENTRY(combo_entry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR); + gtk_entry_set_icon_tooltip_text (GTK_ENTRY(combo_entry), GTK_ENTRY_ICON_SECONDARY, _("Clear")); + g_signal_connect(GTK_ENTRY(combo_entry), "icon-press", G_CALLBACK(file_filter_clear_cb), combo_entry); + work = history_list_get_by_key("file_filter"); while (work) { -- 2.20.1