diff --git a/0010-fix-kiran-control-panel-fits-the-Qt5.9.7-interface.patch b/0010-fix-kiran-control-panel-fits-the-Qt5.9.7-interface.patch new file mode 100644 index 0000000000000000000000000000000000000000..582d128e5e258f65a3cc4260ecb6363dcd9ba905 --- /dev/null +++ b/0010-fix-kiran-control-panel-fits-the-Qt5.9.7-interface.patch @@ -0,0 +1,332 @@ +From 7c62cbc143a47fa47b432b5f8a57a5dda0d536eb Mon Sep 17 00:00:00 2001 +From: niko_yhc +Date: Tue, 12 Sep 2023 16:04:09 +0800 +Subject: [PATCH] fix(kiran-control-panel):fits the Qt5.9.7 interface +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- 适配Qt5.9.7接口,修复编译报错 + +Closes:#15019 +--- + lib/common-widgets/kiran-tips/kiran-tips.cpp | 4 +++ + .../src/pages/face/face-page.cpp | 1 - + .../src/pages/finger/finger-page.cpp | 11 ++++---- + .../src/pages/iris/iris-page.cpp | 1 - + .../src/pages/prefs/prefs-page.cpp | 16 ++++++------ + .../src/pages/ukey/ukey-page.cpp | 1 - + .../src/widgets/general-bio-page.cpp | 8 ++++++ + .../network/src/tray/wired-tray-widget.cpp | 10 ++++---- + .../network/src/tray/wireless-tray-widget.cpp | 14 +++++------ + plugins/power/src/upower-interface.cpp | 4 +++ + .../hardware-information.cpp | 6 ++--- + .../change-host-name-widget.cpp | 5 ---- + .../system-information/system-information.cpp | 2 +- + src/main.cpp | 25 +++++++++++++++++++ + 14 files changed, 70 insertions(+), 38 deletions(-) + +diff --git a/lib/common-widgets/kiran-tips/kiran-tips.cpp b/lib/common-widgets/kiran-tips/kiran-tips.cpp +index 7a8dcab..34f0fa2 100644 +--- a/lib/common-widgets/kiran-tips/kiran-tips.cpp ++++ b/lib/common-widgets/kiran-tips/kiran-tips.cpp +@@ -279,7 +279,11 @@ QSize KiranTips::getRightSize() const + QFontMetrics fontMetrics(font); + QMargins layoutContentMargins = this->layout()->contentsMargins(); + ++#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)) + ui->label->setFixedWidth(fontMetrics.horizontalAdvance(ui->label->text()) + 10); ++#else ++ ui->label->setFixedWidth(fontMetrics.width(ui->label->text()) + 10); ++#endif + ui->label->setFixedHeight(fontMetrics.height()); + + QSize size; +diff --git a/plugins/authentication/src/pages/face/face-page.cpp b/plugins/authentication/src/pages/face/face-page.cpp +index 5e0a0db..4412631 100644 +--- a/plugins/authentication/src/pages/face/face-page.cpp ++++ b/plugins/authentication/src/pages/face/face-page.cpp +@@ -23,7 +23,6 @@ + #include + #include + #include +-#include + #include + #include + +diff --git a/plugins/authentication/src/pages/finger/finger-page.cpp b/plugins/authentication/src/pages/finger/finger-page.cpp +index 86513a6..069ab94 100644 +--- a/plugins/authentication/src/pages/finger/finger-page.cpp ++++ b/plugins/authentication/src/pages/finger/finger-page.cpp +@@ -29,7 +29,6 @@ + #include + #include + #include +-#include + #include + #include + +@@ -43,11 +42,11 @@ enum FingerPageIndexEnum + }; + + const std::list> FingerProgressRangePixmapList = { +- {0, ":/kcp-authentication/images/finger-0.svg"}, +- {25, ":/kcp-authentication/images/finger-25.svg"}, +- {50, ":/kcp-authentication/images/finger-50.svg"}, +- {75, ":/kcp-authentication/images/finger-75.svg"}, +- {100, ":/kcp-authentication/images/finger-100.svg"}}; ++ std::make_tuple(0, ":/kcp-authentication/images/finger-0.svg"), ++ std::make_tuple(25, ":/kcp-authentication/images/finger-25.svg"), ++ std::make_tuple(50, ":/kcp-authentication/images/finger-50.svg"), ++ std::make_tuple(75, ":/kcp-authentication/images/finger-75.svg"), ++ std::make_tuple(100, ":/kcp-authentication/images/finger-100.svg")}; + + FingerPage::FingerPage(KiranAuthDBusProxy* proxy, FingerAuthType type, QWidget* parent) + : QWidget(parent), +diff --git a/plugins/authentication/src/pages/iris/iris-page.cpp b/plugins/authentication/src/pages/iris/iris-page.cpp +index 714c9c0..cacc801 100644 +--- a/plugins/authentication/src/pages/iris/iris-page.cpp ++++ b/plugins/authentication/src/pages/iris/iris-page.cpp +@@ -23,7 +23,6 @@ + #include + #include + #include +-#include + #include + #include + +diff --git a/plugins/authentication/src/pages/prefs/prefs-page.cpp b/plugins/authentication/src/pages/prefs/prefs-page.cpp +index 8bad280..a50cc15 100644 +--- a/plugins/authentication/src/pages/prefs/prefs-page.cpp ++++ b/plugins/authentication/src/pages/prefs/prefs-page.cpp +@@ -71,11 +71,11 @@ QWidget* PrefsPage::initAuthTypePage() + authTypeLayout->addStretch(); + + std::list> authTypes = { +- {KAD_AUTH_TYPE_FINGERPRINT, tr("fingerprint")}, +- {KAD_AUTH_TYPE_FINGERVEIN, tr("fingervein")}, +- {KAD_AUTH_TYPE_UKEY, tr("ukey")}, +- {KAD_AUTH_TYPE_IRIS, tr("iris")}, +- {KAD_AUTH_TYPE_FACE, tr("face")}}; ++ std::make_tuple(KAD_AUTH_TYPE_FINGERPRINT, tr("fingerprint")), ++ std::make_tuple(KAD_AUTH_TYPE_FINGERVEIN, tr("fingervein")), ++ std::make_tuple(KAD_AUTH_TYPE_UKEY, tr("ukey")), ++ std::make_tuple(KAD_AUTH_TYPE_IRIS, tr("iris")), ++ std::make_tuple(KAD_AUTH_TYPE_FACE, tr("face"))}; + + // fill auth types + for (auto iter : authTypes) +@@ -134,9 +134,9 @@ QWidget* PrefsPage::initAuthApplicationPage() + authAppLayout->addLayout(buttonLayout); + + std::list> authTypes = { +- {KAD_AUTH_APPLICATION_LOGIN, tr("login")}, +- {KAD_AUTH_APPLICATION_UNLOCK, tr("unlock")}, +- {KAD_AUTH_APPLICATION_EMPOWERMENT, tr("empowerment")}}; ++ std::make_tuple(KAD_AUTH_APPLICATION_LOGIN, tr("login")), ++ std::make_tuple(KAD_AUTH_APPLICATION_UNLOCK, tr("unlock")), ++ std::make_tuple(KAD_AUTH_APPLICATION_EMPOWERMENT, tr("empowerment"))}; + + // fill auth applications + for (auto iter : authTypes) +diff --git a/plugins/authentication/src/pages/ukey/ukey-page.cpp b/plugins/authentication/src/pages/ukey/ukey-page.cpp +index 38051ca..bdf4033 100644 +--- a/plugins/authentication/src/pages/ukey/ukey-page.cpp ++++ b/plugins/authentication/src/pages/ukey/ukey-page.cpp +@@ -27,7 +27,6 @@ + #include + #include + #include +-#include + #include + + UKeyPage::UKeyPage(KiranAuthDBusProxy* proxy, QWidget* parent) +diff --git a/plugins/authentication/src/widgets/general-bio-page.cpp b/plugins/authentication/src/widgets/general-bio-page.cpp +index 36d0ef9..1047c3e 100644 +--- a/plugins/authentication/src/widgets/general-bio-page.cpp ++++ b/plugins/authentication/src/widgets/general-bio-page.cpp +@@ -12,7 +12,10 @@ + #include + #include + #include ++#include ++#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)) + #include ++#endif + + #define MAX_FEATURE_NUMBER 1000 + +@@ -45,7 +48,12 @@ QString GeneralBioPage::autoGenerateFeatureName() + + for (int i = 0; i <= 10; ++i) + { ++#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)) + auto featureNumber = QRandomGenerator::global()->bounded(1, MAX_FEATURE_NUMBER); ++#else ++ qsrand(QTime(0, 0, 0).secsTo(QTime::currentTime())); ++ auto featureNumber = qrand() % MAX_FEATURE_NUMBER + 1; ++#endif + auto temp = QString("%1 %2").arg(m_featureNamePrefix).arg(featureNumber); + + if (!m_featureNameSet.contains(temp)) +diff --git a/plugins/network/src/tray/wired-tray-widget.cpp b/plugins/network/src/tray/wired-tray-widget.cpp +index 02fac75..67b2224 100644 +--- a/plugins/network/src/tray/wired-tray-widget.cpp ++++ b/plugins/network/src/tray/wired-tray-widget.cpp +@@ -59,11 +59,11 @@ void WiredTrayWidget::initUI() + + void WiredTrayWidget::initConnection() + { +- connect(m_connectionList, &TrayConnectionList::connectionUpdated, this, &WiredTrayWidget::handleConnectionUpdated, Qt::UniqueConnection); +- connect(m_connectionList, &TrayConnectionList::activateSelectedConnection, this, &WiredTrayWidget::handleActivateSelectedConnection, Qt::UniqueConnection); +- connect(m_connectionList, &TrayConnectionList::disconnect, this, &WiredTrayWidget::handleDisconnect, Qt::UniqueConnection); +- connect(m_connectionList, &TrayConnectionList::cancelConnection, this, &WiredTrayWidget::handleCancelConnection, Qt::UniqueConnection); +- connect(m_connectionList, &TrayConnectionList::sizeChanged, this, &WiredTrayWidget::sizeChanged, Qt::UniqueConnection); ++ connect(m_connectionList.data(), &TrayConnectionList::connectionUpdated, this, &WiredTrayWidget::handleConnectionUpdated, Qt::UniqueConnection); ++ connect(m_connectionList.data(), &TrayConnectionList::activateSelectedConnection, this, &WiredTrayWidget::handleActivateSelectedConnection, Qt::UniqueConnection); ++ connect(m_connectionList.data(), &TrayConnectionList::disconnect, this, &WiredTrayWidget::handleDisconnect, Qt::UniqueConnection); ++ connect(m_connectionList.data(), &TrayConnectionList::cancelConnection, this, &WiredTrayWidget::handleCancelConnection, Qt::UniqueConnection); ++ connect(m_connectionList.data(), &TrayConnectionList::sizeChanged, this, &WiredTrayWidget::sizeChanged, Qt::UniqueConnection); + + connect(m_wiredDevice.data(), &WiredDevice::carrierChanged, this, &WiredTrayWidget::handleCarrierChanged, Qt::UniqueConnection); + connect(m_wiredDevice.data(), &Device::stateChanged, this, &WiredTrayWidget::handleStateChanged, Qt::UniqueConnection); +diff --git a/plugins/network/src/tray/wireless-tray-widget.cpp b/plugins/network/src/tray/wireless-tray-widget.cpp +index 2054d99..7680376 100644 +--- a/plugins/network/src/tray/wireless-tray-widget.cpp ++++ b/plugins/network/src/tray/wireless-tray-widget.cpp +@@ -55,19 +55,19 @@ void WirelessTrayWidget::initUI() + + void WirelessTrayWidget::initConnection() + { +- connect(m_connectionList, &TrayConnectionList::activateSelectedWirelessNetwork, this, &WirelessTrayWidget::handleActivateSelectedWirelessNetwork); +- connect(m_connectionList, &TrayConnectionList::disconnect, this, &WirelessTrayWidget::handleDisconnect); +- connect(m_connectionList, &TrayConnectionList::cancelConnection, this, &WirelessTrayWidget::handleCancelConnection); +- connect(m_connectionList, &TrayConnectionList::ignoreConnection, this, &WirelessTrayWidget::handleIgnoreConnection); ++ connect(m_connectionList.data(), &TrayConnectionList::activateSelectedWirelessNetwork, this, &WirelessTrayWidget::handleActivateSelectedWirelessNetwork); ++ connect(m_connectionList.data(), &TrayConnectionList::disconnect, this, &WirelessTrayWidget::handleDisconnect); ++ connect(m_connectionList.data(), &TrayConnectionList::cancelConnection, this, &WirelessTrayWidget::handleCancelConnection); ++ connect(m_connectionList.data(), &TrayConnectionList::ignoreConnection, this, &WirelessTrayWidget::handleIgnoreConnection); + + connect(m_wirelessDevice.data(), &WirelessDevice::networkDisappeared, this, &WirelessTrayWidget::handleNetworkDisappeared); + connect(m_wirelessDevice.data(), &WirelessDevice::networkAppeared, this, &WirelessTrayWidget::handleNetworkAppeared); + +- connect(m_connectionList, &TrayConnectionList::sendPasswordToWirelessSetting, this, &WirelessTrayWidget::setSecurityPskAndActivateWirelessConnection); +- connect(m_connectionList, &TrayConnectionList::sendSsidToWireless, this, &WirelessTrayWidget::handleActivateHiddenNetwork); ++ connect(m_connectionList.data(), &TrayConnectionList::sendPasswordToWirelessSetting, this, &WirelessTrayWidget::setSecurityPskAndActivateWirelessConnection); ++ connect(m_connectionList.data(), &TrayConnectionList::sendSsidToWireless, this, &WirelessTrayWidget::handleActivateHiddenNetwork); + + connect(m_devicePtr.data(), &Device::stateChanged, this, &WirelessTrayWidget::handleDeviceStateChanged, Qt::UniqueConnection); +- connect(m_connectionList, &TrayConnectionList::sizeChanged, this, &WirelessTrayWidget::sizeChanged); ++ connect(m_connectionList.data(), &TrayConnectionList::sizeChanged, this, &WirelessTrayWidget::sizeChanged); + + connect(SignalForward::instance(), &SignalForward::wirelessConnectionAdded, this, &WirelessTrayWidget::handleNotifierConnectionAdded); + connect(SignalForward::instance(), &SignalForward::connectionRemoved, this, &WirelessTrayWidget::handleNotifierConnectionRemoved); +diff --git a/plugins/power/src/upower-interface.cpp b/plugins/power/src/upower-interface.cpp +index f929fbd..aa7960b 100644 +--- a/plugins/power/src/upower-interface.cpp ++++ b/plugins/power/src/upower-interface.cpp +@@ -32,7 +32,11 @@ bool UPowerInterface::haveBattery() + } + #endif + ++#if UP_CHECK_VERSION(0, 99, 8) + auto devices = up_client_get_devices2(upClient); ++#else ++ auto devices = up_client_get_devices(upClient); ++#endif + void *device = nullptr; + UpDeviceKind kind; + for (int i = 0; i < devices->len; i++) +diff --git a/plugins/system/src/pages/hardware-information/hardware-information.cpp b/plugins/system/src/pages/hardware-information/hardware-information.cpp +index 9e4ae2e..5232390 100644 +--- a/plugins/system/src/pages/hardware-information/hardware-information.cpp ++++ b/plugins/system/src/pages/hardware-information/hardware-information.cpp +@@ -88,9 +88,9 @@ void HardwareInformation::initUI(void) + ui->label_CPU_info->setToolTip(cpu); + + QList > hardwareMap = { +- {disks, ui->gridLayout_hard_disk}, +- {graphics, ui->gridLayout_graphics_card}, +- {eths, ui->gridLayout_network_card}}; ++ std::make_tuple(disks, ui->gridLayout_hard_disk), ++ std::make_tuple(graphics, ui->gridLayout_graphics_card), ++ std::make_tuple(eths, ui->gridLayout_network_card)}; + for (auto hardwareInitTuple : hardwareMap) + { + QStringList infos = std::get<0>(hardwareInitTuple); +diff --git a/plugins/system/src/pages/system-information/change-host-name-widget.cpp b/plugins/system/src/pages/system-information/change-host-name-widget.cpp +index c8ea9f6..7cad825 100644 +--- a/plugins/system/src/pages/system-information/change-host-name-widget.cpp ++++ b/plugins/system/src/pages/system-information/change-host-name-widget.cpp +@@ -61,11 +61,6 @@ void ChangeHostNameWidget::initUI() + setIcon(QIcon(":/images/kylin-about.png")); + + ui->btn_save->setEnabled(false); +- +- auto screen = QApplication::screenAt(QCursor::pos()); +- auto screenGeometry = screen->geometry(); +- this->move(screenGeometry.x() + (screenGeometry.width() - this->width()) / 2, +- screenGeometry.y() + (screenGeometry.height() - this->height()) / 2); + } + + void ChangeHostNameWidget::setNewHostName() +diff --git a/plugins/system/src/pages/system-information/system-information.cpp b/plugins/system/src/pages/system-information/system-information.cpp +index c249b69..9866d01 100644 +--- a/plugins/system/src/pages/system-information/system-information.cpp ++++ b/plugins/system/src/pages/system-information/system-information.cpp +@@ -268,7 +268,7 @@ void SystemInformation::handleChangeHostName() + { + if (hostNameWidget == nullptr) + { +- hostNameWidget = new ChangeHostNameWidget; ++ hostNameWidget = new ChangeHostNameWidget(this); + } + hostNameWidget->setAttribute(Qt::WA_QuitOnClose, false); + hostNameWidget->installEventFilter(this); +diff --git a/src/main.cpp b/src/main.cpp +index 2e75c10..2ff2737 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -123,6 +123,27 @@ void dumpPluginManagerInfo() + #endif + } + ++#if (QT_VERSION < QT_VERSION_CHECK(5, 10, 0)) ++static QScreen *screenAt(const QPoint &point) ++{ ++ QVarLengthArray visitedScreens; ++ for (const QScreen *screen : QGuiApplication::screens()) { ++ if (visitedScreens.contains(screen)) ++ continue; ++ ++ // The virtual siblings include the screen itself, so iterate directly ++ for (QScreen *sibling : screen->virtualSiblings()) { ++ if (sibling->geometry().contains(point)) ++ return sibling; ++ ++ visitedScreens.append(sibling); ++ } ++ } ++ ++ return nullptr; ++} ++#endif ++ + int main(int argc, char *argv[]) + { + KiranSingleApplication app(argc, +@@ -165,7 +186,11 @@ int main(int argc, char *argv[]) + PanelWindow w; + w.jump(defaultCategory,defaultSubItem); + ++#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)) + auto screen = QApplication::screenAt(QCursor::pos()); ++#else ++ auto screen = screenAt(QCursor::pos()); ++#endif + QRect screenGeometry = screen->geometry(); + w.resize(1031, 742); + w.move(screenGeometry.x() + (screenGeometry.width() - w.width()) / 2, +-- +2.27.0 + diff --git a/kiran-control-panel.spec b/kiran-control-panel.spec index 629f3f293ec481d150985a4be8a6fb8f86fb1eb9..efbd3163caeccdf60660510ea1aa13e7542c60f3 100644 --- a/kiran-control-panel.spec +++ b/kiran-control-panel.spec @@ -1,6 +1,6 @@ Name: kiran-control-panel Version: 2.5.5 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Kiran Control Panel Summary(zh_CN): Kiran桌面控制面板 @@ -16,6 +16,7 @@ Patch0006: 0006-feature-network-When-the-gateway-setting-item-is-0.0.patch Patch0007: 0007-fix-audio-Fix-parsing-error-when-json-contains-Chine.patch Patch0008: 0008-fix-audio-tray-Fixed-an-issue-where-the-volume-tray-.patch Patch0009: 0009-fix-audio-The-Sink-Source-device-list-displays-only-.patch +Patch0010: 0010-fix-kiran-control-panel-fits-the-Qt5.9.7-interface.patch BuildRequires: gcc-c++ BuildRequires: cmake >= 3.2 @@ -172,6 +173,9 @@ make %{?_smp_mflags} rm -rf %{buildroot} %changelog +* Tue Sep 12 2023 yinhongchang - 2.5.5-8 +- KYOS-F: fits the Qt5.9.7 interface(#15019) + * Fri Sep 08 2023 luoqing - 2.5.5-7 - KYOS-F: The Sink/Source device list displays only active ports. The port selection function is temporarily disabled(#13261)