diff --git a/src/dialogs/DialogManager.cpp b/src/dialogs/DialogManager.cpp index 02ffdad..edd3d03 100644 --- a/src/dialogs/DialogManager.cpp +++ b/src/dialogs/DialogManager.cpp @@ -33,6 +33,7 @@ #include "windows/LoginDialog.h" #include "screensaver/ScreenSaverWindow.h" +#include "utilities/GetLockScreenTimeHelper.h" #include "appvals/AppGlobalValues.h" #include "json/jsonobject.h" @@ -234,7 +235,7 @@ DialogResult DialogManager::requestSelectLanguage() SelectDialog dialog(mTopWidget); setTopWidget(&dialog); dialog.setWindowModality(Qt::WindowModal); - dialog.setValues(JsonObject::Instance()->language()); + dialog.setValues(JsonObject::Instance()->languageList()); dialog.setSelectedValue(JsonObject::Instance()->defaultLanguage()); int ret = dialog.exec(); releaseTopWidget(&dialog); @@ -270,8 +271,8 @@ DialogResult DialogManager::requestSelectLockScreenTime() SelectDialog dialog(mTopWidget); setTopWidget(&dialog); dialog.setWindowModality(Qt::WindowModal); - dialog.setValues(JsonObject::Instance()->lockScreenTimes()); - dialog.setSelectedValue(JsonObject::Instance()->defaultLockScreenTime()); + dialog.setValues(GetLockScreenTimeHelper::getLockScreenTimeList()); + dialog.setSelectedValue(GetLockScreenTimeHelper::getLockScreenTimeStr()); int ret = dialog.exec(); releaseTopWidget(&dialog); return DialogResult(ret,dialog.getSelectedValue()); diff --git a/src/forms/settings/GeneralForm.cpp b/src/forms/settings/GeneralForm.cpp index 10269f7..f45aa3c 100644 --- a/src/forms/settings/GeneralForm.cpp +++ b/src/forms/settings/GeneralForm.cpp @@ -20,6 +20,7 @@ #include "components/BatteryWidget.h" #include "log/UserOperationLog.h" #include "utilities/DiskInfoWorker.h" +#include "utilities/GetLockScreenTimeHelper.h" namespace { @@ -187,7 +188,7 @@ GeneralForm::GeneralForm(QWidget* aParent) btnLan->setText(tr(JsonObject::Instance()->defaultLanguage().toStdString().c_str())); instName->setText(JsonObject::Instance()->institutionName()); instAddr->setText(JsonObject::Instance()->institutionAddr()); - lockTime->setText(tr(JsonObject::Instance()->defaultLockScreenTime().toStdString().c_str())); + lockTime->setText(GetLockScreenTimeHelper::getLockScreenTimeStr()); //connection connect(instName, &QLineEdit::textChanged, [=](const QString& str) { @@ -207,6 +208,9 @@ GeneralForm::GeneralForm(QWidget* aParent) { return; } + QString lockTimeStr = result.ResultData.toString(); + lockTime->setText(lockTimeStr); + GetLockScreenTimeHelper::setLockScreenTime(lockTimeStr); //second = result.ResultData.toInt(); //LOG_USER_OPERATION(QString("Set Screen Lock Time to %1 seconds").arg(second)) // if(second == 0) diff --git a/src/utilities/GetLockScreenTimeHelper.cpp b/src/utilities/GetLockScreenTimeHelper.cpp new file mode 100644 index 0000000..6f24c7c --- /dev/null +++ b/src/utilities/GetLockScreenTimeHelper.cpp @@ -0,0 +1,43 @@ +#include "GetLockScreenTimeHelper.h" + +#include "json/jsonobject.h" + +#include + +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"); + } +} diff --git a/src/utilities/GetLockScreenTimeHelper.h b/src/utilities/GetLockScreenTimeHelper.h new file mode 100644 index 0000000..7428f88 --- /dev/null +++ b/src/utilities/GetLockScreenTimeHelper.h @@ -0,0 +1,21 @@ +#ifndef GETLOCKSCREENTIMEHELPER_H +#define GETLOCKSCREENTIMEHELPER_H + +#include + +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 diff --git a/src/utilities/Locker.cpp b/src/utilities/Locker.cpp index e8414a8..7c9795e 100644 --- a/src/utilities/Locker.cpp +++ b/src/utilities/Locker.cpp @@ -4,6 +4,7 @@ #include "appvals/AppGlobalValues.h" #include "event/EventCenter.h" #include "json/jsonobject.h" +#include "utilities/GetLockScreenTimeHelper.h" Locker* Locker::getInstance() { @@ -14,7 +15,7 @@ Locker* Locker::getInstance() Locker::Locker() : QObject() , mScreenTimer(new QTimer(this)) - , mCounter(JsonObject::Instance()->lockerCount()) + , mCounter(GetLockScreenTimeHelper::getLockScreenTime() * 1000) , mIsEnable(false) { if(mCounter > 0)