From 2724f0ad67355ee42be0a2c8bc41013a54db94e2 Mon Sep 17 00:00:00 2001 From: GetAway Date: Sat, 4 Nov 2017 21:43:17 +0100 Subject: [PATCH] menue.cpp: add reverse search to find selectable item Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/002ef3a1c99e0498378fea02d650e79c48b4f5c3 Author: GetAway Date: 2017-11-04 (Sat, 04 Nov 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/gui/widget/menue.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/gui/widget/menue.cpp b/src/gui/widget/menue.cpp index dc63bab3e..85d55e317 100644 --- a/src/gui/widget/menue.cpp +++ b/src/gui/widget/menue.cpp @@ -1229,9 +1229,9 @@ void CMenuWidget::calcSize() void CMenuWidget::initSelectable() { - int pos = 0; + int pos = 0, npos = 0; if (selected > 0 && selected < (int)items.size()) - pos = selected; + npos = pos = selected; else selected = -1; @@ -1240,7 +1240,15 @@ void CMenuWidget::initSelectable() break; pos++; } - selected = pos; + if (pos == (int)items.size()) { + pos = npos; + while (pos > 1) { + if (items[pos]->isSelectable()) + break; + pos--; + } + } + selected = (pos == 0) ? -1 : pos; } void CMenuWidget::paint()