aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--community/plasma-framework/APKBUILD11
-rw-r--r--community/plasma-framework/fix-422684.patch286
-rw-r--r--community/plasma-framework/fix-423093.patch35
3 files changed, 329 insertions, 3 deletions
diff --git a/community/plasma-framework/APKBUILD b/community/plasma-framework/APKBUILD
index 6091c06b82b..0dc104f0eb7 100644
--- a/community/plasma-framework/APKBUILD
+++ b/community/plasma-framework/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=plasma-framework
pkgver=5.71.0
-pkgrel=0
+pkgrel=1
pkgdesc="Plasma library and runtime components based upon KF5 and Qt5"
arch="all !armhf" # armhf blocked by qt5-qtdeclarative
url="https://community.kde.org/Frameworks"
@@ -10,7 +10,10 @@ license="LGPL-2.1-or-later AND GPL-2.0-or-later"
depends_dev="qt5-qtbase-dev qt5-qtdeclarative-dev qt5-qtquickcontrols2-dev kactivities-dev karchive-dev kconfig-dev kconfigwidgets-dev kcoreaddons-dev kdbusaddons-dev kdeclarative-dev kglobalaccel-dev kguiaddons-dev ki18n-dev kiconthemes-dev kio-dev kservice-dev kwindowsystem-dev kxmlgui-dev knotifications-dev kpackage-dev kirigami2-dev kwayland-dev"
makedepends="$depends_dev extra-cmake-modules qt5-qttools-dev doxygen kdoctools-dev"
checkdepends="xvfb-run mesa-dri-swrast hicolor-icon-theme"
-source="https://download.kde.org/stable/frameworks/${pkgver%.*}/plasma-framework-$pkgver.tar.xz"
+source="https://download.kde.org/stable/frameworks/${pkgver%.*}/plasma-framework-$pkgver.tar.xz
+ fix-422684.patch
+ fix-423093.patch
+ "
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
options="!check" # 8 out of 13 tests fail
@@ -31,4 +34,6 @@ check() {
package() {
DESTDIR="$pkgdir" cmake --build build --target install
}
-sha512sums="900172458cd4d16e6374f6116470c2a5bf6cf16e52da5910b976b86e03a3c69182f1eefdc01aea2eac0471ae7416c82542e5e87c7af42ed15c9d9f3f228805ef plasma-framework-5.71.0.tar.xz"
+sha512sums="900172458cd4d16e6374f6116470c2a5bf6cf16e52da5910b976b86e03a3c69182f1eefdc01aea2eac0471ae7416c82542e5e87c7af42ed15c9d9f3f228805ef plasma-framework-5.71.0.tar.xz
+179ee65fe288fa7be556fa1e721b50aaa4bd3b4fafcf8df2b9c4d107a4cb0efbefe1148ee7a523dbc3215260a6708d0a0274824efd17f27a84c79f3e1379b299 fix-422684.patch
+6d73f873f949a2ec0650407190a4a417990099020d678aaa557a959f9b7c1d96c9f137c54115d9635ea32a871da394b7966e5fa7fc7231bfee6c17c6a71ab676 fix-423093.patch"
diff --git a/community/plasma-framework/fix-422684.patch b/community/plasma-framework/fix-422684.patch
new file mode 100644
index 00000000000..d9545036c6f
--- /dev/null
+++ b/community/plasma-framework/fix-422684.patch
@@ -0,0 +1,286 @@
+Request upstream to backport to fix KDE bug 422684
+https://bugs.kde.org/show_bug.cgi?id=422684
+
+This has been merged upstream and will be unncessary from the next KDE
+Frameworks version
+
+From e1475e090747088288b05279633d19f12ae257aa Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Fri, 19 Jun 2020 22:45:19 +0000
+Subject: [PATCH] Introduce PlaceholderMessage
+
+This is a clone of the Kirigami component that we can use in Plasma
+applets until we arrive at a solution for styling QQC2 items using the
+Plasma style (https://phabricator.kde.org/T13256).
+
+See dependent patches:
+- plasma-workspace: https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/73
+- bluedevil: https://invent.kde.org/plasma/bluedevil/-/merge_requests/1
+- print-manager: https://invent.kde.org/utilities/print-manager/-/merge_requests/1
+- plasma-vault: https://invent.kde.org/plasma/plasma-vault/-/merge_requests/3
+
+Merge request: https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/13
+---
+ .../qml/PlaceholderMessage.qml | 237 ++++++++++++++++++
+ .../plasmaextracomponents/qml/qmldir | 1 +
+ 2 files changed, 238 insertions(+)
+ create mode 100644 src/declarativeimports/plasmaextracomponents/qml/PlaceholderMessage.qml
+
+diff --git a/src/declarativeimports/plasmaextracomponents/qml/PlaceholderMessage.qml b/src/declarativeimports/plasmaextracomponents/qml/PlaceholderMessage.qml
+new file mode 100644
+index 000000000..958399a8f
+--- /dev/null
++++ b/src/declarativeimports/plasmaextracomponents/qml/PlaceholderMessage.qml
+@@ -0,0 +1,237 @@
++/*
++ * Copyright 2020 Nate Graham <nate@kde.org>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Library General Public License as
++ * published by the Free Software Foundation; either version 2, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU Library General Public License for more details
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with this program; if not, write to the
++ * Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++ */
++
++import QtQuick 2.0
++import QtQuick.Layouts 1.12
++import QtQuick.Controls 2.12 as QQC2
++
++import org.kde.plasma.core 2.0 as PlasmaCore
++import org.kde.plasma.components 3.0 as PlasmaComponents3
++import org.kde.plasma.extras 2.0 as PlasmaExtras
++
++/**
++ * A placeholder message indicating that a list view is empty. The message
++ * comprises a label with lightened text, an optional icon above the text, and
++ * an optional button below the text which can be used to easily show the user
++ * what to do next to add content to the view.
++ *
++ * The top-level component is a ColumnLayout, so additional components items can
++ * simply be added as child items and they will be positioned sanely.
++ *
++ * Example usage:
++ *
++ * @code{.qml}
++ ** Shows how to use PlaceholderMessage to implement a "this view is empty" message
++ * import QtQuick 2.12
++ * import org.kde.plasma.extras 2.0 as PlasmaExtras
++ *
++ * ListView {
++ * id: listView
++ * model: [...]
++ * delegate: [...]
++ *
++ * PlasmaExtras.PlaceholderMessage {
++ * anchors.centerIn: parent
++ * width: parent.width - (units.largeSpacing * 4)
++ *
++ * visible: listView.count == 0
++ *
++ * text: "There are no items in this list"
++ * }
++ * }
++ * @endcode
++ * @code{.qml}
++ ** Shows how to use PlaceholderMessage to implement a "here's how to proceed" message
++ * import QtQuick 2.12
++ * import QtQuick.Controls 2.12 as QQC2
++ * import org.kde.plasma.extras 2.0 as PlasmaExtras
++ *
++ * ListView {
++ * id: listView
++ * model: [...]
++ * delegate: [...]
++ *
++ * PlasmaExtras.PlaceholderMessage {
++ * anchors.centerIn: parent
++ * width: parent.width - (units.largeSpacing * 4)
++ *
++ * visible: listView.count == 0
++ *
++ * text: "Add an item to proceed"
++ *
++ * helpfulAction: QQC2.Action {
++ * icon.name: "list-add"
++ * text: "Add item..."
++ * onTriggered: {
++ * [...]
++ * }
++ * }
++ * }
++ * [...]
++ * }
++ * @endcode
++ * @code{.qml}
++ ** Shows how to use PlaceholderMessage to implement a "there was a problem here" message
++ * import org.kde.plasma.components 3.0 as PlasmaComponents3
++ * import org.kde.plasma.extras 2.0 as PlasmaExtras
++ *
++ * PlasmaComponents3.Page {
++ * id: root
++ * readonly property bool networkConnected: [...]
++ *
++ * PlasmaExtras.PlaceholderMessage {
++ * anchors.centerIn: parent
++ * width: parent.width - (units.largeSpacing * 4)
++ *
++ * visible: root.networkConnected
++ *
++ * icon.name: "network-disconnect"
++ * text: "Network disconnected; unable to load content"
++ * }
++ * }
++ * @endcode
++ * @code{.qml}
++ * import org.kde.plasma.components 3.0 as PlasmaComponents3
++ * import org.kde.plasma.extras 2.0 as PlasmaExtras
++ *
++ ** Shows how to use PlaceholderMessage to implement a loading indicator
++ * PlasmaComponents3.Page {
++ * id: root
++ * readonly property bool loading: [...]
++ * readonly property int completionStatus: [...]
++ *
++ * PlasmaExtras.PlaceholderMessage {
++ * anchors.centerIn: parent
++ * width: parent.width - (units.largeSpacing * 4)
++ *
++ * visible: root.loading
++ *
++ * icon.name: "my-awesome-app-icon"
++ * text: "Loading this awesome app"
++ *
++ * PlasmaComponents3.ProgressBar {
++ * Layout.preferredWidth: units.gridUnit * 20
++ * value: root.completionStatus
++ * from: 0
++ * to: 100
++ * }
++ * }
++ * }
++ * @endcode
++ * @code{.qml}
++ * import QtQuick.Controls 2.12 as QQC2
++ * import org.kde.plasma.components 3.0 as PlasmaComponents3
++ * import org.kde.plasma.extras 2.0 as PlasmaExtras
++ *
++ ** Shows how to use PlaceholderMessage to implement a "Here's what you do next" button
++ * PlasmaComponents3.Page {
++ * id: root
++ *
++ * PlasmaExtras.PlaceholderMessage {
++ * anchors.centerIn: parent
++ * width: parent.width - (units.largeSpacing * 4)
++ *
++ * visible: root.loading
++ *
++ * helpfulAction: QQC2.Action {
++ * icon.name: "list-add"
++ * text: "Add item..."
++ * onTriggered: {
++ * [...]
++ * }
++ * }
++ * }
++ * }
++ * @endcode
++ * @since 5.72
++ */
++ColumnLayout {
++ id: root
++
++ /**
++ * text: string
++ * The text to show as a placeholder label
++ *
++ * Optional. Not setting any text is useful when you only want to display
++ * an icon, action button, and/or other custom content
++ *
++ * @since 5.72
++ */
++ property alias text: label.text
++
++ /**
++ * iconName: string
++ * The icon to show above the text label.
++ *
++ * Optional
++ * Falls back to `undefined` if the specified icon is not valid or cannot
++ * be loaded.
++ *
++ * @since 5.72
++ * @see Icon::source
++ */
++ property string iconName: string
++
++ /**
++ * helpfulAction: QtQuickControls2 Action
++ * An action that helps the user proceed. Typically used to guide the user
++ * to the next step for adding content or items to an empty view.
++ *
++ * Optional
++ *
++ * @since 5.72
++ */
++ property alias helpfulAction: actionButton.action
++
++ spacing: units.largeSpacing
++
++ PlasmaCore.IconItem {
++ visible: source != undefined
++ opacity: 0.5
++
++ Layout.alignment: Qt.AlignHCenter
++ Layout.preferredWidth: units.iconSizes.huge
++ Layout.preferredHeight: units.iconSizes.huge
++
++ source: root.iconName || null
++ }
++
++ PlasmaExtras.Heading {
++ id: label
++
++ visible: text.length > 0
++ opacity: 0.5
++
++ Layout.fillWidth: true
++ Layout.alignment: Qt.AlignHCenter
++ horizontalAlignment: Qt.AlignHCenter
++
++ level: 2
++
++ wrapMode: Text.WordWrap
++ }
++
++ PlasmaComponents3.Button {
++ id: actionButton
++
++ Layout.alignment: Qt.AlignHCenter
++
++ visible: action && action.enabled
++ }
++}
+diff --git a/src/declarativeimports/plasmaextracomponents/qml/qmldir b/src/declarativeimports/plasmaextracomponents/qml/qmldir
+index 4ba4ed7b7..6eb4af8a9 100644
+--- a/src/declarativeimports/plasmaextracomponents/qml/qmldir
++++ b/src/declarativeimports/plasmaextracomponents/qml/qmldir
+@@ -7,6 +7,7 @@ ExpandableListItem 2.0 ExpandableListItem.qml
+ Heading 2.0 Heading.qml
+ Paragraph 2.0 Paragraph.qml
+ PageRow 2.0 PageRow.qml
++PlaceholderMessage 2.0 PlaceholderMessage.qml
+ ScrollArea 2.0 ScrollArea.qml
+ Title 2.0 Title.qml
+ DescriptiveLabel 2.0 DescriptiveLabel.qml
+--
+GitLab
+
diff --git a/community/plasma-framework/fix-423093.patch b/community/plasma-framework/fix-423093.patch
new file mode 100644
index 00000000000..f1a412ac2ce
--- /dev/null
+++ b/community/plasma-framework/fix-423093.patch
@@ -0,0 +1,35 @@
+Requested to backport by upstream to fix KDE bug 423093
+https://bugs.kde.org/show_bug.cgi?id=423093
+
+This has been merged upstream already and will be unnecessary with the
+next framework release
+
+From 7f9e189d87c040a952533713ff48d32872e0eadd Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Sun, 7 Jun 2020 08:46:39 -0600
+Subject: [PATCH] Add property to access the ExpandableListItem loader's item
+
+---
+ .../plasmaextracomponents/qml/ExpandableListItem.qml | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/declarativeimports/plasmaextracomponents/qml/ExpandableListItem.qml b/src/declarativeimports/plasmaextracomponents/qml/ExpandableListItem.qml
+index d9d0662ee..ed21ab8e4 100644
+--- a/src/declarativeimports/plasmaextracomponents/qml/ExpandableListItem.qml
++++ b/src/declarativeimports/plasmaextracomponents/qml/ExpandableListItem.qml
+@@ -261,6 +261,12 @@ Item {
+ */
+ property var customExpandedViewContent: actionsListComponent
+
++ /*
++ * The actual instance of the custom view content, if loaded
++ * @since 5.72
++ */
++ property alias customExpandedViewContentItem: expandedView.item
++
+ /*
+ * isBusy: bool
+ * Whether or not to display a busy indicator on the list item. Set to true
+--
+GitLab
+