summaryrefslogtreecommitdiff
path: root/src/nautilus-app-chooser.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nautilus-app-chooser.c')
-rw-r--r--src/nautilus-app-chooser.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/nautilus-app-chooser.c b/src/nautilus-app-chooser.c
index 00af912a7..3c9367f78 100644
--- a/src/nautilus-app-chooser.c
+++ b/src/nautilus-app-chooser.c
@@ -41,8 +41,7 @@ enum
};
static void
-open_button_clicked_cb (GtkButton *button,
- NautilusAppChooser *self)
+open_cb (NautilusAppChooser *self)
{
gboolean set_new_default = FALSE;
g_autoptr (GAppInfo) info = NULL;
@@ -81,7 +80,13 @@ open_button_clicked_cb (GtkButton *button,
adw_message_dialog_add_response (ADW_MESSAGE_DIALOG (message_dialog), "close", _("OK"));
gtk_window_present (GTK_WINDOW (message_dialog));
}
+}
+static void
+on_application_activated (NautilusAppChooser *self)
+{
+ open_cb (self);
+ gtk_dialog_response (GTK_DIALOG (self), GTK_RESPONSE_OK);
}
static void
@@ -182,6 +187,8 @@ nautilus_app_chooser_constructed (GObject *object)
g_signal_connect_object (self->app_chooser_widget, "application-selected",
G_CALLBACK (on_application_selected), self, 0);
+ g_signal_connect_object (self->app_chooser_widget, "application-activated",
+ G_CALLBACK (on_application_activated), self, G_CONNECT_SWAPPED);
if (self->file_name != NULL)
{
@@ -246,7 +253,7 @@ nautilus_app_chooser_class_init (NautilusAppChooserClass *klass)
gtk_widget_class_bind_template_child (widget_class, NautilusAppChooser, label_content_type_description);
gtk_widget_class_bind_template_child (widget_class, NautilusAppChooser, set_default_box);
- gtk_widget_class_bind_template_callback (widget_class, open_button_clicked_cb);
+ gtk_widget_class_bind_template_callback (widget_class, open_cb);
g_object_class_install_property (object_class,
PROP_CONTENT_TYPE,