Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <llsan@microsoft.com>2017-08-17 15:05:32 +0300
committerGitHub <noreply@github.com>2017-08-17 15:05:32 +0300
commit937feef24e2d1caad12f34780602b39a33c44ece (patch)
treea7eeceb7799898c2504f89db8a32ef84eeb4e929
parent0d0f8b67319734d0084cabac0e9cf1b5ae1ebea1 (diff)
parentc9db1a926f886525e6252ab116fa5458bc2d8fa3 (diff)
Merge pull request #2747 from iainx/fix-editor-focus-d15-4monodevelop-7.2.0.540
[A11y] Fix the keyboard focus on the editor
-rw-r--r--main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs1
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/SdiWorkspaceWindow.cs35
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs1
3 files changed, 34 insertions, 3 deletions
diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs
index 579854ddc2..70bfadff65 100644
--- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs
+++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs
@@ -236,6 +236,7 @@ namespace MonoDevelop.SourceEditor
scrolledBackground = new EventBox ();
scrolledBackground.Accessible.SetShouldIgnore (true);
scrolledWindow = new CompactScrolledWindow ();
+ scrolledWindow.CanFocus = false;
scrolledWindow.ButtonPressEvent += PrepareEvent;
scrolledWindow.Accessible.SetShouldIgnore (true);
scrolledBackground.Add (scrolledWindow);
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/SdiWorkspaceWindow.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/SdiWorkspaceWindow.cs
index 08f596c6aa..b887e4d0da 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/SdiWorkspaceWindow.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/SdiWorkspaceWindow.cs
@@ -354,11 +354,42 @@ namespace MonoDevelop.Ide.Gui
static IEnumerable<Gtk.Widget> GetFocussableWidgets (Gtk.Widget widget)
{
var c = widget as Container;
- if (widget.CanFocus)
+
+ if (widget.CanFocus) {
yield return widget;
+ }
+
if (c != null) {
- foreach (var f in c.FocusChain.SelectMany (GetFocussableWidgets).Where (y => y != null))
+ foreach (var f in c.FocusChain.SelectMany (GetFocussableWidgets).Where (y => y != null)) {
yield return f;
+ }
+ }
+
+ if (c?.Children?.Length != 0) {
+ foreach (var f in c.Children) {
+ var container = f as Container;
+ if (container != null) {
+ foreach (var child in GetFocussableChildren (container)) {
+ yield return child;
+ }
+ }
+ }
+ }
+ }
+
+ static IEnumerable<Gtk.Widget> GetFocussableChildren (Gtk.Container container)
+ {
+ if (container.CanFocus) {
+ yield return container;
+ }
+
+ foreach (var f in container.Children) {
+ var c = f as Container;
+ if (c != null) {
+ foreach (var child in GetFocussableChildren (c)) {
+ yield return child;
+ }
+ }
}
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs
index 9a9944290d..a1c6bb1584 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs
@@ -585,7 +585,6 @@ namespace MonoDevelop.Ide.Gui
if (info.Options.HasFlag (OpenDocumentOptions.BringToFront)) {
doc.Select ();
- doc.Window.SelectWindow ();
NavigationHistoryService.LogActiveDocument ();
}
return doc;