[gtk/ebassi/run-dialog-run: 17/22] tests: Remove gtk_dialog_run()
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/ebassi/run-dialog-run: 17/22] tests: Remove gtk_dialog_run()
- Date: Thu, 30 Apr 2020 17:56:43 +0000 (UTC)
commit c8bc4adefed7ade6a25fdb35de94df94d863aa9b
Author: Emmanuele Bassi <ebassi gnome org>
Date: Thu Apr 30 15:32:38 2020 +0100
tests: Remove gtk_dialog_run()
tests/print-editor.c | 58 ++++++++++++++++++++++++++++---------------
tests/testappchooser.c | 37 ++++++++++++++++++++--------
tests/testcombochange.c | 65 +++++++++++++++++++++----------------------------
tests/testdialog.c | 57 ++++++++++++++++++++-----------------------
tests/testfilechooser.c | 12 ++++++---
tests/testwindowsize.c | 20 ++++++++++-----
6 files changed, 141 insertions(+), 108 deletions(-)
---
diff --git a/tests/print-editor.c b/tests/print-editor.c
index 32d522ae8f..1a82643eaa 100644
--- a/tests/print-editor.c
+++ b/tests/print-editor.c
@@ -494,13 +494,26 @@ activate_preview (GSimpleAction *action,
print_or_preview (action, GTK_PRINT_OPERATION_ACTION_PREVIEW);
}
+static void
+on_save_response (GtkWidget *dialog,
+ int response)
+{
+ if (response == GTK_RESPONSE_OK)
+ {
+ GFile *save_filename = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
+ save_file (save_filename);
+ g_object_unref (save_filename);
+ }
+
+ gtk_widget_destroy (dialog);
+}
+
static void
activate_save_as (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
GtkWidget *dialog;
- gint response;
dialog = gtk_file_chooser_dialog_new ("Select file",
GTK_WINDOW (main_window),
@@ -509,16 +522,12 @@ activate_save_as (GSimpleAction *action,
"_Save", GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
- response = gtk_dialog_run (GTK_DIALOG (dialog));
-
- if (response == GTK_RESPONSE_OK)
- {
- GFile *save_filename = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
- save_file (save_filename);
- g_object_unref (save_filename);
- }
+ gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
+ gtk_widget_show (dialog);
- gtk_widget_destroy (dialog);
+ g_signal_connect (dialog, "response",
+ G_CALLBACK (on_save_response),
+ NULL);
}
static void
@@ -532,13 +541,26 @@ activate_save (GSimpleAction *action,
save_file (filename);
}
+static void
+on_open_response (GtkWidget *dialog,
+ int response)
+{
+ if (response == GTK_RESPONSE_OK)
+ {
+ GFile *open_filename = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
+ load_file (open_filename);
+ g_object_unref (open_filename);
+ }
+
+ gtk_widget_destroy (dialog);
+}
+
static void
activate_open (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
GtkWidget *dialog;
- gint response;
dialog = gtk_file_chooser_dialog_new ("Select file",
GTK_WINDOW (main_window),
@@ -547,16 +569,12 @@ activate_open (GSimpleAction *action,
"_Open", GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
- response = gtk_dialog_run (GTK_DIALOG (dialog));
-
- if (response == GTK_RESPONSE_OK)
- {
- GFile *open_filename = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
- load_file (open_filename);
- g_object_unref (open_filename);
- }
+ gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
+ gtk_widget_show (dialog);
- gtk_widget_destroy (dialog);
+ g_signal_connect (dialog, "response",
+ G_CALLBACK (on_open_response),
+ NULL);
}
static void
diff --git a/tests/testappchooser.c b/tests/testappchooser.c
index 82eda9d4ca..1b3e63e873 100644
--- a/tests/testappchooser.c
+++ b/tests/testappchooser.c
@@ -125,12 +125,32 @@ display_dialog (void)
gtk_widget_show (dialog);
}
+static void
+on_open_response (GtkWidget *file_chooser,
+ int response)
+{
+ if (response == GTK_RESPONSE_ACCEPT)
+ {
+ char *path;
+
+ file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (file_chooser));
+ path = g_file_get_path (file);
+
+ gtk_button_set_label (GTK_BUTTON (file_l), path);
+
+ g_free (path);
+ }
+
+ gtk_widget_destroy (file_chooser);
+
+ gtk_widget_set_sensitive (open, TRUE);
+}
+
static void
button_clicked (GtkButton *b,
gpointer user_data)
{
GtkWidget *w;
- gchar *path;
w = gtk_file_chooser_dialog_new ("Select file",
GTK_WINDOW (toplevel),
@@ -139,16 +159,13 @@ button_clicked (GtkButton *b,
"_Open", GTK_RESPONSE_ACCEPT,
NULL);
- gtk_dialog_run (GTK_DIALOG (w));
- file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (w));
- path = g_file_get_path (file);
- gtk_button_set_label (GTK_BUTTON (file_l), path);
-
- gtk_widget_destroy (w);
+ gtk_window_set_modal (GTK_WINDOW (w), TRUE);
- gtk_widget_set_sensitive (open, TRUE);
+ g_signal_connect (w, "response",
+ G_CALLBACK (on_open_response),
+ NULL);
- g_free (path);
+ gtk_widget_show (w);
}
static void
@@ -180,7 +197,7 @@ main (int argc, char **argv)
w1, 0, 0, 1, 1);
file_l = gtk_button_new ();
- path = g_build_filename (g_get_current_dir (), "apple-red.png", NULL);
+ path = g_build_filename (GTK_SRCDIR, "apple-red.png", NULL);
file = g_file_new_for_path (path);
gtk_button_set_label (GTK_BUTTON (file_l), path);
g_free (path);
diff --git a/tests/testcombochange.c b/tests/testcombochange.c
index bdaadf19ca..d792872984 100644
--- a/tests/testcombochange.c
+++ b/tests/testcombochange.c
@@ -71,14 +71,10 @@ combochange_log (const char *fmt,
}
static GtkWidget *
-create_combo (const char *name,
- gboolean is_list)
+create_combo (const char *name)
{
GtkCellRenderer *cell_renderer;
GtkWidget *combo;
- GtkCssProvider *provider;
- GtkStyleContext *context;
- gchar *css_data;
combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (model));
cell_renderer = gtk_cell_renderer_text_new ();
@@ -88,18 +84,6 @@ create_combo (const char *name,
gtk_widget_set_name (combo, name);
- context = gtk_widget_get_style_context (combo);
-
- provider = gtk_css_provider_new ();
- css_data = g_strdup_printf ("#%s { -GtkComboBox-appears-as-list: %s }",
- name, is_list ? "true" : "false");
- gtk_css_provider_load_from_data (provider, css_data, -1);
- g_free (css_data);
-
- gtk_style_context_add_provider (context,
- GTK_STYLE_PROVIDER (provider),
- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
-
return combo;
}
@@ -224,7 +208,7 @@ int
main (int argc, char **argv)
{
GtkWidget *content_area;
- GtkWidget *dialog;
+ GtkWidget *window;
GtkWidget *scrolled_window;
GtkWidget *hbox;
GtkWidget *button_vbox;
@@ -232,7 +216,6 @@ main (int argc, char **argv)
GtkWidget *button;
GtkWidget *menu_combo;
GtkWidget *label;
- GtkWidget *list_combo;
test_init ();
@@ -240,15 +223,15 @@ main (int argc, char **argv)
model = gtk_list_store_new (1, G_TYPE_STRING);
contents = g_array_new (FALSE, FALSE, sizeof (char));
-
- dialog = gtk_dialog_new_with_buttons ("GtkComboBox model changes",
- NULL, 0,
- "_Close", GTK_RESPONSE_CLOSE,
- NULL);
- content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+ window = gtk_window_new ();
+ gtk_window_set_title (GTK_WINDOW (window), "ComboBox Change");
+
+ content_area = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
+ gtk_container_add (GTK_CONTAINER (window), content_area);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ gtk_widget_set_vexpand (hbox, TRUE);
gtk_container_add (GTK_CONTAINER (content_area), hbox);
combo_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
@@ -258,18 +241,10 @@ main (int argc, char **argv)
gtk_label_set_markup (GTK_LABEL (label), "<b>Menu mode</b>");
gtk_container_add (GTK_CONTAINER (combo_vbox), label);
- menu_combo = create_combo ("menu-combo", FALSE);
+ menu_combo = create_combo ("menu-combo");
gtk_widget_set_margin_start (menu_combo, 12);
gtk_container_add (GTK_CONTAINER (combo_vbox), menu_combo);
- label = gtk_label_new (NULL);
- gtk_label_set_markup (GTK_LABEL (label), "<b>List mode</b>");
- gtk_container_add (GTK_CONTAINER (combo_vbox), label);
-
- list_combo = create_combo ("list-combo", TRUE);
- gtk_widget_set_margin_start (list_combo, 12);
- gtk_container_add (GTK_CONTAINER (combo_vbox), list_combo);
-
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_widget_set_hexpand (scrolled_window, TRUE);
gtk_container_add (GTK_CONTAINER (hbox), scrolled_window);
@@ -285,7 +260,7 @@ main (int argc, char **argv)
button_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
gtk_container_add (GTK_CONTAINER (hbox), button_vbox);
- gtk_window_set_default_size (GTK_WINDOW (dialog), 500, 300);
+ gtk_window_set_default_size (GTK_WINDOW (window), 500, 300);
button = gtk_button_new_with_label ("Insert");
gtk_container_add (GTK_CONTAINER (button_vbox), button);
@@ -303,8 +278,24 @@ main (int argc, char **argv)
gtk_container_add (GTK_CONTAINER (button_vbox), button);
g_signal_connect (button, "clicked", G_CALLBACK (on_animate), NULL);
- gtk_widget_show (dialog);
- gtk_dialog_run (GTK_DIALOG (dialog));
+ GtkWidget *close_button = gtk_button_new_with_mnemonic ("_Close");
+ gtk_widget_set_hexpand (close_button, TRUE);
+ gtk_container_add (GTK_CONTAINER (content_area), close_button);
+
+ gtk_widget_show (window);
+
+ GMainLoop *loop = g_main_loop_new (NULL, FALSE);
+
+ g_signal_connect_swapped (close_button, "clicked",
+ G_CALLBACK (gtk_widget_destroy),
+ window);
+ g_signal_connect_swapped (window, "destroy",
+ G_CALLBACK (g_main_loop_quit),
+ loop);
+
+ g_main_loop_run (loop);
+
+ g_main_loop_unref (loop);
return 0;
}
diff --git a/tests/testdialog.c b/tests/testdialog.c
index 7b68f8a15d..99ea74daa3 100644
--- a/tests/testdialog.c
+++ b/tests/testdialog.c
@@ -16,15 +16,14 @@ show_message_dialog1 (GtkWindow *parent)
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
"Unhandled error message: SSH program unexpectedly exited");
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ gtk_widget_show (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
static void
show_message_dialog1a (GtkWindow *parent)
{
GtkWidget *dialog;
- GtkWidget *image;
dialog = GTK_WIDGET (gtk_message_dialog_new (parent,
GTK_DIALOG_MODAL|
@@ -34,11 +33,8 @@ show_message_dialog1a (GtkWindow *parent)
GTK_BUTTONS_OK,
"The system network services are not compatible with this
version."));
- image = gtk_image_new_from_icon_name ("computer-fail");
- gtk_widget_show (image);
-
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ gtk_widget_show (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
static void
@@ -60,8 +56,8 @@ show_message_dialog2 (GtkWindow *parent)
"Empty Wastebasket", GTK_RESPONSE_OK,
NULL);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ gtk_widget_show (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
static void
@@ -70,9 +66,8 @@ show_color_chooser (GtkWindow *parent)
GtkWidget *dialog;
dialog = gtk_color_chooser_dialog_new ("Builtin", parent);
-
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ gtk_widget_show (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
static void
@@ -85,8 +80,8 @@ show_color_chooser_generic (GtkWindow *parent)
"transient-for", parent,
NULL);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ gtk_widget_show (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
static void
@@ -122,9 +117,9 @@ show_dialog (GtkWindow *parent)
NULL);
add_content (dialog);
+ gtk_widget_show (dialog);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
static void
@@ -138,9 +133,9 @@ show_dialog_with_header (GtkWindow *parent)
NULL);
add_content (dialog);
+ gtk_widget_show (dialog);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
static void
@@ -155,9 +150,9 @@ show_dialog_with_buttons (GtkWindow *parent)
NULL);
add_content (dialog);
+ gtk_widget_show (dialog);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
static void
@@ -172,9 +167,9 @@ show_dialog_with_header_buttons (GtkWindow *parent)
NULL);
add_content (dialog);
+ gtk_widget_show (dialog);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
static void
@@ -187,9 +182,9 @@ show_dialog_with_header_buttons2 (GtkWindow *parent)
gtk_builder_add_from_file (builder, "dialog.ui", NULL);
dialog = (GtkWidget *)gtk_builder_get_object (builder, "dialog");
g_object_unref (builder);
+ gtk_widget_show (dialog);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
typedef struct {
@@ -235,9 +230,9 @@ show_dialog_from_template (GtkWindow *parent)
NULL);
add_content (dialog);
+ gtk_widget_show (dialog);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
static void
@@ -256,9 +251,9 @@ show_dialog_flex_template (GtkWindow *parent)
NULL);
add_content (dialog);
+ gtk_widget_show (dialog);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
typedef struct {
@@ -309,9 +304,9 @@ show_dialog_from_template_with_header (GtkWindow *parent)
add_buttons (dialog);
add_content (dialog);
+ gtk_widget_show (dialog);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
}
int
diff --git a/tests/testfilechooser.c b/tests/testfilechooser.c
index 0a9e19e2bf..28bce5b377 100644
--- a/tests/testfilechooser.c
+++ b/tests/testfilechooser.c
@@ -156,8 +156,10 @@ set_current_folder (GtkFileChooser *chooser,
GTK_BUTTONS_CLOSE,
"Could not set the folder to %s",
name);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ gtk_widget_show (dialog);
+ g_signal_connect (dialog, "response",
+ G_CALLBACK (gtk_widget_destroy),
+ NULL);
}
g_object_unref (file);
}
@@ -191,8 +193,10 @@ set_filename (GtkFileChooser *chooser,
GTK_BUTTONS_CLOSE,
"Could not select %s",
name);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ gtk_widget_show (dialog);
+ g_signal_connect (dialog, "response",
+ G_CALLBACK (gtk_widget_destroy),
+ NULL);
}
g_object_unref (file);
}
diff --git a/tests/testwindowsize.c b/tests/testwindowsize.c
index 620a5c3b47..0107c1fb3c 100644
--- a/tests/testwindowsize.c
+++ b/tests/testwindowsize.c
@@ -67,10 +67,11 @@ show_dialog (void)
gtk_widget_realize (dialog);
g_signal_connect (gtk_native_get_surface (GTK_NATIVE (dialog)), "size-changed",
G_CALLBACK (size_changed_cb), label);
+ g_signal_connect (dialog, "response",
+ G_CALLBACK (gtk_widget_destroy),
+ NULL);
- gtk_dialog_run (GTK_DIALOG (dialog));
-
- gtk_widget_destroy (dialog);
+ gtk_widget_show (dialog);
}
static void
@@ -129,6 +130,16 @@ create_window (void)
gtk_grid_attach (GTK_GRID (grid), button, 2, 4, 1, 1);
gtk_widget_show (window);
+
+ GMainLoop *loop = g_main_loop_new (NULL, FALSE);
+
+ g_signal_connect_swapped (window, "destroy",
+ G_CALLBACK (g_main_loop_quit),
+ loop);
+
+ g_main_loop_run (loop);
+
+ g_main_loop_unref (loop);
}
int
@@ -138,8 +149,5 @@ main (int argc, char *argv[])
create_window ();
- while (TRUE)
- g_main_context_iteration (NULL, TRUE);
-
return 0;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]