kiran-cpanel-power/0001-refactor-idle-time-Modify-the-setting-form-of-idle-t-40aeb96c.patch
2022-01-20 17:15:29 +08:00

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