[evolution] Add 'Refresh selected' to test-source-selector



commit 1c757da8cd8998b5ac0849367466a02c2d6f4851
Author: Milan Crha <mcrha redhat com>
Date:   Thu Oct 6 11:00:44 2016 +0200

    Add 'Refresh selected' to test-source-selector

 e-util/test-source-selector.c |   42 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)
---
diff --git a/e-util/test-source-selector.c b/e-util/test-source-selector.c
index c3782cb..522430a 100644
--- a/e-util/test-source-selector.c
+++ b/e-util/test-source-selector.c
@@ -186,6 +186,37 @@ close_selected_clicked_cb (GtkWidget *button,
 }
 
 static void
+refresh_selected_clicked_cb (GtkWidget *button,
+                            ESourceSelector *selector)
+{
+       GHashTable *opened_sources;
+       EClient *client;
+       ESource *source;
+       GError *error = NULL;
+
+       opened_sources = g_object_get_data (G_OBJECT (selector), OPENED_KEY);
+       g_return_if_fail (opened_sources != NULL);
+
+       source = e_source_selector_ref_primary_selection (selector);
+       if (source == NULL)
+               return;
+
+       client = g_hash_table_lookup (opened_sources, source);
+       g_object_unref (source);
+
+       g_return_if_fail (client != NULL);
+
+       if (!e_client_refresh_sync (client, NULL, &error)) {
+               g_warning (
+                       "Failed to call 'refresh' on '%s': %s",
+                       e_source_get_display_name (source),
+                       error ? error->message : "Unknown error");
+       }
+
+       g_clear_error (&error);
+}
+
+static void
 flip_busy_clicked_cb (GtkWidget *button,
                      ESourceSelector *selector)
 {
@@ -235,6 +266,7 @@ create_page (ESourceRegistry *registry,
                "hexpand", TRUE,
                "valign", GTK_ALIGN_FILL,
                "vexpand", TRUE,
+               "min-content-width", 200,
                NULL);
 
        selector = e_source_selector_new (registry, extension_name);
@@ -281,6 +313,16 @@ create_page (ESourceRegistry *registry,
                selector, "primary-selection-changed",
                G_CALLBACK (enable_widget_if_opened_cb), widget);
 
+       widget = gtk_button_new_with_label ("Refresh selected");
+       gtk_container_add (GTK_CONTAINER (button_box), widget);
+
+       g_signal_connect (
+               widget, "clicked",
+               G_CALLBACK (refresh_selected_clicked_cb), selector);
+       g_signal_connect (
+               selector, "primary-selection-changed",
+               G_CALLBACK (enable_widget_if_opened_cb), widget);
+
        widget = gtk_button_new_with_label ("Flip busy status");
        gtk_widget_set_margin_top (widget, 10);
        gtk_container_add (GTK_CONTAINER (button_box), widget);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]