[tepl] LanguageChooserDialog test: tune a bit the code



commit 084e6d1bae7714be8787cc79552952bc4821af5d
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Fri Nov 6 06:19:13 2020 +0100

    LanguageChooserDialog test: tune a bit the code

 tests/test-language-chooser-dialog.c | 53 ++++++++++++++++++++----------------
 1 file changed, 30 insertions(+), 23 deletions(-)
---
diff --git a/tests/test-language-chooser-dialog.c b/tests/test-language-chooser-dialog.c
index dfe3aaa..90419d6 100644
--- a/tests/test-language-chooser-dialog.c
+++ b/tests/test-language-chooser-dialog.c
@@ -5,21 +5,6 @@
 #include <tepl/tepl.h>
 #include <stdlib.h>
 
-static void
-language_activated_cb (TeplLanguageChooser *chooser,
-                      GtkSourceLanguage   *language,
-                      gpointer             user_data)
-{
-       if (language != NULL)
-       {
-               g_message ("Language activated: %s", gtk_source_language_get_id (language));
-       }
-       else
-       {
-               g_message ("Plain Text activated.");
-       }
-}
-
 static void
 select_random_language (TeplLanguageChooserDialog *dialog)
 {
@@ -34,11 +19,28 @@ select_random_language (TeplLanguageChooserDialog *dialog)
 }
 
 static void
-dialog_response_cb (GtkDialog *dialog,
-                   gint       response_id,
-                   gpointer   user_data)
+language_activated_cb (TeplLanguageChooserDialog *dialog,
+                      GtkSourceLanguage         *language,
+                      gpointer                   user_data)
+{
+       if (language != NULL)
+       {
+               g_message ("Language activated: %s", gtk_source_language_get_id (language));
+       }
+       else
+       {
+               g_message ("Plain Text activated.");
+       }
+
+       gtk_widget_destroy (GTK_WIDGET (dialog));
+}
+
+static void
+dialog_response_after_cb (GtkDialog *dialog,
+                         gint       response_id,
+                         gpointer   user_data)
 {
-       gtk_main_quit ();
+       gtk_widget_destroy (GTK_WIDGET (dialog));
 }
 
 int
@@ -53,13 +55,18 @@ main (int    argc,
        select_random_language (dialog);
 
        g_signal_connect (dialog,
-                         "response",
-                         G_CALLBACK (dialog_response_cb),
+                         "language-activated",
+                         G_CALLBACK (language_activated_cb),
                          NULL);
 
+       g_signal_connect_after (dialog,
+                               "response",
+                               G_CALLBACK (dialog_response_after_cb),
+                               NULL);
+
        g_signal_connect (dialog,
-                         "language-activated",
-                         G_CALLBACK (language_activated_cb),
+                         "destroy",
+                         gtk_main_quit,
                          NULL);
 
        gtk_widget_show (GTK_WIDGET (dialog));


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