diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-10-03 17:49:12 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-10-03 17:49:12 +0100 |
commit | c99c2410831577bef101e22948e954f85f56cba1 (patch) | |
tree | 3a441417709f2a7a24673267462b405615c5df40 /kde-frameworks | |
parent | 8e3f5a0e42ba2822463660764321da4ed3b52ef9 (diff) |
gentoo auto-resync : 03:10:2023 - 17:49:12
Diffstat (limited to 'kde-frameworks')
-rw-r--r-- | kde-frameworks/Manifest.gz | bin | 13696 -> 13703 bytes | |||
-rw-r--r-- | kde-frameworks/kxmlgui/Manifest | 2 | ||||
-rw-r--r-- | kde-frameworks/kxmlgui/files/kxmlgui-5.111.0-fix-xml-merging.patch | 156 | ||||
-rw-r--r-- | kde-frameworks/kxmlgui/kxmlgui-5.110.0-r1.ebuild | 49 |
4 files changed, 207 insertions, 0 deletions
diff --git a/kde-frameworks/Manifest.gz b/kde-frameworks/Manifest.gz Binary files differindex 05f06cc0ad7f..2e3503b76554 100644 --- a/kde-frameworks/Manifest.gz +++ b/kde-frameworks/Manifest.gz diff --git a/kde-frameworks/kxmlgui/Manifest b/kde-frameworks/kxmlgui/Manifest index 33ebcd2a2a74..aeac6d6f7078 100644 --- a/kde-frameworks/kxmlgui/Manifest +++ b/kde-frameworks/kxmlgui/Manifest @@ -1,3 +1,5 @@ +AUX kxmlgui-5.111.0-fix-xml-merging.patch 5241 BLAKE2B 2b234a308039c343fd85788b02bdcef1339bcc53b3634ed5bed69dd5531b491d84b39dfb263f05ccd2a04b6ff034f7d7d3256d10a5eee45d929c236b7b40a4bf SHA512 4f47192c1f2bf5db6708979d418579cdc8c58387613ab2cb5bb89b0557f8d86ee0057edd9de3ea7a485b9a383a854094d2fef8bd85468942989bd5c4fc68b3e4 DIST kxmlgui-5.110.0.tar.xz 2953508 BLAKE2B 4e2643ae3b859485e1e4b90029d6f27f51c4fa6901ab55806b4ed75543874cdd69245a2f7eb3f20f77491d0ef4652ca499ffadec81ca8443f0b3ef03180b02db SHA512 2de1767737daea05f715dc73aff7ba76c59ad6ea1bf89aea5371032a3c16ca47fade78a3aec54970627f31b341ad39d0ccd25ccbc9f804125a9760e586d49d09 +EBUILD kxmlgui-5.110.0-r1.ebuild 1273 BLAKE2B 895d10e6550880da3d37baa72b3c7bbbdd57d5086a533af681086b0765feab03b6558c8eb8b867efdfd2967beca70b7a51e654da7cc8788e1c9367280c8c2069 SHA512 5313d5c1d41c3a057abde69a5f38c04ed2176e1adca762f1f4d26601a1e5c2c90e9ad16f8693cce38b5f3b3309c643512d2d30723cbe14626a7d8ccc6219def2 EBUILD kxmlgui-5.110.0.ebuild 1206 BLAKE2B a65a400d1fa44202a9b4a2434b6dc446dd7c7554aa8b3a360ec6c0ae06e30f05539dc9414fa6f6b048de3ec021a6f3e91a3873110fcfe86f84b16de9a41f1bea SHA512 cf91da4672e14fd1f21389ac13b9f90addcc30bbb03f2bf506547b10b7bf38af4bb78af254dbeb4450c531f8f18f163f7fd671266b038949e480db6a5d8ef761 MISC metadata.xml 547 BLAKE2B 127ee4110b748cd3e3c26b63248d35f78b233b00cf4466ccc0145a613062a5aa9cc2e9ebd91d0e7482c67f6e265938176b169a9c52eda30bfcddf02549ec8f06 SHA512 2d36585b1af6205dc1bfcff7c3cb24c85376716159317b5c105c866143d49e89e91e501c9a4cf2d63265c30a09e8df71bca841319bd3f2b551e79fde90b1d96e diff --git a/kde-frameworks/kxmlgui/files/kxmlgui-5.111.0-fix-xml-merging.patch b/kde-frameworks/kxmlgui/files/kxmlgui-5.111.0-fix-xml-merging.patch new file mode 100644 index 000000000000..013fbab9d1c7 --- /dev/null +++ b/kde-frameworks/kxmlgui/files/kxmlgui-5.111.0-fix-xml-merging.patch @@ -0,0 +1,156 @@ +https://invent.kde.org/frameworks/kxmlgui/-/merge_requests/190 +https://bugs.kde.org/show_bug.cgi?id=475016 + +From f015fa6006d2e2eea2d2aac11c18219b255722ef Mon Sep 17 00:00:00 2001 +From: Mladen Milinkovic <maxrd2@smoothware.net> +Date: Fri, 29 Sep 2023 20:01:49 +0200 +Subject: [PATCH] Fix merging of XMLs with multiple ActionProperties tags + +BUG: 475016 +--- a/autotests/kxmlgui_unittest.cpp ++++ b/autotests/kxmlgui_unittest.cpp +@@ -88,6 +88,26 @@ static void createXmlFile(QFile &file, int version, int flags, const QByteArray + file.write("</" + toplevelTag + ">\n"); + } + ++class ShortcutSchemeHandler ++{ ++public: ++ ShortcutSchemeHandler(const QString &scheme) ++ : cgScheme(KSharedConfig::openConfig(), "Shortcut Schemes") ++ , prevScheme(cgScheme.readEntry("Current Scheme", QStringLiteral("Default"))) ++ { ++ cgScheme.writeEntry("Current Scheme", scheme); ++ } ++ ++ ~ShortcutSchemeHandler() ++ { ++ cgScheme.writeEntry("Current Scheme", prevScheme); ++ } ++ ++private: ++ KConfigGroup cgScheme; ++ const QString prevScheme; ++}; ++ + static void clickApply(KEditToolBar *dialog) + { + QDialogButtonBox *box = dialog->findChild<QDialogButtonBox *>(); +@@ -106,6 +126,15 @@ void KXmlGui_UnitTest::initTestCase() + QFile::remove(configFile); + KSharedConfig::openConfig()->reparseConfiguration(); + } ++ ++ // Create "Test" shortcut scheme to eliminate the KF warning ++ QFile testScheme = QFile(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) ++ + QLatin1String("/%1/shortcuts/%2").arg(QCoreApplication::applicationName(), QStringLiteral("Test"))); ++ if (!testScheme.exists()) { ++ QVERIFY(QFileInfo(testScheme).dir().mkpath(QStringLiteral("."))); ++ QVERIFY(testScheme.open(QIODevice::WriteOnly)); ++ testScheme.write(QByteArray("<gui><ActionProperties/></gui>")); ++ } + } + + void KXmlGui_UnitTest::testFindVersionNumber_data() +@@ -457,6 +486,56 @@ void KXmlGui_UnitTest::testPartMerging() + factory.removeClient(&hostClient); + } + ++void KXmlGui_UnitTest::testShortcutSchemeMerging() ++{ ++ TestGuiClient client; ++ ++ ShortcutSchemeHandler sss(QStringLiteral("Test")); ++ ++ KActionCollection *ac = client.actionCollection(); ++ ++ QAction *a = ac->addAction(QStringLiteral("test_action")); ++ ac->setDefaultShortcut(a, QKeySequence(QStringLiteral("Ctrl+A"))); ++ ++ const QByteArray appXml = R"(<?xml version = "1.0"?> ++<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> ++<kpartgui name="foo" version="5"> ++<MenuBar> ++ <Menu name="file"><text>&File</text> ++ <Action name="test_action" /> ++ </Menu> ++</MenuBar></kpartgui> ++)"; ++ client.createGUI(appXml, false); ++ ++ const QByteArray settingsXml = R"(<!DOCTYPE kpartgui SYSTEM 'kpartgui.dtd'> ++<kpartgui name="foo" version="1"> ++ <MenuBar> ++ <Menu name="file"> ++ <text>&File</text> ++ <Action name="test_action" /> ++ </Menu> ++ </MenuBar> ++ <ActionProperties scheme="Default"> ++ <Action name="test_action" shortcut="Ctrl+B"/> ++ </ActionProperties> ++ <ActionProperties scheme="Test"> ++ <Action name="test_action" shortcut="Ctrl+C"/> ++ </ActionProperties> ++</kpartgui> ++)"; ++ client.mergeXML(settingsXml); ++ ++ KMainWindow mainWindow; ++ KXMLGUIBuilder builder(&mainWindow); ++ KXMLGUIFactory factory(&builder); ++ factory.addClient(&client); ++ ++ QCOMPARE(a->shortcut(), QKeySequence(QStringLiteral("Ctrl+C"))); ++ ++ factory.removeClient(&client); ++} ++ + void KXmlGui_UnitTest::testPartMergingSettings() // #252911 + { + const QByteArray hostXml = +--- a/autotests/kxmlgui_unittest.h ++++ b/autotests/kxmlgui_unittest.h +@@ -23,6 +23,7 @@ private Q_SLOTS: + void testVersionHandlerNewVersionUserChanges(); + void testPartMerging(); + void testPartMergingSettings(); ++ void testShortcutSchemeMerging(); + void testUiStandardsMerging_data(); + void testUiStandardsMerging(); + void testActionListAndSeparator(); +--- a/autotests/testguiclient.h ++++ b/autotests/testguiclient.h +@@ -42,6 +42,10 @@ public: + + setXML(QString::fromLatin1(xml), true); + } ++ void mergeXML(const QByteArray &xml) ++ { ++ setXML(QString::fromLatin1(xml), true); ++ } + void createActions(const QStringList &actionNames) + { + KActionCollection *coll = actionCollection(); +--- a/src/kxmlguiclient.cpp ++++ b/src/kxmlguiclient.cpp +@@ -587,6 +587,8 @@ bool KXMLGUIClientPrivate::isEmptyContainer(const QDomElement &base, KActionColl + + QDomElement KXMLGUIClientPrivate::findMatchingElement(const QDomElement &base, const QDomElement &additive) + { ++ const QString idAttribute(base.tagName() == QLatin1String("ActionProperties") ? QStringLiteral("scheme") : QStringLiteral("name")); ++ + QDomNode n = additive.firstChild(); + while (!n.isNull()) { + QDomElement e = n.toElement(); +@@ -604,7 +606,7 @@ QDomElement KXMLGUIClientPrivate::findMatchingElement(const QDomElement &base, c + + // now see if our tags are equivalent + if (equalstr(tag, base.tagName()) // +- && e.attribute(QStringLiteral("name")) == base.attribute(QStringLiteral("name"))) { ++ && e.attribute(idAttribute) == base.attribute(idAttribute)) { + return e; + } + } +-- +GitLab diff --git a/kde-frameworks/kxmlgui/kxmlgui-5.110.0-r1.ebuild b/kde-frameworks/kxmlgui/kxmlgui-5.110.0-r1.ebuild new file mode 100644 index 000000000000..e891a27f3694 --- /dev/null +++ b/kde-frameworks/kxmlgui/kxmlgui-5.110.0-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_DESIGNERPLUGIN="true" +PVCUT=$(ver_cut 1-2) +QTMIN=5.15.9 +inherit ecm frameworks.kde.org + +DESCRIPTION="Framework for managing menu and toolbar actions in an abstract way" + +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +LICENSE="LGPL-2+" +IUSE="" + +# slot op: includes QtCore/private/qlocale_p.h +DEPEND=" + >=dev-qt/qtcore-${QTMIN}:5= + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtnetwork-${QTMIN}:5[ssl] + >=dev-qt/qtprintsupport-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + >=dev-qt/qtxml-${QTMIN}:5 + =kde-frameworks/kconfig-${PVCUT}*:5 + =kde-frameworks/kconfigwidgets-${PVCUT}*:5 + =kde-frameworks/kcoreaddons-${PVCUT}*:5 + =kde-frameworks/kglobalaccel-${PVCUT}*:5 + =kde-frameworks/kguiaddons-${PVCUT}*:5 + =kde-frameworks/ki18n-${PVCUT}*:5 + =kde-frameworks/kiconthemes-${PVCUT}*:5 + =kde-frameworks/kitemviews-${PVCUT}*:5 + =kde-frameworks/kwidgetsaddons-${PVCUT}*:5 +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-5.111.0-fix-xml-merging.patch +) + +src_test() { + # Files are missing; whatever. Bugs 650290, 668198, 808216 + local myctestargs=( + -E "(ktoolbar_unittest|kxmlgui_unittest|ktooltiphelper_unittest)" + ) + + ecm_src_test +} |