close #150 Use tab to cycle switch candidates

This commit is contained in:
qianlifeng
2014-08-19 15:21:26 +08:00
parent 0e5155c85a
commit e91e4042ba

View File

@@ -492,17 +492,25 @@ namespace Wox
e.Handled = true; e.Handled = true;
break; break;
case Key.Tab:
if (globalHotkey.CheckModifiers().ShiftPressed)
{
SelectPrevItem();
}
else
{
SelectNextItem();
}
e.Handled = true;
break;
case Key.Down: case Key.Down:
resultCtrl.SelectNext(); SelectNextItem();
if (IsCMDMode) updateCmdMode();
toolTip.IsOpen = false;
e.Handled = true; e.Handled = true;
break; break;
case Key.Up: case Key.Up:
resultCtrl.SelectPrev(); SelectPrevItem();
if (IsCMDMode) updateCmdMode();
toolTip.IsOpen = false;
e.Handled = true; e.Handled = true;
break; break;
@@ -536,13 +544,26 @@ namespace Wox
break; break;
case Key.Enter: case Key.Enter:
case Key.Tab:
AcceptSelect(resultCtrl.GetActiveResult()); AcceptSelect(resultCtrl.GetActiveResult());
e.Handled = true; e.Handled = true;
break; break;
} }
} }
private void SelectPrevItem()
{
resultCtrl.SelectPrev();
if (IsCMDMode) updateCmdMode();
toolTip.IsOpen = false;
}
private void SelectNextItem()
{
resultCtrl.SelectNext();
if (IsCMDMode) updateCmdMode();
toolTip.IsOpen = false;
}
private void AcceptSelect(Result result) private void AcceptSelect(Result result)
{ {
if (!resultCtrl.Dirty && result != null) if (!resultCtrl.Dirty && result != null)
@@ -551,7 +572,7 @@ namespace Wox
{ {
bool hideWindow = result.Action(new ActionContext() bool hideWindow = result.Action(new ActionContext()
{ {
SpecialKeyState = new GlobalHotkey().CheckModifiers() SpecialKeyState = globalHotkey.CheckModifiers()
}); });
if (hideWindow) if (hideWindow)
{ {