From 0086ea581c1edda40457e14755e14a75e5c65aaf Mon Sep 17 00:00:00 2001 From: vanhofen Date: Tue, 2 Jan 2024 22:29:38 +0100 Subject: [PATCH] lcd4l: add actionkey moviebrowser_moviecut Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/97cebad4ef47957c630a881715fa792468d25959 Author: vanhofen Date: 2024-01-02 (Tue, 02 Jan 2024) Origin message was: ------------------ - lcd4l: add actionkey moviebrowser_moviecut --- src/driver/lcd4l.cpp | 23 ++++++++++++++++------- src/gui/moviebrowser/mb.cpp | 9 +++------ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/driver/lcd4l.cpp b/src/driver/lcd4l.cpp index 7616fe514..cc022afe8 100644 --- a/src/driver/lcd4l.cpp +++ b/src/driver/lcd4l.cpp @@ -379,7 +379,8 @@ void *CLCD4l::LCD4lProc(void *arg) { usleep(5 * 100 * 1000); // 0.5 sec new_ParseID = PLCD4l->CompareParseID(p_ParseID); - if (new_ParseID || p_ParseID == NeutrinoModes::mode_audio || !PLCD4l->m_ActionKey.empty()) { + if (new_ParseID || p_ParseID == NeutrinoModes::mode_audio || !PLCD4l->m_ActionKey.empty()) + { break; } } @@ -753,8 +754,8 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun) if (m_ActionKey == "moviebrowser") { - g_PicViewer->GetLogoName(0, "Moviebrowser", Logo, &dummy, &dummy, CPictureViewer::LCD4LINUX, true); Service = g_Locale->getText(LOCALE_MOVIEBROWSER_HEAD); + g_PicViewer->GetLogoName(0, "Moviebrowser", Logo, &dummy, &dummy, CPictureViewer::LCD4LINUX, true); } else if (m_ModeChannel) { @@ -763,7 +764,16 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun) else Service = g_RemoteControl->getCurrentChannelName(); - g_PicViewer->GetLogoName(parseID, Service, Logo, &dummy, &dummy, CPictureViewer::LCD4LINUX, true); + /* + "moviebrowser_moviecut" is special. + It signals the active moviebrowser with the moviebrowser logo, + but handles the rest of the lcd as in tv/radio mode. + */ + + if (m_ActionKey == "moviebrowser_moviecut") + g_PicViewer->GetLogoName(0, "Moviebrowser", Logo, &dummy, &dummy, CPictureViewer::LCD4LINUX, true); + else + g_PicViewer->GetLogoName(parseID, Service, Logo, &dummy, &dummy, CPictureViewer::LCD4LINUX, true); ChannelNr = CNeutrinoApp::getInstance()->channelList->getActiveChannelNumber(); } @@ -801,9 +811,8 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun) } else if (parseID == NeutrinoModes::mode_avinput) { - //FIXME - Logo = ICONSDIR "/" NEUTRINO_ICON_PLAY ICONSEXT; Service = g_Locale->getText(LOCALE_MAINMENU_AVINPUTMODE); + Logo = ICONSDIR "/" NEUTRINO_ICON_PLAY ICONSEXT; } else if (parseID == NeutrinoModes::mode_ts) { @@ -981,9 +990,9 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun) bool writeEvent = true; - if (!m_ActionKey.empty()) + if (m_ActionKey == "moviebrowser") { - // do nothing; Event is processed in moviebrowser or other windows + // do nothing; Event is processed in moviebrowser writeEvent = false; } else if (m_ModeChannel) diff --git a/src/gui/moviebrowser/mb.cpp b/src/gui/moviebrowser/mb.cpp index 5faa9cee8..2aff85a6f 100644 --- a/src/gui/moviebrowser/mb.cpp +++ b/src/gui/moviebrowser/mb.cpp @@ -930,10 +930,9 @@ int CMovieBrowser::exec(CMenuTarget* parent, const std::string & actionKey) #ifdef ENABLE_LCD4LINUX if (g_settings.lcd4l_support) - CLCD4l::getInstance()->clearActionKey(); + CLCD4l::getInstance()->setActionKey("moviebrowser_moviecut"); #endif - // TODO: signalize running action CMovieCut mc; bool res = mc.copyMovie(m_movieSelectionHandler, onefile); @@ -968,10 +967,9 @@ int CMovieBrowser::exec(CMenuTarget* parent, const std::string & actionKey) #ifdef ENABLE_LCD4LINUX if (g_settings.lcd4l_support) - CLCD4l::getInstance()->clearActionKey(); + CLCD4l::getInstance()->setActionKey("moviebrowser_moviecut"); #endif - // TODO: signalize running action CMovieCut mc; bool res = mc.cutMovie(m_movieSelectionHandler); @@ -1008,10 +1006,9 @@ int CMovieBrowser::exec(CMenuTarget* parent, const std::string & actionKey) #ifdef ENABLE_LCD4LINUX if (g_settings.lcd4l_support) - CLCD4l::getInstance()->clearActionKey(); + CLCD4l::getInstance()->setActionKey("moviebrowser_moviecut"); #endif - // TODO: signalize running action CMovieCut mc; bool res = mc.truncateMovie(m_movieSelectionHandler);