gui/widget/menue.cpp: check item's direct key only on key events

This commit is contained in:
[CST] Focus
2012-07-17 11:45:28 +04:00
parent 351156539f
commit e295500984

View File

@@ -300,6 +300,7 @@ CMenuWidget::CMenuWidget()
savescreen = false; savescreen = false;
background = NULL; background = NULL;
preselected = -1; preselected = -1;
details_line = NULL;
} }
CMenuWidget::CMenuWidget(const neutrino_locale_t Name, const std::string & Icon, const int mwidth, const mn_widget_id_t &w_index) CMenuWidget::CMenuWidget(const neutrino_locale_t Name, const std::string & Icon, const int mwidth, const mn_widget_id_t &w_index)
@@ -512,14 +513,13 @@ int CMenuWidget::exec(CMenuTarget* parent, const std::string &)
do { do {
if(hasItem() && selected >= 0 && (int)items.size() > selected ) if(hasItem() && selected >= 0 && (int)items.size() > selected )
bAllowRepeatLR = items[selected]->isMenueOptionChooser(); //can_arrow; bAllowRepeatLR = items[selected]->isMenueOptionChooser();
g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd, bAllowRepeatLR); g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd, bAllowRepeatLR);
int handled= false;
if ( msg <= CRCInput::RC_MaxRC ) { if ( msg <= CRCInput::RC_MaxRC ) {
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings::TIMING_MENU]); timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU] == 0 ? 0xFFFF : g_settings.timing[SNeutrinoSettings::TIMING_MENU]);
}
int handled= false;
for (unsigned int i= 0; i< items.size(); i++) { for (unsigned int i= 0; i< items.size(); i++) {
CMenuItem* titem = items[i]; CMenuItem* titem = items[i];
@@ -535,6 +535,7 @@ int CMenuWidget::exec(CMenuTarget* parent, const std::string &)
break; break;
} }
} }
}
if (handled) if (handled)
continue; continue;