[gnome-builder] editor: possibly change perspectives when focusing buffer



commit f54a355f64d0d16897562217e19d7cb21202d8b1
Author: Christian Hergert <chergert redhat com>
Date:   Fri Dec 25 21:30:57 2015 -0800

    editor: possibly change perspectives when focusing buffer

 libide/editor/ide-editor-perspective.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/libide/editor/ide-editor-perspective.c b/libide/editor/ide-editor-perspective.c
index edb143a..f56f27b 100644
--- a/libide/editor/ide-editor-perspective.c
+++ b/libide/editor/ide-editor-perspective.c
@@ -151,6 +151,7 @@ ide_editor_perspective_load_buffer (IdeEditorPerspective *self,
 {
   IdeEditorView *view;
   GtkWidget *stack;
+  IdeWorkbench *workbench;
 
   g_assert (IDE_IS_EDITOR_PERSPECTIVE (self));
   g_assert (IDE_IS_BUFFER (buffer));
@@ -167,7 +168,8 @@ ide_editor_perspective_load_buffer (IdeEditorPerspective *self,
 
   gtk_container_add (GTK_CONTAINER (stack), GTK_WIDGET (view));
 
-  gtk_widget_grab_focus (GTK_WIDGET (view));
+  workbench = ide_widget_get_workbench (GTK_WIDGET (stack));
+  ide_workbench_focus (workbench, GTK_WIDGET (view));
 }
 
 static void
@@ -193,9 +195,13 @@ ide_editor_perspective_locate_buffer (GtkWidget *view,
 
           if (stack != NULL)
             {
+              IdeWorkbench *workbench;
+
               ide_layout_stack_set_active_view (IDE_LAYOUT_STACK (stack), view);
-              gtk_widget_grab_focus (GTK_WIDGET (view));
               *buffer = NULL;
+
+              workbench = ide_widget_get_workbench (GTK_WIDGET (stack));
+              ide_workbench_focus (workbench, GTK_WIDGET (view));
             }
         }
     }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]