453 lines
20 KiB
Diff
453 lines
20 KiB
Diff
From 40aeb96c9b3f8105f77ba82cbc8632b9e196e2cd Mon Sep 17 00:00:00 2001
|
|
From: liuxinhao <liuxinhao@kylinos.com.cn>
|
|
Date: Tue, 21 Dec 2021 16:58:34 +0800
|
|
Subject: [PATCH 1/5] refactor(idle time): Modify the setting form of idle time
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
- 修改空闲时间的设置形式,修改描述
|
|
---
|
|
.../general-settings-page.cpp | 73 ++++++------
|
|
.../general-settings/general-settings-page.h | 1 +
|
|
.../general-settings/general-settings-page.ui | 106 ++++++++++--------
|
|
translations/kiran-cpanel-power.zh_CN.ts | 77 +++++++------
|
|
4 files changed, 145 insertions(+), 112 deletions(-)
|
|
|
|
diff --git a/src/pages/general-settings/general-settings-page.cpp b/src/pages/general-settings/general-settings-page.cpp
|
|
index 5a6f807..40d4423 100644
|
|
--- a/src/pages/general-settings/general-settings-page.cpp
|
|
+++ b/src/pages/general-settings/general-settings-page.cpp
|
|
@@ -22,6 +22,9 @@
|
|
#define KEY_IDLE_DELAY "idle-delay"
|
|
#define DEFAULT_IDLE_DELAY 5
|
|
|
|
+#define SCHEMA_KIRAN_SCREENSAVER "com.kylinsec.kiran.screensaver"
|
|
+#define KEY_IDLE_ACTIVATION_LOCK "idleActivationLock"
|
|
+
|
|
GeneralSettingsPage::GeneralSettingsPage(QWidget* parent)
|
|
: QWidget(parent),
|
|
ui(new Ui::GeneralSettingsPage),
|
|
@@ -48,14 +51,19 @@ void GeneralSettingsPage::initSessionSetting()
|
|
{
|
|
if (QGSettings::isSchemaInstalled(KIRAN_SESSION_SCHEMA_ID))
|
|
{
|
|
- m_sessionSettings = new QGSettings(KIRAN_SESSION_SCHEMA_ID);
|
|
+ m_sessionSettings = new QGSettings(KIRAN_SESSION_SCHEMA_ID,QByteArray(),this);
|
|
}
|
|
else if (QGSettings::isSchemaInstalled(MATE_SESSION_SCHEMA_ID))
|
|
{
|
|
- m_sessionSettings = new QGSettings(MATE_SESSION_SCHEMA_ID);
|
|
+ m_sessionSettings = new QGSettings(MATE_SESSION_SCHEMA_ID,QByteArray(),this);
|
|
+ }
|
|
+
|
|
+ if( QGSettings::isSchemaInstalled(SCHEMA_KIRAN_SCREENSAVER) )
|
|
+ {
|
|
+ m_screensaverSettings = new QGSettings(SCHEMA_KIRAN_SCREENSAVER,QByteArray(),this);
|
|
}
|
|
|
|
- if (m_sessionSettings != nullptr)
|
|
+ if (m_sessionSettings)
|
|
{
|
|
connect(m_sessionSettings, &QGSettings::changed, [this](const QString& key) {
|
|
if (key != KEY_IDLE_DELAY)
|
|
@@ -73,6 +81,19 @@ void GeneralSettingsPage::initSessionSetting()
|
|
ui->slider_idleTime->setValue(m_sessionSettings->get(key).toInt());
|
|
});
|
|
}
|
|
+
|
|
+ if(m_screensaverSettings)
|
|
+ {
|
|
+ connect(m_screensaverSettings,&QGSettings::changed,[this](const QString& key){
|
|
+ if(key != KEY_IDLE_ACTIVATION_LOCK)
|
|
+ {
|
|
+ return ;
|
|
+ }
|
|
+
|
|
+ bool value = m_screensaverSettings->get(KEY_IDLE_ACTIVATION_LOCK).toBool();
|
|
+ m_btn_lockScreen->setChecked(value);
|
|
+ });
|
|
+ }
|
|
}
|
|
|
|
void GeneralSettingsPage::initUI()
|
|
@@ -132,10 +153,6 @@ void GeneralSettingsPage::initUI()
|
|
//空闲时是否锁定屏幕及屏保
|
|
m_btn_lockScreen = new KiranSwitchButton(this);
|
|
ui->layout_sliderLabel->addWidget(m_btn_lockScreen);
|
|
-
|
|
- QFont font = ui->label_idleTime->font();
|
|
- font.setPointSize(font.pointSize()-2);
|
|
- ui->label_idleTime->setFont(font);
|
|
}
|
|
|
|
void GeneralSettingsPage::initConnection()
|
|
@@ -170,20 +187,8 @@ void GeneralSettingsPage::initConnection()
|
|
m_sessionSettings->set(KEY_IDLE_DELAY, value);
|
|
}
|
|
});
|
|
- connect(m_btn_lockScreen,&QAbstractButton::toggled,[this](bool checked){
|
|
- if(checked)
|
|
- {
|
|
- ui->widget_idleTimeSlider->setEnabled(true);
|
|
- ui->slider_idleTime->setValue(DEFAULT_IDLE_DELAY);
|
|
- }
|
|
- else
|
|
- {
|
|
- if(m_sessionSettings)
|
|
- {
|
|
- m_sessionSettings->set(KEY_IDLE_DELAY,0);
|
|
- }
|
|
- ui->widget_idleTimeSlider->setEnabled(false);
|
|
- }
|
|
+ connect(m_btn_lockScreen, &QAbstractButton::toggled, [this](bool checked) {
|
|
+ m_screensaverSettings->set(KEY_IDLE_ACTIVATION_LOCK,checked);
|
|
});
|
|
}
|
|
|
|
@@ -250,18 +255,6 @@ void GeneralSettingsPage::load()
|
|
QSignalBlocker idleTimeSignalBlocker(ui->slider_idleTime);
|
|
QSignalBlocker idleTimerSwitchBlocker(m_btn_lockScreen);
|
|
int idleTime = m_sessionSettings->get(KEY_IDLE_DELAY).toInt();
|
|
- if(idleTime<=0)
|
|
- {
|
|
- m_btn_lockScreen->setChecked(false);
|
|
- ui->widget_idleTimeSlider->setEnabled(false);
|
|
- ui->slider_idleTime->setValue(0);
|
|
- }
|
|
- else
|
|
- {
|
|
- m_btn_lockScreen->setChecked(true);
|
|
- ui->widget_idleTimeSlider->setEnabled(true);
|
|
- ui->slider_idleTime->setValue(idleTime);
|
|
- }
|
|
updateIdleTimeLabel(idleTime);
|
|
}
|
|
else
|
|
@@ -269,6 +262,18 @@ void GeneralSettingsPage::load()
|
|
m_btn_lockScreen->setChecked(false);
|
|
m_btn_lockScreen->setEnabled(false);
|
|
}
|
|
+
|
|
+ if(m_screensaverSettings)
|
|
+ {
|
|
+ QSignalBlocker qSignalBlocker(m_btn_lockScreen);
|
|
+ bool value = m_screensaverSettings->get(KEY_IDLE_ACTIVATION_LOCK).toBool();
|
|
+ m_btn_lockScreen->setChecked(value);
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ m_btn_lockScreen->setChecked(false);
|
|
+ }
|
|
+
|
|
}
|
|
|
|
void GeneralSettingsPage::handleComboBoxCurrentIdxChanged(int idx)
|
|
@@ -309,7 +314,7 @@ void GeneralSettingsPage::handleComboBoxCurrentIdxChanged(int idx)
|
|
|
|
void GeneralSettingsPage::setBrightnessPercent(int percent)
|
|
{
|
|
- if(percent < 0)
|
|
+ if (percent < 0)
|
|
{
|
|
ui->slider_brightness->setEnabled(false);
|
|
ui->slider_brightness->setValue(0);
|
|
diff --git a/src/pages/general-settings/general-settings-page.h b/src/pages/general-settings/general-settings-page.h
|
|
index 7266bde..884a76f 100644
|
|
--- a/src/pages/general-settings/general-settings-page.h
|
|
+++ b/src/pages/general-settings/general-settings-page.h
|
|
@@ -48,6 +48,7 @@ private:
|
|
QTimer m_idleTimeTimer;
|
|
int m_brightnessValue;
|
|
QGSettings* m_sessionSettings = nullptr;
|
|
+ QGSettings* m_screensaverSettings = nullptr;
|
|
KiranSwitchButton* m_btn_lockScreen = nullptr;
|
|
};
|
|
|
|
diff --git a/src/pages/general-settings/general-settings-page.ui b/src/pages/general-settings/general-settings-page.ui
|
|
index 536774d..bca33de 100644
|
|
--- a/src/pages/general-settings/general-settings-page.ui
|
|
+++ b/src/pages/general-settings/general-settings-page.ui
|
|
@@ -190,6 +190,66 @@
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
+ <item>
|
|
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
|
|
+ <property name="topMargin">
|
|
+ <number>24</number>
|
|
+ </property>
|
|
+ <item>
|
|
+ <widget class="QLabel" name="label_5">
|
|
+ <property name="text">
|
|
+ <string>Regard computer as idle after</string>
|
|
+ </property>
|
|
+ </widget>
|
|
+ </item>
|
|
+ <item>
|
|
+ <spacer name="horizontalSpacer_3">
|
|
+ <property name="orientation">
|
|
+ <enum>Qt::Horizontal</enum>
|
|
+ </property>
|
|
+ <property name="sizeHint" stdset="0">
|
|
+ <size>
|
|
+ <width>40</width>
|
|
+ <height>20</height>
|
|
+ </size>
|
|
+ </property>
|
|
+ </spacer>
|
|
+ </item>
|
|
+ <item>
|
|
+ <widget class="QLabel" name="label_idleTime">
|
|
+ <property name="minimumSize">
|
|
+ <size>
|
|
+ <width>0</width>
|
|
+ <height>0</height>
|
|
+ </size>
|
|
+ </property>
|
|
+ <property name="text">
|
|
+ <string/>
|
|
+ </property>
|
|
+ <property name="alignment">
|
|
+ <set>Qt::AlignCenter</set>
|
|
+ </property>
|
|
+ </widget>
|
|
+ </item>
|
|
+ </layout>
|
|
+ </item>
|
|
+ <item>
|
|
+ <layout class="QVBoxLayout" name="verticalLayout_2">
|
|
+ <property name="spacing">
|
|
+ <number>0</number>
|
|
+ </property>
|
|
+ <property name="topMargin">
|
|
+ <number>10</number>
|
|
+ </property>
|
|
+ <item>
|
|
+ <widget class="QSlider" name="slider_idleTime">
|
|
+ <property name="orientation">
|
|
+ <enum>Qt::Horizontal</enum>
|
|
+ </property>
|
|
+ </widget>
|
|
+ </item>
|
|
+ </layout>
|
|
+ </item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="layout_sliderLabel">
|
|
<property name="topMargin">
|
|
@@ -201,7 +261,7 @@
|
|
<item>
|
|
<widget class="QLabel" name="label_4">
|
|
<property name="text">
|
|
- <string>After idle the following time to lock the screen </string>
|
|
+ <string>Lock screen when idle</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
@@ -220,50 +280,6 @@
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
- <item>
|
|
- <widget class="QWidget" name="widget_idleTimeSlider" native="true">
|
|
- <layout class="QVBoxLayout" name="verticalLayout_2">
|
|
- <property name="spacing">
|
|
- <number>0</number>
|
|
- </property>
|
|
- <property name="leftMargin">
|
|
- <number>0</number>
|
|
- </property>
|
|
- <property name="topMargin">
|
|
- <number>10</number>
|
|
- </property>
|
|
- <property name="rightMargin">
|
|
- <number>0</number>
|
|
- </property>
|
|
- <property name="bottomMargin">
|
|
- <number>0</number>
|
|
- </property>
|
|
- <item>
|
|
- <widget class="QSlider" name="slider_idleTime">
|
|
- <property name="orientation">
|
|
- <enum>Qt::Horizontal</enum>
|
|
- </property>
|
|
- </widget>
|
|
- </item>
|
|
- <item>
|
|
- <widget class="QLabel" name="label_idleTime">
|
|
- <property name="minimumSize">
|
|
- <size>
|
|
- <width>0</width>
|
|
- <height>0</height>
|
|
- </size>
|
|
- </property>
|
|
- <property name="text">
|
|
- <string/>
|
|
- </property>
|
|
- <property name="alignment">
|
|
- <set>Qt::AlignCenter</set>
|
|
- </property>
|
|
- </widget>
|
|
- </item>
|
|
- </layout>
|
|
- </widget>
|
|
- </item>
|
|
<item>
|
|
<spacer name="verticalSpacer">
|
|
<property name="orientation">
|
|
diff --git a/translations/kiran-cpanel-power.zh_CN.ts b/translations/kiran-cpanel-power.zh_CN.ts
|
|
index 924cbc0..24099fc 100644
|
|
--- a/translations/kiran-cpanel-power.zh_CN.ts
|
|
+++ b/translations/kiran-cpanel-power.zh_CN.ts
|
|
@@ -112,103 +112,114 @@
|
|
<name>GeneralSettingsPage</name>
|
|
<message>
|
|
<location filename="../src/pages/general-settings/general-settings-page.ui" line="14"/>
|
|
- <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="226"/>
|
|
- <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="226"/>
|
|
+ <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="241"/>
|
|
+ <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="241"/>
|
|
<source>GeneralSettingsPage</source>
|
|
<translation>通用设置页面</translation>
|
|
</message>
|
|
<message>
|
|
<location filename="../src/pages/general-settings/general-settings-page.ui" line="40"/>
|
|
- <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="227"/>
|
|
- <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="227"/>
|
|
+ <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="242"/>
|
|
+ <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="242"/>
|
|
<source>When the power button is pressed</source>
|
|
<translation>按下电源按钮时</translation>
|
|
</message>
|
|
<message>
|
|
<location filename="../src/pages/general-settings/general-settings-page.ui" line="64"/>
|
|
- <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="228"/>
|
|
- <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="228"/>
|
|
+ <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="243"/>
|
|
+ <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="243"/>
|
|
<source>When the suspend button is pressed</source>
|
|
<translation>按下挂起按钮时</translation>
|
|
</message>
|
|
<message>
|
|
<location filename="../src/pages/general-settings/general-settings-page.ui" line="92"/>
|
|
- <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="229"/>
|
|
- <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="229"/>
|
|
+ <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="244"/>
|
|
+ <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="244"/>
|
|
<source>When closing the lid</source>
|
|
<translation>合上盖子操作</translation>
|
|
</message>
|
|
<message>
|
|
<location filename="../src/pages/general-settings/general-settings-page.ui" line="153"/>
|
|
- <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="230"/>
|
|
- <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="230"/>
|
|
+ <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="245"/>
|
|
+ <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="245"/>
|
|
<source>Display brightness setting</source>
|
|
<translation>显示亮度设置</translation>
|
|
</message>
|
|
<message>
|
|
<location filename="../src/pages/general-settings/general-settings-page.ui" line="173"/>
|
|
- <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="231"/>
|
|
- <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="231"/>
|
|
+ <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="246"/>
|
|
+ <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="246"/>
|
|
<source>0%</source>
|
|
<translation></translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.ui" line="204"/>
|
|
- <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="232"/>
|
|
- <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="232"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.ui" line="201"/>
|
|
+ <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="247"/>
|
|
+ <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="247"/>
|
|
+ <source>Regard computer as idle after</source>
|
|
+ <translation>于此时间后视计算机为空闲</translation>
|
|
+ </message>
|
|
+ <message>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.ui" line="264"/>
|
|
+ <location filename="../build/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="249"/>
|
|
+ <location filename="../cmake-build-debug/kiran-cpanel-power_autogen/include/ui_general-settings-page.h" line="249"/>
|
|
+ <source>Lock screen when idle</source>
|
|
+ <translation>计算机空闲时锁定屏幕</translation>
|
|
+ </message>
|
|
+ <message>
|
|
<source>After idle the following time to lock the screen </source>
|
|
- <translation>空闲如下时间锁定屏幕</translation>
|
|
+ <translation type="vanished">空闲如下时间锁定屏幕</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="85"/>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="98"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="106"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="119"/>
|
|
<source>shutdown</source>
|
|
<translation>关机</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="86"/>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="92"/>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="97"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="107"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="113"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="118"/>
|
|
<source>hibernate</source>
|
|
<translation>休眠</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="87"/>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="91"/>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="96"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="108"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="112"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="117"/>
|
|
<source>suspend</source>
|
|
<translation>挂起</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="88"/>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="93"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="109"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="114"/>
|
|
<source>display off</source>
|
|
<translation>关闭显示器</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="89"/>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="94"/>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="99"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="110"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="115"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="120"/>
|
|
<source>do nothing</source>
|
|
<translation>不执行操作</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="154"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="171"/>
|
|
<source>ERROR</source>
|
|
<translation>错误</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="316"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="335"/>
|
|
<source>brightness adjustment not available</source>
|
|
<translation>亮度调整不可用</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="340"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="359"/>
|
|
<source>%1hour</source>
|
|
<translation>%1小时</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/pages/general-settings/general-settings-page.cpp" line="344"/>
|
|
+ <location filename="../src/pages/general-settings/general-settings-page.cpp" line="363"/>
|
|
<source>%1minute</source>
|
|
<translation>%1分钟</translation>
|
|
</message>
|
|
--
|
|
2.27.0
|
|
|