Advance Wayland and KDE package bring-up

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-04-14 10:51:06 +01:00
parent 51f3c21121
commit cf12defd28
15214 changed files with 20594243 additions and 269 deletions
@@ -0,0 +1,58 @@
/*
SPDX-FileCopyrightText: 2022 Nicolas Fella <nicolas.fella@gmx.de>
SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
#include <KCMultiDialog>
#include <QObject>
#include <QTest>
#include <QTimer>
class KCMultiDialogTest : public QObject
{
Q_OBJECT
const KPluginMetaData fakekcm{QStringLiteral("plasma/kcms/systemsettings_qwidgets/fakekcm")};
void sleep(int ms)
{
QEventLoop l;
QTimer::singleShot(ms, this, [&l]() {
l.quit();
});
l.exec();
}
private Q_SLOTS:
void testClear()
{
KCMultiDialog dialog;
dialog.addModule(fakekcm);
// Just verify that it doesn't crash
dialog.clear();
}
void testLoadKcm()
{
KCMultiDialog dialog;
// Simple property to check how often the load method was called
QCOMPARE(dialog.property("loadcalled").toInt(), 0);
// For the first KCM, it should be called once
auto page1 = dialog.addModule(fakekcm);
sleep(1);
// For the newly instantiated KCM, load should be called after we change the page
// Because it does not have a higher weight, it is not shown initially
auto page2 = dialog.addModule(fakekcm);
dialog.setCurrentPage(page2);
sleep(1);
QCOMPARE(dialog.property("loadcalled").toInt(), 2);
// Go back to page 1, load should not be called again
dialog.setCurrentPage(page1);
sleep(1);
QCOMPARE(dialog.property("loadcalled").toInt(), 2);
}
};
QTEST_MAIN(KCMultiDialogTest)
#include "kcmultidialogtest.moc"