mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-11 11:20:12 +00:00
Bug 592606 - Activate the default button in a respose-request callback
Previously the rightmost button with a proper response id was activated, this is now only done if there is no default button set. With this patch the right widget gets activated when there are multiple widgets wth response ids conforming to is_stock_accept_response_id() as the selected widget is made the new default widget before showing the overwrite confirmation dialog.
This commit is contained in:
parent
cf73930869
commit
4a0f78b72f
@ -224,6 +224,11 @@ file_chooser_widget_response_requested (GtkWidget *widget,
|
||||
{
|
||||
GList *children, *l;
|
||||
|
||||
dialog->priv->response_requested = TRUE;
|
||||
|
||||
if (gtk_window_activate_default (GTK_WINDOW (dialog)))
|
||||
return;
|
||||
|
||||
/* There probably isn't a default widget, so make things easier for the
|
||||
* programmer by looking for a reasonable button on our own.
|
||||
*/
|
||||
@ -239,12 +244,14 @@ file_chooser_widget_response_requested (GtkWidget *widget,
|
||||
response_id = gtk_dialog_get_response_for_widget (GTK_DIALOG (dialog), widget);
|
||||
if (is_stock_accept_response_id (response_id))
|
||||
{
|
||||
dialog->priv->response_requested = TRUE;
|
||||
gtk_widget_activate (widget); /* Should we gtk_dialog_response (dialog, response_id) instead? */
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (l == NULL)
|
||||
dialog->priv->response_requested = FALSE;
|
||||
|
||||
g_list_free (children);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user