Refactory lock screen and screen saver.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#include "GetLockScreenTimeHelper.h"
|
||||
#include "Locker.h"
|
||||
|
||||
#include "json/jsonobject.h"
|
||||
|
||||
@@ -28,6 +29,7 @@ QString GetLockScreenTimeHelper::getLockScreenTimeStr()
|
||||
void GetLockScreenTimeHelper::setLockScreenTime(const QString& aTime)
|
||||
{
|
||||
int time = aTime.section(" ", 0, 0).toInt();
|
||||
Locker::getInstance()->setTimer(time * 1000 * 60);
|
||||
JsonObject::Instance()->setLockScreenTime(time);
|
||||
}
|
||||
|
||||
|
||||
@@ -15,14 +15,11 @@ Locker* Locker::getInstance()
|
||||
Locker::Locker()
|
||||
: QObject()
|
||||
, mScreenTimer(new QTimer(this))
|
||||
, mCounter(GetLockScreenTimeHelper::getLockScreenTime() * 1000)
|
||||
, mCounter(GetLockScreenTimeHelper::getLockScreenTime() * 1000 * 60)
|
||||
, mIsEnable(false)
|
||||
{
|
||||
if(mCounter > 0)
|
||||
{
|
||||
setIsEnable(true);
|
||||
}
|
||||
mScreenTimer->setSingleShot(true);
|
||||
connect(EventCenter::Default(), &EventCenter::LoginSuccess, this, &Locker::start);
|
||||
connect(mScreenTimer, SIGNAL(timeout()), this, SLOT(coverScreen()));
|
||||
}
|
||||
|
||||
@@ -32,26 +29,14 @@ Locker::~Locker()
|
||||
|
||||
void Locker::start()
|
||||
{
|
||||
if (mIsEnable && mCounter > 0)
|
||||
if (mCounter > 0)
|
||||
{
|
||||
mIsEnable = true;
|
||||
mScreenTimer->stop();
|
||||
mScreenTimer->start(mCounter);
|
||||
}
|
||||
}
|
||||
|
||||
void Locker::setIsEnable(bool aIsEnable)
|
||||
{
|
||||
mIsEnable = aIsEnable;
|
||||
if (!mIsEnable)
|
||||
{
|
||||
stop();
|
||||
}
|
||||
else
|
||||
{
|
||||
start();
|
||||
}
|
||||
}
|
||||
|
||||
void Locker::coverScreen()
|
||||
{
|
||||
if (AppGlobalValues::InProcessing().toBool())
|
||||
@@ -60,13 +45,22 @@ void Locker::coverScreen()
|
||||
}
|
||||
else
|
||||
{
|
||||
mScreenTimer->stop();
|
||||
EventCenter::Default()->triggerEvent(GUIEvents::RequestScreenSaver, nullptr, nullptr);
|
||||
stop();
|
||||
EventCenter::Default()->triggerEvent(GUIEvents::RequestLogin, nullptr, nullptr);
|
||||
if(JsonObject::Instance()->getScreenSaverMode())
|
||||
{
|
||||
EventCenter::Default()->triggerEvent(GUIEvents::RequestScreenSaver, nullptr, nullptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
void Locker::setTimer(int aInterval)
|
||||
{
|
||||
mCounter = aInterval;
|
||||
mScreenTimer->stop();
|
||||
if (mCounter > 0)
|
||||
{
|
||||
mScreenTimer->start(mCounter);
|
||||
}
|
||||
}
|
||||
void Locker::refreshTimer()
|
||||
{
|
||||
@@ -79,5 +73,6 @@ void Locker::refreshTimer()
|
||||
|
||||
void Locker::stop()
|
||||
{
|
||||
mIsEnable = false;
|
||||
mScreenTimer->stop();
|
||||
}
|
||||
|
||||
@@ -9,12 +9,11 @@ class Locker : public QObject
|
||||
Q_OBJECT
|
||||
public:
|
||||
static Locker* getInstance();
|
||||
void start();
|
||||
void stop();
|
||||
void setTimer(int aInterval);
|
||||
void setIsEnable(bool aIsEnable);
|
||||
|
||||
public slots:
|
||||
void start();
|
||||
void refreshTimer();
|
||||
void coverScreen();
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user