Refactory set lock screen time.

This commit is contained in:
sunwen
2024-05-06 15:50:47 +08:00
parent 9e8cd69ad9
commit 6f13ef7dc7
5 changed files with 75 additions and 5 deletions

View File

@@ -33,6 +33,7 @@
#include "windows/LoginDialog.h" #include "windows/LoginDialog.h"
#include "screensaver/ScreenSaverWindow.h" #include "screensaver/ScreenSaverWindow.h"
#include "utilities/GetLockScreenTimeHelper.h"
#include "appvals/AppGlobalValues.h" #include "appvals/AppGlobalValues.h"
#include "json/jsonobject.h" #include "json/jsonobject.h"
@@ -234,7 +235,7 @@ DialogResult DialogManager::requestSelectLanguage()
SelectDialog dialog(mTopWidget); SelectDialog dialog(mTopWidget);
setTopWidget(&dialog); setTopWidget(&dialog);
dialog.setWindowModality(Qt::WindowModal); dialog.setWindowModality(Qt::WindowModal);
dialog.setValues(JsonObject::Instance()->language()); dialog.setValues(JsonObject::Instance()->languageList());
dialog.setSelectedValue(JsonObject::Instance()->defaultLanguage()); dialog.setSelectedValue(JsonObject::Instance()->defaultLanguage());
int ret = dialog.exec(); int ret = dialog.exec();
releaseTopWidget(&dialog); releaseTopWidget(&dialog);
@@ -270,8 +271,8 @@ DialogResult DialogManager::requestSelectLockScreenTime()
SelectDialog dialog(mTopWidget); SelectDialog dialog(mTopWidget);
setTopWidget(&dialog); setTopWidget(&dialog);
dialog.setWindowModality(Qt::WindowModal); dialog.setWindowModality(Qt::WindowModal);
dialog.setValues(JsonObject::Instance()->lockScreenTimes()); dialog.setValues(GetLockScreenTimeHelper::getLockScreenTimeList());
dialog.setSelectedValue(JsonObject::Instance()->defaultLockScreenTime()); dialog.setSelectedValue(GetLockScreenTimeHelper::getLockScreenTimeStr());
int ret = dialog.exec(); int ret = dialog.exec();
releaseTopWidget(&dialog); releaseTopWidget(&dialog);
return DialogResult(ret,dialog.getSelectedValue()); return DialogResult(ret,dialog.getSelectedValue());

View File

@@ -20,6 +20,7 @@
#include "components/BatteryWidget.h" #include "components/BatteryWidget.h"
#include "log/UserOperationLog.h" #include "log/UserOperationLog.h"
#include "utilities/DiskInfoWorker.h" #include "utilities/DiskInfoWorker.h"
#include "utilities/GetLockScreenTimeHelper.h"
namespace namespace
{ {
@@ -187,7 +188,7 @@ GeneralForm::GeneralForm(QWidget* aParent)
btnLan->setText(tr(JsonObject::Instance()->defaultLanguage().toStdString().c_str())); btnLan->setText(tr(JsonObject::Instance()->defaultLanguage().toStdString().c_str()));
instName->setText(JsonObject::Instance()->institutionName()); instName->setText(JsonObject::Instance()->institutionName());
instAddr->setText(JsonObject::Instance()->institutionAddr()); instAddr->setText(JsonObject::Instance()->institutionAddr());
lockTime->setText(tr(JsonObject::Instance()->defaultLockScreenTime().toStdString().c_str())); lockTime->setText(GetLockScreenTimeHelper::getLockScreenTimeStr());
//connection //connection
connect(instName, &QLineEdit::textChanged, [=](const QString& str) connect(instName, &QLineEdit::textChanged, [=](const QString& str)
{ {
@@ -207,6 +208,9 @@ GeneralForm::GeneralForm(QWidget* aParent)
{ {
return; return;
} }
QString lockTimeStr = result.ResultData.toString();
lockTime->setText(lockTimeStr);
GetLockScreenTimeHelper::setLockScreenTime(lockTimeStr);
//second = result.ResultData.toInt(); //second = result.ResultData.toInt();
//LOG_USER_OPERATION(QString("Set Screen Lock Time to %1 seconds").arg(second)) //LOG_USER_OPERATION(QString("Set Screen Lock Time to %1 seconds").arg(second))
// if(second == 0) // if(second == 0)

View File

@@ -0,0 +1,43 @@
#include "GetLockScreenTimeHelper.h"
#include "json/jsonobject.h"
#include <QObject>
QStringList GetLockScreenTimeHelper::getLockScreenTimeList()
{
QStringList timeList = JsonObject::Instance()->lockScreenTimes();
QStringList result;
foreach(QString time, timeList)
{
result << switchTimeIntToTimeString(time.toInt());
}
return result;
}
int GetLockScreenTimeHelper::getLockScreenTime()
{
return JsonObject::Instance()->getLockScreenTime();
}
QString GetLockScreenTimeHelper::getLockScreenTimeStr()
{
return switchTimeIntToTimeString(getLockScreenTime());
}
void GetLockScreenTimeHelper::setLockScreenTime(const QString& aTime)
{
int time = aTime.section(" ", 0, 0).toInt();
JsonObject::Instance()->setLockScreenTime(time);
}
QString GetLockScreenTimeHelper::switchTimeIntToTimeString(int aTime)
{
switch(aTime)
{
case 0 :
return QObject::tr("Never");
default:
return QString::number(aTime) + QObject::tr(" Minutes");
}
}

View File

@@ -0,0 +1,21 @@
#ifndef GETLOCKSCREENTIMEHELPER_H
#define GETLOCKSCREENTIMEHELPER_H
#include <QStringList>
class GetLockScreenTimeHelper
{
public:
GetLockScreenTimeHelper() = delete ;
static QStringList getLockScreenTimeList();
static QString getLockScreenTimeStr();
static int getLockScreenTime();
static void setLockScreenTime(const QString& aTime);
private:
static QString switchTimeIntToTimeString(int aTime);
};
#endif // GETLOCKSCREENTIMEHELPER_H

View File

@@ -4,6 +4,7 @@
#include "appvals/AppGlobalValues.h" #include "appvals/AppGlobalValues.h"
#include "event/EventCenter.h" #include "event/EventCenter.h"
#include "json/jsonobject.h" #include "json/jsonobject.h"
#include "utilities/GetLockScreenTimeHelper.h"
Locker* Locker::getInstance() Locker* Locker::getInstance()
{ {
@@ -14,7 +15,7 @@ Locker* Locker::getInstance()
Locker::Locker() Locker::Locker()
: QObject() : QObject()
, mScreenTimer(new QTimer(this)) , mScreenTimer(new QTimer(this))
, mCounter(JsonObject::Instance()->lockerCount()) , mCounter(GetLockScreenTimeHelper::getLockScreenTime() * 1000)
, mIsEnable(false) , mIsEnable(false)
{ {
if(mCounter > 0) if(mCounter > 0)