From 81c8f142f03fc304258eb671df9a92b89ecefc46 Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Thu, 12 Oct 2017 14:29:49 -0400 Subject: MqFindToolbar: Add WebKitFindController signal callbacks --- (limited to 'src') diff --git a/src/find-toolbar.c b/src/find-toolbar.c index 3a2daad..31b5bc4 100644 --- a/src/find-toolbar.c +++ b/src/find-toolbar.c @@ -188,6 +188,30 @@ close_clicked_cb(GtkButton G_GNUC_UNUSED *button, MqFindToolbar *find_toolbar) } static void +found_text_cb(WebKitFindController G_GNUC_UNUSED *find_controller, + guint match_count, MqFindToolbar *find_toolbar) +{ + gchar *text; + + if (match_count == 1) { + text = g_strdup("1 match"); + } else { + text = g_strdup_printf("%u matches", match_count); + } + gtk_label_set_text(GTK_LABEL(find_toolbar->matches_label), text); + g_free(text); + +} + +static void +failed_to_find_text_cb(WebKitFindController G_GNUC_UNUSED *find_controller, + MqFindToolbar *find_toolbar) +{ + gtk_label_set_text(GTK_LABEL(find_toolbar->matches_label), + "No matches"); +} + +static void mq_find_toolbar_class_init(MqFindToolbarClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); @@ -278,6 +302,10 @@ mq_find_toolbar_init(MqFindToolbar *find_toolbar) find_toolbar->searching = FALSE; find_toolbar->find_controller = webkit_web_view_get_find_controller( WEBKIT_WEB_VIEW(find_toolbar->web_view)); + g_signal_connect(find_toolbar->find_controller, "found-text", + G_CALLBACK(found_text_cb), find_toolbar); + g_signal_connect(find_toolbar->find_controller, "failed-to-find-text", + G_CALLBACK(failed_to_find_text_cb), find_toolbar); } GtkWidget * -- cgit v0.9.1