Refactory lock screen and screen saver.

This commit is contained in:
sunwen
2024-05-06 16:51:15 +08:00
parent 6f13ef7dc7
commit 29fea313ad
8 changed files with 21 additions and 52 deletions

View File

@@ -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);
}

View File

@@ -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();
}

View File

@@ -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: