Add a secondary icon to clear the search entry
This commit is contained in:
parent
33eca40fbb
commit
be93a95ea5
|
@ -305,6 +305,10 @@ static gboolean _new_search_filter(GtkTreeModel * model, GtkTreeIter * iter,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
static gboolean _new_search_filter_do(GtkTreeModel * model, GtkTreeIter * iter,
|
static gboolean _new_search_filter_do(GtkTreeModel * model, GtkTreeIter * iter,
|
||||||
char const * search);
|
char const * search);
|
||||||
|
/* callbacks */
|
||||||
|
#if GTK_CHECK_VERSION(2, 16, 0)
|
||||||
|
static void _new_search_on_clear(gpointer data);
|
||||||
|
#endif
|
||||||
|
|
||||||
static Helper * _helper_new(void)
|
static Helper * _helper_new(void)
|
||||||
{
|
{
|
||||||
|
@ -819,6 +823,12 @@ static void _new_search(Helper * helper)
|
||||||
vbox = gtk_vbox_new(FALSE, 4);
|
vbox = gtk_vbox_new(FALSE, 4);
|
||||||
#endif
|
#endif
|
||||||
helper->entry = gtk_entry_new();
|
helper->entry = gtk_entry_new();
|
||||||
|
#if GTK_CHECK_VERSION(2, 16, 0)
|
||||||
|
gtk_entry_set_icon_from_stock(GTK_ENTRY(helper->entry),
|
||||||
|
GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR);
|
||||||
|
g_signal_connect_swapped(helper->entry, "icon-press", G_CALLBACK(
|
||||||
|
_new_search_on_clear), helper);
|
||||||
|
#endif
|
||||||
g_signal_connect_swapped(helper->entry, "activate", G_CALLBACK(
|
g_signal_connect_swapped(helper->entry, "activate", G_CALLBACK(
|
||||||
_helper_on_search_activated), helper);
|
_helper_on_search_activated), helper);
|
||||||
gtk_box_pack_start(GTK_BOX(vbox), helper->entry, FALSE, TRUE, 0);
|
gtk_box_pack_start(GTK_BOX(vbox), helper->entry, FALSE, TRUE, 0);
|
||||||
|
@ -883,6 +893,15 @@ static gboolean _new_search_filter_do(GtkTreeModel * model, GtkTreeIter * iter,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if GTK_CHECK_VERSION(2, 16, 0)
|
||||||
|
static void _new_search_on_clear(gpointer data)
|
||||||
|
{
|
||||||
|
Helper * helper = data;
|
||||||
|
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(helper->entry), "");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* helper_delete */
|
/* helper_delete */
|
||||||
void _helper_delete(Helper * helper)
|
void _helper_delete(Helper * helper)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user