widget-factory: Port to async dialog API

This commit is contained in:
Matthias Clasen 2022-10-28 20:16:21 -04:00
parent 756888a53d
commit ad2552ee43

View File

@ -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;
GtkFileDialog *dialog;
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);
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