84 lines
1.4 KiB
C++
84 lines
1.4 KiB
C++
#include "Locker.h"
|
|
|
|
#include <QTimer>
|
|
#include "appvals/AppGlobalValues.h"
|
|
#include "event/EventCenter.h"
|
|
#include "json/jsonobject.h"
|
|
#include "utilities/GetLockScreenTimeHelper.h"
|
|
|
|
Locker* Locker::getInstance()
|
|
{
|
|
static Locker instance;
|
|
return &instance;
|
|
}
|
|
|
|
Locker::Locker()
|
|
: QObject()
|
|
, mScreenTimer(new QTimer(this))
|
|
, mCounter(GetLockScreenTimeHelper::getLockScreenTime() * 1000)
|
|
, mIsEnable(false)
|
|
{
|
|
if(mCounter > 0)
|
|
{
|
|
setIsEnable(true);
|
|
}
|
|
mScreenTimer->setSingleShot(true);
|
|
connect(mScreenTimer, SIGNAL(timeout()), this, SLOT(coverScreen()));
|
|
}
|
|
|
|
Locker::~Locker()
|
|
{
|
|
}
|
|
|
|
void Locker::start()
|
|
{
|
|
if (mIsEnable && mCounter > 0)
|
|
{
|
|
mScreenTimer->stop();
|
|
mScreenTimer->start(mCounter);
|
|
}
|
|
}
|
|
|
|
void Locker::setIsEnable(bool aIsEnable)
|
|
{
|
|
mIsEnable = aIsEnable;
|
|
if (!mIsEnable)
|
|
{
|
|
stop();
|
|
}
|
|
else
|
|
{
|
|
start();
|
|
}
|
|
}
|
|
|
|
void Locker::coverScreen()
|
|
{
|
|
if (AppGlobalValues::InProcessing().toBool())
|
|
{
|
|
refreshTimer();
|
|
}
|
|
else
|
|
{
|
|
mScreenTimer->stop();
|
|
EventCenter::Default()->triggerEvent(GUIEvents::RequestScreenSaver, nullptr, nullptr);
|
|
}
|
|
}
|
|
void Locker::setTimer(int aInterval)
|
|
{
|
|
mCounter = aInterval;
|
|
}
|
|
void Locker::refreshTimer()
|
|
{
|
|
if (mIsEnable && mCounter > 0)
|
|
{
|
|
mScreenTimer->stop();
|
|
mScreenTimer->start(mCounter);
|
|
}
|
|
}
|
|
|
|
void Locker::stop()
|
|
{
|
|
mScreenTimer->stop();
|
|
}
|