summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Berla <corey@berla.me>2022-07-25 10:29:01 -0700
committerAntónio Fernandes <antoniof@gnome.org>2022-08-01 07:13:02 +0000
commitd6982dba131959a504c73d3037bdf48c0ec17df4 (patch)
tree97749a4038655d19112ea115ca1cf48bd752417c
parente12bc236e5b8de6772b321133f7e85378e59afda (diff)
downloadnautilus-d6982dba131959a504c73d3037bdf48c0ec17df4.tar.gz
rename-file-popover-controller: Set parent only on creation
We are attempting to reset the parent to the view every time the rename popover shows. This triggers warnings because the popover already has a parent. There's no reason to do this because we are setting the parent to the view over and over again. Since the popover and view have the same lifecycle, set the parent on creation.
-rw-r--r--src/nautilus-files-view.c5
-rw-r--r--src/nautilus-rename-file-popover-controller.c8
-rw-r--r--src/nautilus-rename-file-popover-controller.h5
3 files changed, 8 insertions, 10 deletions
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index 1ba862c7a..52e9e6ac4 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -2040,8 +2040,7 @@ nautilus_files_view_rename_file_popover_new (NautilusFilesView *view,
nautilus_rename_file_popover_controller_show_for_file (priv->rename_file_controller,
target_file,
- pointing_to,
- GTK_WIDGET (view));
+ pointing_to);
priv->name_accepted_handler_id = g_signal_connect (priv->rename_file_controller,
"name-accepted",
@@ -9702,7 +9701,7 @@ nautilus_files_view_init (NautilusFilesView *view)
priv->starred_cancellable = g_cancellable_new ();
- priv->rename_file_controller = nautilus_rename_file_popover_controller_new ();
+ priv->rename_file_controller = nautilus_rename_file_popover_controller_new (GTK_WIDGET (view));
nautilus_profile_end (NULL);
}
diff --git a/src/nautilus-rename-file-popover-controller.c b/src/nautilus-rename-file-popover-controller.c
index b5fdbc48c..0f3b3291e 100644
--- a/src/nautilus-rename-file-popover-controller.c
+++ b/src/nautilus-rename-file-popover-controller.c
@@ -272,7 +272,7 @@ target_file_on_changed (NautilusFile *file,
}
NautilusRenameFilePopoverController *
-nautilus_rename_file_popover_controller_new (void)
+nautilus_rename_file_popover_controller_new (GtkWidget *relative_to)
{
NautilusRenameFilePopoverController *self;
g_autoptr (GtkBuilder) builder = NULL;
@@ -304,6 +304,8 @@ nautilus_rename_file_popover_controller_new (void)
gtk_popover_set_default_widget (GTK_POPOVER (rename_file_popover), name_entry);
+ gtk_widget_set_parent (rename_file_popover, relative_to);
+
return self;
}
@@ -318,8 +320,7 @@ nautilus_rename_file_popover_controller_get_target_file (NautilusRenameFilePopov
void
nautilus_rename_file_popover_controller_show_for_file (NautilusRenameFilePopoverController *self,
NautilusFile *target_file,
- GdkRectangle *pointing_to,
- GtkWidget *relative_to)
+ GdkRectangle *pointing_to)
{
g_autoptr (NautilusDirectory) containing_directory = NULL;
GtkEventController *controller;
@@ -374,7 +375,6 @@ nautilus_rename_file_popover_controller_show_for_file (NautilusRenameFilePopov
gtk_editable_set_text (GTK_EDITABLE (self->name_entry), edit_name);
gtk_popover_set_pointing_to (GTK_POPOVER (self->rename_file_popover), pointing_to);
- gtk_widget_set_parent (self->rename_file_popover, relative_to);
gtk_popover_popup (GTK_POPOVER (self->rename_file_popover));
diff --git a/src/nautilus-rename-file-popover-controller.h b/src/nautilus-rename-file-popover-controller.h
index c4627bce5..d9b229ee2 100644
--- a/src/nautilus-rename-file-popover-controller.h
+++ b/src/nautilus-rename-file-popover-controller.h
@@ -28,11 +28,10 @@
#define NAUTILUS_TYPE_RENAME_FILE_POPOVER_CONTROLLER nautilus_rename_file_popover_controller_get_type ()
G_DECLARE_FINAL_TYPE (NautilusRenameFilePopoverController, nautilus_rename_file_popover_controller, NAUTILUS, RENAME_FILE_POPOVER_CONTROLLER, NautilusFileNameWidgetController)
-NautilusRenameFilePopoverController * nautilus_rename_file_popover_controller_new (void);
+NautilusRenameFilePopoverController * nautilus_rename_file_popover_controller_new (GtkWidget *relative_to);
NautilusFile * nautilus_rename_file_popover_controller_get_target_file (NautilusRenameFilePopoverController *controller);
void nautilus_rename_file_popover_controller_show_for_file (NautilusRenameFilePopoverController *controller,
NautilusFile *target_file,
- GdkRectangle *pointing_to,
- GtkWidget *relative_to);
+ GdkRectangle *pointing_to);