mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 00:11:14 +02:00
rc_lock: lock for rc_lock, use only once, supplement to 9e3567dc09
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
#include <gui/widget/stringinput.h>
|
||||
|
||||
const std::string CRCLock::NO_USER_INPUT = "noUserInput";
|
||||
bool CRCLock::locked = false;
|
||||
|
||||
// -- Menue Handler Interface
|
||||
// -- Infinite Loop to lock remote control (until release lock key pressed)
|
||||
@@ -45,6 +46,9 @@ const std::string CRCLock::NO_USER_INPUT = "noUserInput";
|
||||
|
||||
int CRCLock::exec(CMenuTarget* parent, const std::string &actionKey)
|
||||
{
|
||||
if(locked)
|
||||
return menu_return::RETURN_EXIT_ALL;
|
||||
|
||||
if (parent)
|
||||
parent->hide();
|
||||
|
||||
@@ -55,7 +59,9 @@ int CRCLock::exec(CMenuTarget* parent, const std::string &actionKey)
|
||||
return menu_return::RETURN_EXIT_ALL;
|
||||
|
||||
// -- Lockup Box
|
||||
locked = true;
|
||||
lockBox();
|
||||
locked = false;
|
||||
|
||||
ShowLocalizedMessage(LOCALE_RCLOCK_TITLE, LOCALE_RCLOCK_UNLOCKMSG, CMessageBox::mbrBack, CMessageBox::mbBack, NEUTRINO_ICON_INFO,450, no_input ? 5 : -1);
|
||||
return menu_return::RETURN_EXIT_ALL;
|
||||
|
@@ -36,12 +36,13 @@
|
||||
//
|
||||
class CRCLock: public CMenuTarget
|
||||
{
|
||||
private:
|
||||
void lockBox();
|
||||
|
||||
public:
|
||||
static const std::string NO_USER_INPUT;
|
||||
int exec(CMenuTarget* parent, const std::string & actionKey);
|
||||
void lockBox();
|
||||
static bool locked;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
@@ -3197,6 +3197,9 @@ void CNeutrinoApp::standbyMode( bool bOnOff, bool fromDeepStandby )
|
||||
if(mode == mode_radio && g_Radiotext)
|
||||
g_Radiotext->radiotext_stop();
|
||||
|
||||
lastMode = mode;
|
||||
mode = mode_standby;
|
||||
|
||||
if(!fromDeepStandby && !CRecordManager::getInstance()->RecordingStatus()) {
|
||||
g_Zapit->setStandby(true);
|
||||
} else {
|
||||
@@ -3232,8 +3235,6 @@ void CNeutrinoApp::standbyMode( bool bOnOff, bool fromDeepStandby )
|
||||
if(!CRecordManager::getInstance()->RecordingStatus())
|
||||
cpuFreq->SetCpuFreq(g_settings.standby_cpufreq * 1000 * 1000);
|
||||
|
||||
lastMode = mode;
|
||||
mode = mode_standby;
|
||||
//fan speed
|
||||
if (g_info.has_fan) {
|
||||
int fspeed = 1;
|
||||
|
@@ -37,6 +37,8 @@
|
||||
#include "gui/plugins.h"//for relodplugins
|
||||
#include <neutrino.h>
|
||||
#include <driver/screenshot.h>
|
||||
#include "gui/rc_lock.h"
|
||||
|
||||
// yhttpd
|
||||
#include "yhttpd.h"
|
||||
#include "ytypes_globals.h"
|
||||
@@ -456,20 +458,17 @@ void CControlAPI::RCCGI(CyhookHandler *hh)
|
||||
{
|
||||
if (!(hh->ParamList.empty()))
|
||||
{
|
||||
static bool on_off = false;
|
||||
if (hh->ParamList["1"] == "lock"){ // lock remote control
|
||||
if(!on_off){
|
||||
if(!CRCLock::locked){
|
||||
NeutrinoAPI->EventServer->sendEvent(NeutrinoMessages::LOCK_RC, CEventServer::INITID_HTTPD);
|
||||
on_off = true;
|
||||
}else{
|
||||
hh->WriteLn("remote is already locked");
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (hh->ParamList["1"] == "unlock"){// unlock remote control
|
||||
if(on_off){
|
||||
if(CRCLock::locked){
|
||||
NeutrinoAPI->EventServer->sendEvent(NeutrinoMessages::UNLOCK_RC, CEventServer::INITID_HTTPD);
|
||||
on_off = false;
|
||||
|
||||
}else{
|
||||
hh->WriteLn("remote is already unlocked");
|
||||
|
Reference in New Issue
Block a user