[gnome-builder] ls: be more kind about frame positioning
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] ls: be more kind about frame positioning
- Date: Fri, 3 May 2019 02:48:06 +0000 (UTC)
commit d28ff61f1b1b874e1f6c8e3e283b12de952ff0d3
Author: Christian Hergert <chergert redhat com>
Date: Thu May 2 19:47:17 2019 -0700
ls: be more kind about frame positioning
src/plugins/ls/gbp-ls-workbench-addin.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/src/plugins/ls/gbp-ls-workbench-addin.c b/src/plugins/ls/gbp-ls-workbench-addin.c
index ccf5433fe..c25fbf849 100644
--- a/src/plugins/ls/gbp-ls-workbench-addin.c
+++ b/src/plugins/ls/gbp-ls-workbench-addin.c
@@ -89,7 +89,9 @@ gbp_ls_workbench_addin_open_async (IdeWorkbenchAddin *addin,
g_autoptr(IdeTask) task = NULL;
IdeWorkspace *workspace;
IdeSurface *surface;
+ GtkWidget *current_frame;
GbpLsPage *view;
+ IdePage *current_page;
LocateView locate = { 0 };
g_assert (GBP_IS_LS_WORKBENCH_ADDIN (self));
@@ -114,11 +116,18 @@ gbp_ls_workbench_addin_open_async (IdeWorkbenchAddin *addin,
return;
}
+ current_page = ide_workspace_get_most_recent_page (workspace);
+ current_frame = gtk_widget_get_ancestor (GTK_WIDGET (current_page), IDE_TYPE_FRAME);
+
view = g_object_new (GBP_TYPE_LS_PAGE,
"close-on-activate", TRUE,
"visible", TRUE,
NULL);
- gtk_container_add (GTK_CONTAINER (surface), GTK_WIDGET (view));
+ if (current_frame != NULL)
+ gtk_container_add (GTK_CONTAINER (current_frame), GTK_WIDGET (view));
+ else
+ gtk_container_add (GTK_CONTAINER (surface), GTK_WIDGET (view));
+ ide_widget_reveal_and_grab (GTK_WIDGET (view));
gbp_ls_page_set_directory (view, file);
ide_task_return_boolean (task, TRUE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]