From d458d98805af10832caa191ea76f13a60b0a3d3f Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Mon, 3 Jan 2022 22:32:25 +0100 Subject: [PATCH] - change RC_back handling; its not longer translated to RC_home Conflicts: src/gui/hdd_info.cpp src/neutrino.cpp Signed-off-by: Thilo Graf --- src/driver/moviecut.cpp | 3 ++- src/driver/rcinput.cpp | 4 +-- src/driver/volume.cpp | 2 +- src/gui/audioplayer.cpp | 6 ++--- src/gui/bedit/bouqueteditor_chanselect.cpp | 2 +- src/gui/bookmarkmanager.cpp | 2 +- src/gui/channellist.cpp | 4 +-- src/gui/components/cc_frm.cpp | 1 + src/gui/components/cc_frm.h | 4 +-- src/gui/components/cc_frm_window.h | 2 +- src/gui/dboxinfo.cpp | 2 +- src/gui/epgplus.cpp | 2 +- src/gui/filebrowser.cpp | 6 ++--- src/gui/hdd_menu.cpp | 2 +- src/gui/infoviewer.cpp | 2 +- src/gui/lua/lua_hintbox.cpp | 2 +- src/gui/motorcontrol.cpp | 2 +- src/gui/moviebrowser/mb.cpp | 4 +-- src/gui/movieplayer.cpp | 2 +- src/gui/osd_setup.cpp | 2 +- src/gui/pictureviewer.cpp | 2 +- src/gui/pipsetup.cpp | 4 +-- src/gui/psisetup.cpp | 1 + src/gui/quadpip_setup.cpp | 2 +- src/gui/scan.cpp | 2 +- src/gui/screensetup.cpp | 1 + src/gui/streaminfo2.cpp | 2 +- src/gui/test_menu.cpp | 2 +- src/gui/timerlist.cpp | 4 +-- src/gui/upnpbrowser.cpp | 8 +++--- src/gui/widget/colorchooser.cpp | 1 + src/gui/widget/hintbox.cpp | 2 +- src/gui/widget/keyboard_input.cpp | 2 +- src/gui/widget/listbox.cpp | 3 +-- src/gui/widget/menue.cpp | 1 + src/gui/widget/msgbox.cpp | 8 ++++-- src/gui/widget/shellwindow.cpp | 2 +- src/gui/widget/stringinput.cpp | 4 +-- src/gui/widget/stringinput_ext.cpp | 2 +- src/gui/widget/termwindow.cpp | 4 +-- src/neutrino.cpp | 29 ++++++++++++++++++++-- src/neutrino.h | 2 ++ 42 files changed, 89 insertions(+), 55 deletions(-) diff --git a/src/driver/moviecut.cpp b/src/driver/moviecut.cpp index 749053023..b4072f6f9 100644 --- a/src/driver/moviecut.cpp +++ b/src/driver/moviecut.cpp @@ -294,7 +294,8 @@ int CMovieCut::getInput() neutrino_msg_t msg; int retval = 0; g_RCInput->getMsg(&msg, &data, 1, false); - if (msg == CRCInput::RC_home) { + if (CNeutrinoApp::getInstance()->backKey(msg)) + { if (ShowMsg(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIECUT_CANCEL, CMsgBox::mbrNo, CMsgBox::mbYes | CMsgBox::mbNo) == CMsgBox::mbrYes) retval |= 4; } diff --git a/src/driver/rcinput.cpp b/src/driver/rcinput.cpp index 758dcc997..bac82c517 100644 --- a/src/driver/rcinput.cpp +++ b/src/driver/rcinput.cpp @@ -415,7 +415,7 @@ int CRCInput::messageLoop( bool anyKeyCancels, int timeout ) g_RCInput->getMsgAbsoluteTimeout( &msg, &data, &timeoutEnd ); if ( ( msg == CRCInput::RC_timeout ) || - ( msg == CRCInput::RC_home ) || + CNeutrinoApp::getInstance()->backKey(msg) || ( msg == CRCInput::RC_ok ) ) doLoop = false; else if (CNeutrinoApp::getInstance()->listModeKey(msg)) { @@ -1770,8 +1770,6 @@ int CRCInput::translate(int code) return RC_favorites; case KEY_TV2: return RC_tv; - case KEY_BACK: - return RC_home; #elif BOXMODEL_OSMIO4K || BOXMODEL_OSMIO4KPLUS case KEY_VIDEO: return RC_mode; diff --git a/src/driver/volume.cpp b/src/driver/volume.cpp index e6c1def00..1548ae973 100644 --- a/src/driver/volume.cpp +++ b/src/driver/volume.cpp @@ -178,7 +178,7 @@ void CVolume::setVolume(const neutrino_msg_t key) #endif } } - else if (msg == CRCInput::RC_home) + else if (CNeutrinoApp::getInstance()->backKey(msg)) break; else { g_RCInput->postMsg(msg, data); diff --git a/src/gui/audioplayer.cpp b/src/gui/audioplayer.cpp index bce595af3..4eb9b33ea 100644 --- a/src/gui/audioplayer.cpp +++ b/src/gui/audioplayer.cpp @@ -458,7 +458,7 @@ int CAudioPlayerGui::show() } } - if (msg == CRCInput::RC_home) + if (CNeutrinoApp::getInstance()->backKey(msg)) { if (m_state == CAudioPlayerGui::STOP) loop=false; @@ -1287,7 +1287,7 @@ void CAudioPlayerGui::scanXmlData(xmlDocPtr answer_parser, const char *urltag, c neutrino_msg_t msg; neutrino_msg_data_t data; g_RCInput->getMsg(&msg, &data, 0); - while (element && msg != CRCInput::RC_home) + while (element && !CNeutrinoApp::getInstance()->backKey(msg)) { const char *ptr = NULL; const char *name = NULL; @@ -1605,7 +1605,7 @@ bool CAudioPlayerGui::openSCbrowser(void) neutrino_msg_t msg; neutrino_msg_data_t data; g_RCInput->getMsg(&msg, &data, 0); - for (; (files != filebrowser.getSelectedFiles().end()) && (msg != CRCInput::RC_home); ++files) + for (; (files != filebrowser.getSelectedFiles().end()) && (!CNeutrinoApp::getInstance()->backKey(msg)); ++files) { //if (maxProgress > SHOW_FILE_LOAD_LIMIT) { diff --git a/src/gui/bedit/bouqueteditor_chanselect.cpp b/src/gui/bedit/bouqueteditor_chanselect.cpp index dcb87a9ca..4a84b925f 100644 --- a/src/gui/bedit/bouqueteditor_chanselect.cpp +++ b/src/gui/bedit/bouqueteditor_chanselect.cpp @@ -256,7 +256,7 @@ int CBEChannelSelectWidget::exec(CMenuTarget* parent, const std::string & /*acti if (msg <= CRCInput::RC_MaxRC) timeoutEnd = CRCInput::calcTimeoutEnd(*timeout_ptr); - if ((msg == CRCInput::RC_timeout) || (msg == (neutrino_msg_t)g_settings.key_channelList_cancel) || (msg == CRCInput::RC_home)) + if ((msg == CRCInput::RC_timeout) || (msg == (neutrino_msg_t)g_settings.key_channelList_cancel) || (CNeutrinoApp::getInstance()->backKey(msg))) { loop = false; } diff --git a/src/gui/bookmarkmanager.cpp b/src/gui/bookmarkmanager.cpp index a543b72da..b7851e6b9 100644 --- a/src/gui/bookmarkmanager.cpp +++ b/src/gui/bookmarkmanager.cpp @@ -265,7 +265,7 @@ const CBookmark *CBookmarkManager::getBookmark(CMenuTarget *parent) timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_MENU]); if ((msg == CRCInput::RC_timeout) || - (msg == CRCInput::RC_home)) + (CNeutrinoApp::getInstance()->backKey(msg))) { // Exit after timeout or cancel key res = -1; diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index 27178333f..141cae311 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -1447,7 +1447,7 @@ int CChannelList::numericZap(int key) chn /= 10; } } - else if (msg == CRCInput::RC_home) + else if (CNeutrinoApp::getInstance()->backKey(msg)) { break; } @@ -1571,7 +1571,7 @@ void CChannelList::virtual_zap_mode(bool up) else if (msg == CRCInput::RC_up || msg == CRCInput::RC_down) { epgpos = (msg == CRCInput::RC_up) ? -1 : 1; } - else if ((msg == CRCInput::RC_ok) || (msg == CRCInput::RC_home) || (msg == CRCInput::RC_timeout)) { + else if ((msg == CRCInput::RC_ok) || (CNeutrinoApp::getInstance()->backKey(msg)) || (msg == CRCInput::RC_timeout)) { if(msg == CRCInput::RC_ok) doZap = true; break; diff --git a/src/gui/components/cc_frm.cpp b/src/gui/components/cc_frm.cpp index 9432c78e4..647bd2162 100644 --- a/src/gui/components/cc_frm.cpp +++ b/src/gui/components/cc_frm.cpp @@ -61,6 +61,7 @@ CComponentsForm::CComponentsForm( const int x_pos, const int y_pos, const int w, //add default exit keys for exec handler v_exit_keys.push_back(CRCInput::RC_home); + v_exit_keys.push_back(CRCInput::RC_back); v_exit_keys.push_back(CRCInput::RC_setup); v_cc_items.clear(); diff --git a/src/gui/components/cc_frm.h b/src/gui/components/cc_frm.h index abe0bcfcb..595457636 100644 --- a/src/gui/components/cc_frm.h +++ b/src/gui/components/cc_frm.h @@ -59,7 +59,7 @@ class CComponentsForm : public CComponentsItem ///enable/disable page scrolling, default enabled with page scroll mode up/down keys, see also enablePageScroll() int page_scroll_mode; - ///container for exit keys, default exit keys are CRCInput::RC_home and CRCInput::RC_setup + ///container for exit keys, default exit keys are CRCInput::RC_home, CRCInput::RC_back and CRCInput::RC_setup std::vector v_exit_keys; ///initialize basic properties @@ -269,7 +269,7 @@ class CComponentsForm : public CComponentsItem ///exec main method, see also sub exec methods int exec(); - ///adds additional exec key to current collection, default exit keys are CRCInput::RC_home and CRCInput::RC_setup + ///adds additional exec key to current collection, default exit keys are CRCInput::RC_home, CRCInput::RC_back and CRCInput::RC_setup void addExitKey(const neutrino_msg_t& key){v_exit_keys.push_back(key);} ///remove all current exec keys from current collection, NOTE: use addExitKey() if new exec key is required void removeExitKeys(){v_exit_keys.clear();} diff --git a/src/gui/components/cc_frm_window.h b/src/gui/components/cc_frm_window.h index 968da1fd4..1903c5927 100644 --- a/src/gui/components/cc_frm_window.h +++ b/src/gui/components/cc_frm_window.h @@ -433,7 +433,7 @@ class CComponentsWindow : public CComponentsForm, CCHeaderTypes void paint(const bool &do_save_bg = CC_SAVE_SCREEN_YES); /** - * Adds an additional exec key to current collection, default exit keys are CRCInput::RC_home and CRCInput::RC_setup + * Adds an additional exec key to current collection, default exit keys are CRCInput::RC_home, CRCInput::RC_back and CRCInput::RC_setup * @param[in] key * @li expects type const neutrino_msg_t& * @see river/rcinput.h for possible keys diff --git a/src/gui/dboxinfo.cpp b/src/gui/dboxinfo.cpp index 3be090a43..d94e47af4 100644 --- a/src/gui/dboxinfo.cpp +++ b/src/gui/dboxinfo.cpp @@ -133,7 +133,7 @@ int CDBoxInfoWidget::exec(CMenuTarget* parent, const std::string &) paint(); } else if ( ( msg == CRCInput::RC_timeout ) || - ( msg == CRCInput::RC_home ) || + ( CNeutrinoApp::getInstance()->backKey(msg) ) || ( msg == CRCInput::RC_ok ) ) { if(fader.StartFadeOut()) { timeoutEnd = CRCInput::calcTimeoutEnd(1); diff --git a/src/gui/epgplus.cpp b/src/gui/epgplus.cpp index 5efbe0b02..33ebfdefb 100644 --- a/src/gui/epgplus.cpp +++ b/src/gui/epgplus.cpp @@ -1326,7 +1326,7 @@ int EpgPlus::exec(CChannelList *pchannelList, int selectedChannelIndex, CBouquet } } } - else if (msg == CRCInput::RC_home) + else if (CNeutrinoApp::getInstance()->backKey(msg)) { loop = false; res = menu_return::RETURN_EXIT_ALL; diff --git a/src/gui/filebrowser.cpp b/src/gui/filebrowser.cpp index 2441836ed..7b9a1c8b3 100644 --- a/src/gui/filebrowser.cpp +++ b/src/gui/filebrowser.cpp @@ -666,7 +666,7 @@ bool CFileBrowser::exec(const char * const dirname) ChangeDir(Path); } } - else if (msg == CRCInput::RC_home) + else if (CNeutrinoApp::getInstance()->backKey(msg)) { loop = false; } @@ -969,7 +969,7 @@ bool CFileBrowser::playlist_manager(CFileList &playlist, unsigned int playing, b m_SMSKeyInput.resetOldKey(); paintSMSKey(); } - if (msg == CRCInput::RC_home) + if (CNeutrinoApp::getInstance()->backKey(msg)) { loop = false; } @@ -1125,7 +1125,7 @@ void CFileBrowser::addRecursiveDir(CFileList * re_filelist, std::string rpath, b if (bRootCall) bCancel=false; g_RCInput->getMsg_us(&msg, &data, 1); - if (msg==CRCInput::RC_home) + if (CNeutrinoApp::getInstance()->backKey(msg)) { // home key cancel scan bCancel=true; diff --git a/src/gui/hdd_menu.cpp b/src/gui/hdd_menu.cpp index e3ca0dffe..7176ec084 100644 --- a/src/gui/hdd_menu.cpp +++ b/src/gui/hdd_menu.cpp @@ -1343,7 +1343,7 @@ int CHDDMenuHandler::checkDevice(std::string dev) while (loop) { g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd); - if (msg == CRCInput::RC_timeout || msg == CRCInput::RC_ok || msg == CRCInput::RC_home) + if (msg == CRCInput::RC_timeout || msg == CRCInput::RC_ok || CNeutrinoApp::getInstance()->backKey(msg)) loop = false; } diff --git a/src/gui/infoviewer.cpp b/src/gui/infoviewer.cpp index 40eb10db8..eddad7b03 100644 --- a/src/gui/infoviewer.cpp +++ b/src/gui/infoviewer.cpp @@ -1153,7 +1153,7 @@ void CInfoViewer::loop(bool show_dot) } else if ((msg == NeutrinoMessages::EVT_TIMER) && (data == fader.GetFadeTimer())) { if(fader.FadeDone()) res = messages_return::cancel_info; - } else if ((msg == CRCInput::RC_ok) || (msg == CRCInput::RC_home) || (msg == CRCInput::RC_timeout)) { + } else if ((msg == CRCInput::RC_ok) || (CNeutrinoApp::getInstance()->backKey(msg)) || (msg == CRCInput::RC_timeout)) { if ((g_settings.mode_left_right_key_tv == SNeutrinoSettings::VZAP) && (msg == CRCInput::RC_ok)) { if (fileplay) diff --git a/src/gui/lua/lua_hintbox.cpp b/src/gui/lua/lua_hintbox.cpp index d1c042c5b..4a3808385 100644 --- a/src/gui/lua/lua_hintbox.cpp +++ b/src/gui/lua/lua_hintbox.cpp @@ -147,7 +147,7 @@ int CLuaInstHintbox::HintboxExec(lua_State *L) if ((msg == CRCInput::RC_timeout) || (msg == CRCInput::RC_ok)) res = messages_return::cancel_info; - else if (msg == CRCInput::RC_home) + else if (CNeutrinoApp::getInstance()->backKey(msg)) res = messages_return::cancel_all; else if (/*(D->b->has_scrollbar()) &&*/ ((msg == CRCInput::RC_up) || (msg == CRCInput::RC_down))) { if (msg == CRCInput::RC_up) diff --git a/src/gui/motorcontrol.cpp b/src/gui/motorcontrol.cpp index 6ef0ac6e1..ecaf6b69c 100644 --- a/src/gui/motorcontrol.cpp +++ b/src/gui/motorcontrol.cpp @@ -147,7 +147,7 @@ int CMotorControl::exec(CMenuTarget* parent, const std::string &) paintStatus(); msg = CRCInput::RC_nokey; - while (!(msg == CRCInput::RC_setup) && (!(msg == CRCInput::RC_home))) + while (!(msg == CRCInput::RC_setup) && (!CNeutrinoApp::getInstance()->backKey(msg))) { uint64_t timeoutEnd = CRCInput::calcTimeoutEnd_MS(100 /*250*/); g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd); diff --git a/src/gui/moviebrowser/mb.cpp b/src/gui/moviebrowser/mb.cpp index 4651e55ad..19634e086 100644 --- a/src/gui/moviebrowser/mb.cpp +++ b/src/gui/moviebrowser/mb.cpp @@ -1161,7 +1161,7 @@ int CMovieBrowser::exec(const char* path) hintBox.hide(); } } - else if (msg == CRCInput::RC_home) + else if (CNeutrinoApp::getInstance()->backKey(msg)) { loop = false; } @@ -2169,7 +2169,7 @@ bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg) } } } - else if (msg == CRCInput::RC_home) + else if (CNeutrinoApp::getInstance()->backKey(msg)) { if (m_settings.gui == MB_GUI_FILTER) onSetGUIWindow(MB_GUI_MOVIE_INFO); diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index abd18d89b..bee9c1cd3 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -932,7 +932,7 @@ void *CMoviePlayerGui::ShowStartHint(void *arg) neutrino_msg_t msg = 0; neutrino_msg_data_t data = 0; g_RCInput->getMsg(&msg, &data, 1); - if (msg == CRCInput::RC_home || msg == CRCInput::RC_stop) { + if (CNeutrinoApp::getInstance()->backKey(msg) || msg == CRCInput::RC_stop) { caller->playback->RequestAbort(); } #if 0 diff --git a/src/gui/osd_setup.cpp b/src/gui/osd_setup.cpp index 3e4b7abc6..a6f265813 100644 --- a/src/gui/osd_setup.cpp +++ b/src/gui/osd_setup.cpp @@ -340,7 +340,7 @@ int COsdSetup::exec(CMenuTarget* parent, const std::string &actionKey) CNeutrinoApp::getInstance()->channelList->ResetModules(); break; } - else if ((msg == CRCInput::RC_home) || (msg == CRCInput::RC_timeout)) + else if (CNeutrinoApp::getInstance()->backKey(msg) || (msg == CRCInput::RC_timeout)) { g_settings.window_width = old_window_width; g_settings.window_height = old_window_height; diff --git a/src/gui/pictureviewer.cpp b/src/gui/pictureviewer.cpp index fab532e06..ffc2ffb39 100644 --- a/src/gui/pictureviewer.cpp +++ b/src/gui/pictureviewer.cpp @@ -300,7 +300,7 @@ int CPictureViewerGui::show() } g_RCInput->getMsg( &msg, &data, timeout ); - if ( msg == CRCInput::RC_home) + if (CNeutrinoApp::getInstance()->backKey(msg)) { //Exit after cancel key if (m_state!=MENU) { diff --git a/src/gui/pipsetup.cpp b/src/gui/pipsetup.cpp index 4d188d98c..000bfb12d 100644 --- a/src/gui/pipsetup.cpp +++ b/src/gui/pipsetup.cpp @@ -139,12 +139,12 @@ int CPipSetup::exec(CMenuTarget* parent, const std::string &) (msg == CRCInput::RC_timeout) || (msg == CRCInput::RC_ok)) { loop = false; break; - } else if ((msg == CRCInput::RC_home) || (msg == CRCInput::RC_spkr)) { + } else if (CNeutrinoApp::getInstance()->backKey(msg) || (msg == CRCInput::RC_spkr)) { clear(); move(oldx, oldy, true); resize(oldw, oldh, true); paint(); - if (msg == CRCInput::RC_home) + if (CNeutrinoApp::getInstance()->backKey(msg)) loop = false; } else if ((msg == CRCInput::RC_up) || (msg == CRCInput::RC_down)) { clear(); diff --git a/src/gui/psisetup.cpp b/src/gui/psisetup.cpp index 82adcb741..7c7fa0c7c 100644 --- a/src/gui/psisetup.cpp +++ b/src/gui/psisetup.cpp @@ -217,6 +217,7 @@ int CPSISetup::exec (CMenuTarget * parent, const std::string &) videoDecoder->SetControl(psi_list[selected].control, psi_list[selected].value); } break; + case CRCInput::RC_back: case CRCInput::RC_home: // exit -> revert changes for (i = 0; (i < PSI_RESET) && (psi_list[i].value == psi_list[i].value_old); i++); if (ShowMsg(name, LOCALE_MESSAGEBOX_ACCEPT, CMsgBox::mbrYes, CMsgBox::mbYes | CMsgBox::mbCancel) == CMsgBox::mbrCancel) diff --git a/src/gui/quadpip_setup.cpp b/src/gui/quadpip_setup.cpp index 64d86ff46..254cc106c 100644 --- a/src/gui/quadpip_setup.cpp +++ b/src/gui/quadpip_setup.cpp @@ -416,7 +416,7 @@ int CQuadPiPSetupSelectChannelWidget::exec(CMenuTarget *parent, const std::strin res = menu_return::RETURN_EXIT_ALL; break; } - else if ((msg == CRCInput::RC_home) || (msg == CRCInput::RC_timeout)) + else if (CNeutrinoApp::getInstance()->backKey(msg) || (msg == CRCInput::RC_timeout)) { // exit - back to menu loop = false; diff --git a/src/gui/scan.cpp b/src/gui/scan.cpp index ec98b17cb..8954e770a 100644 --- a/src/gui/scan.cpp +++ b/src/gui/scan.cpp @@ -350,7 +350,7 @@ int CScanTs::exec(CMenuTarget* /*parent*/, const std::string & actionKey) msg = CRCInput::RC_timeout; } - else if(msg == CRCInput::RC_home) { + else if (CNeutrinoApp::getInstance()->backKey(msg)) { if(manual && !scansettings.scan_nit_manual) continue; canceled = false; diff --git a/src/gui/screensetup.cpp b/src/gui/screensetup.cpp index 1cc71a9aa..f3209a0aa 100644 --- a/src/gui/screensetup.cpp +++ b/src/gui/screensetup.cpp @@ -169,6 +169,7 @@ int CScreenSetup::exec(CMenuTarget *parent, const std::string &) break; } + case CRCInput::RC_back: case CRCInput::RC_home: if (((g_settings.screen_StartX != x_coord[0]) || (g_settings.screen_EndX != x_coord[1]) || diff --git a/src/gui/streaminfo2.cpp b/src/gui/streaminfo2.cpp index a7bfe77c1..f6e4c0137 100644 --- a/src/gui/streaminfo2.cpp +++ b/src/gui/streaminfo2.cpp @@ -563,7 +563,7 @@ int CStreamInfo2::doSignalStrengthLoop() repaint_bitrate = true; continue; } - else if (msg == CRCInput::RC_setup || msg == CRCInput::RC_home) + else if (msg == CRCInput::RC_setup || CNeutrinoApp::getInstance()->backKey(msg)) { res = menu_return::RETURN_EXIT_ALL; fadeout = true; diff --git a/src/gui/test_menu.cpp b/src/gui/test_menu.cpp index 7e5db6392..6a68671b4 100644 --- a/src/gui/test_menu.cpp +++ b/src/gui/test_menu.cpp @@ -315,7 +315,7 @@ int CTestMenu::exec(CMenuTarget *parent, const std::string &actionKey) while (1) { g_RCInput->getMsg(&msg, &data, 100); - if (msg == CRCInput::RC_home) + if (CNeutrinoApp::getInstance()->backKey(msg)) break; if (msg != CRCInput::RC_timeout && msg <= CRCInput::RC_MaxRC) diff --git a/src/gui/timerlist.cpp b/src/gui/timerlist.cpp index fac6e5bd2..4272e05e5 100644 --- a/src/gui/timerlist.cpp +++ b/src/gui/timerlist.cpp @@ -942,8 +942,8 @@ int CTimerList::show() loop = false; } else if ( - (msg == CRCInput::RC_timeout) - || (msg == CRCInput::RC_home) + CNeutrinoApp::getInstance()->backKey(msg) + || (msg == CRCInput::RC_timeout) || (msg == CRCInput::RC_left) || (msg == CRCInput::RC_timer || msg == CRCInput::RC_program) || (msg == CRCInput::RC_ok && timerlist.empty()) diff --git a/src/gui/upnpbrowser.cpp b/src/gui/upnpbrowser.cpp index 013f6fe03..5830afbde 100644 --- a/src/gui/upnpbrowser.cpp +++ b/src/gui/upnpbrowser.cpp @@ -556,7 +556,7 @@ void CUpnpBrowserGui::selectDevice() { // nothing } - else if (msg == CRCInput::RC_home) + else if (CNeutrinoApp::getInstance()->backKey(msg)) { loop = false; } @@ -692,7 +692,7 @@ void CUpnpBrowserGui::playnext(void) neutrino_msg_data_t data; g_RCInput->getMsg(&msg, &data, 10); // 1 sec timeout to update play/stop state display - if (msg == CRCInput::RC_home) + if (CNeutrinoApp::getInstance()->backKey(msg)) { m_folderplay = false; break; @@ -817,7 +817,7 @@ bool CUpnpBrowserGui::selectItem(std::string id) { // nothing } - else if (msg == CRCInput::RC_home) + else if (CNeutrinoApp::getInstance()->backKey(msg)) { loop = false; endall = true; @@ -902,7 +902,7 @@ bool CUpnpBrowserGui::selectItem(std::string id) { g_RCInput->getMsg(&msg, &data, 10); // 1 sec timeout - if (msg == CRCInput::RC_home || msg == CRCInput::RC_ok) + if (CNeutrinoApp::getInstance()->backKey(msg) || msg == CRCInput::RC_ok) break; else if (msg == CRCInput::RC_right || msg == CRCInput::RC_down) { diff --git a/src/gui/widget/colorchooser.cpp b/src/gui/widget/colorchooser.cpp index 42d133eeb..9814c3de8 100644 --- a/src/gui/widget/colorchooser.cpp +++ b/src/gui/widget/colorchooser.cpp @@ -254,6 +254,7 @@ int CColorChooser::exec(CMenuTarget *parent, const std::string &) } break; } + case CRCInput::RC_back: case CRCInput::RC_home: { if (((*value[VALUE_R] != r_alt) || (*value[VALUE_G] != g_alt) || (*value[VALUE_B] != b_alt) || ((value[VALUE_A]) && (*(value[VALUE_A]) != a_alt))) && diff --git a/src/gui/widget/hintbox.cpp b/src/gui/widget/hintbox.cpp index d64b3259b..3059ae80c 100644 --- a/src/gui/widget/hintbox.cpp +++ b/src/gui/widget/hintbox.cpp @@ -267,7 +267,7 @@ int CHintBox::exec() { res = messages_return::cancel_info; } - else if(msg == CRCInput::RC_home) + else if (CNeutrinoApp::getInstance()->backKey(msg)) { res = messages_return::cancel_all; } diff --git a/src/gui/widget/keyboard_input.cpp b/src/gui/widget/keyboard_input.cpp index 40d8c3b01..a3a66a576 100644 --- a/src/gui/widget/keyboard_input.cpp +++ b/src/gui/widget/keyboard_input.cpp @@ -543,7 +543,7 @@ int CKeyboardInput::exec(CMenuTarget* parent, const std::string &) { keyDigiPressed(msg); } - else if ((msg == CRCInput::RC_home) || (msg == CRCInput::RC_timeout)) + else if (CNeutrinoApp::getInstance()->backKey(msg) || (msg == CRCInput::RC_timeout)) { if ((inputString->getValue() != oldval) && (ShowMsg(title, LOCALE_MESSAGEBOX_DISCARD, CMsgBox::mbrYes, CMsgBox::mbYes | CMsgBox::mbCancel) == CMsgBox::mbrCancel)) { diff --git a/src/gui/widget/listbox.cpp b/src/gui/widget/listbox.cpp index ad7c26fb9..b9cb945ae 100644 --- a/src/gui/widget/listbox.cpp +++ b/src/gui/widget/listbox.cpp @@ -168,8 +168,7 @@ int CListBox::exec(CMenuTarget* parent, const std::string & /*actionKey*/) { g_RCInput->getMsg(&msg, &data, g_settings.timing[SNeutrinoSettings::TIMING_EPG]); - if (( msg == (neutrino_msg_t)g_settings.key_channelList_cancel) || - ( msg == CRCInput::RC_home)) + if ((msg == (neutrino_msg_t)g_settings.key_channelList_cancel) || CNeutrinoApp::getInstance()->backKey(msg)) { loop = false; } diff --git a/src/gui/widget/menue.cpp b/src/gui/widget/menue.cpp index 8c7fb35d1..b5a60f742 100644 --- a/src/gui/widget/menue.cpp +++ b/src/gui/widget/menue.cpp @@ -1085,6 +1085,7 @@ int CMenuWidget::exec(CMenuTarget* parent, const std::string &) msg = CRCInput::RC_timeout; break; + case (CRCInput::RC_back): case (CRCInput::RC_home): no_action = true; msg = CRCInput::RC_timeout; diff --git a/src/gui/widget/msgbox.cpp b/src/gui/widget/msgbox.cpp index daab83791..2f174a13f 100644 --- a/src/gui/widget/msgbox.cpp +++ b/src/gui/widget/msgbox.cpp @@ -172,6 +172,7 @@ void CMsgBox::initButtons() btn.text = BTN_TEXT(mbNo); btn.directKeys.clear(); btn.directKeys.push_back(CRCInput::RC_red); + btn.directKeys.push_back(CRCInput::RC_back); btn.directKeys.push_back(CRCInput::RC_home); btn.btn_result = mbrNo; btn.btn_alias = mbNo; @@ -191,6 +192,7 @@ void CMsgBox::initButtons() btn.button = NEUTRINO_ICON_BUTTON_HOME; btn.text = BTN_TEXT(mbCancel); btn.directKeys.clear(); + btn.directKeys.push_back(CRCInput::RC_back); btn.directKeys.push_back(CRCInput::RC_home); btn.directKeys.push_back(CRCInput::RC_setup); btn.btn_result = mbrCancel; @@ -201,6 +203,7 @@ void CMsgBox::initButtons() btn.button = NEUTRINO_ICON_BUTTON_HOME; btn.text = BTN_TEXT(mbBack); btn.directKeys.clear(); + btn.directKeys.push_back(CRCInput::RC_back); btn.directKeys.push_back(CRCInput::RC_home); btn.btn_result = mbrBack; btn.btn_alias = mbBack; @@ -220,6 +223,7 @@ void CMsgBox::initButtons() btn.text = BTN_TEXT(mbNo); btn.directKeys.clear(); btn.directKeys.push_back(CRCInput::RC_green); + btn.directKeys.push_back(CRCInput::RC_back); btn.directKeys.push_back(CRCInput::RC_home); btn.btn_result = mbrNo; btn.btn_alias = mbNo; @@ -347,8 +351,8 @@ int CMsgBox::exec() result = (msg_result_t)ccw_footer->getSelectedButtonObject()->getButtonResult(); loop = false; } - //***action button 'home' with general cancel result*** - else if (msg == CRCInput::RC_home){ + //***action button 'home' or 'back' with general cancel result*** + else if (CNeutrinoApp::getInstance()->backKey(msg)) { result = mbrCancel; loop = false; } diff --git a/src/gui/widget/shellwindow.cpp b/src/gui/widget/shellwindow.cpp index 11841ad9a..928fcdc76 100644 --- a/src/gui/widget/shellwindow.cpp +++ b/src/gui/widget/shellwindow.cpp @@ -290,7 +290,7 @@ void CShellWindow::showResult() { do g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd); - while (msg != CRCInput::RC_ok && msg != CRCInput::RC_home && msg != CRCInput::RC_timeout); + while (msg != CRCInput::RC_ok && !CNeutrinoApp::getInstance()->backKey(msg) && msg != CRCInput::RC_timeout); } textBox->hide(); } diff --git a/src/gui/widget/stringinput.cpp b/src/gui/widget/stringinput.cpp index 4fe90683e..c5eef1c34 100644 --- a/src/gui/widget/stringinput.cpp +++ b/src/gui/widget/stringinput.cpp @@ -486,7 +486,7 @@ int CStringInput::exec( CMenuTarget* parent, const std::string & ) { loop=false; } - else if ( (msg==CRCInput::RC_home) || (msg==CRCInput::RC_timeout) ) + else if (CNeutrinoApp::getInstance()->backKey(msg) || (msg==CRCInput::RC_timeout)) { std::string tmp_name = name == NONEXISTANT_LOCALE ? head : g_Locale->getText(name); if ((trim (*valueString) != trim(oldval)) && @@ -825,7 +825,7 @@ int CPINInput::exec( CMenuTarget* parent, const std::string & ) res = menu_return::RETURN_EXIT; loop=false; } - else if ( (msg==CRCInput::RC_home) || (msg==CRCInput::RC_timeout) || (msg==CRCInput::RC_ok) ) + else if (CNeutrinoApp::getInstance()->backKey(msg) || (msg==CRCInput::RC_timeout) || (msg==CRCInput::RC_ok)) { loop=false; } diff --git a/src/gui/widget/stringinput_ext.cpp b/src/gui/widget/stringinput_ext.cpp index 6bc82b47d..83b78feea 100644 --- a/src/gui/widget/stringinput_ext.cpp +++ b/src/gui/widget/stringinput_ext.cpp @@ -274,7 +274,7 @@ int CExtendedInput::exec( CMenuTarget* parent, const std::string & ) if(cancel != NULL) *cancel = false; } - else if ( (msg==CRCInput::RC_home) || (msg==CRCInput::RC_timeout) ) + else if (CNeutrinoApp::getInstance()->backKey(msg) || (msg==CRCInput::RC_timeout)) { if (trim (*valueString) != trim(oldval)){ int erg = ShowMsg(name, LOCALE_MESSAGEBOX_DISCARD, CMsgBox::mbrYes, CMsgBox::mbNo | CMsgBox::mbYes | CMsgBox::mbCancel); diff --git a/src/gui/widget/termwindow.cpp b/src/gui/widget/termwindow.cpp index dac79eebc..314fbf0cb 100644 --- a/src/gui/widget/termwindow.cpp +++ b/src/gui/widget/termwindow.cpp @@ -115,11 +115,11 @@ void CTermWindow::showResult() if (!exit) { do { g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd); - if ( msg > CRCInput::RC_MaxRC && msg != CRCInput::RC_ok && msg != CRCInput::RC_home && msg != CRCInput::RC_timeout){ + if ( msg > CRCInput::RC_MaxRC && msg != CRCInput::RC_ok && !CNeutrinoApp::getInstance()->backKey(msg) && msg != CRCInput::RC_timeout){ CNeutrinoApp::getInstance()->handleMsg( msg, data ); } - } while (msg != CRCInput::RC_ok && msg != CRCInput::RC_home && msg != CRCInput::RC_timeout); + } while (msg != CRCInput::RC_ok && !CNeutrinoApp::getInstance()->backKey(msg) && msg != CRCInput::RC_timeout); } frameBuffer->Clear(); } diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 51777dbeb..2449088ad 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -3551,6 +3551,12 @@ void CNeutrinoApp::RealRun() numericZap(msg); } else if (msg == (neutrino_msg_t) g_settings.key_zaphistory || msg == (neutrino_msg_t) g_settings.key_current_transponder) { +// // InfoIcons; hide, if one of the keys above is assigned to RC_home or RC_back +// if (backKey(msg)) +// { +// if (g_settings.mode_icons && g_settings.mode_icons_skin == INFOICONS_POPUP) +// InfoIcons->hideIcons(); +// } showChannelList(msg); } #ifdef SCREENSHOT @@ -3750,8 +3756,14 @@ void CNeutrinoApp::RealRun() else if (msg == CRCInput::RC_aux) AVInputMode(true); else { - if (msg == CRCInput::RC_home) + if (CNeutrinoApp::getInstance()->backKey(msg)) + { +// // InfoIcons +// if(g_settings.mode_icons && g_settings.mode_icons_skin == INFOICONS_POPUP) { +// InfoIcons->hideIcons(); +// } CVFD::getInstance()->setMode(CVFD::MODE_TVRADIO); + } if (msg != CRCInput::RC_timeout) handleMsg(msg, data); @@ -3759,7 +3771,7 @@ void CNeutrinoApp::RealRun() } else { // mode == NeutrinoModes::mode_avinput - if (msg == CRCInput::RC_home || msg == CRCInput::RC_aux) { + if (backKey(msg) || msg == CRCInput::RC_aux) { if( mode == NeutrinoModes::mode_avinput ) { // AVInput-Mode verlassen AVInputMode(false); @@ -3985,6 +3997,19 @@ bool CNeutrinoApp::listModeKey(const neutrino_msg_t msg) return false; } +bool CNeutrinoApp::backKey(const neutrino_msg_t msg) +{ + if ( + msg == CRCInput::RC_home + || msg == CRCInput::RC_back + ) + { + dprintf(DEBUG_NORMAL, "CNeutrinoApp::%s: true\n", __func__); + return true; + } + return false; +} + int CNeutrinoApp::handleMsg(const neutrino_msg_t _msg, neutrino_msg_data_t data) { int res = 0; diff --git a/src/neutrino.h b/src/neutrino.h index 81b090d8e..4d5c907e2 100644 --- a/src/neutrino.h +++ b/src/neutrino.h @@ -184,6 +184,8 @@ public: bool changeNotify(const neutrino_locale_t OptionName, void *); bool listModeKey(const neutrino_msg_t msg); + bool backKey(const neutrino_msg_t msg); + int handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data); int getMode() {