Browse Source

fix SD-1738 - Ctrl+Shift+Tab does not work in active files dialog

pull/12/head
eusebiu 15 years ago committed by Daniel Grunwald
parent
commit
c1c9366c88
  1. 5
      src/Libraries/AvalonDock/AvalonDock/DockingManager.cs
  2. 5
      src/Libraries/AvalonDock/AvalonDock/NavigatorWindow.cs
  3. 6
      src/Main/Base/Project/Src/Commands/WindowCommands.cs

5
src/Libraries/AvalonDock/AvalonDock/DockingManager.cs

@ -1054,7 +1054,7 @@ namespace AvalonDock
protected override void OnKeyDown(KeyEventArgs e) protected override void OnKeyDown(KeyEventArgs e)
{ {
bool isCtrlDown = Keyboard.Modifiers == ModifierKeys.Control; bool isCtrlDown = Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl);
bool _navigatorWindowIsVisible = navigatorWindow != null ? navigatorWindow.IsVisible : false; bool _navigatorWindowIsVisible = navigatorWindow != null ? navigatorWindow.IsVisible : false;
Debug.WriteLine(string.Format("OnKeyDn {0} CtrlDn={1}", e.Key, isCtrlDown)); Debug.WriteLine(string.Format("OnKeyDn {0} CtrlDn={1}", e.Key, isCtrlDown));
@ -1078,7 +1078,7 @@ namespace AvalonDock
protected override void OnKeyUp(KeyEventArgs e) protected override void OnKeyUp(KeyEventArgs e)
{ {
bool isCtrlDown = Keyboard.Modifiers == ModifierKeys.Control; bool isCtrlDown = Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl);
bool _navigatorWindowIsVisible = navigatorWindow != null ? navigatorWindow.IsVisible : false; bool _navigatorWindowIsVisible = navigatorWindow != null ? navigatorWindow.IsVisible : false;
Debug.WriteLine(string.Format("OnKeyUp {0} CtrlDn={1}", e.Key, isCtrlDown)); Debug.WriteLine(string.Format("OnKeyUp {0} CtrlDn={1}", e.Key, isCtrlDown));
@ -1087,6 +1087,7 @@ namespace AvalonDock
if (!_navigatorWindowIsVisible && e.Key == Key.Tab) if (!_navigatorWindowIsVisible && e.Key == Key.Tab)
{ {
ShowNavigatorWindow(); ShowNavigatorWindow();
_navigatorWindowIsVisible = true;
} }
if (_navigatorWindowIsVisible) if (_navigatorWindowIsVisible)

5
src/Libraries/AvalonDock/AvalonDock/NavigatorWindow.cs

@ -196,7 +196,10 @@ namespace AvalonDock
{ {
if (key == Key.Tab) if (key == Key.Tab)
{ {
MoveToNextContent(); if (Keyboard.IsKeyDown(Key.LeftShift) || Keyboard.IsKeyDown(Key.RightShift))
MoveToPreviousContent();
else
MoveToNextContent();
return true; return true;
} }
else if (key == Key.Down) else if (key == Key.Down)

6
src/Main/Base/Project/Src/Commands/WindowCommands.cs

@ -11,7 +11,8 @@ namespace ICSharpCode.SharpDevelop.Commands
{ {
public override void Run() public override void Run()
{ {
if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null) { if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null ||
WorkbenchSingleton.Workbench.WorkbenchWindowCollection.Count == 0) {
return; return;
} }
int index = WorkbenchSingleton.Workbench.WorkbenchWindowCollection.IndexOf(WorkbenchSingleton.Workbench.ActiveWorkbenchWindow); int index = WorkbenchSingleton.Workbench.WorkbenchWindowCollection.IndexOf(WorkbenchSingleton.Workbench.ActiveWorkbenchWindow);
@ -23,7 +24,8 @@ namespace ICSharpCode.SharpDevelop.Commands
{ {
public override void Run() public override void Run()
{ {
if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null) { if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null ||
WorkbenchSingleton.Workbench.WorkbenchWindowCollection.Count == 0) {
return; return;
} }
int index = WorkbenchSingleton.Workbench.WorkbenchWindowCollection.IndexOf(WorkbenchSingleton.Workbench.ActiveWorkbenchWindow); int index = WorkbenchSingleton.Workbench.WorkbenchWindowCollection.IndexOf(WorkbenchSingleton.Workbench.ActiveWorkbenchWindow);

Loading…
Cancel
Save