Merge branch 'BUG_double_popover_focus_filechooser_GTK3' into 'gtk-3-24'

filechooser: set default widget early for 'Rename' popover

See merge request GNOME/gtk!1592
This commit is contained in:
Matthias Clasen 2020-05-19 23:26:56 +00:00
commit 88fc1640ed
3 changed files with 20 additions and 0 deletions

View File

@ -73,6 +73,7 @@
#include "gtkmain.h"
#include "gtkscrollable.h"
#include "gtkpopover.h"
#include "gtkpopoverprivate.h"
#include "gtkrevealer.h"
#include "gtkspinner.h"
#include "gtkseparator.h"
@ -1683,7 +1684,16 @@ rename_file_cb (GSimpleAction *action,
GtkFileChooserWidget *impl = data;
GtkFileChooserWidgetPrivate *priv = impl->priv;
GtkTreeSelection *selection;
GtkWidget *prev_default;
GtkWindow *window;
prev_default = gtk_popover_get_prev_default (GTK_POPOVER (priv->browse_files_popover));
if (prev_default) {
/* set 'default' early so rename popover can get it */
window = GTK_WINDOW (gtk_widget_get_ancestor (priv->browse_files_popover, GTK_TYPE_WINDOW));
if (window)
gtk_window_set_default (window, prev_default);
}
/* insensitive until we change the name */
gtk_widget_set_sensitive (priv->rename_file_rename_button, FALSE);

View File

@ -674,6 +674,15 @@ gtk_popover_set_state (GtkPopover *popover,
}
}
GtkWidget *
gtk_popover_get_prev_default (GtkPopover *popover)
{
g_return_val_if_fail (GTK_IS_POPOVER (popover), NULL);
return popover->priv->prev_default;
}
static void
gtk_popover_map (GtkWidget *widget)
{

View File

@ -23,6 +23,7 @@
G_BEGIN_DECLS
void gtk_popover_update_position (GtkPopover *popover);
GtkWidget *gtk_popover_get_prev_default (GtkPopover *popover);
G_END_DECLS