From: Matthias Clasen Date: Sat, 29 Oct 2022 00:16:21 +0000 (-0400) Subject: widget-factory: Port to async dialog API X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~9^2~132^2~9 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ad2552ee43e1a8f9f6b3b29d03da8e457ea50fe7;p=gtk4.git widget-factory: Port to async dialog API --- diff --git a/demos/widget-factory/widget-factory.c b/demos/widget-factory/widget-factory.c index e1881cc5b2..705606fcfe 100644 --- a/demos/widget-factory/widget-factory.c +++ b/demos/widget-factory/widget-factory.c @@ -214,10 +214,19 @@ activate_background (GSimpleAction *action, } static void -file_chooser_response (GtkNativeDialog *self, - int response) +file_chooser_response (GObject *source, + GAsyncResult *result, + void *user_data) { - gtk_native_dialog_destroy (self); + GtkFileDialog *dialog = GTK_FILE_DIALOG (source); + GFile *file; + + file = gtk_file_dialog_open_finish (dialog, result, NULL); + if (file) + { + g_print ("File selected: %s", g_file_peek_path (file)); + g_object_unref (file); + } } static void @@ -225,17 +234,11 @@ activate_open_file (GSimpleAction *action, GVariant *parameter, gpointer user_data) { - GtkFileChooserNative *chooser; - - chooser = gtk_file_chooser_native_new ("Open file", - NULL, - GTK_FILE_CHOOSER_ACTION_OPEN, - "Open", - "Cancel"); - - g_signal_connect (chooser, "response", G_CALLBACK (file_chooser_response), NULL); + GtkFileDialog *dialog; - gtk_native_dialog_show (GTK_NATIVE_DIALOG (chooser)); + dialog = gtk_file_dialog_new (); + gtk_file_dialog_open (dialog, NULL, NULL, NULL, file_chooser_response, NULL); + g_object_unref (dialog); } static void