Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libkdecoration2 for openSUSE:Factory 
checked in at 2022-02-07 23:37:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libkdecoration2 (Old)
 and      /work/SRC/openSUSE:Factory/.libkdecoration2.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libkdecoration2"

Mon Feb  7 23:37:04 2022 rev:121 rq:951885 version:5.24.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libkdecoration2/libkdecoration2.changes  
2022-01-11 21:14:24.828753900 +0100
+++ 
/work/SRC/openSUSE:Factory/.libkdecoration2.new.1898/libkdecoration2.changes    
    2022-02-07 23:37:20.890745403 +0100
@@ -1,0 +2,26 @@
+Sat Feb  5 19:50:59 UTC 2022 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 5.24.0
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/plasma/5/5.24.0
+- No code changes since 5.23.90
+
+-------------------------------------------------------------------
+Thu Jan 13 20:30:22 UTC 2022 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 5.23.90
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/plasma/5/5.23.90
+- Changes since 5.23.5:
+  * Port away from deprecated QWeakPointer::data()
+  * Source code changes to enable building against Qt6
+  * Fix warning
+  * Add FreeBSD CI
+  * Add Linux CI
+  * Add .kde-ci.yml
+  * Use QSharedData for DecorationThemeMetaDataPrivate class
+  * Add new DecorationThemeProvider class
+
+-------------------------------------------------------------------

Old:
----
  kdecoration-5.23.5.tar.xz
  kdecoration-5.23.5.tar.xz.sig

New:
----
  kdecoration-5.24.0.tar.xz
  kdecoration-5.24.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libkdecoration2.spec ++++++
--- /var/tmp/diff_new_pack.RI9bKi/_old  2022-02-07 23:37:21.402741957 +0100
+++ /var/tmp/diff_new_pack.RI9bKi/_new  2022-02-07 23:37:21.406741929 +0100
@@ -20,22 +20,23 @@
 %global private_sover 9
 %define lname           libkdecorations2-%{sover}
 %define lname_private   libkdecorations2private%{private_sover}
-%bcond_without lang
+%bcond_without released
 Name:           libkdecoration2
-Version:        5.23.5
+Version:        5.24.0
 Release:        0
 Summary:        KDE's window decorations library
 License:        GPL-2.0-or-later
 Group:          System/GUI/KDE
 URL:            http://www.kde.org
-Source:         
https://download.kde.org/stable/plasma/%{version}/kdecoration-%{version}.tar.xz
-%if %{with lang}
-Source1:        
https://download.kde.org/stable/plasma/%{version}/kdecoration-%{version}.tar.xz.sig
+Source:         kdecoration-%{version}.tar.xz
+%if %{with released}
+Source1:        kdecoration-%{version}.tar.xz.sig
 Source2:        plasma.keyring
 %endif
 BuildRequires:  cmake >= 3.16
 BuildRequires:  extra-cmake-modules >= 0.0.11
 BuildRequires:  kf5-filesystem
+BuildRequires:  cmake(KF5CoreAddons)
 BuildRequires:  cmake(KF5I18n)
 BuildRequires:  cmake(Qt5Core) >= 5.4.0
 BuildRequires:  cmake(Qt5Gui) >= 5.4.0
@@ -83,7 +84,7 @@
 
 %install
   %kf5_makeinstall -C build
-  %if %{with lang}
+  %if %{with released}
     %find_lang %{name} --all-name
   %endif
 
@@ -110,7 +111,7 @@
 %{_kf5_prefix}/include/KDecoration2/
 %{_kf5_includedir}/
 
