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})