diff --git a/src/gui/widget/menue.cpp b/src/gui/widget/menue.cpp index ec49478e2..d0450e1e6 100644 --- a/src/gui/widget/menue.cpp +++ b/src/gui/widget/menue.cpp @@ -1038,6 +1038,8 @@ int CMenuWidget::exec(CMenuTarget* parent, const std::string &) } case (CRCInput::RC_left): case (CRCInput::RC_right): + case (CRCInput::RC_prev): + case (CRCInput::RC_next): case (CRCInput::RC_ok): if (hasItem() && selected > -1 && (int)items.size() > selected) { #ifdef ENABLE_GRAPHLCD @@ -1049,6 +1051,10 @@ int CMenuWidget::exec(CMenuTarget* parent, const std::string &) //exec this item... CMenuItem* item = items[selected]; + if ((msg == CRCInput::RC_prev || msg == CRCInput::RC_next) && + !item->isMenueOptionChooser()) { + continue; + } if (msg == CRCInput::RC_left && g_settings.menu_left_exit && !item->isMenueOptionChooser()) { msg = CRCInput::RC_timeout; @@ -1841,6 +1847,20 @@ int CMenuOptionNumberChooser::exec(CMenuTarget*) else if (*optionValue < lower_bound) *optionValue = lower_bound; res = menu_return::RETURN_REPAINT; + } else if (msg == CRCInput::RC_prev || msg == CRCInput::RC_next) + { + if (msg == CRCInput::RC_next) + { + (*optionValue) += 10; + if ((*optionValue) > upper_bound) + *optionValue = upper_bound; + } + else + { + (*optionValue) -= 10; + if ((*optionValue) < lower_bound) + *optionValue = lower_bound; + } } else { if (((*optionValue) >= upper_bound) || ((*optionValue) < lower_bound)) *optionValue = lower_bound;