-%if %{with lang}
+%if %{with released}
 %files -n %{lname}-lang -f %{name}.lang
 %license LICENSES/*
 %endif

++++++ kdecoration-5.23.5.tar.xz -> kdecoration-5.24.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/.gitignore 
new/kdecoration-5.24.0/.gitignore
--- old/kdecoration-5.23.5/.gitignore   2022-01-04 09:52:29.000000000 +0100
+++ new/kdecoration-5.24.0/.gitignore   2022-02-03 15:28:17.000000000 +0100
@@ -4,3 +4,4 @@
 .idea
 /cmake-build*
 .cache
+/build*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/.gitlab-ci.yml 
new/kdecoration-5.24.0/.gitlab-ci.yml
--- old/kdecoration-5.23.5/.gitlab-ci.yml       1970-01-01 01:00:00.000000000 
+0100
+++ new/kdecoration-5.24.0/.gitlab-ci.yml       2022-02-03 15:28:17.000000000 
+0100
@@ -0,0 +1,6 @@
+# SPDX-FileCopyrightText: None
+# SPDX-License-Identifier: CC0-1.0
+
+include:
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/.kde-ci.yml 
new/kdecoration-5.24.0/.kde-ci.yml
--- old/kdecoration-5.23.5/.kde-ci.yml  1970-01-01 01:00:00.000000000 +0100
+++ new/kdecoration-5.24.0/.kde-ci.yml  2022-02-03 15:28:17.000000000 +0100
@@ -0,0 +1,9 @@
+# SPDX-FileCopyrightText: None
+# SPDX-License-Identifier: CC0-1.0
+
+Dependencies:
+- 'on': ['@all']
+  'require':
+    'frameworks/extra-cmake-modules': '@latest'
+    'frameworks/kcoreaddons': '@latest'
+    'frameworks/ki18n': '@latest'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/CMakeLists.txt 
new/kdecoration-5.24.0/CMakeLists.txt
--- old/kdecoration-5.23.5/CMakeLists.txt       2022-01-04 09:52:29.000000000 
+0100
+++ new/kdecoration-5.24.0/CMakeLists.txt       2022-02-03 15:28:17.000000000 
+0100
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(decoration-api)
-set(PROJECT_VERSION "5.23.5")
+set(PROJECT_VERSION "5.24.0")
 
 set(QT_MIN_VERSION "5.15.0")
 set(KF5_MIN_VERSION "5.86")
@@ -44,6 +44,7 @@
 
 set(KDECORATION2_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR}/KDecoration2")
 find_package(KF5I18n ${KF5_MIN_VERSION} CONFIG REQUIRED)
+find_package(KF5CoreAddons ${KF5_MIN_VERSION} CONFIG REQUIRED)
 
 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00)
 add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x054200)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdecoration-5.23.5/autotests/decorationbuttontest.cpp 
new/kdecoration-5.24.0/autotests/decorationbuttontest.cpp
--- old/kdecoration-5.23.5/autotests/decorationbuttontest.cpp   2022-01-04 
09:52:29.000000000 +0100
+++ new/kdecoration-5.24.0/autotests/decorationbuttontest.cpp   2022-02-03 
15:28:17.000000000 +0100
@@ -515,7 +515,7 @@
     QCOMPARE(button.acceptedButtons(), Qt::LeftButton);
 
     // if the client is closeable the button should get enabled
-    QSignalSpy closeableChangedSpy(mockDecoration.client().data(), 
&KDecoration2::DecoratedClient::closeableChanged);
+    QSignalSpy 
closeableChangedSpy(mockDecoration.client().toStrongRef().data(), 
&KDecoration2::DecoratedClient::closeableChanged);
     QVERIFY(closeableChangedSpy.isValid());
     client->setCloseable(true);
     QCOMPARE(button.isEnabled(), true);
@@ -576,7 +576,7 @@
     QCOMPARE(button.acceptedButtons(), Qt::LeftButton);
 
     // if the client is minimizeable the button should get enabled
-    QSignalSpy minimizableChangedSpy(mockDecoration.client().data(), 
&KDecoration2::DecoratedClient::minimizeableChanged);
+    QSignalSpy 
minimizableChangedSpy(mockDecoration.client().toStrongRef().data(), 
&KDecoration2::DecoratedClient::minimizeableChanged);
     QVERIFY(minimizableChangedSpy.isValid());
     client->setMinimizable(true);
     QCOMPARE(button.isEnabled(), true);
@@ -637,7 +637,7 @@
     QCOMPARE(button.acceptedButtons(), Qt::LeftButton);
 
     // if the client provides quickhelp the button should get enabled
-    QSignalSpy providesContextHelpChangedSpy(mockDecoration.client().data(), 
&KDecoration2::DecoratedClient::providesContextHelpChanged);
+    QSignalSpy 
providesContextHelpChangedSpy(mockDecoration.client().toStrongRef().data(), 
&KDecoration2::DecoratedClient::providesContextHelpChanged);
     QVERIFY(providesContextHelpChangedSpy.isValid());
     client->setProvidesContextHelp(true);
     QCOMPARE(button.isVisible(), true);
@@ -703,7 +703,7 @@
     QVERIFY(pressedSpy.isValid());
     QSignalSpy releasedSpy(&button, &KDecoration2::DecorationButton::released);
     QVERIFY(releasedSpy.isValid());
-    QSignalSpy keepAboveChangedSpy(mockDecoration.client().data(), 
&KDecoration2::DecoratedClient::keepAboveChanged);
+    QSignalSpy 
keepAboveChangedSpy(mockDecoration.client().toStrongRef().data(), 
&KDecoration2::DecoratedClient::keepAboveChanged);
     QVERIFY(keepAboveChangedSpy.isValid());
     QSignalSpy pressedChangedSpy(&button, 
&KDecoration2::DecorationButton::pressedChanged);
     QVERIFY(pressedChangedSpy.isValid());
@@ -766,7 +766,7 @@
     QVERIFY(pressedSpy.isValid());
     QSignalSpy releasedSpy(&button, &KDecoration2::DecorationButton::released);
     QVERIFY(releasedSpy.isValid());
-    QSignalSpy keepBelowChangedSpy(mockDecoration.client().data(), 
&KDecoration2::DecoratedClient::keepBelowChanged);
+    QSignalSpy 
keepBelowChangedSpy(mockDecoration.client().toStrongRef().data(), 
&KDecoration2::DecoratedClient::keepBelowChanged);
     QVERIFY(keepBelowChangedSpy.isValid());
     QSignalSpy pressedChangedSpy(&button, 
&KDecoration2::DecorationButton::pressedChanged);
     QVERIFY(pressedChangedSpy.isValid());
@@ -824,7 +824,8 @@
     QCOMPARE(button.acceptedButtons(), Qt::LeftButton);
 
     // if the client is shadeable the button should get enabled
-    QSignalSpy shadeableChangedSpy(mockDecoration.client().data(), 
&KDecoration2::DecoratedClient::shadeableChanged);
+    const auto decoClient = mockDecoration.client();
+    QSignalSpy shadeableChangedSpy(decoClient.toStrongRef().data(), 
&KDecoration2::DecoratedClient::shadeableChanged);
     QVERIFY(shadeableChangedSpy.isValid());
     client->setShadeable(true);
     QCOMPARE(button.isEnabled(), true);
@@ -838,7 +839,7 @@
     QVERIFY(pressedSpy.isValid());
     QSignalSpy releasedSpy(&button, &KDecoration2::DecorationButton::released);
     QVERIFY(releasedSpy.isValid());
-    QSignalSpy shadedChangedSpy(mockDecoration.client().data(), 
&KDecoration2::DecoratedClient::shadedChanged);
+    QSignalSpy shadedChangedSpy(decoClient.toStrongRef().data(), 
&KDecoration2::DecoratedClient::shadedChanged);
     QVERIFY(shadedChangedSpy.isValid());
     QSignalSpy pressedChangedSpy(&button, 
&KDecoration2::DecorationButton::pressedChanged);
     QVERIFY(pressedChangedSpy.isValid());
@@ -896,7 +897,8 @@
     QCOMPARE(button.acceptedButtons(), Qt::LeftButton | Qt::MiddleButton | 
Qt::RightButton);
 
     // if the client is maximizable the button should get enabled
-    QSignalSpy maximizableChangedSpy(mockDecoration.client().data(), 
&KDecoration2::DecoratedClient::maximizeableChanged);
+    const auto decoClient = mockDecoration.client().toStrongRef();
+    QSignalSpy maximizableChangedSpy(decoClient.data(), 
&KDecoration2::DecoratedClient::maximizeableChanged);
     QVERIFY(maximizableChangedSpy.isValid());
     client->setMaximizable(true);
     QCOMPARE(button.isEnabled(), true);
@@ -910,11 +912,11 @@
     QVERIFY(pressedSpy.isValid());
     QSignalSpy releasedSpy(&button, &KDecoration2::DecorationButton::released);
     QVERIFY(releasedSpy.isValid());
-    QSignalSpy maximizedChangedSpy(mockDecoration.client().data(), 
&KDecoration2::DecoratedClient::maximizedChanged);
+    QSignalSpy maximizedChangedSpy(decoClient.data(), 
&KDecoration2::DecoratedClient::maximizedChanged);
     QVERIFY(maximizedChangedSpy.isValid());
-    QSignalSpy maximizedVerticallyChangedSpy(mockDecoration.client().data(), 
&KDecoration2::DecoratedClient::maximizedVerticallyChanged);
+    QSignalSpy maximizedVerticallyChangedSpy(decoClient.data(), 
&KDecoration2::DecoratedClient::maximizedVerticallyChanged);
     QVERIFY(maximizedVerticallyChangedSpy.isValid());
-    QSignalSpy maximizedHorizontallyChangedSpy(mockDecoration.client().data(), 
&KDecoration2::DecoratedClient::maximizedHorizontallyChanged);
+    QSignalSpy maximizedHorizontallyChangedSpy(decoClient.data(), 
&KDecoration2::DecoratedClient::maximizedHorizontallyChanged);
     QVERIFY(maximizedHorizontallyChangedSpy.isValid());
     QSignalSpy pressedChangedSpy(&button, 
&KDecoration2::DecorationButton::pressedChanged);
     QVERIFY(pressedChangedSpy.isValid());
@@ -1006,7 +1008,8 @@
     QCOMPARE(button.isChecked(), false);
     QCOMPARE(button.isVisible(), false);
     QCOMPARE(button.acceptedButtons(), Qt::LeftButton);
-    QCOMPARE(mockDecoration.client().data()->isOnAllDesktops(), false);
+    const auto decoClient = mockDecoration.client().toStrongRef();
+    QCOMPARE(decoClient.data()->isOnAllDesktops(), false);
 
     MockSettings *settings = bridge.lastCreatedSettings();
     QVERIFY(settings);
@@ -1029,7 +1032,7 @@
     QVERIFY(pressedSpy.isValid());
     QSignalSpy releasedSpy(&button, &KDecoration2::DecorationButton::released);
     QVERIFY(releasedSpy.isValid());
-    QSignalSpy onAllDesktopsChangedSpy(mockDecoration.client().data(), 
&KDecoration2::DecoratedClient::onAllDesktopsChanged);
+    QSignalSpy onAllDesktopsChangedSpy(decoClient.data(), 
&KDecoration2::DecoratedClient::onAllDesktopsChanged);
     QVERIFY(onAllDesktopsChangedSpy.isValid());
     QSignalSpy pressedChangedSpy(&button, 
&KDecoration2::DecorationButton::pressedChanged);
     QVERIFY(pressedChangedSpy.isValid());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/po/zh_CN/kdecoration.po 
new/kdecoration-5.24.0/po/zh_CN/kdecoration.po
--- old/kdecoration-5.23.5/po/zh_CN/kdecoration.po      2022-01-04 
09:52:48.000000000 +0100
+++ new/kdecoration-5.24.0/po/zh_CN/kdecoration.po      2022-02-03 
15:28:36.000000000 +0100
@@ -8,7 +8,7 @@
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2021-05-05 00:20+0000\n"
-"PO-Revision-Date: 2021-12-22 14:10\n"
+"PO-Revision-Date: 2022-01-08 15:22\n"
 "Last-Translator: \n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
@@ -19,8 +19,8 @@
 "X-Crowdin-Project: kdeorg\n"
 "X-Crowdin-Project-ID: 269464\n"
 "X-Crowdin-Language: zh-CN\n"
-"X-Crowdin-File: /kf5-stable/messages/kdecoration/kdecoration.pot\n"
-"X-Crowdin-File-ID: 7147\n"
+"X-Crowdin-File: /kf5-trunk/messages/kdecoration/kdecoration.pot\n"
+"X-Crowdin-File-ID: 6902\n"
 
 #: decorationbutton.cpp:299
 #, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/src/CMakeLists.txt 
new/kdecoration-5.24.0/src/CMakeLists.txt
--- old/kdecoration-5.23.5/src/CMakeLists.txt   2022-01-04 09:52:29.000000000 
+0100
+++ new/kdecoration-5.24.0/src/CMakeLists.txt   2022-02-03 15:28:17.000000000 
+0100
@@ -4,11 +4,25 @@
 
 set(libkdecoration2_SRCS
     decoratedclient.cpp
-    decoration.cpp
+    decoratedclient.h
     decorationbutton.cpp
     decorationbuttongroup.cpp
+    decorationbuttongroup.h
+    decorationbuttongroup_p.h
+    decorationbutton.h
+    decorationbutton_p.h
+    decoration.cpp
+    decorationdefines.h
+    decoration.h
+    decoration_p.h
     decorationsettings.cpp
+    decorationsettings.h
     decorationshadow.cpp
+    decorationshadow.h
+    decorationshadow_p.h
+    decorationthemeprovider.cpp
+    decorationthemeprovider.h
+
 )
 
 add_library(kdecorations2 SHARED ${libkdecoration2_SRCS})
@@ -28,6 +42,7 @@
     PRIVATE
         kdecorations2private
         KF5::I18n
+        KF5::CoreAddons
 )
 
 target_include_directories(kdecorations2 INTERFACE 
"$<INSTALL_INTERFACE:${KDECORATION2_INCLUDEDIR}>" )
@@ -45,6 +60,7 @@
     DecorationButtonGroup
     DecorationSettings
     DecorationShadow
+    DecorationThemeProvider
   PREFIX
     KDecoration2
   REQUIRED_HEADERS KDecoration2_HEADERS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/src/decoratedclient.cpp 
new/kdecoration-5.24.0/src/decoratedclient.cpp
--- old/kdecoration-5.23.5/src/decoratedclient.cpp      2022-01-04 
09:52:29.000000000 +0100
+++ new/kdecoration-5.24.0/src/decoratedclient.cpp      2022-02-03 
15:28:17.000000000 +0100
@@ -14,7 +14,7 @@
 {
 DecoratedClient::DecoratedClient(Decoration *parent, DecorationBridge *bridge)
     : QObject()
-    , d(std::move(bridge->createClient(this, parent)))
+    , d(bridge->createClient(this, parent))
 {
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/src/decoratedclient.h 
new/kdecoration-5.24.0/src/decoratedclient.h
--- old/kdecoration-5.23.5/src/decoratedclient.h        2022-01-04 
09:52:29.000000000 +0100
+++ new/kdecoration-5.24.0/src/decoratedclient.h        2022-02-03 
15:28:17.000000000 +0100
@@ -6,6 +6,7 @@
 #ifndef KDECORATION2_DECORATED_CLIENT_H
 #define KDECORATION2_DECORATED_CLIENT_H
 
+#include "decoration.h"
 #include "decorationdefines.h"
 #include <kdecoration2/kdecoration2_export.h>
 
@@ -20,7 +21,6 @@
 
 namespace KDecoration2
 {
-class Decoration;
 class DecorationBridge;
 class DecoratedClientPrivate;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/src/decoration.cpp 
new/kdecoration-5.24.0/src/decoration.cpp
--- old/kdecoration-5.23.5/src/decoration.cpp   2022-01-04 09:52:29.000000000 
+0100
+++ new/kdecoration-5.24.0/src/decoration.cpp   2022-02-03 15:28:17.000000000 
+0100
@@ -379,7 +379,7 @@
 void Decoration::wheelEvent(QWheelEvent *event)
 {
     for (DecorationButton *button : d->buttons) {
-        if (button->contains(event->posF())) {
+        if (button->contains(event->position())) {
             QCoreApplication::instance()->sendEvent(button, event);
             event->setAccepted(true);
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/src/decorationsettings.cpp 
new/kdecoration-5.24.0/src/decorationsettings.cpp
--- old/kdecoration-5.23.5/src/decorationsettings.cpp   2022-01-04 
09:52:29.000000000 +0100
+++ new/kdecoration-5.24.0/src/decorationsettings.cpp   2022-02-03 
15:28:17.000000000 +0100
@@ -13,7 +13,7 @@
 {
 DecorationSettings::DecorationSettings(DecorationBridge *bridge, QObject 
*parent)
     : QObject(parent)
-    , d(std::move(bridge->settings(this)))
+    , d(bridge->settings(this))
 {
     auto updateUnits = [this] {
         int gridUnit = 
QFontMetrics(font()).boundingRect(QLatin1Char('M')).height();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/src/decorationthemeprovider.cpp 
new/kdecoration-5.24.0/src/decorationthemeprovider.cpp
--- old/kdecoration-5.23.5/src/decorationthemeprovider.cpp      1970-01-01 
01:00:00.000000000 +0100
+++ new/kdecoration-5.24.0/src/decorationthemeprovider.cpp      2022-02-03 
15:28:17.000000000 +0100
@@ -0,0 +1,89 @@
+/*
+ * SPDX-FileCopyrightText: 2021 Alexander Lohnau <alexander.loh...@gmx.de>
+ *
+ * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
+ */
+
+#include "decorationthemeprovider.h"
+
+#include <KPluginMetaData>
+
+class DecorationThemeMetaDataPrivate : public QSharedData
+{
+public:
+    QString visibleName;
+    QString themeName;
+    QString pluginId;
+    bool hasConfig = false;
+    KDecoration2::BorderSize borderSize = KDecoration2::BorderSize::Normal;
+};
+
+using namespace KDecoration2;
+
+DecorationThemeMetaData::DecorationThemeMetaData()
+    : d(new DecorationThemeMetaDataPrivate())
+{
+}
+
+DecorationThemeMetaData::~DecorationThemeMetaData() = default;
+
+QString DecorationThemeMetaData::visibleName() const
+{
+    return d->visibleName;
+}
+
+void DecorationThemeMetaData::setVisibleName(const QString &name)
+{
+    d->visibleName = name;
+}
+
+bool DecorationThemeMetaData::hasConfiguration() const
+{
+    return d->hasConfig;
+}
+
+void DecorationThemeMetaData::setHasConfiguration(bool hasConfig)
+{
+    d->hasConfig = hasConfig;
+}
+
+QString DecorationThemeMetaData::themeName() const
+{
+    return d->themeName;
+}
+
+void DecorationThemeMetaData::setThemeName(const QString &name)
+{
+    d->themeName = name;
+}
+
+void DecorationThemeMetaData::setBorderSize(KDecoration2::BorderSize size)
+{
+    d->borderSize = size;
+}
+
+KDecoration2::BorderSize DecorationThemeMetaData::borderSize() const
+{
+    return d->borderSize;
+}
+
+QString DecorationThemeMetaData::pluginId() const
+{
+    return d->pluginId;
+}
+
+void DecorationThemeMetaData::setPluginId(const QString &id)
+{
+    d->pluginId = id;
+}
+
+DecorationThemeProvider::DecorationThemeProvider(QObject *parent, const 
KPluginMetaData &data, const QVariantList &args)
+    : QObject(parent)
+{
+    Q_UNUSED(data)
+    Q_UNUSED(args)
+}
+
+DecorationThemeMetaData::DecorationThemeMetaData(const DecorationThemeMetaData 
&other) = default;
+
+DecorationThemeMetaData &DecorationThemeMetaData::operator=(const 
DecorationThemeMetaData &other) = default;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/src/decorationthemeprovider.h 
new/kdecoration-5.24.0/src/decorationthemeprovider.h
--- old/kdecoration-5.23.5/src/decorationthemeprovider.h        1970-01-01 
01:00:00.000000000 +0100
+++ new/kdecoration-5.24.0/src/decorationthemeprovider.h        2022-02-03 
15:28:17.000000000 +0100
@@ -0,0 +1,78 @@
+/*
+ * SPDX-FileCopyrightText: 2021 Alexander Lohnau <alexander.loh...@gmx.de>
+ *
+ * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
+ */
+
+#ifndef KDECORATION2_DECORATION_THEME_PROVIDER
+#define KDECORATION2_DECORATION_THEME_PROVIDER
+
+#include "decorationdefines.h"
+#include <QObject>
+#include <QSharedDataPointer>
+#include <kdecoration2/kdecoration2_export.h>
+
+class KPluginMetaData;
+class DecorationThemeMetaDataPrivate;
+
+namespace KDecoration2
+{
+/**
+ * Class providing type-safe access to data of themes
+ *
+ * @since 5.23
+ * @author Alexander Lohnau
+ */
+class KDECORATIONS2_EXPORT DecorationThemeMetaData
+{
+public:
+    explicit DecorationThemeMetaData();
+    virtual ~DecorationThemeMetaData();
+    DecorationThemeMetaData(const DecorationThemeMetaData &other);
+    DecorationThemeMetaData &operator=(const DecorationThemeMetaData &other);
+
+    /// User-visible name of the theme
+    QString visibleName() const;
+    void setVisibleName(const QString &name);
+
+    /// Internal name of the theme
+    QString themeName() const;
+    void setThemeName(const QString &name);
+
+    /// Indicates that the theme has KCMs
+    bool hasConfiguration() const;
+    void setHasConfiguration(bool hasConfig);
+
+    /// Border size of the decoration, this gets set based on the 
"recommendedBorderSize" key in the json metadata
+    /// @internal
+    KDecoration2::BorderSize borderSize() const;
+    void setBorderSize(KDecoration2::BorderSize size);
+
+    /// plugin id of theme provider
+    /// @see KPluginMetaData::pluginId
+    QString pluginId() const;
+    void setPluginId(const QString &id);
+
+private:
+    QSharedDataPointer<DecorationThemeMetaDataPrivate> d;
+};
+/**
+ * Class to give the KWin decorationmodel access to the plugin's themes.
+ *
+ * @since 5.23
+ * @author Alexander Lohnau
+ */
+class KDECORATIONS2_EXPORT DecorationThemeProvider : public QObject
+{
+    Q_OBJECT
+
+public:
+    explicit DecorationThemeProvider(QObject *parent, const KPluginMetaData 
&data, const QVariantList &args);
+
+    /**
+     * List containing information of supported themes
+     */
+    virtual QList<DecorationThemeMetaData> themes() const = 0;
+};
+}
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdecoration-5.23.5/src/private/CMakeLists.txt 
new/kdecoration-5.24.0/src/private/CMakeLists.txt
--- old/kdecoration-5.23.5/src/private/CMakeLists.txt   2022-01-04 
09:52:29.000000000 +0100
+++ new/kdecoration-5.24.0/src/private/CMakeLists.txt   2022-02-03 
15:28:17.000000000 +0100
@@ -1,7 +1,10 @@
 set(libkdecoration2Private_SRCS
     decoratedclientprivate.cpp
+    decoratedclientprivate.h
     decorationbridge.cpp
+    decorationbridge.h
     decorationsettingsprivate.cpp
+    decorationsettingsprivate.h
 )
 
 add_library(kdecorations2private SHARED ${libkdecoration2Private_SRCS})

Reply via email to