filechooserdialog: Stop using ::response-requested

Replace the ::response-requested signal by an action.
This commit is contained in:
Matthias Clasen
2020-07-12 12:14:32 -04:00
parent 2e6b8810c0
commit 0145809a94
3 changed files with 10 additions and 6 deletions

View File

@@ -263,8 +263,9 @@ static void gtk_file_chooser_dialog_size_allocate (GtkWidget *wid
int width, int width,
int height, int height,
int baseline); int baseline);
static void file_chooser_widget_response_requested (GtkWidget *widget, static void gtk_file_chooser_dialog_activate_response (GtkWidget *widget,
GtkFileChooserDialog *dialog); const char *action_name,
GVariant *parameters);
static void response_cb (GtkDialog *dialog, static void response_cb (GtkDialog *dialog,
gint response_id); gint response_id);
@@ -304,7 +305,8 @@ gtk_file_chooser_dialog_class_init (GtkFileChooserDialogClass *class)
gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDialog, widget); gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDialog, widget);
gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDialog, buttons); gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserDialog, buttons);
gtk_widget_class_bind_template_callback (widget_class, response_cb); gtk_widget_class_bind_template_callback (widget_class, response_cb);
gtk_widget_class_bind_template_callback (widget_class, file_chooser_widget_response_requested);
gtk_widget_class_install_action (widget_class, "response.activate", NULL, gtk_file_chooser_dialog_activate_response);
} }
static void static void
@@ -360,9 +362,11 @@ is_accept_response_id (gint response_id)
} }
static void static void
file_chooser_widget_response_requested (GtkWidget *widget, gtk_file_chooser_dialog_activate_response (GtkWidget *widget,
GtkFileChooserDialog *dialog) const char *action_name,
GVariant *parameters)
{ {
GtkFileChooserDialog *dialog = GTK_FILE_CHOOSER_DIALOG (widget);
GtkFileChooserDialogPrivate *priv = gtk_file_chooser_dialog_get_instance_private (dialog); GtkFileChooserDialogPrivate *priv = gtk_file_chooser_dialog_get_instance_private (dialog);
GtkWidget *button; GtkWidget *button;

View File

@@ -5700,6 +5700,7 @@ add_custom_button_to_dialog (GtkDialog *dialog,
static void static void
request_response_and_add_to_recent_list (GtkFileChooserWidget *impl) request_response_and_add_to_recent_list (GtkFileChooserWidget *impl)
{ {
gtk_widget_activate_action (GTK_WIDGET (impl), "response.activate", NULL);
g_signal_emit_by_name (impl, "response-requested"); g_signal_emit_by_name (impl, "response-requested");
add_selection_to_recent_list (impl); add_selection_to_recent_list (impl);
} }

View File

@@ -20,7 +20,6 @@
<object class="GtkFileChooserWidget" id="widget"> <object class="GtkFileChooserWidget" id="widget">
<property name="hexpand">1</property> <property name="hexpand">1</property>
<property name="vexpand">1</property> <property name="vexpand">1</property>
<signal name="response-requested" handler="file_chooser_widget_response_requested" swapped="no"/>
</object> </object>
</child> </child>
</object> </object>