commit: 0265fd381f7d5379a16587341f7c8e8f5ca4431e Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Tue Sep 29 12:23:07 2020 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Tue Sep 29 12:46:43 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0265fd38
kde-frameworks/qqc2-desktop-style: Move dbus connection in singleton "Substantially improves the speed and responsiveness of large and complicated QML-based apps." Upstream commit f8e56a22721057107bccdf319da36ff82ca2a804 Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> ...-5.74.0-move-dbus-connection-in-singleton.patch | 67 ++++++++++++++++++++++ .../qqc2-desktop-style-5.74.0-r1.ebuild | 30 ++++++++++ 2 files changed, 97 insertions(+) diff --git a/kde-frameworks/qqc2-desktop-style/files/qqc2-desktop-style-5.74.0-move-dbus-connection-in-singleton.patch b/kde-frameworks/qqc2-desktop-style/files/qqc2-desktop-style-5.74.0-move-dbus-connection-in-singleton.patch new file mode 100644 index 00000000000..026a5b65d02 --- /dev/null +++ b/kde-frameworks/qqc2-desktop-style/files/qqc2-desktop-style-5.74.0-move-dbus-connection-in-singleton.patch @@ -0,0 +1,67 @@ +From f8e56a22721057107bccdf319da36ff82ca2a804 Mon Sep 17 00:00:00 2001 +From: Marco Martin <[email protected]> +Date: Mon, 7 Sep 2020 09:52:57 +0000 +Subject: [PATCH] move the dbus connection in the singleton + +connecting to dbus is expensive, do it only once in the singleton +the theme instance will only connecto to the signal forwarded by +the singleton +--- + .../plasmadesktoptheme.cpp | 20 +++++++++++-------- + 1 file changed, 12 insertions(+), 8 deletions(-) + +diff --git a/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp b/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp +index babb433..ff046eb 100644 +--- a/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp ++++ b/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp +@@ -45,6 +45,14 @@ public: + { + connect(qGuiApp, &QGuiApplication::paletteChanged, + this, &StyleSingleton::refresh); ++ ++ // Use DBus in order to listen for kdeglobals changes directly, as the ++ // QApplication doesn't expose the font variants we're looking for, ++ // namely smallFont. ++ QDBusConnection::sessionBus().connect( QString(), ++ QStringLiteral( "/KGlobalSettings" ), ++ QStringLiteral( "org.kde.KGlobalSettings" ), ++ QStringLiteral( "notifyChange" ), this, SIGNAL(configurationChanged())); + } + + void refresh() +@@ -125,6 +133,7 @@ public: + KColorScheme viewScheme; + + Q_SIGNALS: ++ void configurationChanged(); + void paletteChanged(); + + private: +@@ -161,14 +170,6 @@ PlasmaDesktopTheme::PlasmaDesktopTheme(QObject *parent) + }); + } + +- // Use DBus in order to listen for kdeglobals changes directly, as the +- // QApplication doesn't expose the font variants we're looking for, +- // namely smallFont. +- QDBusConnection::sessionBus().connect( QString(), +- QStringLiteral( "/KGlobalSettings" ), +- QStringLiteral( "org.kde.KGlobalSettings" ), +- QStringLiteral( "notifyChange" ), this, SLOT(configurationChanged())); +- + //TODO: correct? depends from https://codereview.qt-project.org/206889 + connect(qGuiApp, &QGuiApplication::fontDatabaseChanged, this, [this]() {setDefaultFont(qApp->font());}); + configurationChanged(); +@@ -181,6 +182,9 @@ PlasmaDesktopTheme::PlasmaDesktopTheme(QObject *parent) + connect(s_style->data(), &StyleSingleton::paletteChanged, + this, &PlasmaDesktopTheme::syncColors); + ++ connect(s_style->data(), &StyleSingleton::configurationChanged, ++ this, &PlasmaDesktopTheme::configurationChanged); ++ + syncColors(); + } + +-- +GitLab + diff --git a/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.74.0-r1.ebuild b/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.74.0-r1.ebuild new file mode 100644 index 00000000000..5c012a581d5 --- /dev/null +++ b/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.74.0-r1.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +ECM_QTHELP="false" +PVCUT=$(ver_cut 1-2) +QTMIN=5.14.2 +inherit ecm kde.org + +DESCRIPTION="Style for QtQuickControls 2 that uses QWidget's QStyle for painting" + +LICENSE="|| ( GPL-2+ LGPL-3+ )" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="" + +DEPEND=" + >=dev-qt/qtdeclarative-${QTMIN}:5= + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + =kde-frameworks/kconfigwidgets-${PVCUT}*:5 + =kde-frameworks/kiconthemes-${PVCUT}*:5 + =kde-frameworks/kirigami-${PVCUT}*:5 +" +RDEPEND="${DEPEND} + >=dev-qt/qtgraphicaleffects-${QTMIN}:5 + >=dev-qt/qtquickcontrols2-${QTMIN}:5 +" + +PATCHES=( "${FILESDIR}"/${P}-move-dbus-connection-in-singleton.patch )
