Fix ScreenSaver problem.

This commit is contained in:
sunwen
2022-08-25 14:53:43 +08:00
parent 13a29bcc94
commit b451cb18ec
4 changed files with 21 additions and 7 deletions

View File

@@ -330,7 +330,10 @@ void DialogManager::raiseDeviceError(QObject *parent, QObject *msg) {
dialog->exec(); dialog->exec();
releaseTopWidget(dialog); releaseTopWidget(dialog);
dialog->deleteLater(); dialog->deleteLater();
mScreenSaverWindow->startLocker(); if (nullptr != mTopWidget && !mTopWidget->inherits("GUIMessageDialog"))
{
mScreenSaverWindow->startLocker();
}
} }
// 扫描过程 dialog 只能为最底层并且会被error dialog 清除! // 扫描过程 dialog 只能为最底层并且会被error dialog 清除!

View File

@@ -46,6 +46,7 @@ int main(int argc, char* argv[])
UsctApplication a(argc, argv); UsctApplication a(argc, argv);
qRegisterMetaType<QPair<QString, uint>>("QPair<QString, uint>");
QString layouts_path = QString(QCoreApplication::applicationDirPath()).append("/layouts"); QString layouts_path = QString(QCoreApplication::applicationDirPath()).append("/layouts");
qputenv("QT_VIRTUALKEYBOARD_LAYOUT_PATH", QByteArray(layouts_path.toStdString().c_str())); qputenv("QT_VIRTUALKEYBOARD_LAYOUT_PATH", QByteArray(layouts_path.toStdString().c_str()));

View File

@@ -113,7 +113,7 @@ void ScreenSaverWindow::stop(bool aIsStopLocker)
{ {
if (aIsStopLocker) if (aIsStopLocker)
{ {
Locker::getInstance()->stop(); Locker::getInstance()->setIsEnable(false);
} }
else else
{ {
@@ -142,5 +142,5 @@ void ScreenSaverWindow::handleVideoStatusChanged(QMediaPlayer::MediaStatus aStat
void ScreenSaverWindow::startLocker() void ScreenSaverWindow::startLocker()
{ {
Locker::getInstance()->start(); Locker::getInstance()->setIsEnable(true);
} }

View File

@@ -37,7 +37,11 @@ void Locker::setIsEnable(bool aIsEnable)
mIsEnable = aIsEnable; mIsEnable = aIsEnable;
if (!mIsEnable) if (!mIsEnable)
{ {
mScreenTimer->stop(); stop();
}
else
{
start();
} }
} }
@@ -58,12 +62,18 @@ void Locker::setTimer(int aInterval)
{ {
mCounter = aInterval; mCounter = aInterval;
mScreenTimer->stop(); mScreenTimer->stop();
mScreenTimer->start(mCounter); if (mIsEnable)
{
mScreenTimer->start(mCounter);
}
} }
void Locker::refreshTimer() void Locker::refreshTimer()
{ {
mScreenTimer->stop(); if (mIsEnable)
mScreenTimer->start(mCounter); {
mScreenTimer->stop();
mScreenTimer->start(mCounter);
}
} }
void Locker::stop() void Locker::stop()