From 5a7d71e068bd872027b66eb33ecd00abdd53e8af Mon Sep 17 00:00:00 2001 From: luoqing Date: Mon, 27 Mar 2023 17:55:49 +0800 Subject: [PATCH 1/3] fix(license info & audio): license information display in different colors;Fix an error where the sound output left/right balance function fails MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 激活信息已不同的显示进行显示 - 修复声音输出左/右平衡功能失效的错误 --- ...-license-information-display-in-diff.patch | 125 ++++++++++++++++++ ...-error-where-the-sound-output-left-r.patch | 75 +++++++++++ kiran-control-panel.spec | 4 + 3 files changed, 204 insertions(+) create mode 100644 0001-fix-license-info-license-information-display-in-diff.patch create mode 100644 0002-fix-audio-Fix-an-error-where-the-sound-output-left-r.patch diff --git a/0001-fix-license-info-license-information-display-in-diff.patch b/0001-fix-license-info-license-information-display-in-diff.patch new file mode 100644 index 0000000..ab476df --- /dev/null +++ b/0001-fix-license-info-license-information-display-in-diff.patch @@ -0,0 +1,125 @@ +From aa8145a1e83cf4e0e4349728bd7f1f66d02684a0 Mon Sep 17 00:00:00 2001 +From: liuxinhao +Date: Tue, 21 Feb 2023 16:47:56 +0800 +Subject: [PATCH 1/2] fix(license info): license information display in + different colors +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 激活信息已不同的显示进行显示 +--- + .../system-information/system-information.cpp | 40 +++++++++++-------- + 1 file changed, 24 insertions(+), 16 deletions(-) + +diff --git a/plugins/system/src/pages/system-information/system-information.cpp b/plugins/system/src/pages/system-information/system-information.cpp +index 0fb839f..c249b69 100644 +--- a/plugins/system/src/pages/system-information/system-information.cpp ++++ b/plugins/system/src/pages/system-information/system-information.cpp +@@ -19,6 +19,7 @@ + #include "ui_system-information.h" + + #include ++#include + #include + #include + #include +@@ -29,9 +30,7 @@ + #include + #include + #include +-#include + #include +-#include + + #define HOST_NAME "host_name" + #define ARCH "arch" +@@ -135,7 +134,7 @@ bool SystemInformation::initUI() + } + + QList kiranFrames = findChildren(); +- for (int i = 0; i < kiranFrames.count();i++) ++ for (int i = 0; i < kiranFrames.count(); i++) + { + KiranFrame* frame = kiranFrames.at(i); + frame->setRadius(6); +@@ -212,16 +211,19 @@ bool SystemInformation::getLicenseDesc(QString& licenseStatus) + QJsonObject rootObj = jsonDocument.object(); + QStringList keys = rootObj.keys(); + +- QSet keySet = {"expired_time","activation_status"}; +- for( auto key:keySet ) ++ QSet keySet = {"expired_time", "activation_status"}; ++ for (auto key : keySet) + { +- if( !keys.contains(key) ) ++ if (!keys.contains(key)) + { + KLOG_ERROR() << "KylinSecOS GetLicense missing key:" << key; + return false; + } + } + ++ bool expired = false; ++ QString statusDesc(""); ++ + QVariant expiredTimeVar = rootObj["expired_time"].toVariant(); + qlonglong expiredTimeSinceEpoch = expiredTimeVar.toULongLong(); + +@@ -229,27 +231,33 @@ bool SystemInformation::getLicenseDesc(QString& licenseStatus) + qulonglong activationStatus = activationStatusVar.toULongLong(); + + QDateTime expiredTime = QDateTime::fromSecsSinceEpoch(expiredTimeSinceEpoch); +- if (activationStatus == 0) //未激活 ++ if (activationStatus == 0) // 未激活 + { +- licenseStatus = tr("UnActivated"); ++ statusDesc = tr("UnActivated"); ++ expired = true; + } + else + { + QDateTime currentDateTime = QDateTime::currentDateTime(); + +- if( currentDateTime > expiredTime ) //激活码已过期 ++ if (currentDateTime > expiredTime) // 激活码已过期 + { +- licenseStatus = tr("Activation code has expired"); ++ statusDesc = tr("Activation code has expired"); ++ expired = true; + } +- else if( expiredTime.date().year() >= 2100 ) //永久激活 ++ else if (expiredTime.date().year() >= 2100) // 永久激活 + { +- licenseStatus = tr("Permanently activated"); ++ statusDesc = tr("Permanently activated"); ++ expired = false; + } +- else //已激活 ++ else // 已激活 + { +- licenseStatus = tr("Activated"); ++ statusDesc = tr("Activated"); ++ expired = false; + } + } ++ ++ licenseStatus = QString("%2").arg(expired?"#ff3838":"#5ab940").arg(statusDesc); + return true; + } + +@@ -285,9 +293,9 @@ void SystemInformation::updateHostName(bool isChanged, QString name) + + void SystemInformation::handleShowLicenseDialog() + { +- if( !QProcess::startDetached("/usr/bin/ksl-os-gui") ) ++ if (!QProcess::startDetached("/usr/bin/ksl-os-gui")) + { +- KiranMessageBox::message(this, tr("Error"), tr("Failed to open the license activator"),KiranMessageBox::Ok); ++ KiranMessageBox::message(this, tr("Error"), tr("Failed to open the license activator"), KiranMessageBox::Ok); + } + } + +-- +2.33.0 + diff --git a/0002-fix-audio-Fix-an-error-where-the-sound-output-left-r.patch b/0002-fix-audio-Fix-an-error-where-the-sound-output-left-r.patch new file mode 100644 index 0000000..864c342 --- /dev/null +++ b/0002-fix-audio-Fix-an-error-where-the-sound-output-left-r.patch @@ -0,0 +1,75 @@ +From 73b3469f25ac345abb66621b9cb34cdd2839e3f6 Mon Sep 17 00:00:00 2001 +From: luoqing +Date: Mon, 27 Mar 2023 16:34:04 +0800 +Subject: [PATCH 2/2] fix(audio):Fix an error where the sound output left/right + balance function fails +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 修复声音输出左/右平衡功能失效的错误 +--- + plugins/audio/src/plugin/input-page.cpp | 4 ++-- + plugins/audio/src/plugin/output-page.cpp | 8 ++++---- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/plugins/audio/src/plugin/input-page.cpp b/plugins/audio/src/plugin/input-page.cpp +index e9f5018..00826b4 100644 +--- a/plugins/audio/src/plugin/input-page.cpp ++++ b/plugins/audio/src/plugin/input-page.cpp +@@ -256,7 +256,7 @@ void InputPage::initInputSettins() + + void InputPage::initConnet() + { +- connect(ui->inputDevices, static_cast(&QComboBox::activated), [=](int index) ++ connect(ui->inputDevices, static_cast(&QComboBox::activated), [this](int index) + { + QString namePort = ui->inputDevices->itemData(index, Qt::UserRole).toString(); + if (!namePort.isNull()) +@@ -272,7 +272,7 @@ void InputPage::initConnet() + else + KLOG_DEBUG() << "namePort is null"; }); + +- connect(ui->volumeSetting, &QSlider::valueChanged, [=](int value) ++ connect(ui->volumeSetting, &QSlider::valueChanged, [this](int value) + { + double volumeValue = static_cast(value) / static_cast(100); + if (m_defaultSource != nullptr) +diff --git a/plugins/audio/src/plugin/output-page.cpp b/plugins/audio/src/plugin/output-page.cpp +index b28ba53..ef52165 100644 +--- a/plugins/audio/src/plugin/output-page.cpp ++++ b/plugins/audio/src/plugin/output-page.cpp +@@ -167,7 +167,7 @@ void OutputPage::initConnect() + connect(m_audioInterface, &AudioInterface::SinkDelete, this, &OutputPage::handleSinkDelete); + connect(m_audioInterface, &AudioInterface::DefaultSinkChange, this, &OutputPage::handleDefaultSinkChanged, Qt::QueuedConnection); + +- connect(ui->outputDevices, static_cast(&QComboBox::currentIndexChanged), [=](int index) ++ connect(ui->outputDevices, static_cast(&QComboBox::currentIndexChanged), [this](int index) + { + QString namePort = ui->outputDevices->itemData(index, Qt::UserRole).toString(); + KLOG_DEBUG() << "SetActivePort:" << namePort; +@@ -176,7 +176,7 @@ void OutputPage::initConnect() + else + KLOG_DEBUG() << "m_defaultSink is null"; }); + +- connect(ui->volumeSetting, &QSlider::valueChanged, [=](int value) ++ connect(ui->volumeSetting, &QSlider::valueChanged, [this](int value) + { + double volumeValue = static_cast(ui->volumeSetting->sliderPosition()) / static_cast(100); + if(m_defaultSink != nullptr) +@@ -187,10 +187,10 @@ void OutputPage::initConnect() + else + KLOG_DEBUG() << "m_defaultSink is null"; }); + +- connect(ui->volumeBalance, &QSlider::valueChanged, [=](int value) ++ connect(ui->volumeBalance, &QSlider::valueChanged, [this](int value) + { + double balanceValue = static_cast(value) / static_cast(100); +- if (m_defaultSink == nullptr) ++ if (m_defaultSink != nullptr) + { + m_defaultSink->SetBalance(balanceValue); + KLOG_DEBUG() << "balanceValue" << balanceValue; +-- +2.33.0 + diff --git a/kiran-control-panel.spec b/kiran-control-panel.spec index 26d561d..3ab9fc7 100644 --- a/kiran-control-panel.spec +++ b/kiran-control-panel.spec @@ -162,6 +162,10 @@ rm -rf %{buildroot} * Wed Apr 05 2023 liuxinhao - 2.5.0-1 - KYOS-F: add authentication manager and user group plugin +* Mon Mar 27 2023 luoqing - 2.4.1-4 +- KYOS-F: Fix an error where the sound output left/right balance function fails +- KYOS-F: license information display in different colors + * Thu Jan 05 2023 luoqing - 2.4.1-3 - KYOS-F: Modify the width of the secondary options sidebar of the network plugin - KYOS-F: Improve the disabling of volume plugin and tray From ab3563fd3849376c84ed791b5d5d8bb41921a35d Mon Sep 17 00:00:00 2001 From: wangyucheng Date: Mon, 10 Apr 2023 15:21:08 +0800 Subject: [PATCH 2/3] fix(translation) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加多语种翻译 --- ...-license-information-display-in-diff.patch | 125 ------------------ ...-error-where-the-sound-output-left-r.patch | 75 ----------- kiran-control-panel.spec | 3 + 3 files changed, 3 insertions(+), 200 deletions(-) delete mode 100644 0001-fix-license-info-license-information-display-in-diff.patch delete mode 100644 0002-fix-audio-Fix-an-error-where-the-sound-output-left-r.patch diff --git a/0001-fix-license-info-license-information-display-in-diff.patch b/0001-fix-license-info-license-information-display-in-diff.patch deleted file mode 100644 index ab476df..0000000 --- a/0001-fix-license-info-license-information-display-in-diff.patch +++ /dev/null @@ -1,125 +0,0 @@ -From aa8145a1e83cf4e0e4349728bd7f1f66d02684a0 Mon Sep 17 00:00:00 2001 -From: liuxinhao -Date: Tue, 21 Feb 2023 16:47:56 +0800 -Subject: [PATCH 1/2] fix(license info): license information display in - different colors -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -- 激活信息已不同的显示进行显示 ---- - .../system-information/system-information.cpp | 40 +++++++++++-------- - 1 file changed, 24 insertions(+), 16 deletions(-) - -diff --git a/plugins/system/src/pages/system-information/system-information.cpp b/plugins/system/src/pages/system-information/system-information.cpp -index 0fb839f..c249b69 100644 ---- a/plugins/system/src/pages/system-information/system-information.cpp -+++ b/plugins/system/src/pages/system-information/system-information.cpp -@@ -19,6 +19,7 @@ - #include "ui_system-information.h" - - #include -+#include - #include - #include - #include -@@ -29,9 +30,7 @@ - #include - #include - #include --#include - #include --#include - - #define HOST_NAME "host_name" - #define ARCH "arch" -@@ -135,7 +134,7 @@ bool SystemInformation::initUI() - } - - QList kiranFrames = findChildren(); -- for (int i = 0; i < kiranFrames.count();i++) -+ for (int i = 0; i < kiranFrames.count(); i++) - { - KiranFrame* frame = kiranFrames.at(i); - frame->setRadius(6); -@@ -212,16 +211,19 @@ bool SystemInformation::getLicenseDesc(QString& licenseStatus) - QJsonObject rootObj = jsonDocument.object(); - QStringList keys = rootObj.keys(); - -- QSet keySet = {"expired_time","activation_status"}; -- for( auto key:keySet ) -+ QSet keySet = {"expired_time", "activation_status"}; -+ for (auto key : keySet) - { -- if( !keys.contains(key) ) -+ if (!keys.contains(key)) - { - KLOG_ERROR() << "KylinSecOS GetLicense missing key:" << key; - return false; - } - } - -+ bool expired = false; -+ QString statusDesc(""); -+ - QVariant expiredTimeVar = rootObj["expired_time"].toVariant(); - qlonglong expiredTimeSinceEpoch = expiredTimeVar.toULongLong(); - -@@ -229,27 +231,33 @@ bool SystemInformation::getLicenseDesc(QString& licenseStatus) - qulonglong activationStatus = activationStatusVar.toULongLong(); - - QDateTime expiredTime = QDateTime::fromSecsSinceEpoch(expiredTimeSinceEpoch); -- if (activationStatus == 0) //未激活 -+ if (activationStatus == 0) // 未激活 - { -- licenseStatus = tr("UnActivated"); -+ statusDesc = tr("UnActivated"); -+ expired = true; - } - else - { - QDateTime currentDateTime = QDateTime::currentDateTime(); - -- if( currentDateTime > expiredTime ) //激活码已过期 -+ if (currentDateTime > expiredTime) // 激活码已过期 - { -- licenseStatus = tr("Activation code has expired"); -+ statusDesc = tr("Activation code has expired"); -+ expired = true; - } -- else if( expiredTime.date().year() >= 2100 ) //永久激活 -+ else if (expiredTime.date().year() >= 2100) // 永久激活 - { -- licenseStatus = tr("Permanently activated"); -+ statusDesc = tr("Permanently activated"); -+ expired = false; - } -- else //已激活 -+ else // 已激活 - { -- licenseStatus = tr("Activated"); -+ statusDesc = tr("Activated"); -+ expired = false; - } - } -+ -+ licenseStatus = QString("%2").arg(expired?"#ff3838":"#5ab940").arg(statusDesc); - return true; - } - -@@ -285,9 +293,9 @@ void SystemInformation::updateHostName(bool isChanged, QString name) - - void SystemInformation::handleShowLicenseDialog() - { -- if( !QProcess::startDetached("/usr/bin/ksl-os-gui") ) -+ if (!QProcess::startDetached("/usr/bin/ksl-os-gui")) - { -- KiranMessageBox::message(this, tr("Error"), tr("Failed to open the license activator"),KiranMessageBox::Ok); -+ KiranMessageBox::message(this, tr("Error"), tr("Failed to open the license activator"), KiranMessageBox::Ok); - } - } - --- -2.33.0 - diff --git a/0002-fix-audio-Fix-an-error-where-the-sound-output-left-r.patch b/0002-fix-audio-Fix-an-error-where-the-sound-output-left-r.patch deleted file mode 100644 index 864c342..0000000 --- a/0002-fix-audio-Fix-an-error-where-the-sound-output-left-r.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 73b3469f25ac345abb66621b9cb34cdd2839e3f6 Mon Sep 17 00:00:00 2001 -From: luoqing -Date: Mon, 27 Mar 2023 16:34:04 +0800 -Subject: [PATCH 2/2] fix(audio):Fix an error where the sound output left/right - balance function fails -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -- 修复声音输出左/右平衡功能失效的错误 ---- - plugins/audio/src/plugin/input-page.cpp | 4 ++-- - plugins/audio/src/plugin/output-page.cpp | 8 ++++---- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/plugins/audio/src/plugin/input-page.cpp b/plugins/audio/src/plugin/input-page.cpp -index e9f5018..00826b4 100644 ---- a/plugins/audio/src/plugin/input-page.cpp -+++ b/plugins/audio/src/plugin/input-page.cpp -@@ -256,7 +256,7 @@ void InputPage::initInputSettins() - - void InputPage::initConnet() - { -- connect(ui->inputDevices, static_cast(&QComboBox::activated), [=](int index) -+ connect(ui->inputDevices, static_cast(&QComboBox::activated), [this](int index) - { - QString namePort = ui->inputDevices->itemData(index, Qt::UserRole).toString(); - if (!namePort.isNull()) -@@ -272,7 +272,7 @@ void InputPage::initConnet() - else - KLOG_DEBUG() << "namePort is null"; }); - -- connect(ui->volumeSetting, &QSlider::valueChanged, [=](int value) -+ connect(ui->volumeSetting, &QSlider::valueChanged, [this](int value) - { - double volumeValue = static_cast(value) / static_cast(100); - if (m_defaultSource != nullptr) -diff --git a/plugins/audio/src/plugin/output-page.cpp b/plugins/audio/src/plugin/output-page.cpp -index b28ba53..ef52165 100644 ---- a/plugins/audio/src/plugin/output-page.cpp -+++ b/plugins/audio/src/plugin/output-page.cpp -@@ -167,7 +167,7 @@ void OutputPage::initConnect() - connect(m_audioInterface, &AudioInterface::SinkDelete, this, &OutputPage::handleSinkDelete); - connect(m_audioInterface, &AudioInterface::DefaultSinkChange, this, &OutputPage::handleDefaultSinkChanged, Qt::QueuedConnection); - -- connect(ui->outputDevices, static_cast(&QComboBox::currentIndexChanged), [=](int index) -+ connect(ui->outputDevices, static_cast(&QComboBox::currentIndexChanged), [this](int index) - { - QString namePort = ui->outputDevices->itemData(index, Qt::UserRole).toString(); - KLOG_DEBUG() << "SetActivePort:" << namePort; -@@ -176,7 +176,7 @@ void OutputPage::initConnect() - else - KLOG_DEBUG() << "m_defaultSink is null"; }); - -- connect(ui->volumeSetting, &QSlider::valueChanged, [=](int value) -+ connect(ui->volumeSetting, &QSlider::valueChanged, [this](int value) - { - double volumeValue = static_cast(ui->volumeSetting->sliderPosition()) / static_cast(100); - if(m_defaultSink != nullptr) -@@ -187,10 +187,10 @@ void OutputPage::initConnect() - else - KLOG_DEBUG() << "m_defaultSink is null"; }); - -- connect(ui->volumeBalance, &QSlider::valueChanged, [=](int value) -+ connect(ui->volumeBalance, &QSlider::valueChanged, [this](int value) - { - double balanceValue = static_cast(value) / static_cast(100); -- if (m_defaultSink == nullptr) -+ if (m_defaultSink != nullptr) - { - m_defaultSink->SetBalance(balanceValue); - KLOG_DEBUG() << "balanceValue" << balanceValue; --- -2.33.0 - diff --git a/kiran-control-panel.spec b/kiran-control-panel.spec index 3ab9fc7..daf13ab 100644 --- a/kiran-control-panel.spec +++ b/kiran-control-panel.spec @@ -7,8 +7,11 @@ Summary(zh_CN): Kiran桌面控制面板 License: MulanPSL-2.0 Source0: %{name}-%{version}.tar.gz Patch0: 0001-fix-translate-add-some-translation.patch +<<<<<<< HEAD Patch1: 0001-fix-icon-add-KiranNew-icon-selector-in-ui.patch Patch2: 0002-feature-options.cmake-Add-compilation-option-switch-.patch +======= +>>>>>>> 59cbeaf (fix(translation)) BuildRequires: gcc-c++ BuildRequires: cmake >= 3.2 From be4c37cf2e99d41cb75f6aecda407dd3f357d7c2 Mon Sep 17 00:00:00 2001 From: wangyucheng Date: Sun, 23 Apr 2023 19:26:48 +0800 Subject: [PATCH 3/3] fix(*):Compatible for versions below 5.14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 兼容5.14以下版本 去掉对 QPixmap pixmap(Qt::ReturnByValueConstant) 接口的使用 --- ...x-Compatible-for-versions-below-5.14.patch | 329 ++++++++++++++++++ kiran-control-panel.spec | 11 +- 2 files changed, 336 insertions(+), 4 deletions(-) create mode 100644 0003-fix-Compatible-for-versions-below-5.14.patch diff --git a/0003-fix-Compatible-for-versions-below-5.14.patch b/0003-fix-Compatible-for-versions-below-5.14.patch new file mode 100644 index 0000000..ed68386 --- /dev/null +++ b/0003-fix-Compatible-for-versions-below-5.14.patch @@ -0,0 +1,329 @@ +From 1c20cbda6f9dda373f77bbb5525b1ffd9ff9af13 Mon Sep 17 00:00:00 2001 +From: yuanxing +Date: Sun, 23 Apr 2023 10:07:32 +0800 +Subject: [PATCH] fix(*):Compatible for versions below 5.14 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 兼容5.14以下版本 + 去掉对 QPixmap pixmap(Qt::ReturnByValueConstant) 接口的使用 +--- + launcher/src/main.cpp | 6 +- + lib/plugin-framework/category.h | 3 +- + lib/plugin-framework/plugin-manager.cpp | 3 +- + plugins/appearance/src/appearance-subitem.h | 1 + + .../dbus-interface/appearance-global-info.cpp | 5 +- + plugins/appearance/src/pages/font/fonts.cpp | 136 +++++++++++++----- + plugins/authentication/src/auth-subitem.h | 2 + + plugins/keybinding/src/keycode-translator.cpp | 4 + + .../src/plugin/connection-itemwidget.cpp | 6 +- + plugins/network/src/tray/tray-itemwidget.cpp | 2 +- + 10 files changed, 123 insertions(+), 45 deletions(-) + +diff --git a/launcher/src/main.cpp b/launcher/src/main.cpp +index eaeee99..1c6d6c6 100644 +--- a/launcher/src/main.cpp ++++ b/launcher/src/main.cpp +@@ -60,7 +60,11 @@ int main(int argc, char *argv[]) + QString lang = qgetenv("LANG"); + if(lang.contains(".")) + { +- QStringList splitRes = lang.split(".",Qt::SkipEmptyParts); ++#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0)) ++ QStringList splitRes = lang.split(".", QString::SkipEmptyParts); ++#else ++ QStringList splitRes = lang.split(".", Qt::SkipEmptyParts); ++#endif + if(splitRes.size() == 2 && splitRes.at(1)!="UTF-8" ) + { + splitRes.replace(1,"UTF-8"); +diff --git a/lib/plugin-framework/category.h b/lib/plugin-framework/category.h +index 1e48a64..723c601 100644 +--- a/lib/plugin-framework/category.h ++++ b/lib/plugin-framework/category.h +@@ -17,6 +17,7 @@ + #include + #include + #include ++#include + + #include "plugin-subitem-interface.h" + +@@ -74,4 +75,4 @@ private: + QVector m_subitems; + // 维系子功能项ID和功能项之前的映射关键 + QMap m_subitemIDMap; +-}; +\ No newline at end of file ++}; +diff --git a/lib/plugin-framework/plugin-manager.cpp b/lib/plugin-framework/plugin-manager.cpp +index 4444a55..3a8c50b 100644 +--- a/lib/plugin-framework/plugin-manager.cpp ++++ b/lib/plugin-framework/plugin-manager.cpp +@@ -15,6 +15,7 @@ + #include "plugin-loader.h" + + #include ++#include + + PluginManager* PluginManager::_instance = nullptr; + +@@ -71,4 +72,4 @@ void PluginManager::dump() + QList PluginManager::getPlugins() + { + return m_plugins; +-} +\ No newline at end of file ++} +diff --git a/plugins/appearance/src/appearance-subitem.h b/plugins/appearance/src/appearance-subitem.h +index bbec7d8..97b79f0 100644 +--- a/plugins/appearance/src/appearance-subitem.h ++++ b/plugins/appearance/src/appearance-subitem.h +@@ -2,6 +2,7 @@ + #define __APPEARANCE_SUBITEM_H__ + + #include ++#include + #include "panel-interface.h" + #include "plugin-subitem-interface.h" + +diff --git a/plugins/appearance/src/dbus-interface/appearance-global-info.cpp b/plugins/appearance/src/dbus-interface/appearance-global-info.cpp +index ab033d6..6913197 100644 +--- a/plugins/appearance/src/dbus-interface/appearance-global-info.cpp ++++ b/plugins/appearance/src/dbus-interface/appearance-global-info.cpp +@@ -206,8 +206,11 @@ bool AppearanceGlobalInfo::getFont(int type, QStringList &fontList) + fontInfo = reply.argumentAt(0).toString(); + KLOG_INFO() << "Font type is: " << type + << " Font info is:" << fontInfo; +- ++#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0)) ++ fontInfoList = fontInfo.split(" ", QString::SkipEmptyParts); ++#else + fontInfoList = fontInfo.split(" ", Qt::SkipEmptyParts); ++#endif + if (!fontInfoList.isEmpty()) + { + fontSize = fontInfoList.takeLast(); +diff --git a/plugins/appearance/src/pages/font/fonts.cpp b/plugins/appearance/src/pages/font/fonts.cpp +index 41c184e..65e1b82 100644 +--- a/plugins/appearance/src/pages/font/fonts.cpp ++++ b/plugins/appearance/src/pages/font/fonts.cpp +@@ -150,42 +150,100 @@ void Fonts::connectSignals() + { + connect(AppearanceGlobalInfo::instance(), &AppearanceGlobalInfo::fontChanged, this, &Fonts::handleFontChanged); + +- connect(ui->cbox_application_font_name, &QComboBox::textActivated, [=](QString text) { +- m_applicationFontInfo.replace(0, text); +- KLOG_INFO() << "select applicationFont name = " << m_applicationFontInfo.at(0); +- KLOG_INFO() << "select applicationFont size = " << m_applicationFontInfo.at(1); +- setFont(APPEARANCE_FONT_TYPE_APPLICATION, m_applicationFontInfo); +- }); +- connect(ui->cbox_application_font_size, &QComboBox::textActivated, [=](QString text) { +- m_applicationFontInfo.replace(1, text); +- KLOG_INFO() << "select applicationFont name = " << m_applicationFontInfo.at(0); +- KLOG_INFO() << "select applicationFont size = " << m_applicationFontInfo.at(1); +- setFont(APPEARANCE_FONT_TYPE_APPLICATION, m_applicationFontInfo); +- }); +- connect(ui->cbox_monospace_font_name, &QComboBox::textActivated, [=](QString text) { +- m_monospaceFontInfo.replace(0, text); +- KLOG_INFO() << "monospaceFontInfo name = " << m_monospaceFontInfo.at(0); +- KLOG_INFO() << "monospaceFontInfo size = " << m_monospaceFontInfo.at(1); +- setFont(APPEARANCE_FONT_TYPE_MONOSPACE, m_monospaceFontInfo); +- }); +- connect(ui->cbox_monospace_font_size, &QComboBox::textActivated, [=](QString text) { +- m_monospaceFontInfo.replace(1, text); +- KLOG_INFO() << "monospaceFontInfo name = " << m_monospaceFontInfo.at(0); +- KLOG_INFO() << "monospaceFontInfo size = " << m_monospaceFontInfo.at(1); +- setFont(APPEARANCE_FONT_TYPE_MONOSPACE, m_monospaceFontInfo); +- }); +- connect(ui->cbox_titlebar_font_name, &QComboBox::textActivated, [=](QString text) { +- m_windowTitleFontInfo.replace(0, text); +- KLOG_INFO() << "windowTitleFontInfo name = " << m_windowTitleFontInfo.at(0); +- KLOG_INFO() << "windowTitleFontInfo size = " << m_windowTitleFontInfo.at(1); +- setFont(APPEARANCE_FONT_TYPE_WINDOW_TITLE, m_windowTitleFontInfo); +- }); +- connect(ui->cbox_titlebar_font_size, &QComboBox::textActivated, [=](QString text) { +- m_windowTitleFontInfo.replace(1, text); +- KLOG_INFO() << "windowTitleFont name = " << m_windowTitleFontInfo.at(0); +- KLOG_INFO() << "windowTitleFont size = " << m_windowTitleFontInfo.at(1); +- setFont(APPEARANCE_FONT_TYPE_WINDOW_TITLE, m_windowTitleFontInfo); +- }); ++#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)) ++ connect(ui->cbox_application_font_name, &QComboBox::textActivated, [=](QString text) ++ { ++ m_applicationFontInfo.replace(0, text); ++ KLOG_INFO() << "select applicationFont name = " << m_applicationFontInfo.at(0); ++ KLOG_INFO() << "select applicationFont size = " << m_applicationFontInfo.at(1); ++ setFont(APPEARANCE_FONT_TYPE_APPLICATION, m_applicationFontInfo); ++ }); ++ connect(ui->cbox_application_font_size, &QComboBox::textActivated, [=](QString text) ++ { ++ m_applicationFontInfo.replace(1, text); ++ KLOG_INFO() << "select applicationFont name = " << m_applicationFontInfo.at(0); ++ KLOG_INFO() << "select applicationFont size = " << m_applicationFontInfo.at(1); ++ setFont(APPEARANCE_FONT_TYPE_APPLICATION, m_applicationFontInfo); ++ }); ++ connect(ui->cbox_monospace_font_name, &QComboBox::textActivated, [=](QString text) ++ { ++ m_monospaceFontInfo.replace(0, text); ++ KLOG_INFO() << "monospaceFontInfo name = " << m_monospaceFontInfo.at(0); ++ KLOG_INFO() << "monospaceFontInfo size = " << m_monospaceFontInfo.at(1); ++ setFont(APPEARANCE_FONT_TYPE_MONOSPACE, m_monospaceFontInfo); ++ }); ++ connect(ui->cbox_monospace_font_size, &QComboBox::textActivated, [=](QString text) ++ { ++ m_monospaceFontInfo.replace(1, text); ++ KLOG_INFO() << "monospaceFontInfo name = " << m_monospaceFontInfo.at(0); ++ KLOG_INFO() << "monospaceFontInfo size = " << m_monospaceFontInfo.at(1); ++ setFont(APPEARANCE_FONT_TYPE_MONOSPACE, m_monospaceFontInfo); ++ }); ++ connect(ui->cbox_titlebar_font_name, &QComboBox::textActivated, [=](QString text) ++ { ++ m_windowTitleFontInfo.replace(0, text); ++ KLOG_INFO() << "windowTitleFontInfo name = " << m_windowTitleFontInfo.at(0); ++ KLOG_INFO() << "windowTitleFontInfo size = " << m_windowTitleFontInfo.at(1); ++ setFont(APPEARANCE_FONT_TYPE_WINDOW_TITLE, m_windowTitleFontInfo); ++ }); ++ connect(ui->cbox_titlebar_font_size, &QComboBox::textActivated, [=](QString text) ++ { ++ m_windowTitleFontInfo.replace(1, text); ++ KLOG_INFO() << "windowTitleFont name = " << m_windowTitleFontInfo.at(0); ++ KLOG_INFO() << "windowTitleFont size = " << m_windowTitleFontInfo.at(1); ++ setFont(APPEARANCE_FONT_TYPE_WINDOW_TITLE, m_windowTitleFontInfo); ++ }); ++#else ++ connect(ui->cbox_application_font_name, QOverload::of(&QComboBox::activated), ++ [=](const QString text) ++ { ++ m_applicationFontInfo.replace(0, text); ++ KLOG_INFO() << "select applicationFont name = " << m_applicationFontInfo.at(0); ++ KLOG_INFO() << "select applicationFont size = " << m_applicationFontInfo.at(1); ++ setFont(APPEARANCE_FONT_TYPE_APPLICATION, m_applicationFontInfo); ++ }); ++ connect(ui->cbox_application_font_size, QOverload::of(&QComboBox::activated), ++ [=](const QString text) ++ { ++ m_applicationFontInfo.replace(1, text); ++ KLOG_INFO() << "select applicationFont name = " << m_applicationFontInfo.at(0); ++ KLOG_INFO() << "select applicationFont size = " << m_applicationFontInfo.at(1); ++ setFont(APPEARANCE_FONT_TYPE_APPLICATION, m_applicationFontInfo); ++ }); ++ connect(ui->cbox_monospace_font_name, QOverload::of(&QComboBox::activated), ++ [=](const QString text) ++ { ++ m_monospaceFontInfo.replace(0, text); ++ KLOG_INFO() << "monospaceFontInfo name = " << m_monospaceFontInfo.at(0); ++ KLOG_INFO() << "monospaceFontInfo size = " << m_monospaceFontInfo.at(1); ++ setFont(APPEARANCE_FONT_TYPE_MONOSPACE, m_monospaceFontInfo); ++ ++ }); ++ connect(ui->cbox_monospace_font_size, QOverload::of(&QComboBox::activated), ++ [=](const QString text) ++ { ++ m_monospaceFontInfo.replace(1, text); ++ KLOG_INFO() << "monospaceFontInfo name = " << m_monospaceFontInfo.at(0); ++ KLOG_INFO() << "monospaceFontInfo size = " << m_monospaceFontInfo.at(1); ++ setFont(APPEARANCE_FONT_TYPE_MONOSPACE, m_monospaceFontInfo); ++ }); ++ connect(ui->cbox_titlebar_font_name, QOverload::of(&QComboBox::activated), ++ [=](const QString text) ++ { ++ m_windowTitleFontInfo.replace(0, text); ++ KLOG_INFO() << "windowTitleFontInfo name = " << m_windowTitleFontInfo.at(0); ++ KLOG_INFO() << "windowTitleFontInfo size = " << m_windowTitleFontInfo.at(1); ++ setFont(APPEARANCE_FONT_TYPE_WINDOW_TITLE, m_windowTitleFontInfo); ++ }); ++ connect(ui->cbox_titlebar_font_size, QOverload::of(&QComboBox::activated), ++ [=](const QString text) ++ { ++ m_windowTitleFontInfo.replace(1, text); ++ KLOG_INFO() << "windowTitleFont name = " << m_windowTitleFontInfo.at(0); ++ KLOG_INFO() << "windowTitleFont size = " << m_windowTitleFontInfo.at(1); ++ setFont(APPEARANCE_FONT_TYPE_WINDOW_TITLE, m_windowTitleFontInfo); ++ }); ++#endif + } + + void Fonts::showFontInfo(QComboBox* nameParent, QComboBox* sizeParent, QString name, QString size) +@@ -222,7 +280,11 @@ void Fonts::showFontInfo(QComboBox* nameParent, QComboBox* sizeParent, QString n + + void Fonts::handleFontChanged(int type, QString fontInfo) + { ++#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0)) ++ QStringList fontInfoList = fontInfo.split(" ", QString::SkipEmptyParts); ++#else + QStringList fontInfoList = fontInfo.split(" ", Qt::SkipEmptyParts); ++#endif + QString fontSize = fontInfoList.takeLast(); + QString fontName = fontInfoList.join(" "); + KLOG_INFO() << "font changed : " << type << ",name: " << fontName << ",size: " << fontSize; +@@ -267,5 +329,5 @@ void Fonts::handleFontChanged(int type, QString fontInfo) + + QSize Fonts::sizeHint() const + { +- return {500,657}; ++ return {500, 657}; + } +diff --git a/plugins/authentication/src/auth-subitem.h b/plugins/authentication/src/auth-subitem.h +index e09a3c8..3aa7f1f 100644 +--- a/plugins/authentication/src/auth-subitem.h ++++ b/plugins/authentication/src/auth-subitem.h +@@ -1,6 +1,8 @@ + #pragma once + + #include ++#include ++#include + #include "panel-interface.h" + #include "plugin-subitem-interface.h" + +diff --git a/plugins/keybinding/src/keycode-translator.cpp b/plugins/keybinding/src/keycode-translator.cpp +index c75ee07..f692fef 100644 +--- a/plugins/keybinding/src/keycode-translator.cpp ++++ b/plugins/keybinding/src/keycode-translator.cpp +@@ -146,7 +146,11 @@ QString KeycodeTranslator::backendKeyString2Readable(const QString &keyString) + QString temp = keyString; + temp = temp.replace("<",""); + temp = temp.replace(">","-"); ++#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0)) ++ QStringList keyList = temp.split("-", QString::SkipEmptyParts); ++#else + QStringList keyList = temp.split("-",Qt::SkipEmptyParts); ++#endif + for(int i=0;ipixmap(Qt::ReturnByValue)); +- if (!pixmap.isNull()) +- m_connectionTypeIcon->setPixmap(pixmap); ++ QImage image = m_connectionTypeIcon->pixmap()->toImage(); ++ image.invertPixels(QImage::InvertRgb); ++ m_connectionTypeIcon->setPixmap(QPixmap::fromImage(image)); + m_editButton->setIcon(NetworkUtils::trayIconColorSwitch(":/kcp-network-images/details-info.svg")); + } + +diff --git a/plugins/network/src/tray/tray-itemwidget.cpp b/plugins/network/src/tray/tray-itemwidget.cpp +index 2f85842..19c79af 100644 +--- a/plugins/network/src/tray/tray-itemwidget.cpp ++++ b/plugins/network/src/tray/tray-itemwidget.cpp +@@ -297,7 +297,7 @@ void TrayItemWidget::paintEvent(QPaintEvent *event) + + void TrayItemWidget::handleThemeChanged(Kiran::PaletteType paletteType) + { +- QImage image = ui->connectionTypeIcon->pixmap(Qt::ReturnByValue).toImage(); ++ QImage image = ui->connectionTypeIcon->pixmap()->toImage(); + image.invertPixels(QImage::InvertRgb); + QPixmap pixmap = QPixmap::fromImage(image); + ui->connectionTypeIcon->setPixmap(pixmap); +-- +2.33.0 + diff --git a/kiran-control-panel.spec b/kiran-control-panel.spec index daf13ab..4bb6e37 100644 --- a/kiran-control-panel.spec +++ b/kiran-control-panel.spec @@ -1,17 +1,15 @@ Name: kiran-control-panel Version: 2.5.0 -Release: 2 +Release: 3 Summary: Kiran Control Panel Summary(zh_CN): Kiran桌面控制面板 License: MulanPSL-2.0 Source0: %{name}-%{version}.tar.gz Patch0: 0001-fix-translate-add-some-translation.patch -<<<<<<< HEAD Patch1: 0001-fix-icon-add-KiranNew-icon-selector-in-ui.patch Patch2: 0002-feature-options.cmake-Add-compilation-option-switch-.patch -======= ->>>>>>> 59cbeaf (fix(translation)) +Patch3: 0003-fix-Compatible-for-versions-below-5.14.patch BuildRequires: gcc-c++ BuildRequires: cmake >= 3.2 @@ -21,6 +19,8 @@ BuildRequires: zeromq-devel BuildRequires: libnotify-devel BuildRequires: pam-devel BuildRequires: cryptopp-devel +BuildRequires: libXrandr-devel +BuildRequires: libXcursor-devel BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtx11extras-devel @@ -159,6 +159,9 @@ make %{?_smp_mflags} rm -rf %{buildroot} %changelog +* Sun Apr 23 2023 wangyucheng - 2.5.0-3 +- KYOS-F: Compatible for versions below 5.14 + * Mon Apr 10 2023 wangyucheng - 2.5.0-2 - KYOS-T: add some translation