From e78b329ba01be010d67dacb62e45a0bbcdb5a804 Mon Sep 17 00:00:00 2001 From: Simeon Huang Date: Wed, 19 May 2021 14:01:40 +0100 Subject: [PATCH] add kirigami2 package without OpenGL --- ...-language-change-events-and-forward-.patch | 92 +++++ x11-packages/kirigami2/build.sh | 10 + .../kirigami2/fix_incomplete_types.patch | 20 + x11-packages/kirigami2/no_opengl.patch | 190 +++++++++ .../kirigami2/treat_android_as_linux.patch | 39 ++ .../kirigami2/without_accessibility.patch | 145 +++++++ .../without_qt_graphical_effects.patch | 371 ++++++++++++++++++ 7 files changed, 867 insertions(+) create mode 100644 x11-packages/kirigami2/0001-Revert-Watch-for-language-change-events-and-forward-.patch create mode 100644 x11-packages/kirigami2/build.sh create mode 100644 x11-packages/kirigami2/fix_incomplete_types.patch create mode 100644 x11-packages/kirigami2/no_opengl.patch create mode 100644 x11-packages/kirigami2/treat_android_as_linux.patch create mode 100644 x11-packages/kirigami2/without_accessibility.patch create mode 100644 x11-packages/kirigami2/without_qt_graphical_effects.patch diff --git a/x11-packages/kirigami2/0001-Revert-Watch-for-language-change-events-and-forward-.patch b/x11-packages/kirigami2/0001-Revert-Watch-for-language-change-events-and-forward-.patch new file mode 100644 index 000000000..0aefa5528 --- /dev/null +++ b/x11-packages/kirigami2/0001-Revert-Watch-for-language-change-events-and-forward-.patch @@ -0,0 +1,92 @@ +From 9ea169167bb792b5128e707dbb76e4f659dc22e2 Mon Sep 17 00:00:00 2001 +From: Wolfgang Bauer +Date: Tue, 9 Jun 2020 08:27:30 +0200 +Subject: [PATCH] Revert "Watch for language change events, and forward those + to the QML engine" + +This reverts commit 9b7cae898ed7d9b58e65035b8216ec6ff78bfa17. +It causes several KCMs to crash, with Qt 5.12 at least. + +References: boo#1167690, kde#419008 +--- + src/kirigamiplugin.cpp | 33 --------------------------------- + src/kirigamiplugin.h | 5 ----- + 2 files changed, 38 deletions(-) + +diff --git a/src/kirigamiplugin.cpp b/src/kirigamiplugin.cpp +index acdefbc4..4670eb86 100644 +--- a/src/kirigamiplugin.cpp ++++ b/src/kirigamiplugin.cpp +@@ -50,33 +50,6 @@ class CopyHelperPrivate : public QObject + } + }; + +-// we can't do this in the plugin object directly, as that can live in a different thread +-// and event filters are only allowed in the same thread as the filtered object +-class LanguageChangeEventFilter : public QObject +-{ +- Q_OBJECT +-public: +- bool eventFilter(QObject *receiver, QEvent *event) override +- { +- if (event->type() == QEvent::LanguageChange && receiver == QCoreApplication::instance()) { +- emit languageChangeEvent(); +- } +- return QObject::eventFilter(receiver, event); +- } +- +-Q_SIGNALS: +- void languageChangeEvent(); +-}; +- +-KirigamiPlugin::KirigamiPlugin(QObject *parent) +- : QQmlExtensionPlugin(parent) +-{ +- auto filter = new LanguageChangeEventFilter; +- filter->moveToThread(QCoreApplication::instance()->thread()); +- QCoreApplication::instance()->installEventFilter(filter); +- connect(filter, &LanguageChangeEventFilter::languageChangeEvent, this, &KirigamiPlugin::languageChangeEvent); +-} +- + QUrl KirigamiPlugin::componentUrl(const QString &fileName) const + { + for (const QString &style : qAsConst(m_stylesFallbackChain)) { +@@ -266,10 +239,4 @@ void KirigamiPlugin::registerTypes(const char *uri) + qmlProtectModule(uri, 2); + } + +-void KirigamiPlugin::initializeEngine(QQmlEngine *engine, const char *uri) +-{ +- Q_UNUSED(uri); +- connect(this, &KirigamiPlugin::languageChangeEvent, engine, &QQmlEngine::retranslate); +-} +- + #include "kirigamiplugin.moc" +diff --git a/src/kirigamiplugin.h b/src/kirigamiplugin.h +index 22279421..caa95f1e 100644 +--- a/src/kirigamiplugin.h ++++ b/src/kirigamiplugin.h +@@ -20,9 +20,7 @@ class KirigamiPlugin : public QQmlExtensionPlugin + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") + + public: +- KirigamiPlugin(QObject *parent = nullptr); + void registerTypes(const char *uri) override; +- void initializeEngine(QQmlEngine *engine, const char *uri) override; + + #ifdef KIRIGAMI_BUILD_TYPE_STATIC + static KirigamiPlugin& getInstance() +@@ -39,9 +37,6 @@ public: + } + #endif + +-Q_SIGNALS: +- void languageChangeEvent(); +- + private: + QUrl componentUrl(const QString &fileName) const; + QString resolveFilePath(const QString &path) const +-- +2.26.2 + + diff --git a/x11-packages/kirigami2/build.sh b/x11-packages/kirigami2/build.sh new file mode 100644 index 000000000..16505b5e2 --- /dev/null +++ b/x11-packages/kirigami2/build.sh @@ -0,0 +1,10 @@ +TERMUX_PKG_HOMEPAGE=https://www.kde.org/ +TERMUX_PKG_DESCRIPTION="KDE Kirigami2 QtQuick components based on Qt Quick Controls 2" +TERMUX_PKG_LICENSE="LGPL-2.1" +TERMUX_PKG_MAINTAINER="Simeon Huang " +TERMUX_PKG_VERSION=5.71.0 +TERMUX_PKG_REVISION=1 +TERMUX_PKG_SRCURL="http://download.kde.org/stable/frameworks/${TERMUX_PKG_VERSION%.*}/kirigami2-${TERMUX_PKG_VERSION}.tar.xz" +TERMUX_PKG_SHA256=f323efb96a809dc9e572a0e68e04c4f485fc27f9ae65ffa3988830e348151356 +TERMUX_PKG_DEPENDS="qt5-qtbase, qt5-qtdeclarative, qt5-qtquickcontrols2, qt5-qtsvg" +TERMUX_PKG_BUILD_DEPENDS="cmake, extra-cmake-modules, qt5-qtbase-cross-tools, qt5-qttools-cross-tools" diff --git a/x11-packages/kirigami2/fix_incomplete_types.patch b/x11-packages/kirigami2/fix_incomplete_types.patch new file mode 100644 index 000000000..4332bf45f --- /dev/null +++ b/x11-packages/kirigami2/fix_incomplete_types.patch @@ -0,0 +1,20 @@ +--- src/src/colorutils.cpp 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/src/colorutils.cpp 2021-05-19 13:29:45.054114359 +0100 +@@ -8,6 +8,7 @@ + + #include + #include ++#include + #include + #include + +--- src/src/shadowedrectangle.h 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/src/shadowedrectangle.h 2021-05-19 13:29:03.678325202 +0100 +@@ -8,6 +8,7 @@ + + #include + #include ++#include + + class PaintedRectangleItem; + diff --git a/x11-packages/kirigami2/no_opengl.patch b/x11-packages/kirigami2/no_opengl.patch new file mode 100644 index 000000000..bfbda7c2f --- /dev/null +++ b/x11-packages/kirigami2/no_opengl.patch @@ -0,0 +1,190 @@ +Qt on Termux doesn't have OpenGL. This dirty patch comments out all OpenGL related code so +it can be compiled. However, this means the Kirigami 2 might not function completely or +correctly. +--- src/src/scenegraph/shadowedrectanglematerial.cpp 2021-05-19 13:40:06.865745704 +0100 ++++ src.mod/src/scenegraph/shadowedrectanglematerial.cpp 2021-05-19 13:41:00.549263960 +0100 +@@ -6,7 +6,9 @@ + + #include "shadowedrectanglematerial.h" + ++#ifndef __ANDROID__ + #include ++#endif + + QSGMaterialType ShadowedRectangleMaterial::staticType; + +@@ -43,6 +45,7 @@ + + ShadowedRectangleShader::ShadowedRectangleShader() + { ++#ifndef __ANDROID__ + auto header = QOpenGLContext::currentContext()->isOpenGLES() ? QStringLiteral("header_es.glsl") : QStringLiteral("header_desktop.glsl"); + + auto shaderRoot = QStringLiteral(":/org/kde/kirigami/shaders/"); +@@ -57,6 +60,7 @@ + shaderRoot + QStringLiteral("sdf.glsl"), + shaderRoot + QStringLiteral("shadowedrectangle.frag") + }); ++#endif + } + + const char *const * ShadowedRectangleShader::attributeNames() const +@@ -68,6 +72,7 @@ + void ShadowedRectangleShader::initialize() + { + QSGMaterialShader::initialize(); ++#ifndef __ANDROID__ + m_matrixLocation = program()->uniformLocation("matrix"); + m_aspectLocation = program()->uniformLocation("aspect"); + m_opacityLocation = program()->uniformLocation("opacity"); +@@ -76,10 +81,12 @@ + m_colorLocation = program()->uniformLocation("color"); + m_shadowColorLocation = program()->uniformLocation("shadowColor"); + m_offsetLocation = program()->uniformLocation("offset"); ++#endif + } + + void ShadowedRectangleShader::updateState(const QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial, QSGMaterial* oldMaterial) + { ++#ifndef __ANDROID__ + auto p = program(); + + if (state.isMatrixDirty()) { +@@ -99,4 +106,5 @@ + p->setUniformValue(m_shadowColorLocation, material->shadowColor); + p->setUniformValue(m_offsetLocation, material->offset); + } ++#endif + } +--- src/src/scenegraph/shadowedrectanglematerial.h 2021-05-19 13:40:06.865745704 +0100 ++++ src.mod/src/scenegraph/shadowedrectanglematerial.h 2021-05-19 13:33:30.284974868 +0100 +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include + + /** + * A material rendering a rectangle with a shadow. +--- src/src/scenegraph/shadowedborderrectanglematerial.cpp 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/src/scenegraph/shadowedborderrectanglematerial.cpp 2021-05-19 13:47:43.418072767 +0100 +@@ -6,7 +6,9 @@ + + #include "shadowedborderrectanglematerial.h" + ++#ifndef __ANDROID__ + #include ++#endif + + QSGMaterialType ShadowedBorderRectangleMaterial::staticType; + +@@ -42,6 +44,7 @@ + + ShadowedBorderRectangleShader::ShadowedBorderRectangleShader() + { ++#ifndef __ANDROID__ + auto header = QOpenGLContext::currentContext()->isOpenGLES() ? QStringLiteral("header_es.glsl") : QStringLiteral("header_desktop.glsl"); + + auto shaderRoot = QStringLiteral(":/org/kde/kirigami/shaders/"); +@@ -51,19 +54,23 @@ + shaderRoot + QStringLiteral("sdf.glsl"), + shaderRoot + QStringLiteral("shadowedborderrectangle.frag") + }); ++#endif + } + + void ShadowedBorderRectangleShader::initialize() + { + ShadowedRectangleShader::initialize(); ++#ifndef __ANDROID__ + m_borderWidthLocation = program()->uniformLocation("borderWidth"); + m_borderColorLocation = program()->uniformLocation("borderColor"); ++#endif + } + + void ShadowedBorderRectangleShader::updateState(const QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial, QSGMaterial* oldMaterial) + { + ShadowedRectangleShader::updateState(state, newMaterial, oldMaterial); + ++#ifndef __ANDROID__ + auto p = program(); + + if (!oldMaterial || newMaterial->compare(oldMaterial) != 0 || state.isCachedMaterialDataDirty()) { +@@ -71,4 +78,5 @@ + p->setUniformValue(m_borderWidthLocation, material->borderWidth); + p->setUniformValue(m_borderColorLocation, material->borderColor); + } ++#endif + } +--- src/src/scenegraph/shadowedtexturematerial.cpp 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/src/scenegraph/shadowedtexturematerial.cpp 2021-05-19 13:50:42.636813685 +0100 +@@ -6,7 +6,9 @@ + + #include "shadowedtexturematerial.h" + ++#ifndef __ANDROID__ + #include ++#endif + + QSGMaterialType ShadowedTextureMaterial::staticType; + +@@ -44,6 +46,7 @@ + + ShadowedTextureShader::ShadowedTextureShader() + { ++#ifndef __ANDROID__ + auto header = QOpenGLContext::currentContext()->isOpenGLES() ? QStringLiteral("header_es.glsl") : QStringLiteral("header_desktop.glsl"); + + auto shaderRoot = QStringLiteral(":/org/kde/kirigami/shaders/"); +@@ -58,12 +61,15 @@ + shaderRoot + QStringLiteral("sdf.glsl"), + shaderRoot + QStringLiteral("shadowedtexture.frag") + }); ++#endif + } + + void ShadowedTextureShader::initialize() + { + ShadowedRectangleShader::initialize(); ++#ifndef __ANDROID__ + program()->setUniformValue("textureSource", 0); ++#endif + } + + void ShadowedTextureShader::updateState(const QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial, QSGMaterial* oldMaterial) +--- src/src/scenegraph/shadowedbordertexturematerial.cpp 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/src/scenegraph/shadowedbordertexturematerial.cpp 2021-05-19 13:52:35.692051057 +0100 +@@ -6,7 +6,9 @@ + + #include "shadowedbordertexturematerial.h" + ++#ifndef __ANDROID__ + #include ++#endif + + QSGMaterialType ShadowedBorderTextureMaterial::staticType; + +@@ -44,6 +46,7 @@ + + ShadowedBorderTextureShader::ShadowedBorderTextureShader() + { ++#ifndef __ANDROID__ + auto header = QOpenGLContext::currentContext()->isOpenGLES() ? QStringLiteral("header_es.glsl") : QStringLiteral("header_desktop.glsl"); + + auto shaderRoot = QStringLiteral(":/org/kde/kirigami/shaders/"); +@@ -58,12 +61,15 @@ + shaderRoot + QStringLiteral("sdf.glsl"), + shaderRoot + QStringLiteral("shadowedbordertexture.frag") + }); ++#endif + } + + void ShadowedBorderTextureShader::initialize() + { + ShadowedBorderRectangleShader::initialize(); ++#ifndef __ANDROID__ + program()->setUniformValue("textureSource", 0); ++#endif + } + + void ShadowedBorderTextureShader::updateState(const QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial, QSGMaterial* oldMaterial) diff --git a/x11-packages/kirigami2/treat_android_as_linux.patch b/x11-packages/kirigami2/treat_android_as_linux.patch new file mode 100644 index 000000000..4a7766a00 --- /dev/null +++ b/x11-packages/kirigami2/treat_android_as_linux.patch @@ -0,0 +1,39 @@ +--- src/CMakeLists.txt 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/CMakeLists.txt 2021-05-19 13:56:28.854533182 +0100 +@@ -98,23 +98,16 @@ + ) + + #use dbus on linux, bsd etc, but not andoid and apple stuff +-if (UNIX AND NOT ANDROID AND NOT(APPLE) AND NOT(DISABLE_DBUS)) ++if (UNIX AND NOT(APPLE) AND NOT(DISABLE_DBUS)) + find_package(Qt5DBus) + add_definitions(-DKIRIGAMI_ENABLE_DBUS) + endif() + +-if(BUILD_EXAMPLES AND ANDROID) +- find_package(Qt5AndroidExtras ${REQUIRED_QT_VERSION} REQUIRED) +-endif() +- +- + ecm_find_qmlmodule(QtGraphicalEffects 1.0) + + add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00) + add_subdirectory(src) +-if (NOT ANDROID) +- add_subdirectory(templates) +-endif() ++add_subdirectory(templates) + + if (BUILD_EXAMPLES AND BUILD_SHARED_LIBS) + add_subdirectory(examples) +--- src/src/libkirigami/CMakeLists.txt 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/src/libkirigami/CMakeLists.txt 2021-05-19 13:59:42.909309847 +0100 +@@ -8,7 +8,7 @@ + ) + + #use dbus on linux, bsd etc, but not andoid and apple stuff +-if (UNIX AND NOT ANDROID AND NOT(APPLE) AND NOT(DISABLE_DBUS)) ++if (UNIX AND NOT(APPLE) AND NOT(DISABLE_DBUS)) + qt5_add_dbus_interface(libkirigami_SRCS org.kde.KWin.TabletModeManager.xml tabletmodemanager_interface) + set(LIBKIRIGAMKI_EXTRA_LIBS Qt5::DBus) + endif() diff --git a/x11-packages/kirigami2/without_accessibility.patch b/x11-packages/kirigami2/without_accessibility.patch new file mode 100644 index 000000000..ae4ff6e89 --- /dev/null +++ b/x11-packages/kirigami2/without_accessibility.patch @@ -0,0 +1,145 @@ +Qt build on Termux doesn't have accessibility feature. It needs to be removed. +diff --color -uNr src/src/controls/LinkButton.qml src.mod/src/controls/LinkButton.qml +--- src/src/controls/LinkButton.qml 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/src/controls/LinkButton.qml 2021-05-26 15:04:01.628823854 +0100 +@@ -25,9 +25,6 @@ + property Action action: null + property alias acceptedButtons: area.acceptedButtons + property alias mouseArea: area +- Accessible.role: Accessible.Button +- Accessible.name: text +- Accessible.onPressAction: control.clicked(null) + + text: action ? action.text : "" + enabled: !action || action.enabled +diff --color -uNr src/src/controls/swipenavigator/PrivateSwipeHighlight.qml src.mod/src/controls/swipenavigator/PrivateSwipeHighlight.qml +--- src/src/controls/swipenavigator/PrivateSwipeHighlight.qml 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/src/controls/swipenavigator/PrivateSwipeHighlight.qml 2021-05-26 15:04:22.268673726 +0100 +@@ -10,8 +10,6 @@ + import org.kde.kirigami 2.12 as Kirigami + + Rectangle { +- Accessible.ignored: true +- + anchors { + bottom: Kirigami.Settings.isMobile ? undefined : parent.bottom + top: Kirigami.Settings.isMobile ? parent.top : undefined +@@ -30,4 +28,4 @@ + + // Unlike most things, we don't want to scale with the em grid, so we don't use a Unit. + height: 2 +-} +\ No newline at end of file ++} +diff --color -uNr src/src/controls/swipenavigator/PrivateSwipeProgress.qml src.mod/src/controls/swipenavigator/PrivateSwipeProgress.qml +--- src/src/controls/swipenavigator/PrivateSwipeProgress.qml 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/src/controls/swipenavigator/PrivateSwipeProgress.qml 2021-05-26 15:04:32.540599175 +0100 +@@ -14,8 +14,6 @@ + property var progress + + Rectangle { +- Accessible.ignored: true +- + anchors { + top: parent.top + bottom: parent.bottom +@@ -41,8 +39,6 @@ + + + Rectangle { +- Accessible.ignored: true +- + anchors { + top: parent.top + bottom: parent.bottom +@@ -65,4 +61,4 @@ + height: 2 + } + } +-} +\ No newline at end of file ++} +diff --color -uNr src/src/controls/swipenavigator/PrivateSwipeTab.qml src.mod/src/controls/swipenavigator/PrivateSwipeTab.qml +--- src/src/controls/swipenavigator/PrivateSwipeTab.qml 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/src/controls/swipenavigator/PrivateSwipeTab.qml 2021-05-26 15:04:52.672453373 +0100 +@@ -38,28 +38,6 @@ + } + } + +- Accessible.name: modelData.title +- Accessible.description: { +- if (!!modelData.progress) { +- if (index == columnView.currentIndex) { +- return i18nc("Accessibility text for a page tab. Keep the text as concise as possible and don't use a percent sign.", "Current page. Progress: %1 percent.", Math.round(modelData.progress*100)) +- } else { +- return i18nc("Accessibility text for a page tab. Keep the text as concise as possible.", "Navigate to %1. Progress: %1 percent.", modelData.title, Math.round(modelData.progress*100)) +- } +- } else { +- if (index == columnView.currentIndex) { +- return i18nc("Accessibility text for a page tab. Keep the text as concise as possible.", "Current page.") +- } else if (modelData.needsAttention) { +- return i18nc("Accessibility text for a page tab that's requesting the user's attention. Keep the text as concise as possible.", "Navigate to %1. Demanding attention.", modelData.title) +- } else { +- return i18nc("Accessibility text for a page tab that's requesting the user's attention. Keep the text as concise as possible.", "Navigate to %1.", modelData.title) +- } +- } +- } +- Accessible.role: Accessible.PageTab +- Accessible.focusable: true +- Accessible.onPressAction: columnView.currentIndex = index +- + implicitWidth: small ? smallTitleRow.implicitWidth : largeTitleRow.implicitWidth + border { + width: activeFocus ? 2 : 0 +@@ -91,7 +69,6 @@ + RowLayout { + id: smallTitleRow + anchors.fill: parent +- Accessible.ignored: true + visible: small + + ColumnLayout { +@@ -120,7 +97,6 @@ + RowLayout { + id: largeTitleRow + anchors.fill: parent +- Accessible.ignored: true + visible: !small + + RowLayout { +@@ -149,7 +125,6 @@ + MouseArea { + id: mouse + anchors.fill: parent +- Accessible.ignored: true + onClicked: { + columnView.currentIndex = index + } +@@ -157,4 +132,4 @@ + + Layout.fillHeight: true + Layout.alignment: Qt.AlignHCenter +-} +\ No newline at end of file ++} +diff --color -uNr src/src/controls/swipenavigator/SwipeNavigator.qml src.mod/src/controls/swipenavigator/SwipeNavigator.qml +--- src/src/controls/swipenavigator/SwipeNavigator.qml 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/src/controls/swipenavigator/SwipeNavigator.qml 2021-05-26 15:04:13.336738638 +0100 +@@ -159,7 +159,6 @@ + + Layout.fillWidth: true + +- Accessible.role: Accessible.PageTabList + } + + StackView { +diff --color -uNr src/src/controls/templates/AbstractListItem.qml src.mod/src/controls/templates/AbstractListItem.qml +--- src/src/controls/templates/AbstractListItem.qml 2020-06-07 19:29:04.000000000 +0100 ++++ src.mod/src/controls/templates/AbstractListItem.qml 2021-05-26 15:03:49.128915000 +0100 +@@ -153,6 +153,5 @@ + property bool indicateActiveFocus: listItem.pressed || Settings.tabletMode || listItem.activeFocus || (view ? view.activeFocus : false) + } + +- Accessible.role: Accessible.ListItem + highlighted: focus && ListView.isCurrentItem && ListView.view && ListView.view.keyNavigationEnabled + } diff --git a/x11-packages/kirigami2/without_qt_graphical_effects.patch b/x11-packages/kirigami2/without_qt_graphical_effects.patch new file mode 100644 index 000000000..47ba7d7f9 --- /dev/null +++ b/x11-packages/kirigami2/without_qt_graphical_effects.patch @@ -0,0 +1,371 @@ +QtGraphicalEffects module is not available because it depends on OpenGL. +This patch removes all usage of QtGraphicalEffects (shadows and gradients). +diff --color -uNr src/CMakeLists.txt src.mod/CMakeLists.txt +--- src/CMakeLists.txt 2021-05-26 15:17:14.799260147 +0100 ++++ src.mod/CMakeLists.txt 2021-05-26 14:20:31.085469568 +0100 +@@ -103,8 +103,6 @@ + add_definitions(-DKIRIGAMI_ENABLE_DBUS) + endif() + +-ecm_find_qmlmodule(QtGraphicalEffects 1.0) +- + add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00) + add_subdirectory(src) + add_subdirectory(templates) +diff --color -uNr src/src/controls/AbstractApplicationItem.qml src.mod/src/controls/AbstractApplicationItem.qml +--- src/src/controls/AbstractApplicationItem.qml 2021-05-26 15:17:14.799260147 +0100 ++++ src.mod/src/controls/AbstractApplicationItem.qml 2021-05-26 14:33:20.951241121 +0100 +@@ -9,7 +9,6 @@ + import QtQuick.Window 2.2 + import "templates/private" + import org.kde.kirigami 2.4 +-import QtGraphicalEffects 1.0 + + /** + * A window that provides some basic features needed for all apps +diff --color -uNr src/src/controls/AbstractApplicationWindow.qml src.mod/src/controls/AbstractApplicationWindow.qml +--- src/src/controls/AbstractApplicationWindow.qml 2021-05-26 15:17:14.799260147 +0100 ++++ src.mod/src/controls/AbstractApplicationWindow.qml 2021-05-26 14:32:33.647649364 +0100 +@@ -8,7 +8,6 @@ + import QtQuick.Controls 2.0 as QQC2 + import "templates/private" + import org.kde.kirigami 2.4 +-import QtGraphicalEffects 1.0 + + /** + * A window that provides some basic features needed for all apps +diff --color -uNr src/src/controls/ApplicationItem.qml src.mod/src/controls/ApplicationItem.qml +--- src/src/controls/ApplicationItem.qml 2021-05-26 15:17:14.799260147 +0100 ++++ src.mod/src/controls/ApplicationItem.qml 2021-05-26 14:32:12.723837137 +0100 +@@ -7,7 +7,6 @@ + import QtQuick 2.5 + import "templates/private" + import org.kde.kirigami 2.4 as Kirigami +-import QtGraphicalEffects 1.0 + + /** + * A window that provides some basic features needed for all apps +diff --color -uNr src/src/controls/ApplicationWindow.qml src.mod/src/controls/ApplicationWindow.qml +--- src/src/controls/ApplicationWindow.qml 2021-05-26 15:17:14.799260147 +0100 ++++ src.mod/src/controls/ApplicationWindow.qml 2021-05-26 14:26:30.126563514 +0100 +@@ -7,7 +7,6 @@ + import QtQuick 2.5 + import "templates/private" + import org.kde.kirigami 2.4 as Kirigami +-import QtGraphicalEffects 1.0 + + /** + * A window that provides some basic features needed for all apps +diff --color -uNr src/src/controls/GlobalDrawer.qml src.mod/src/controls/GlobalDrawer.qml +--- src/src/controls/GlobalDrawer.qml 2021-05-26 15:17:14.799260147 +0100 ++++ src.mod/src/controls/GlobalDrawer.qml 2021-05-26 14:25:00.691132069 +0100 +@@ -8,7 +8,6 @@ + import QtQuick.Templates 2.0 as T2 + import QtQuick.Controls 2.2 as QQC2 + import QtQuick.Layouts 1.2 +-import QtGraphicalEffects 1.0 + import org.kde.kirigami 2.4 + + import "private" +diff --color -uNr src/src/controls/ItemViewHeader.qml src.mod/src/controls/ItemViewHeader.qml +--- src/src/controls/ItemViewHeader.qml 2021-05-26 15:17:14.799260147 +0100 ++++ src.mod/src/controls/ItemViewHeader.qml 2021-05-26 14:25:29.138945315 +0100 +@@ -6,7 +6,6 @@ + + import QtQuick 2.5 + import QtQuick.Templates 2.0 as T2 +-import QtGraphicalEffects 1.0 + import org.kde.kirigami 2.4 as Kirigami + import "private" + +@@ -89,13 +88,6 @@ + elide: Text.ElideRight + + layer.enabled: root.backgroundImage.hasImage +- layer.effect: DropShadow { +- horizontalOffset: 0 +- verticalOffset: 2 +- radius: Kirigami.Units.smallSpacing*2 +- samples: 32 +- color: Qt.rgba(0, 0, 0, 0.7) +- } + } + } + } +diff --color -uNr src/src/controls/OverlayDrawer.qml src.mod/src/controls/OverlayDrawer.qml +--- src/src/controls/OverlayDrawer.qml 2021-05-26 15:17:14.799260147 +0100 ++++ src.mod/src/controls/OverlayDrawer.qml 2021-05-26 14:25:58.214760590 +0100 +@@ -5,7 +5,6 @@ + */ + + import QtQuick 2.1 +-import QtGraphicalEffects 1.0 + import QtQuick.Templates 2.0 as T2 + import org.kde.kirigami 2.5 + +@@ -42,16 +41,6 @@ + parent: root.handle + anchors.fill: parent + +- DropShadow { +- anchors.fill: handleGraphics +- visible: !parent.parent.handleAnchor || !parent.parent.handleAnchor.visible || root.handle.pressed || (root.modal && root.position > 0) +- horizontalOffset: 0 +- verticalOffset: Units.devicePixelRatio +- radius: Units.gridUnit /2 +- samples: 16 +- color: Qt.rgba(0, 0, 0, root.handle.pressed ? 0.6 : 0.4) +- source: handleGraphics +- } + Rectangle { + id: handleGraphics + anchors.centerIn: parent +diff --color -uNr src/src/controls/plugins.qmltypes src.mod/src/controls/plugins.qmltypes +--- src/src/controls/plugins.qmltypes 2021-05-26 15:17:14.799260147 +0100 ++++ src.mod/src/controls/plugins.qmltypes 2021-05-26 14:29:00.917680399 +0100 +@@ -8,7 +8,6 @@ + + Module { + dependencies: [ +- "QtGraphicalEffects 1.0", + "QtQml 2.1", + "QtQml.Models 2.2", + "QtQuick 2.9", +diff --color -uNr src/src/controls/private/ActionButton.qml src.mod/src/controls/private/ActionButton.qml +--- src/src/controls/private/ActionButton.qml 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/controls/private/ActionButton.qml 2021-05-26 14:31:39.908141743 +0100 +@@ -7,7 +7,6 @@ + import QtQuick 2.1 + import QtQuick.Layouts 1.2 + import QtQuick.Controls 2.0 as Controls +-import QtGraphicalEffects 1.0 + import org.kde.kirigami 2.7 + + import "../templates/private" +@@ -357,16 +356,6 @@ + } + } + } +- +- DropShadow { +- anchors.fill: background +- horizontalOffset: 0 +- verticalOffset: Units.devicePixelRatio +- radius: Units.gridUnit /2 +- samples: 16 +- color: Qt.rgba(0, 0, 0, mouseArea.pressed ? 0.6 : 0.4) +- source: background +- } + } + } + +@@ -390,16 +379,6 @@ + width: Units.iconSizes.smallMedium + Units.smallSpacing*2 + height: width + +- +- DropShadow { +- anchors.fill: handleGraphics +- horizontalOffset: 0 +- verticalOffset: Units.devicePixelRatio +- radius: Units.gridUnit /2 +- samples: 16 +- color: Qt.rgba(0, 0, 0, fakeContextMenuButton.pressed ? 0.6 : 0.4) +- source: handleGraphics +- } + Rectangle { + id: handleGraphics + anchors.fill: parent +diff --color -uNr src/src/controls/private/BannerImage.qml src.mod/src/controls/private/BannerImage.qml +--- src/src/controls/private/BannerImage.qml 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/controls/private/BannerImage.qml 2021-05-26 14:29:26.989532396 +0100 +@@ -6,7 +6,6 @@ + + import QtQuick 2.6 + import QtQuick.Layouts 1.2 +-import QtGraphicalEffects 1.0 + import org.kde.kirigami 2.12 as Kirigami + + /** +diff --color -uNr src/src/controls/private/CornerShadow.qml src.mod/src/controls/private/CornerShadow.qml +--- src/src/controls/private/CornerShadow.qml 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/controls/private/CornerShadow.qml 2021-05-26 14:30:32.924808566 +0100 +@@ -5,7 +5,6 @@ + */ + + import QtQuick 2.1 +-import QtGraphicalEffects 1.0 + import org.kde.kirigami 2.4 + + RadialGradient { +diff --color -uNr src/src/controls/private/EdgeShadow.qml src.mod/src/controls/private/EdgeShadow.qml +--- src/src/controls/private/EdgeShadow.qml 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/controls/private/EdgeShadow.qml 2021-05-26 15:17:44.551056384 +0100 +@@ -5,10 +5,9 @@ + */ + + import QtQuick 2.1 +-import QtGraphicalEffects 1.0 + import org.kde.kirigami 2.4 + +-LinearGradient { ++Item { + id: shadow + /** + * edge: enumeration +@@ -25,26 +24,5 @@ + property int radius: Units.gridUnit + implicitWidth: radius + implicitHeight: radius +- +- start: Qt.point((edge !== Qt.RightEdge ? 0 : width), (edge !== Qt.BottomEdge ? 0 : height)) +- end: Qt.point((edge !== Qt.LeftEdge ? 0 : width), (edge !== Qt.TopEdge ? 0 : height)) +- gradient: Gradient { +- GradientStop { +- position: 0.0 +- color: Qt.rgba(0, 0, 0, 0.25) +- } +- GradientStop { +- position: 0.20 +- color: Qt.rgba(0, 0, 0, 0.1) +- } +- GradientStop { +- position: 0.35 +- color: Qt.rgba(0, 0, 0, 0.02) +- } +- GradientStop { +- position: 1.0 +- color: "transparent" +- } +- } + } + +diff --color -uNr src/src/controls/private/RefreshableScrollView.qml src.mod/src/controls/private/RefreshableScrollView.qml +--- src/src/controls/private/RefreshableScrollView.qml 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/controls/private/RefreshableScrollView.qml 2021-05-26 15:01:26.477968469 +0100 +@@ -7,7 +7,6 @@ + import QtQuick 2.7 + import QtQuick.Window 2.2 + import QtQuick.Controls 2.0 as QQC2 +-import QtGraphicalEffects 1.0 + import QtQuick.Layouts 1.2 + import org.kde.kirigami 2.4 + import "../templates/private" as P +@@ -96,17 +95,6 @@ + //also take into account the listview header height if present + property real progress: supportsRefreshing && !refreshing ? ((parent.y - busyIndicatorFrame.headerItemHeight)/busyIndicatorFrame.height) : 0 + } +- ConicalGradient { +- source: spinnerProgress +- visible: spinnerProgress.visible +- anchors.fill: spinnerProgress +- gradient: Gradient { +- GradientStop { position: 0.00; color: Theme.highlightColor } +- GradientStop { position: spinnerProgress.progress; color: Theme.highlightColor } +- GradientStop { position: spinnerProgress.progress + 0.01; color: "transparent" } +- GradientStop { position: 1.00; color: "transparent" } +- } +- } + + onYChanged: { + //it's overshooting enough and not reachable: start countdown for reachability +diff --color -uNr src/src/controls/qmldir src.mod/src/controls/qmldir +--- src/src/controls/qmldir 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/controls/qmldir 2021-05-26 14:32:42.943567427 +0100 +@@ -2,6 +2,5 @@ + plugin kirigamiplugin + classname KirigamiPlugin + depends QtQuick.Controls 2.0 +-depends QtGraphicalEffects 1.0 + designersupported + +diff --color -uNr src/src/controls/templates/OverlaySheet.qml src.mod/src/controls/templates/OverlaySheet.qml +--- src/src/controls/templates/OverlaySheet.qml 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/controls/templates/OverlaySheet.qml 2021-05-26 14:27:26.994223196 +0100 +@@ -9,7 +9,6 @@ + import QtQuick.Layouts 1.2 + import QtQuick.Window 2.2 + import org.kde.kirigami 2.11 +-import QtGraphicalEffects 1.0 + import QtQuick.Templates 2.0 as T2 + import "private" + import "../private" +diff --color -uNr src/src/controls/templates/private/ContextIcon.qml src.mod/src/controls/templates/private/ContextIcon.qml +--- src/src/controls/templates/private/ContextIcon.qml 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/controls/templates/private/ContextIcon.qml 2021-05-26 14:28:17.245930577 +0100 +@@ -6,7 +6,6 @@ + + import QtQuick 2.1 + import QtQuick.Layouts 1.2 +-import QtGraphicalEffects 1.0 + import org.kde.kirigami 2.4 + + Item { +diff --color -uNr src/src/controls/templates/private/GenericDrawerIcon.qml src.mod/src/controls/templates/private/GenericDrawerIcon.qml +--- src/src/controls/templates/private/GenericDrawerIcon.qml 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/controls/templates/private/GenericDrawerIcon.qml 2021-05-26 14:27:53.350068967 +0100 +@@ -6,7 +6,6 @@ + + import QtQuick 2.1 + import QtQuick.Layouts 1.2 +-import QtGraphicalEffects 1.0 + import org.kde.kirigami 2.4 as Kirigami + + Item { +diff --color -uNr src/src/controls/templates/private/MenuIcon.qml src.mod/src/controls/templates/private/MenuIcon.qml +--- src/src/controls/templates/private/MenuIcon.qml 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/controls/templates/private/MenuIcon.qml 2021-05-26 14:28:05.761996928 +0100 +@@ -6,7 +6,6 @@ + + import QtQuick 2.1 + import QtQuick.Layouts 1.2 +-import QtGraphicalEffects 1.0 + import org.kde.kirigami 2.4 + + Item { +diff --color -uNr src/src/controls/templates/private/PassiveNotification.qml src.mod/src/controls/templates/private/PassiveNotification.qml +--- src/src/controls/templates/private/PassiveNotification.qml 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/controls/templates/private/PassiveNotification.qml 2021-05-26 14:28:41.845789264 +0100 +@@ -8,7 +8,6 @@ + import QtQuick.Controls 2.3 as Controls + import QtQuick.Layouts 1.2 + import QtQuick.Window 2.2 +-import QtGraphicalEffects 1.0 + import org.kde.kirigami 2.12 as Kirigami + + /** +diff --color -uNr src/src/qmldir src.mod/src/qmldir +--- src/src/qmldir 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/qmldir 2021-05-26 14:23:47.035655017 +0100 +@@ -2,7 +2,6 @@ + + classname KirigamiPlugin + depends QtQuick.Controls 2.0 +-depends QtGraphicalEffects 1.0 + designersupported + + typeinfo plugins.qmltypes +diff --color -uNr src/src/styles/Material/InlineMessage.qml src.mod/src/styles/Material/InlineMessage.qml +--- src/src/styles/Material/InlineMessage.qml 2021-05-26 15:17:14.803260119 +0100 ++++ src.mod/src/styles/Material/InlineMessage.qml 2021-05-26 14:23:23.219840986 +0100 +@@ -7,7 +7,6 @@ + */ + + import QtQuick 2.7 +-import QtGraphicalEffects 1.0 + import org.kde.kirigami 2.5 as Kirigami + + import "../../private" +@@ -104,12 +103,5 @@ + } + + layer.enabled: true +- layer.effect: DropShadow { +- horizontalOffset: 0 +- verticalOffset: 1 +- radius: 12 +- samples: 32 +- color: Qt.rgba(0, 0, 0, 0.5) +- } + } + }