diff --git a/0000-feature-upower-glib-yse-UPower-glib-to-determine-whe-b09567c6.patch b/0000-feature-upower-glib-yse-UPower-glib-to-determine-whe-b09567c6.patch new file mode 100644 index 0000000..a96eb0c --- /dev/null +++ b/0000-feature-upower-glib-yse-UPower-glib-to-determine-whe-b09567c6.patch @@ -0,0 +1,145 @@ +From b09567c650c78c1d4699e092d56d783ae2568b7c Mon Sep 17 00:00:00 2001 +From: liuxinhao +Date: Tue, 21 Dec 2021 14:18:47 +0800 +Subject: [PATCH 0/5] feature(upower-glib): yse UPower-glib to determine + whether there is a battery option +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 使用upower-glib枚举出所有的设备判断是否存在电池选项 +--- + CMakeLists.txt | 7 +++++-- + src/kcp-power-interface.cpp | 10 +++++++++- + src/upower-interface.cpp | 40 +++++++++++++++++++++++++++++++++++++ + src/upower-interface.h | 13 ++++++++++++ + 4 files changed, 67 insertions(+), 3 deletions(-) + create mode 100644 src/upower-interface.cpp + create mode 100644 src/upower-interface.h + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 806bc1b..9b7831c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,6 +19,7 @@ pkg_search_module(KIRAN_WIDGETS_QT5 REQUIRED kiranwidgets-qt5) + pkg_search_module(KIRAN_CC_DAEMON REQUIRED kiran-cc-daemon) + pkg_search_module(KLOG_QT5 REQUIRED klog-qt5) + pkg_search_module(QGSETTINGS REQUIRED gsettings-qt) ++pkg_search_module(UPOWER_GLIB REQUIRED upower-glib) + + #通过kiran control panel的pkgconfig配置文件取出插件Desktop安装位置、插件共享库安装位置 + pkg_search_module(KIRAN_CONTROL_PANEL_PKG REQUIRED kiran-control-panel) +@@ -65,7 +66,8 @@ target_include_directories(${PROJECT_NAME} PRIVATE + ${KIRAN_CC_DAEMON_INCLUDE_DIRS} + ${KLOG_QT5_INCLUDE_DIRS} + ${KIRAN_CONTROL_PANEL_PKG_INCLUDE_DIRS} +- ${QGSETTINGS_INCLUDE_DIRS}) ++ ${QGSETTINGS_INCLUDE_DIRS} ++ ${UPOWER_GLIB_INCLUDE_DIRS}) + + target_link_libraries(${PROJECT_NAME} + Qt5::Widgets +@@ -73,7 +75,8 @@ target_link_libraries(${PROJECT_NAME} + ${KIRAN_WIDGETS_QT5_LIBRARIES} + ${KIRAN_CC_DAEMON_LIBRARIES} + ${KLOG_QT5_LIBRARIES} +- ${QGSETTINGS_LIBRARIES}) ++ ${QGSETTINGS_LIBRARIES} ++ ${UPOWER_GLIB_LIBRARIES}) + + include(GNUInstallDirs) + # 安装插件翻译 +diff --git a/src/kcp-power-interface.cpp b/src/kcp-power-interface.cpp +index b0f03c4..40a28c3 100644 +--- a/src/kcp-power-interface.cpp ++++ b/src/kcp-power-interface.cpp +@@ -7,6 +7,7 @@ + #include "config.h" + #include "general-settings-page.h" + #include "power-settings-page.h" ++#include "upower-interface.h" + + #include + +@@ -71,5 +72,12 @@ bool KcpPowerInterface::haveUnsavedOptions() + + QStringList KcpPowerInterface::visibleSubItems() + { +- return QStringList() << "GeneralSettings" << "PowerSettings" << "BatterySettings"; ++ QStringList subItem({{"GeneralSettings"},{"PowerSettings"}}); ++ ++ if( UPowerInterface::haveBattery() ) ++ { ++ subItem << "BatterySettings"; ++ } ++ ++ return subItem; + } +diff --git a/src/upower-interface.cpp b/src/upower-interface.cpp +new file mode 100644 +index 0000000..3159718 +--- /dev/null ++++ b/src/upower-interface.cpp +@@ -0,0 +1,40 @@ ++// ++// Created by lxh on 2021/12/21. ++// ++ ++#include "upower-interface.h" ++#include ++#include ++ ++bool UPowerInterface::haveBattery() ++{ ++ GError *error = nullptr; ++ auto upClient = up_client_new(); ++ bool hasBattery = false; ++ ++#if !UP_CHECK_VERSION(0, 99, 0) ++ gboolean ret; ++ ret = up_client_enumerate_devices_sync(upClient, NULL, &error); ++ if (!ret) ++ { ++ fprintf(stderr, "failed to get device list: %s", error->message); ++ g_error_free(error); ++ } ++#endif ++ ++ auto devices = up_client_get_devices(upClient); ++ void *device = nullptr; ++ UpDeviceKind kind; ++ for (int i = 0; i < devices->len; i++) ++ { ++ device = g_ptr_array_index(devices, i); ++ g_object_get(device, ++ "kind", &kind, ++ NULL); ++ if (kind == UP_DEVICE_KIND_BATTERY) ++ hasBattery = true; ++ } ++ g_ptr_array_unref (devices); ++ g_object_unref(upClient); ++ return hasBattery; ++} +diff --git a/src/upower-interface.h b/src/upower-interface.h +new file mode 100644 +index 0000000..1c90165 +--- /dev/null ++++ b/src/upower-interface.h +@@ -0,0 +1,13 @@ ++// ++// Created by lxh on 2021/12/21. ++// ++ ++#ifndef KIRAN_POWER_MANAGER_SRC_U_POWER_INTERFACE_H_ ++#define KIRAN_POWER_MANAGER_SRC_U_POWER_INTERFACE_H_ ++ ++namespace UPowerInterface ++{ ++ bool haveBattery(); ++}; ++ ++#endif //KIRAN_POWER_MANAGER_SRC_U_POWER_INTERFACE_H_ +-- +2.27.0 + diff --git a/0001-refactor-idle-time-Modify-the-setting-form-of-idle-t-40aeb96c.patch b/0001-refactor-idle-time-Modify-the-setting-form-of-idle-t-40aeb96c.patch new file mode 100644 index 0000000..e83ab7d --- /dev/null +++ b/0001-refactor-idle-time-Modify-the-setting-form-of-idle-t-40aeb96c.patch @@ -0,0 +1,452 @@ +From 40aeb96c9b3f8105f77ba82cbc8632b9e196e2cd Mon Sep 17 00:00:00 2001 +From: liuxinhao +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 @@ + + + ++ ++ ++ ++ 24 ++ ++ ++ ++ ++ Regard computer as idle after ++ ++ ++ ++ ++ ++ ++ Qt::Horizontal ++ ++ ++ ++ 40 ++ 20 ++ ++ ++ ++ ++ ++ ++ ++ ++ 0 ++ 0 ++ ++ ++ ++ ++ ++ ++ Qt::AlignCenter ++ ++ ++ ++ ++ ++ ++ ++ ++ 0 ++ ++ ++ 10 ++ ++ ++ ++ ++ Qt::Horizontal ++ ++ ++ ++ ++ + + + +@@ -201,7 +261,7 @@ + + + +- After idle the following time to lock the screen ++ Lock screen when idle + + + +@@ -220,50 +280,6 @@ + + + +- +- +- +- +- 0 +- +- +- 0 +- +- +- 10 +- +- +- 0 +- +- +- 0 +- +- +- +- +- Qt::Horizontal +- +- +- +- +- +- +- +- 0 +- 0 +- +- +- +- +- +- +- Qt::AlignCenter +- +- +- +- +- +- + + + +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 @@ + GeneralSettingsPage + + +- +- ++ ++ + GeneralSettingsPage + 通用设置页面 + + + +- +- ++ ++ + When the power button is pressed + 按下电源按钮时 + + + +- +- ++ ++ + When the suspend button is pressed + 按下挂起按钮时 + + + +- +- ++ ++ + When closing the lid + 合上盖子操作 + + + +- +- ++ ++ + Display brightness setting + 显示亮度设置 + + + +- +- ++ ++ + 0% + + + +- +- +- ++ ++ ++ ++ Regard computer as idle after ++ 于此时间后视计算机为空闲 ++ ++ ++ ++ ++ ++ Lock screen when idle ++ 计算机空闲时锁定屏幕 ++ ++ + After idle the following time to lock the screen +- 空闲如下时间锁定屏幕 ++ 空闲如下时间锁定屏幕 + + +- +- ++ ++ + shutdown + 关机 + + +- +- +- ++ ++ ++ + hibernate + 休眠 + + +- +- +- ++ ++ ++ + suspend + 挂起 + + +- +- ++ ++ + display off + 关闭显示器 + + +- +- +- ++ ++ ++ + do nothing + 不执行操作 + + +- ++ + ERROR + 错误 + + +- ++ + brightness adjustment not available + 亮度调整不可用 + + +- ++ + %1hour + %1小时 + + +- ++ + %1minute + %1分钟 + +-- +2.27.0 + diff --git a/0002-refactor-view-hide-configuration-items-made-by-suspe-b42c7200.patch b/0002-refactor-view-hide-configuration-items-made-by-suspe-b42c7200.patch new file mode 100644 index 0000000..4f066f9 --- /dev/null +++ b/0002-refactor-view-hide-configuration-items-made-by-suspe-b42c7200.patch @@ -0,0 +1,98 @@ +From b42c72001b7c25e11e9f480694176cb71ba9a4f8 Mon Sep 17 00:00:00 2001 +From: liuxinhao +Date: Fri, 14 Jan 2022 14:41:30 +0800 +Subject: [PATCH 2/5] refactor(view): hide configuration items made by suspend + button +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 隐藏挂起按钮相关配置 + +Closes #48515 +--- + src/pages/general-settings/general-settings-page.cpp | 7 +++++++ + src/pages/general-settings/general-settings-page.ui | 6 +++--- + translations/kiran-cpanel-power.zh_CN.ts | 8 ++++---- + 3 files changed, 14 insertions(+), 7 deletions(-) + +diff --git a/src/pages/general-settings/general-settings-page.cpp b/src/pages/general-settings/general-settings-page.cpp +index 40d4423..af5e795 100644 +--- a/src/pages/general-settings/general-settings-page.cpp ++++ b/src/pages/general-settings/general-settings-page.cpp +@@ -153,6 +153,13 @@ void GeneralSettingsPage::initUI() + //空闲时是否锁定屏幕及屏保 + m_btn_lockScreen = new KiranSwitchButton(this); + ui->layout_sliderLabel->addWidget(m_btn_lockScreen); ++ ++ //NOTE: 根据#48515缺陷单所做修改,隐藏挂起按钮相关配置项,后续若有需要再进行打开 ++ ui->layout_suspendlabel->setMargin(0); ++ ui->label_suspend->setVisible(false); ++ ++ ui->layout_suspend->setMargin(0); ++ ui->combo_suspendButton->setVisible(false); + } + + void GeneralSettingsPage::initConnection() +diff --git a/src/pages/general-settings/general-settings-page.ui b/src/pages/general-settings/general-settings-page.ui +index bca33de..0ab1909 100644 +--- a/src/pages/general-settings/general-settings-page.ui ++++ b/src/pages/general-settings/general-settings-page.ui +@@ -54,12 +54,12 @@ + + + +- ++ + + 24 + + +- ++ + + When the suspend button is pressed + +@@ -68,7 +68,7 @@ + + + +- ++ + + 10 + +diff --git a/translations/kiran-cpanel-power.zh_CN.ts b/translations/kiran-cpanel-power.zh_CN.ts +index 24099fc..f6ce17b 100644 +--- a/translations/kiran-cpanel-power.zh_CN.ts ++++ b/translations/kiran-cpanel-power.zh_CN.ts +@@ -204,22 +204,22 @@ + 不执行操作 + + +- ++ + ERROR + 错误 + + +- ++ + brightness adjustment not available + 亮度调整不可用 + + +- ++ + %1hour + %1小时 + + +- ++ + %1minute + %1分钟 + +-- +2.27.0 + diff --git a/0003-fix-brightness-abnormal-settings-brightness-8406922f.patch b/0003-fix-brightness-abnormal-settings-brightness-8406922f.patch new file mode 100644 index 0000000..215c856 --- /dev/null +++ b/0003-fix-brightness-abnormal-settings-brightness-8406922f.patch @@ -0,0 +1,38 @@ +From 8406922f40a8527c75e12033106bf938567db8b9 Mon Sep 17 00:00:00 2001 +From: liuxinhao +Date: Wed, 19 Jan 2022 09:18:40 +0800 +Subject: [PATCH 3/5] fix(brightness): abnormal settings brightness +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 修复亮度设置不正常的问题 + +Closes #48486 +--- + src/pages/general-settings/general-settings-page.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/pages/general-settings/general-settings-page.cpp b/src/pages/general-settings/general-settings-page.cpp +index af5e795..1c2cffa 100644 +--- a/src/pages/general-settings/general-settings-page.cpp ++++ b/src/pages/general-settings/general-settings-page.cpp +@@ -324,13 +324,14 @@ void GeneralSettingsPage::setBrightnessPercent(int percent) + if (percent < 0) + { + ui->slider_brightness->setEnabled(false); ++ m_brightnessValue = 0; + ui->slider_brightness->setValue(0); + ui->label_brightnessPercent->setText(tr("brightness adjustment not available")); + } + else + { + ui->slider_brightness->setEnabled(true); +- ui->slider_brightness->setValue(percent); ++ m_brightnessValue = percent; + ui->label_brightness->setText(QString("%1%").arg(percent)); + } + } +-- +2.27.0 + diff --git a/0004-fix-view-fix-ui-description-error-f3096927.patch b/0004-fix-view-fix-ui-description-error-f3096927.patch new file mode 100644 index 0000000..858297a --- /dev/null +++ b/0004-fix-view-fix-ui-description-error-f3096927.patch @@ -0,0 +1,57 @@ +From f3096927edda40b92fbfc892df14dc22f0e5ef34 Mon Sep 17 00:00:00 2001 +From: liuxinhao +Date: Wed, 19 Jan 2022 10:50:29 +0800 +Subject: [PATCH 4/5] fix(view): fix ui description error +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 修复UI界面描述错误的问题 +--- + src/pages/general-settings/general-settings-page.cpp | 3 ++- + translations/kiran-cpanel-power.zh_CN.ts | 6 +++--- + 2 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/src/pages/general-settings/general-settings-page.cpp b/src/pages/general-settings/general-settings-page.cpp +index 1c2cffa..55e5c47 100644 +--- a/src/pages/general-settings/general-settings-page.cpp ++++ b/src/pages/general-settings/general-settings-page.cpp +@@ -331,8 +331,9 @@ void GeneralSettingsPage::setBrightnessPercent(int percent) + else + { + ui->slider_brightness->setEnabled(true); ++ ui->slider_brightness->setValue(percent); + m_brightnessValue = percent; +- ui->label_brightness->setText(QString("%1%").arg(percent)); ++ ui->label_brightnessPercent->setText(QString("%1%").arg(percent)); + } + } + +diff --git a/translations/kiran-cpanel-power.zh_CN.ts b/translations/kiran-cpanel-power.zh_CN.ts +index f6ce17b..db5bbfb 100644 +--- a/translations/kiran-cpanel-power.zh_CN.ts ++++ b/translations/kiran-cpanel-power.zh_CN.ts +@@ -209,17 +209,17 @@ + 错误 + + +- ++ + brightness adjustment not available + 亮度调整不可用 + + +- ++ + %1hour + %1小时 + + +- ++ + %1minute + %1分钟 + +-- +2.27.0 + diff --git a/0005-fix-brightness-set-minmum-brightness-to-20-957b0262.patch b/0005-fix-brightness-set-minmum-brightness-to-20-957b0262.patch new file mode 100644 index 0000000..0e79e47 --- /dev/null +++ b/0005-fix-brightness-set-minmum-brightness-to-20-957b0262.patch @@ -0,0 +1,95 @@ +From 957b026270e6bd2c707e5065f1c0540e1a33f0a6 Mon Sep 17 00:00:00 2001 +From: liuxinhao +Date: Wed, 19 Jan 2022 11:11:20 +0800 +Subject: [PATCH 5/5] fix(brightness): set minmum brightness to 20% +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 设置最小亮度为20% + +Closes #48486 +--- + .../general-settings-page.cpp | 30 ++++++++++--------- + translations/kiran-cpanel-power.zh_CN.ts | 4 +-- + 2 files changed, 18 insertions(+), 16 deletions(-) + +diff --git a/src/pages/general-settings/general-settings-page.cpp b/src/pages/general-settings/general-settings-page.cpp +index 55e5c47..3c25d3b 100644 +--- a/src/pages/general-settings/general-settings-page.cpp ++++ b/src/pages/general-settings/general-settings-page.cpp +@@ -133,7 +133,7 @@ void GeneralSettingsPage::initUI() + + ///初始化QSlider,和延迟设置的Timer + ui->slider_brightness->setMaximum(100); +- ui->slider_brightness->setMinimum(0); ++ ui->slider_brightness->setMinimum(20); + m_brightnessTimer.setInterval(300); + m_brightnessTimer.setSingleShot(true); + +@@ -254,7 +254,15 @@ void GeneralSettingsPage::load() + monitorBrightnessPercent = monitorBrightnessReply.value(); + } + QSignalBlocker signalBlocker(ui->slider_brightness); +- setBrightnessPercent(monitorBrightnessPercent); ++ if( monitorBrightnessPercent == -1 ) ++ { ++ ui->slider_brightness->setMaximum(ui->slider_brightness->maximum()); ++ ui->slider_brightness->setEnabled(false); ++ } ++ else ++ { ++ setBrightnessPercent(monitorBrightnessPercent); ++ } + + /// idle time + if (m_sessionSettings) +@@ -321,20 +329,14 @@ void GeneralSettingsPage::handleComboBoxCurrentIdxChanged(int idx) + + void GeneralSettingsPage::setBrightnessPercent(int percent) + { +- if (percent < 0) ++ if (percent < ui->slider_brightness->minimum()) + { +- ui->slider_brightness->setEnabled(false); +- m_brightnessValue = 0; +- ui->slider_brightness->setValue(0); +- ui->label_brightnessPercent->setText(tr("brightness adjustment not available")); +- } +- else +- { +- ui->slider_brightness->setEnabled(true); +- ui->slider_brightness->setValue(percent); +- m_brightnessValue = percent; +- ui->label_brightnessPercent->setText(QString("%1%").arg(percent)); ++ percent = ui->slider_brightness->minimum(); + } ++ ++ ui->slider_brightness->setValue(percent); ++ m_brightnessValue = percent; ++ ui->label_brightnessPercent->setText(QString("%1%").arg(percent)); + } + + QSize GeneralSettingsPage::sizeHint() const +diff --git a/translations/kiran-cpanel-power.zh_CN.ts b/translations/kiran-cpanel-power.zh_CN.ts +index db5bbfb..1a46089 100644 +--- a/translations/kiran-cpanel-power.zh_CN.ts ++++ b/translations/kiran-cpanel-power.zh_CN.ts +@@ -214,12 +214,12 @@ + 亮度调整不可用 + + +- ++ + %1hour + %1小时 + + +- ++ + %1minute + %1分钟 + +-- +2.27.0 + diff --git a/kiran-cpanel-power-2.2.0.tar.gz b/kiran-cpanel-power-2.2.0.tar.gz new file mode 100644 index 0000000..9d11d58 Binary files /dev/null and b/kiran-cpanel-power-2.2.0.tar.gz differ diff --git a/kiran-cpanel-power.spec b/kiran-cpanel-power.spec new file mode 100644 index 0000000..4eb04c5 --- /dev/null +++ b/kiran-cpanel-power.spec @@ -0,0 +1,85 @@ +Name: kiran-cpanel-power +Version: 2.2.0 +Release: 1.kb6 +Summary: Kiran Power Manager +Summary(zh_CN): 电源管理 + +License: Mulan PSL v2 +Source0: %{name}-%{version}.tar.gz +Patch0001: 0000-feature-upower-glib-yse-UPower-glib-to-determine-whe-b09567c6.patch +Patch0002: 0001-refactor-idle-time-Modify-the-setting-form-of-idle-t-40aeb96c.patch +Patch0003: 0002-refactor-view-hide-configuration-items-made-by-suspe-b42c7200.patch +Patch0004: 0003-fix-brightness-abnormal-settings-brightness-8406922f.patch +Patch0005: 0004-fix-view-fix-ui-description-error-f3096927.patch +Patch0006: 0005-fix-brightness-set-minmum-brightness-to-20-957b0262.patch + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: qt5-qtbase-devel +BuildRequires: qt5-qtsvg-devel +BuildRequires: kiran-widgets-qt5-devel +BuildRequires: kiran-cc-daemon-devel +BuildRequires: kiran-control-panel-devel +BuildRequires: kiran-log-qt5-devel +BuildRequires: gsettings-qt-devel +BuildRequires: qt5-linguist +BuildRequires: upower-devel + +Requires: qt5-qtbase +Requires: qt5-qtsvg +Requires: kiran-widgets-qt5 +Requires: kiran-session-daemon +Requires: kiran-cpanel-launcher +Requires: kiran-log-qt5 +Requires: gsettings-qt +Requires: kiran-screensaver >= 2.2.0-6 +Requires: upower + +%description +%{summary}. + +%prep +%autosetup -p1 + +%build +%{__mkdir} -p %{buildroot} +%cmake +%make_build + +%install +%make_install + +%post +gtk-update-icon-cache -f /usr/share/icons/hicolor/ + +%files +%doc +%{_datadir}/kiran-control-panel/plugins/libs/libkiran-cpanel-power.so* +%{_datadir}/kiran-control-panel/plugins/desktop/* +%{_datadir}/applications/*.desktop +%{_datadir}/icons/hicolor/* +%{_datadir}/kiran-cpanel-power/translations/*.qm + +%clean +rm -rf %{buildroot} + +%changelog +* Wed Jan 19 2022 liuxinhao - 2.2.0-1.kb6 +- KYOS-F: using upower-glib detect battery +- KYOS-F: refactor idle time +- KYOS-B: fix brightness abnormal settings (#48486) + +* Wed Dec 29 2021 kpkg - 2.2.0-1.kb1 +- rebuild for KY3.4-MATE-modules-dev + +* Wed Dec 29 2021 caoyuanji - 2.2.0-1 +- Upgrade version number for easy upgrade + +* Mon Dec 20 2021 caoyuanji - 2.2.0-0.kb3 +- rebuild for KY3.4-4-KiranUI-2.2 + +* Mon Dec 20 2021 caoyuanji - 2.2.0-0.kb2 +- rebuild for KY3.4-4-KiranUI-2.2 + +* Fri Oct 15 2021 liuxinhao - 2.2.0-0.kb1 +- Initial build