--- a/pidgin/pidgindebug.c Wed Jun 13 17:53:20 2018 -0400
+++ b/pidgin/pidgindebug.c Wed Jun 13 18:16:50 2018 -0400
@@ -64,6 +64,9 @@
+#if GTK_CHECK_VERSION(3,12,0) @@ -392,7 +395,11 @@
regex_menu_cb(GtkWidget *item, const gchar *pref) {
+#if GTK_CHECK_VERSION(3,12,0) + active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(item)); active = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(item));
purple_prefs_set_bool(pref, active);
@@ -401,6 +408,12 @@
regex_popup_cb(GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEvent *event,
+#if GTK_CHECK_VERSION(3,12,0) + gtk_entry_get_icon_area(entry, icon_pos, &rect); + gtk_popover_set_pointing_to(GTK_POPOVER(win->popover), &rect); + gtk_popover_popup(GTK_POPOVER(win->popover)); @@ -413,6 +426,7 @@
gtk_menu_popup_at_widget(GTK_MENU(menu), GTK_WIDGET(entry),
GDK_GRAVITY_SOUTH_WEST, GDK_GRAVITY_NORTH_WEST, event);
@@ -585,6 +599,11 @@
"background-image: none;"
"background-color: @success_color;"
+#if GTK_CHECK_VERSION(3,12,0) + GtkWidget *popover_invert; + GtkWidget *popover_highlight; gtk_widget_init_template(GTK_WIDGET(win));
@@ -648,6 +667,33 @@
purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/debug/filterlevel",
filter_level_pref_changed, win);
+#if GTK_CHECK_VERSION(3,12,0) + builder = gtk_builder_new_from_resource( + "/im/pidgin/Pidgin/Debug/filter-popover.ui"); + win->popover = GTK_WIDGET(gtk_builder_get_object(builder, + gtk_popover_set_relative_to(GTK_POPOVER(win->popover), + popover_invert = GTK_WIDGET(gtk_builder_get_object(builder, + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(popover_invert), + g_signal_connect(G_OBJECT(popover_invert), "toggled", + G_CALLBACK(regex_menu_cb), + PIDGIN_PREFS_ROOT "/debug/invert"); + popover_highlight = GTK_WIDGET(gtk_builder_get_object(builder, + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(popover_highlight), + g_signal_connect(G_OBJECT(popover_highlight), "toggled", + G_CALLBACK(regex_menu_cb), + PIDGIN_PREFS_ROOT "/debug/highlight"); + g_object_unref(builder); /* The *start* and *end* marks bound the beginning and end of an
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pidgin/resources/Debug/filter-popover.ui Wed Jun 13 18:16:50 2018 -0400
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.22.1 --> + <requires lib="gtk+" version="3.12"/> + <object class="GtkPopover" id="popover"> + <property name="can_focus">False</property> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <object class="GtkCheckButton" id="popover.invert"> + <property name="label" translatable="yes">Invert</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="draw_indicator">True</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + <object class="GtkCheckButton" id="popover.highlight"> + <property name="label" translatable="yes">Highlight matches</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="draw_indicator">True</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> --- a/pidgin/resources/pidgin.gresource.xml Wed Jun 13 17:53:20 2018 -0400
+++ b/pidgin/resources/pidgin.gresource.xml Wed Jun 13 18:16:50 2018 -0400
@@ -6,5 +6,6 @@
<file compressed="true">About/about.html</file>
<file compressed="true">About/credits.json</file>
<file compressed="true">Debug/debug.ui</file>
+ <file compressed="true">Debug/filter-popover.ui</file>