Removed redundant property of current selected item from menu.

This commit is contained in:
23rd 2021-01-19 23:17:41 +03:00
parent 0ce0766b5e
commit fedeac3f08
2 changed files with 11 additions and 12 deletions

View file

@ -281,20 +281,20 @@ void Menu::clearMouseSelection() {
} }
void Menu::setSelected(int selected) { void Menu::setSelected(int selected) {
if (selected >= _actions.size()) { if (selected >= _actionWidgets.size()) {
selected = -1; selected = -1;
} }
if (_selected != selected) { const auto source = _mouseSelection
const auto source = _mouseSelection ? TriggeredSource::Mouse
? TriggeredSource::Mouse : TriggeredSource::Keyboard;
: TriggeredSource::Keyboard; if (const auto selectedItem = findSelectedAction()) {
if (_selected >= 0) { if (selectedItem->index() == selected) {
_actionWidgets[_selected]->setSelected(false, source); return;
}
_selected = selected;
if (_selected >= 0) {
_actionWidgets[_selected]->setSelected(true, source);
} }
selectedItem->setSelected(false, source);
}
if (selected >= 0) {
_actionWidgets[selected]->setSelected(true, source);
} }
} }

View file

@ -119,7 +119,6 @@ private:
bool _mouseSelection = false; bool _mouseSelection = false;
int _selected = -1;
bool _childShown = false; bool _childShown = false;
rpl::event_stream<> _resizesFromInner; rpl::event_stream<> _resizesFromInner;