Refactory lock screen and screen saver.
This commit is contained in:
@@ -121,11 +121,6 @@ void DialogManager::requestScreenSaverPlay()
|
|||||||
mScreenSaverWindow->play();
|
mScreenSaverWindow->play();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DialogManager::requestScreenSaverStop(bool aIsStopLocker)
|
|
||||||
{
|
|
||||||
mScreenSaverWindow->stop(aIsStopLocker);
|
|
||||||
}
|
|
||||||
|
|
||||||
DialogResult DialogManager::requestResetAdminPwd()
|
DialogResult DialogManager::requestResetAdminPwd()
|
||||||
{
|
{
|
||||||
AdminSPwdDialog dialog(mTopWidget);
|
AdminSPwdDialog dialog(mTopWidget);
|
||||||
@@ -487,15 +482,10 @@ void DialogManager::raiseDeviceError(QObject *parent, QObject *msg) {
|
|||||||
dialog->showExitButton();
|
dialog->showExitButton();
|
||||||
setTopWidget(dialog);
|
setTopWidget(dialog);
|
||||||
dialog->setWindowModality(Qt::WindowModal);
|
dialog->setWindowModality(Qt::WindowModal);
|
||||||
mScreenSaverWindow->stop(true);
|
|
||||||
dialog->showFullScreen ();
|
dialog->showFullScreen ();
|
||||||
dialog->exec();
|
dialog->exec();
|
||||||
releaseTopWidget(dialog);
|
releaseTopWidget(dialog);
|
||||||
dialog->deleteLater();
|
dialog->deleteLater();
|
||||||
if (nullptr != mTopWidget && !mTopWidget->inherits("GUIMessageDialog"))
|
|
||||||
{
|
|
||||||
mScreenSaverWindow->startLocker();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 扫描过程 dialog 只能为最底层,并且会被error dialog 清除!
|
// 扫描过程 dialog 只能为最底层,并且会被error dialog 清除!
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ public:
|
|||||||
void init(QWidget* aParent);
|
void init(QWidget* aParent);
|
||||||
void requestLogin(QWidget* aParent);
|
void requestLogin(QWidget* aParent);
|
||||||
void requestScreenSaverPlay();
|
void requestScreenSaverPlay();
|
||||||
void requestScreenSaverStop(bool aIsStopLocker = false);
|
|
||||||
DialogResult requestResetAdminPwd();
|
DialogResult requestResetAdminPwd();
|
||||||
int requestAddAccount(QSqlTableModel* model);
|
int requestAddAccount(QSqlTableModel* model);
|
||||||
int requestEditSelfAccount();
|
int requestEditSelfAccount();
|
||||||
|
|||||||
@@ -94,7 +94,6 @@ int main(int argc, char* argv[])
|
|||||||
DialogManager::Default()->init(&w);
|
DialogManager::Default()->init(&w);
|
||||||
UserOperationLog::Default()->init();
|
UserOperationLog::Default()->init();
|
||||||
|
|
||||||
Locker::getInstance()->start();
|
|
||||||
QObject::connect(TouchScreenSignalSender::getInstance(), SIGNAL(touchScreen()), Locker::getInstance(), SLOT(refreshTimer()));
|
QObject::connect(TouchScreenSignalSender::getInstance(), SIGNAL(touchScreen()), Locker::getInstance(), SLOT(refreshTimer()));
|
||||||
QList<Qt::GestureType> gestures;
|
QList<Qt::GestureType> gestures;
|
||||||
gestures << Qt::SwipeGesture;
|
gestures << Qt::SwipeGesture;
|
||||||
|
|||||||
@@ -72,7 +72,6 @@ void ScreenSaverWindow::initializeMultimediaList()
|
|||||||
void ScreenSaverWindow::mousePressEvent(QMouseEvent* aEvent)
|
void ScreenSaverWindow::mousePressEvent(QMouseEvent* aEvent)
|
||||||
{
|
{
|
||||||
stop();
|
stop();
|
||||||
EventCenter::Default()->triggerEvent(GUIEvents::RequestLogin, nullptr, nullptr);
|
|
||||||
QWidget::mousePressEvent(aEvent);
|
QWidget::mousePressEvent(aEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,16 +110,8 @@ void ScreenSaverWindow::playMultimedia()
|
|||||||
mCurrentPlayIndex++;
|
mCurrentPlayIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScreenSaverWindow::stop(bool aIsStopLocker)
|
void ScreenSaverWindow::stop()
|
||||||
{
|
{
|
||||||
if (aIsStopLocker)
|
|
||||||
{
|
|
||||||
Locker::getInstance()->setIsEnable(false);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Locker::getInstance()->start();
|
|
||||||
}
|
|
||||||
if (!mIsPlaying)
|
if (!mIsPlaying)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@@ -141,8 +132,3 @@ void ScreenSaverWindow::handleVideoStatusChanged(QMediaPlayer::MediaStatus aStat
|
|||||||
playMultimedia();
|
playMultimedia();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScreenSaverWindow::startLocker()
|
|
||||||
{
|
|
||||||
Locker::getInstance()->setIsEnable(true);
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -30,8 +30,7 @@ class ScreenSaverWindow : public QWidget
|
|||||||
public:
|
public:
|
||||||
explicit ScreenSaverWindow(QWidget *aParent = nullptr);
|
explicit ScreenSaverWindow(QWidget *aParent = nullptr);
|
||||||
void play();
|
void play();
|
||||||
void stop(bool aIsStopLocker = false);
|
void stop();
|
||||||
void startLocker();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void mousePressEvent(QMouseEvent* aEvent);
|
void mousePressEvent(QMouseEvent* aEvent);
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#include "GetLockScreenTimeHelper.h"
|
#include "GetLockScreenTimeHelper.h"
|
||||||
|
#include "Locker.h"
|
||||||
|
|
||||||
#include "json/jsonobject.h"
|
#include "json/jsonobject.h"
|
||||||
|
|
||||||
@@ -28,6 +29,7 @@ QString GetLockScreenTimeHelper::getLockScreenTimeStr()
|
|||||||
void GetLockScreenTimeHelper::setLockScreenTime(const QString& aTime)
|
void GetLockScreenTimeHelper::setLockScreenTime(const QString& aTime)
|
||||||
{
|
{
|
||||||
int time = aTime.section(" ", 0, 0).toInt();
|
int time = aTime.section(" ", 0, 0).toInt();
|
||||||
|
Locker::getInstance()->setTimer(time * 1000 * 60);
|
||||||
JsonObject::Instance()->setLockScreenTime(time);
|
JsonObject::Instance()->setLockScreenTime(time);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,14 +15,11 @@ Locker* Locker::getInstance()
|
|||||||
Locker::Locker()
|
Locker::Locker()
|
||||||
: QObject()
|
: QObject()
|
||||||
, mScreenTimer(new QTimer(this))
|
, mScreenTimer(new QTimer(this))
|
||||||
, mCounter(GetLockScreenTimeHelper::getLockScreenTime() * 1000)
|
, mCounter(GetLockScreenTimeHelper::getLockScreenTime() * 1000 * 60)
|
||||||
, mIsEnable(false)
|
, mIsEnable(false)
|
||||||
{
|
{
|
||||||
if(mCounter > 0)
|
|
||||||
{
|
|
||||||
setIsEnable(true);
|
|
||||||
}
|
|
||||||
mScreenTimer->setSingleShot(true);
|
mScreenTimer->setSingleShot(true);
|
||||||
|
connect(EventCenter::Default(), &EventCenter::LoginSuccess, this, &Locker::start);
|
||||||
connect(mScreenTimer, SIGNAL(timeout()), this, SLOT(coverScreen()));
|
connect(mScreenTimer, SIGNAL(timeout()), this, SLOT(coverScreen()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,26 +29,14 @@ Locker::~Locker()
|
|||||||
|
|
||||||
void Locker::start()
|
void Locker::start()
|
||||||
{
|
{
|
||||||
if (mIsEnable && mCounter > 0)
|
if (mCounter > 0)
|
||||||
{
|
{
|
||||||
|
mIsEnable = true;
|
||||||
mScreenTimer->stop();
|
mScreenTimer->stop();
|
||||||
mScreenTimer->start(mCounter);
|
mScreenTimer->start(mCounter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Locker::setIsEnable(bool aIsEnable)
|
|
||||||
{
|
|
||||||
mIsEnable = aIsEnable;
|
|
||||||
if (!mIsEnable)
|
|
||||||
{
|
|
||||||
stop();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
start();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Locker::coverScreen()
|
void Locker::coverScreen()
|
||||||
{
|
{
|
||||||
if (AppGlobalValues::InProcessing().toBool())
|
if (AppGlobalValues::InProcessing().toBool())
|
||||||
@@ -60,13 +45,22 @@ void Locker::coverScreen()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mScreenTimer->stop();
|
stop();
|
||||||
EventCenter::Default()->triggerEvent(GUIEvents::RequestScreenSaver, nullptr, nullptr);
|
EventCenter::Default()->triggerEvent(GUIEvents::RequestLogin, nullptr, nullptr);
|
||||||
|
if(JsonObject::Instance()->getScreenSaverMode())
|
||||||
|
{
|
||||||
|
EventCenter::Default()->triggerEvent(GUIEvents::RequestScreenSaver, nullptr, nullptr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void Locker::setTimer(int aInterval)
|
void Locker::setTimer(int aInterval)
|
||||||
{
|
{
|
||||||
mCounter = aInterval;
|
mCounter = aInterval;
|
||||||
|
mScreenTimer->stop();
|
||||||
|
if (mCounter > 0)
|
||||||
|
{
|
||||||
|
mScreenTimer->start(mCounter);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void Locker::refreshTimer()
|
void Locker::refreshTimer()
|
||||||
{
|
{
|
||||||
@@ -79,5 +73,6 @@ void Locker::refreshTimer()
|
|||||||
|
|
||||||
void Locker::stop()
|
void Locker::stop()
|
||||||
{
|
{
|
||||||
|
mIsEnable = false;
|
||||||
mScreenTimer->stop();
|
mScreenTimer->stop();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,12 +9,11 @@ class Locker : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
static Locker* getInstance();
|
static Locker* getInstance();
|
||||||
void start();
|
|
||||||
void stop();
|
void stop();
|
||||||
void setTimer(int aInterval);
|
void setTimer(int aInterval);
|
||||||
void setIsEnable(bool aIsEnable);
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
void start();
|
||||||
void refreshTimer();
|
void refreshTimer();
|
||||||
void coverScreen();
|
void coverScreen();
|
||||||
private:
|
private:
|
||||||
|
|||||||
Reference in New Issue
Block a user