summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <andreas.sturmlechner@gmail.com>2016-11-16 00:55:22 +0100
committerMichael Palimaka <kensington@gentoo.org>2016-11-17 22:35:20 +1100
commit0897f2e61539f7256c5663c3184950aeaa3b195c (patch)
tree545dcce637d07e80c515bb65e38ec491302ac76a /kde-frameworks/plasma
parentx11-terms/xterm: ppc stable wrt bug #579266 (diff)
downloadgentoo-0897f2e61539f7256c5663c3184950aeaa3b195c.tar.gz
gentoo-0897f2e61539f7256c5663c3184950aeaa3b195c.tar.bz2
gentoo-0897f2e61539f7256c5663c3184950aeaa3b195c.zip
kde-frameworks/plasma: Backport activationTogglesExpanded
New API to fix e.g. Meta key toggle behaviour. plasma-desktop-5.8.3 is already able to make use of it and fix KDE Bug 367685: https://bugs.kde.org/show_bug.cgi?id=367685 See also https://git.reviewboard.kde.org/r/129204/ Package-Manager: portage-2.3.0
Diffstat (limited to 'kde-frameworks/plasma')
-rw-r--r--kde-frameworks/plasma/files/plasma-5.26.0-activationTogglesExpanded.patch124
-rw-r--r--kde-frameworks/plasma/plasma-5.26.0-r1.ebuild70
-rw-r--r--kde-frameworks/plasma/plasma-5.27.0-r1.ebuild70
3 files changed, 264 insertions, 0 deletions
diff --git a/kde-frameworks/plasma/files/plasma-5.26.0-activationTogglesExpanded.patch b/kde-frameworks/plasma/files/plasma-5.26.0-activationTogglesExpanded.patch
new file mode 100644
index 000000000000..f32f2b426f4c
--- /dev/null
+++ b/kde-frameworks/plasma/files/plasma-5.26.0-activationTogglesExpanded.patch
@@ -0,0 +1,124 @@
+commit 65706d3878d556c7a1eac18984ec41b1a1d96d56
+Author: Roman Gilg <subdiff@gmail.com>
+Date: Wed Oct 19 18:51:15 2016 +0200
+
+ New bool to use activated signal as toggle of expanded
+
+ The launcher applets couldn't be closed with Meta alone and on Wayland
+ in general by any global shortcut, since we used for that the focusOutEvent
+ triggered only on X and only on global shortcuts (on default Alt+F1).
+
+ This patch introduces the new bool activationTogglesExpanded, which allowes
+ QML applets to decide if they wish to use the activated signal also to end
+ their expanded state.
+
+ The default value is false, in order to not break any legacy applets.
+
+ REVIEW: 129204
+ BUG: 367685
+
+diff --git a/src/plasmaquick/appletquickitem.cpp b/src/plasmaquick/appletquickitem.cpp
+index ce2b82a..e2fd40e 100644
+--- a/src/plasmaquick/appletquickitem.cpp
++++ b/src/plasmaquick/appletquickitem.cpp
+@@ -48,7 +48,8 @@ AppletQuickItemPrivate::AppletQuickItemPrivate(Plasma::Applet *a, AppletQuickIte
+ switchWidth(-1),
+ switchHeight(-1),
+ applet(a),
+- expanded(false)
++ expanded(false),
++ activationTogglesExpanded(false)
+ {
+ }
+
+@@ -727,6 +728,20 @@ void AppletQuickItem::setExpanded(bool expanded)
+ emit expandedChanged(expanded);
+ }
+
++bool AppletQuickItem::isActivationTogglesExpanded() const
++{
++ return d->activationTogglesExpanded;
++}
++
++void AppletQuickItem::setActivationTogglesExpanded(bool activationTogglesExpanded)
++{
++ if (d->activationTogglesExpanded == activationTogglesExpanded) {
++ return;
++ }
++ d->activationTogglesExpanded = activationTogglesExpanded;
++ emit activationTogglesExpandedChanged(activationTogglesExpanded);
++}
++
+ ////////////Internals
+
+ KDeclarative::QmlObject *AppletQuickItem::qmlObject()
+diff --git a/src/plasmaquick/appletquickitem.h b/src/plasmaquick/appletquickitem.h
+index 943e227..7df364d 100644
+--- a/src/plasmaquick/appletquickitem.h
++++ b/src/plasmaquick/appletquickitem.h
+@@ -81,6 +81,12 @@ class PLASMAQUICK_EXPORT AppletQuickItem : public QQuickItem
+ Q_PROPERTY(bool expanded WRITE setExpanded READ isExpanded NOTIFY expandedChanged)
+
+ /**
++ * True when the applet wants the activation signal act in toggle mode, i.e. while being expanded
++ * the signal shrinks the applet to its not exanded state instead of reexpanding it.
++ */
++ Q_PROPERTY(bool activationTogglesExpanded WRITE setActivationTogglesExpanded READ isActivationTogglesExpanded NOTIFY activationTogglesExpandedChanged)
++
++ /**
+ * the applet root QML item: sometimes is the same as fullRepresentationItem
+ * if a fullrepresentation was not declared explicitly
+ */
+@@ -126,6 +132,9 @@ public:
+ bool isExpanded() const;
+ void setExpanded(bool expanded);
+
++ bool isActivationTogglesExpanded() const;
++ void setActivationTogglesExpanded(bool activationTogglesExpanded);
++
+ ////NEEDED BY QML TO CREATE ATTACHED PROPERTIES
+ static AppletQuickItem *qmlAttachedProperties(QObject *object);
+
+@@ -135,6 +144,7 @@ Q_SIGNALS:
+ void switchHeightChanged(int height);
+
+ void expandedChanged(bool expanded);
++ void activationTogglesExpandedChanged(bool activationTogglesExpanded);
+
+ void compactRepresentationChanged(QQmlComponent *compactRepresentation);
+ void fullRepresentationChanged(QQmlComponent *fullRepresentation);
+diff --git a/src/plasmaquick/private/appletquickitem_p.h b/src/plasmaquick/private/appletquickitem_p.h
+index 1436935..ffd2bf2 100644
+--- a/src/plasmaquick/private/appletquickitem_p.h
++++ b/src/plasmaquick/private/appletquickitem_p.h
+@@ -104,6 +104,7 @@ public:
+ Plasma::Package containmentPackage;
+
+ bool expanded : 1;
++ bool activationTogglesExpanded : 1;
+
+ static QHash<QObject *, AppletQuickItem *> s_rootObjects;
+ };
+diff --git a/src/scriptengines/qml/plasmoid/appletinterface.cpp b/src/scriptengines/qml/plasmoid/appletinterface.cpp
+index 1cd6934..f24bc51 100644
+--- a/src/scriptengines/qml/plasmoid/appletinterface.cpp
++++ b/src/scriptengines/qml/plasmoid/appletinterface.cpp
+@@ -142,11 +142,16 @@ void AppletInterface::init()
+ emit busyChanged();
+
+ applet()->updateConstraints(Plasma::Types::UiReadyConstraint);
++
+ connect(applet(), &Plasma::Applet::activated,
+ [ = ]() {
+- setExpanded(true);
++ // in case the applet doesn't want to get shrinked on reactivation,
++ // we always expand it again (only in order to conform with legacy behaviour)
++ bool activate = !( isExpanded() && isActivationTogglesExpanded() );
++
++ setExpanded(activate);
+ if (QQuickItem *i = qobject_cast<QQuickItem *>(fullRepresentationItem())) {
+- i->setFocus(true, Qt::ShortcutFocusReason);
++ i->setFocus(activate, Qt::ShortcutFocusReason);
+ }
+ });
+
diff --git a/kde-frameworks/plasma/plasma-5.26.0-r1.ebuild b/kde-frameworks/plasma/plasma-5.26.0-r1.ebuild
new file mode 100644
index 000000000000..7d457212e975
--- /dev/null
+++ b/kde-frameworks/plasma/plasma-5.26.0-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+KMNAME="${PN}-framework"
+VIRTUALX_REQUIRED="test"
+inherit kde5
+
+DESCRIPTION="Plasma framework"
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="egl gles2 X"
+
+COMMON_DEPEND="
+ $(add_frameworks_dep kactivities)
+ $(add_frameworks_dep karchive)
+ $(add_frameworks_dep kconfig)
+ $(add_frameworks_dep kconfigwidgets)
+ $(add_frameworks_dep kcoreaddons)
+ $(add_frameworks_dep kdeclarative)
+ $(add_frameworks_dep kglobalaccel)
+ $(add_frameworks_dep kguiaddons)
+ $(add_frameworks_dep ki18n)
+ $(add_frameworks_dep kiconthemes)
+ $(add_frameworks_dep kio)
+ $(add_frameworks_dep knotifications)
+ $(add_frameworks_dep kpackage)
+ $(add_frameworks_dep kservice)
+ $(add_frameworks_dep kwindowsystem)
+ $(add_frameworks_dep kxmlgui)
+ $(add_qt_dep qtdbus)
+ $(add_qt_dep qtdeclarative)
+ $(add_qt_dep qtgui 'gles2=')
+ $(add_qt_dep qtquickcontrols)
+ $(add_qt_dep qtsql)
+ $(add_qt_dep qtsvg)
+ $(add_qt_dep qtwidgets)
+ egl? ( media-libs/mesa[egl] )
+ !gles2? ( virtual/opengl )
+ X? (
+ $(add_qt_dep qtx11extras)
+ x11-libs/libX11
+ x11-libs/libxcb
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ $(add_frameworks_dep kdoctools)
+ X? ( x11-proto/xproto )
+"
+RDEPEND="${COMMON_DEPEND}
+ !<kde-apps/kapptemplate-15.08.3-r1:5
+ !<kde-plasma/kdeplasma-addons-5.4.3-r1:5
+"
+
+RESTRICT+=" test"
+
+PATCHES=( "${FILESDIR}/${PN}-5.26.0-activationTogglesExpanded.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_find_package egl EGL)
+ $(cmake-utils_use_find_package !gles2 OpenGL)
+ $(cmake-utils_use_find_package X X11)
+ $(cmake-utils_use_find_package X XCB)
+ )
+
+ kde5_src_configure
+}
diff --git a/kde-frameworks/plasma/plasma-5.27.0-r1.ebuild b/kde-frameworks/plasma/plasma-5.27.0-r1.ebuild
new file mode 100644
index 000000000000..7d457212e975
--- /dev/null
+++ b/kde-frameworks/plasma/plasma-5.27.0-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+KMNAME="${PN}-framework"
+VIRTUALX_REQUIRED="test"
+inherit kde5
+
+DESCRIPTION="Plasma framework"
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="egl gles2 X"
+
+COMMON_DEPEND="
+ $(add_frameworks_dep kactivities)
+ $(add_frameworks_dep karchive)
+ $(add_frameworks_dep kconfig)
+ $(add_frameworks_dep kconfigwidgets)
+ $(add_frameworks_dep kcoreaddons)
+ $(add_frameworks_dep kdeclarative)
+ $(add_frameworks_dep kglobalaccel)
+ $(add_frameworks_dep kguiaddons)
+ $(add_frameworks_dep ki18n)
+ $(add_frameworks_dep kiconthemes)
+ $(add_frameworks_dep kio)
+ $(add_frameworks_dep knotifications)
+ $(add_frameworks_dep kpackage)
+ $(add_frameworks_dep kservice)
+ $(add_frameworks_dep kwindowsystem)
+ $(add_frameworks_dep kxmlgui)
+ $(add_qt_dep qtdbus)
+ $(add_qt_dep qtdeclarative)
+ $(add_qt_dep qtgui 'gles2=')
+ $(add_qt_dep qtquickcontrols)
+ $(add_qt_dep qtsql)
+ $(add_qt_dep qtsvg)
+ $(add_qt_dep qtwidgets)
+ egl? ( media-libs/mesa[egl] )
+ !gles2? ( virtual/opengl )
+ X? (
+ $(add_qt_dep qtx11extras)
+ x11-libs/libX11
+ x11-libs/libxcb
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ $(add_frameworks_dep kdoctools)
+ X? ( x11-proto/xproto )
+"
+RDEPEND="${COMMON_DEPEND}
+ !<kde-apps/kapptemplate-15.08.3-r1:5
+ !<kde-plasma/kdeplasma-addons-5.4.3-r1:5
+"
+
+RESTRICT+=" test"
+
+PATCHES=( "${FILESDIR}/${PN}-5.26.0-activationTogglesExpanded.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_find_package egl EGL)
+ $(cmake-utils_use_find_package !gles2 OpenGL)
+ $(cmake-utils_use_find_package X X11)
+ $(cmake-utils_use_find_package X XCB)
+ )
+
+ kde5_src_configure
+}