mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-07-31 20:12:02 +08:00
ComboBoxes: The left/right arrow behaves like cursor navigation when the control is editable.
This commit is contained in:
parent
8bd5243b2b
commit
9cb9d3e90c
@ -315,18 +315,38 @@ void ComboBox::keyDown(wxKeyEvent& event)
|
|||||||
GetEventHandler()->ProcessEvent(e);
|
GetEventHandler()->ProcessEvent(e);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case WXK_UP:
|
case WXK_UP: {
|
||||||
case WXK_DOWN:
|
if (GetSelection() > 0)
|
||||||
case WXK_LEFT:
|
|
||||||
case WXK_RIGHT:
|
|
||||||
if ((event.GetKeyCode() == WXK_UP || event.GetKeyCode() == WXK_LEFT) && GetSelection() > 0) {
|
|
||||||
SetSelection(GetSelection() - 1);
|
SetSelection(GetSelection() - 1);
|
||||||
} else if ((event.GetKeyCode() == WXK_DOWN || event.GetKeyCode() == WXK_RIGHT) && GetSelection() + 1 < int(texts.size())) {
|
break;
|
||||||
|
}
|
||||||
|
case WXK_DOWN: {
|
||||||
|
if (GetSelection() + 1 < int(texts.size()))
|
||||||
SetSelection(GetSelection() + 1);
|
SetSelection(GetSelection() + 1);
|
||||||
} else {
|
break;
|
||||||
|
}
|
||||||
|
case WXK_LEFT: {
|
||||||
|
if (HasFlag(wxCB_READONLY)) {
|
||||||
|
if(GetSelection() > 0)
|
||||||
|
SetSelection(GetSelection() - 1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
const auto pos = GetTextCtrl()->GetInsertionPoint();
|
||||||
|
if(pos > 0)
|
||||||
|
GetTextCtrl()->SetInsertionPoint(pos - 1);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
case WXK_RIGHT: {
|
||||||
|
if (HasFlag(wxCB_READONLY)) {
|
||||||
|
if (GetSelection() + 1 < int(texts.size()))
|
||||||
|
SetSelection(GetSelection() + 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
const size_t pos = size_t(GetTextCtrl()->GetInsertionPoint());
|
||||||
|
if (pos < GetLabel().Length())
|
||||||
|
GetTextCtrl()->SetInsertionPoint(pos + 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case WXK_TAB:
|
case WXK_TAB:
|
||||||
HandleAsNavigationKey(event);
|
HandleAsNavigationKey(event);
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user