[neon/qt6/qt6-declarative/Neon/release] debian: drop patches and signing-key
Carlos De Maine
null at kde.org
Wed Dec 4 09:22:03 GMT 2024
Git commit ca2f3b1f32ac5c738cfaa86c4d9824e2109f2bc5 by Carlos De Maine.
Committed on 04/12/2024 at 08:06.
Pushed by carlosdem into branch 'Neon/release'.
drop patches and signing-key
D +0 -378 debian/patches/network_applet_list.diff
D +0 -412 debian/patches/network_applet_list_2.diff
M +0 -5 debian/patches/series
D +0 -0 debian/upstream/signing-key.asc
https://invent.kde.org/neon/qt6/qt6-declarative/-/commit/ca2f3b1f32ac5c738cfaa86c4d9824e2109f2bc5
diff --git a/debian/patches/network_applet_list.diff b/debian/patches/network_applet_list.diff
deleted file mode 100644
index 37f73ec..0000000
--- a/debian/patches/network_applet_list.diff
+++ /dev/null
@@ -1,378 +0,0 @@
-
---- a/src/qmlmodels/qqmldelegatemodel.cpp
-+++ b/src/qmlmodels/qqmldelegatemodel.cpp
-@@ -171,7 +171,6 @@
- , m_transaction(false)
- , m_incubatorCleanupScheduled(false)
- , m_waitingToFetchMore(false)
-- , m_maybeResetRoleNames(false)
- , m_cacheItems(nullptr)
- , m_items(nullptr)
- , m_persistedItems(nullptr)
-@@ -365,7 +364,6 @@
- QObject::connect(aim, &QAbstractItemModel::dataChanged, q, &QQmlDelegateModel::_q_dataChanged);
- QObject::connect(aim, &QAbstractItemModel::rowsMoved, q, &QQmlDelegateModel::_q_rowsMoved);
- QObject::connect(aim, &QAbstractItemModel::modelAboutToBeReset, q, &QQmlDelegateModel::_q_modelAboutToBeReset);
-- QObject::connect(aim, &QAbstractItemModel::modelReset, q, &QQmlDelegateModel::handleModelReset);
- QObject::connect(aim, &QAbstractItemModel::layoutChanged, q, &QQmlDelegateModel::_q_layoutChanged);
- }
-
-@@ -386,7 +384,6 @@
- QObject::disconnect(aim, &QAbstractItemModel::dataChanged, q, &QQmlDelegateModel::_q_dataChanged);
- QObject::disconnect(aim, &QAbstractItemModel::rowsMoved, q, &QQmlDelegateModel::_q_rowsMoved);
- QObject::disconnect(aim, &QAbstractItemModel::modelAboutToBeReset, q, &QQmlDelegateModel::_q_modelAboutToBeReset);
-- QObject::disconnect(aim, &QAbstractItemModel::modelReset, q, &QQmlDelegateModel::handleModelReset);
- QObject::disconnect(aim, &QAbstractItemModel::layoutChanged, q, &QQmlDelegateModel::_q_layoutChanged);
- }
-
-@@ -1897,28 +1894,25 @@
- Q_D(QQmlDelegateModel);
- if (!d->m_adaptorModel.adaptsAim())
- return;
--
-- /*
-- roleNames are generally guaranteed to be stable (given that QAIM has no
-- change signal for them), except that resetting the model is allowed to
-- invalidate them (QTBUG-32132). DelegateModel must take this into account by
-- snapshotting the current roleNames before the model is reset.
-- Afterwards, if we detect that roleNames has changed, we throw the
-- current model set up away and rebuild everything from scratch – it is
-- unlikely that a more efficient implementation would be worth it.
--
-- If we detect no changes, we simply use the existing logic to handle the
-- model reset.
--
-- This (role name resetting) logic relies on the fact that
-- modelAboutToBeReset must be followed by a modelReset signal before any
-- further modelAboutToBeReset can occur. However, it's possible for user
-- code to begin the reset before connectToAbstractItemModel is called
-- (QTBUG-125053), in which case we don't attempt to reset the role names.
-- */
-- Q_ASSERT(!d->m_maybeResetRoleNames);
-- d->m_maybeResetRoleNames = true;
-- d->m_roleNamesBeforeReset = d->m_adaptorModel.aim()->roleNames();
-+ auto aim = d->m_adaptorModel.aim();
-+ auto oldRoleNames = aim->roleNames();
-+ // this relies on the fact that modelAboutToBeReset must be followed
-+ // by a modelReset signal before any further modelAboutToBeReset can occur
-+ QObject::connect(aim, &QAbstractItemModel::modelReset, this, [this, d, oldRoleNames, aim](){
-+ if (!d->m_adaptorModel.adaptsAim() || d->m_adaptorModel.aim() != aim)
-+ return;
-+ if (oldRoleNames == aim->roleNames()) {
-+ // if the rolenames stayed the same (most common case), then we don't have
-+ // to throw away all the setup that we did
-+ handleModelReset();
-+ } else {
-+ // If they did change, we give up and just start from scratch via setMode
-+ setModel(QVariant::fromValue(model()));
-+ // but we still have to call handleModelReset, otherwise views will
-+ // not refresh
-+ handleModelReset();
-+ }
-+ }, Qt::SingleShotConnection);
- }
-
- void QQmlDelegateModel::handleModelReset()
-@@ -1928,23 +1922,6 @@
- return;
-
- int oldCount = d->m_count;
--
-- if (d->m_maybeResetRoleNames) {
-- auto aim = d->m_adaptorModel.aim();
-- if (!d->m_adaptorModel.adaptsAim() || d->m_adaptorModel.aim() != aim)
-- return;
--
-- // If the role names stayed the same (most common case), then we don't have
-- // to throw away all the setup that we did.
-- // If they did change, we give up and just start from scratch via setModel.
-- // We do this before handling the reset to ensure that views refresh.
-- if (aim->roleNames() != d->m_roleNamesBeforeReset)
-- setModel(QVariant::fromValue(model()));
--
-- d->m_maybeResetRoleNames = false;
-- d->m_roleNamesBeforeReset.clear();
-- }
--
- d->m_adaptorModel.rootIndex = QModelIndex();
-
- if (d->m_complete) {
---- a/src/qmlmodels/qqmldelegatemodel_p_p.h
-+++ b/src/qmlmodels/qqmldelegatemodel_p_p.h
-@@ -334,7 +334,6 @@
- QQmlReusableDelegateModelItemsPool m_reusableItemsPool;
- QList<QQDMIncubationTask *> m_finishedIncubating;
- QList<QByteArray> m_watchedRoles;
-- QHash<int, QByteArray> m_roleNamesBeforeReset;
-
- QString m_filterGroup;
-
-@@ -348,7 +347,6 @@
- bool m_transaction : 1;
- bool m_incubatorCleanupScheduled : 1;
- bool m_waitingToFetchMore : 1;
-- bool m_maybeResetRoleNames : 1;
-
- union {
- struct {
---- a/tests/auto/qml/qqmldelegatemodel/CMakeLists.txt
-+++ b/tests/auto/qml/qqmldelegatemodel/CMakeLists.txt
-@@ -29,7 +29,6 @@
- Qt::QmlModelsPrivate
- Qt::QmlPrivate
- Qt::Quick
-- Qt::QuickPrivate
- Qt::QuickTestUtilsPrivate
- TESTDATA ${test_data}
- )
---- a/tests/auto/qml/qqmldelegatemodel/data/reset.qml
-+++ /dev/null
-@@ -1,28 +0,0 @@
--import QtQuick
--import Test
--
--Window {
-- id: root
-- width: 200
-- height: 200
--
-- property alias listView: listView
--
-- ResettableModel {
-- id: resetModel
-- }
--
-- ListView {
-- id: listView
-- anchors.fill: parent
-- model: resetModel
--
-- delegate: Rectangle {
-- implicitWidth: 100
-- implicitHeight: 50
-- color: "olivedrab"
--
-- required property string display
-- }
-- }
--}
---- a/tests/auto/qml/qqmldelegatemodel/data/resetInQAIMConstructor.qml
-+++ /dev/null
-@@ -1,28 +0,0 @@
--import QtQuick
--import Test
--
--Window {
-- id: root
-- width: 200
-- height: 200
--
-- property alias listView: listView
--
-- ResetInConstructorModel {
-- id: resetInConstructorModel
-- }
--
-- ListView {
-- id: listView
-- anchors.fill: parent
-- model: resetInConstructorModel
--
-- delegate: Rectangle {
-- implicitWidth: 100
-- implicitHeight: 50
-- color: "olivedrab"
--
-- required property string display
-- }
-- }
--}
---- a/tests/auto/qml/qqmldelegatemodel/tst_qqmldelegatemodel.cpp
-+++ b/tests/auto/qml/qqmldelegatemodel/tst_qqmldelegatemodel.cpp
-@@ -4,7 +4,6 @@
- #include <QtTest/qtest.h>
- #include <QtCore/qjsonobject.h>
- #include <QtCore/QConcatenateTablesProxyModel>
--#include <QtCore/qtimer.h>
- #include <QtGui/QStandardItemModel>
- #include <QtQml/qqmlcomponent.h>
- #include <QtQml/qqmlapplicationengine.h>
-@@ -12,17 +11,11 @@
- #include <QtQmlModels/private/qqmllistmodel_p.h>
- #include <QtQuick/qquickview.h>
- #include <QtQuick/qquickitem.h>
--#include <QtQuick/private/qquickitemview_p_p.h>
--#include <QtQuick/private/qquicklistview_p.h>
--#include <QtQuickTest/quicktest.h>
- #include <QtQuickTestUtils/private/qmlutils_p.h>
--#include <QtQuickTestUtils/private/visualtestutils_p.h>
- #include <QtTest/QSignalSpy>
-
- #include <forward_list>
-
--using namespace QQuickVisualTestUtils;
--
- class tst_QQmlDelegateModel : public QQmlDataTest
- {
- Q_OBJECT
-@@ -32,8 +25,6 @@
-
- private slots:
- void resettingRolesRespected();
-- void resetInQAIMConstructor();
-- void reset();
- void valueWithoutCallingObjectFirst_data();
- void valueWithoutCallingObjectFirst();
- void qtbug_86017();
-@@ -53,9 +44,16 @@
- void viewUpdatedOnDelegateChoiceAffectingRoleChange();
- };
-
--class BaseAbstractItemModel : public QAbstractItemModel
-+class AbstractItemModel : public QAbstractItemModel
- {
-+ Q_OBJECT
- public:
-+ AbstractItemModel()
-+ {
-+ for (int i = 0; i < 3; ++i)
-+ mValues.append(QString::fromLatin1("Item %1").arg(i));
-+ }
-+
- QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override
- {
- if (parent.isValid())
-@@ -93,21 +91,10 @@
- return mValues.at(index.row());
- }
-
--protected:
-+private:
- QVector<QString> mValues;
- };
-
--class AbstractItemModel : public BaseAbstractItemModel
--{
-- Q_OBJECT
--public:
-- AbstractItemModel()
-- {
-- for (int i = 0; i < 3; ++i)
-- mValues.append(QString::fromLatin1("Item %1").arg(i));
-- }
--};
--
- tst_QQmlDelegateModel::tst_QQmlDelegateModel()
- : QQmlDataTest(QT_QMLTEST_DATADIR)
- {
-@@ -166,109 +153,7 @@
- QObject *root = engine.rootObjects().constFirst();
- QVERIFY(!root->property("success").toBool());
- model->change();
-- QTRY_VERIFY_WITH_TIMEOUT(root->property("success").toBool(), 100);
--}
--
--class ResetInConstructorModel : public BaseAbstractItemModel
--{
-- Q_OBJECT
-- QML_ELEMENT
--
--public:
-- ResetInConstructorModel()
-- {
-- beginResetModel();
-- QTimer::singleShot(0, this, &ResetInConstructorModel::finishReset);
-- }
--
--private:
-- void finishReset()
-- {
-- mValues.append("First");
-- endResetModel();
-- }
--};
--
--void tst_QQmlDelegateModel::resetInQAIMConstructor()
--{
-- qmlRegisterTypesAndRevisions<ResetInConstructorModel>("Test", 1);
--
-- QQuickApplicationHelper helper(this, "resetInQAIMConstructor.qml");
-- QVERIFY2(helper.ready, helper.failureMessage());
-- QQuickWindow *window = helper.window;
-- window->show();
-- QVERIFY(QTest::qWaitForWindowExposed(window));
--
-- auto *listView = window->property("listView").value<QQuickListView *>();
-- QVERIFY(listView);
-- QTRY_VERIFY_WITH_TIMEOUT(listView->itemAtIndex(0), 100);
-- QQuickItem *firstDelegateItem = listView->itemAtIndex(0);
-- QVERIFY(firstDelegateItem);
-- QCOMPARE(firstDelegateItem->property("display").toString(), "First");
--}
--
--class ResettableModel : public BaseAbstractItemModel
--{
-- Q_OBJECT
-- QML_ELEMENT
--
--public:
-- ResettableModel()
-- {
-- mValues.append("First");
-- }
--
-- void callBeginResetModel()
-- {
-- beginResetModel();
-- mValues.clear();
-- }
--
-- void appendData()
-- {
-- mValues.append(QString::fromLatin1("Item %1").arg(mValues.size()));
-- }
--
-- void callEndResetModel()
-- {
-- endResetModel();
-- }
--};
--
--// Tests that everything works as expected when calling beginResetModel/endResetModel
--// after the QAIM subclass constructor has run.
--void tst_QQmlDelegateModel::reset()
--{
-- qmlRegisterTypesAndRevisions<ResettableModel>("Test", 1);
--
-- QQuickApplicationHelper helper(this, "reset.qml");
-- QVERIFY2(helper.ready, helper.failureMessage());
-- QQuickWindow *window = helper.window;
-- window->show();
-- QVERIFY(QTest::qWaitForWindowExposed(window));
--
-- auto *listView = window->property("listView").value<QQuickListView *>();
-- QVERIFY(listView);
-- QQuickItem *firstDelegateItem = listView->itemAtIndex(0);
-- QVERIFY(firstDelegateItem);
-- QCOMPARE(firstDelegateItem->property("display").toString(), "First");
--
-- const auto delegateModel = QQuickItemViewPrivate::get(listView)->model;
-- QSignalSpy rootIndexChangedSpy(delegateModel, SIGNAL(rootIndexChanged()));
-- QVERIFY(rootIndexChangedSpy.isValid());
--
-- auto *model = listView->model().value<ResettableModel *>();
-- model->callBeginResetModel();
-- model->appendData();
-- model->callEndResetModel();
-- // This is verifies that handleModelReset isn't called
-- // more than once during this process, since it unconditionally emits rootIndexChanged.
-- QCOMPARE(rootIndexChangedSpy.count(), 1);
--
-- QTRY_VERIFY_WITH_TIMEOUT(listView->itemAtIndex(0), 100);
-- firstDelegateItem = listView->itemAtIndex(0);
-- QVERIFY(firstDelegateItem);
-- QCOMPARE(firstDelegateItem->property("display").toString(), "Item 0");
-+ QTRY_VERIFY(root->property("success").toBool());
- }
-
- void tst_QQmlDelegateModel::valueWithoutCallingObjectFirst_data()
diff --git a/debian/patches/network_applet_list_2.diff b/debian/patches/network_applet_list_2.diff
deleted file mode 100644
index bca0193..0000000
--- a/debian/patches/network_applet_list_2.diff
+++ /dev/null
@@ -1,412 +0,0 @@
---- a/src/qmlmodels/qqmldelegatemodel.cpp
-+++ b/src/qmlmodels/qqmldelegatemodel.cpp
-@@ -3,6 +3,8 @@
-
- #include "qqmldelegatemodel_p_p.h"
-
-+#include <QtCore/private/qabstractitemmodel_p.h>
-+
- #include <QtQml/qqmlinfo.h>
-
- #include <private/qqmlabstractdelegatecomponent_p.h>
-@@ -408,6 +410,21 @@
- _q_itemsInserted(0, d->adaptorModelCount());
- d->requestMoreIfNecessary();
- }
-+
-+ // Since 837c2f18cd223707e7cedb213257b0158ea07146, we connect to modelAboutToBeReset
-+ // rather than modelReset so that we can handle role name changes. _q_modelAboutToBeReset
-+ // now connects modelReset to handleModelReset with a single shot connection instead.
-+ // However, it's possible for user code to begin the reset before connectToAbstractItemModel is called
-+ // (QTBUG-125053), in which case we connect to modelReset too late and handleModelReset is never called,
-+ // resulting in delegates not being created in certain cases.
-+ // So, we check at the earliest point we can if the model is in the process of being reset,
-+ // and if so, connect modelReset to handleModelReset.
-+ if (d->m_adaptorModel.adaptsAim()) {
-+ auto *aim = d->m_adaptorModel.aim();
-+ auto *aimPrivate = QAbstractItemModelPrivate::get(aim);
-+ if (aimPrivate->resetting)
-+ QObject::connect(aim, &QAbstractItemModel::modelReset, this, &QQmlDelegateModel::handleModelReset, Qt::SingleShotConnection);
-+ }
- }
-
- /*!
---- a/tests/auto/qml/qqmldelegatemodel/CMakeLists.txt
-+++ b/tests/auto/qml/qqmldelegatemodel/CMakeLists.txt
-@@ -29,6 +29,7 @@
- Qt::QmlModelsPrivate
- Qt::QmlPrivate
- Qt::Quick
-+ Qt::QuickPrivate
- Qt::QuickTestUtilsPrivate
- TESTDATA ${test_data}
- )
---- /dev/null
-+++ b/tests/auto/qml/qqmldelegatemodel/data/proxyModelWithDelayedSourceModelInListView.qml
-@@ -0,0 +1,30 @@
-+import QtQuick
-+import Test
-+
-+Window {
-+ id: root
-+ title: listView.count
-+
-+ property alias listView: listView
-+ property ProxySourceModel connectionModel: null
-+
-+ Component {
-+ id: modelComponent
-+ ProxySourceModel {}
-+ }
-+
-+ ListView {
-+ id: listView
-+ anchors.fill: parent
-+
-+ delegate: Text {
-+ text: model.Name
-+ }
-+
-+ model: ProxyModel {
-+ sourceModel: root.connectionModel
-+ }
-+ }
-+
-+ Component.onCompleted: root.connectionModel = modelComponent.createObject(root)
-+}
---- /dev/null
-+++ b/tests/auto/qml/qqmldelegatemodel/data/reset.qml
-@@ -0,0 +1,28 @@
-+import QtQuick
-+import Test
-+
-+Window {
-+ id: root
-+ width: 200
-+ height: 200
-+
-+ property alias listView: listView
-+
-+ ResettableModel {
-+ id: resetModel
-+ }
-+
-+ ListView {
-+ id: listView
-+ anchors.fill: parent
-+ model: resetModel
-+
-+ delegate: Rectangle {
-+ implicitWidth: 100
-+ implicitHeight: 50
-+ color: "olivedrab"
-+
-+ required property string display
-+ }
-+ }
-+}
---- /dev/null
-+++ b/tests/auto/qml/qqmldelegatemodel/data/resetInQAIMConstructor.qml
-@@ -0,0 +1,28 @@
-+import QtQuick
-+import Test
-+
-+Window {
-+ id: root
-+ width: 200
-+ height: 200
-+
-+ property alias listView: listView
-+
-+ ResetInConstructorModel {
-+ id: resetInConstructorModel
-+ }
-+
-+ ListView {
-+ id: listView
-+ anchors.fill: parent
-+ model: resetInConstructorModel
-+
-+ delegate: Rectangle {
-+ implicitWidth: 100
-+ implicitHeight: 50
-+ color: "olivedrab"
-+
-+ required property string display
-+ }
-+ }
-+}
---- a/tests/auto/qml/qqmldelegatemodel/tst_qqmldelegatemodel.cpp
-+++ b/tests/auto/qml/qqmldelegatemodel/tst_qqmldelegatemodel.cpp
-@@ -3,7 +3,9 @@
-
- #include <QtTest/qtest.h>
- #include <QtCore/qjsonobject.h>
-+#include <QtCore/qsortfilterproxymodel.h>
- #include <QtCore/QConcatenateTablesProxyModel>
-+#include <QtCore/qtimer.h>
- #include <QtGui/QStandardItemModel>
- #include <QtQml/qqmlcomponent.h>
- #include <QtQml/qqmlapplicationengine.h>
-@@ -11,11 +13,17 @@
- #include <QtQmlModels/private/qqmllistmodel_p.h>
- #include <QtQuick/qquickview.h>
- #include <QtQuick/qquickitem.h>
-+#include <QtQuick/private/qquickitemview_p_p.h>
-+#include <QtQuick/private/qquicklistview_p.h>
-+#include <QtQuickTest/quicktest.h>
- #include <QtQuickTestUtils/private/qmlutils_p.h>
-+#include <QtQuickTestUtils/private/visualtestutils_p.h>
- #include <QtTest/QSignalSpy>
-
- #include <forward_list>
-
-+using namespace QQuickVisualTestUtils;
-+
- class tst_QQmlDelegateModel : public QQmlDataTest
- {
- Q_OBJECT
-@@ -25,6 +33,8 @@
-
- private slots:
- void resettingRolesRespected();
-+ void resetInQAIMConstructor();
-+ void reset();
- void valueWithoutCallingObjectFirst_data();
- void valueWithoutCallingObjectFirst();
- void qtbug_86017();
-@@ -42,18 +52,12 @@
- void doNotUnrefObjectUnderConstruction();
- void clearCacheDuringInsertion();
- void viewUpdatedOnDelegateChoiceAffectingRoleChange();
-+ void proxyModelWithDelayedSourceModelInListView();
- };
-
--class AbstractItemModel : public QAbstractItemModel
-+class BaseAbstractItemModel : public QAbstractItemModel
- {
-- Q_OBJECT
- public:
-- AbstractItemModel()
-- {
-- for (int i = 0; i < 3; ++i)
-- mValues.append(QString::fromLatin1("Item %1").arg(i));
-- }
--
- QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override
- {
- if (parent.isValid())
-@@ -91,10 +95,21 @@
- return mValues.at(index.row());
- }
-
--private:
-+protected:
- QVector<QString> mValues;
- };
-
-+class AbstractItemModel : public BaseAbstractItemModel
-+{
-+ Q_OBJECT
-+public:
-+ AbstractItemModel()
-+ {
-+ for (int i = 0; i < 3; ++i)
-+ mValues.append(QString::fromLatin1("Item %1").arg(i));
-+ }
-+};
-+
- tst_QQmlDelegateModel::tst_QQmlDelegateModel()
- : QQmlDataTest(QT_QMLTEST_DATADIR)
- {
-@@ -153,7 +168,109 @@
- QObject *root = engine.rootObjects().constFirst();
- QVERIFY(!root->property("success").toBool());
- model->change();
-- QTRY_VERIFY(root->property("success").toBool());
-+ QTRY_VERIFY_WITH_TIMEOUT(root->property("success").toBool(), 100);
-+}
-+
-+class ResetInConstructorModel : public BaseAbstractItemModel
-+{
-+ Q_OBJECT
-+ QML_ELEMENT
-+
-+public:
-+ ResetInConstructorModel()
-+ {
-+ beginResetModel();
-+ QTimer::singleShot(0, this, &ResetInConstructorModel::finishReset);
-+ }
-+
-+private:
-+ void finishReset()
-+ {
-+ mValues.append("First");
-+ endResetModel();
-+ }
-+};
-+
-+void tst_QQmlDelegateModel::resetInQAIMConstructor()
-+{
-+ qmlRegisterTypesAndRevisions<ResetInConstructorModel>("Test", 1);
-+
-+ QQuickApplicationHelper helper(this, "resetInQAIMConstructor.qml");
-+ QVERIFY2(helper.ready, helper.failureMessage());
-+ QQuickWindow *window = helper.window;
-+ window->show();
-+ QVERIFY(QTest::qWaitForWindowExposed(window));
-+
-+ auto *listView = window->property("listView").value<QQuickListView *>();
-+ QVERIFY(listView);
-+ QTRY_VERIFY_WITH_TIMEOUT(listView->itemAtIndex(0), 100);
-+ QQuickItem *firstDelegateItem = listView->itemAtIndex(0);
-+ QVERIFY(firstDelegateItem);
-+ QCOMPARE(firstDelegateItem->property("display").toString(), "First");
-+}
-+
-+class ResettableModel : public BaseAbstractItemModel
-+{
-+ Q_OBJECT
-+ QML_ELEMENT
-+
-+public:
-+ ResettableModel()
-+ {
-+ mValues.append("First");
-+ }
-+
-+ void callBeginResetModel()
-+ {
-+ beginResetModel();
-+ mValues.clear();
-+ }
-+
-+ void appendData()
-+ {
-+ mValues.append(QString::fromLatin1("Item %1").arg(mValues.size()));
-+ }
-+
-+ void callEndResetModel()
-+ {
-+ endResetModel();
-+ }
-+};
-+
-+// Tests that everything works as expected when calling beginResetModel/endResetModel
-+// after the QAIM subclass constructor has run.
-+void tst_QQmlDelegateModel::reset()
-+{
-+ qmlRegisterTypesAndRevisions<ResettableModel>("Test", 1);
-+
-+ QQuickApplicationHelper helper(this, "reset.qml");
-+ QVERIFY2(helper.ready, helper.failureMessage());
-+ QQuickWindow *window = helper.window;
-+ window->show();
-+ QVERIFY(QTest::qWaitForWindowExposed(window));
-+
-+ auto *listView = window->property("listView").value<QQuickListView *>();
-+ QVERIFY(listView);
-+ QQuickItem *firstDelegateItem = listView->itemAtIndex(0);
-+ QVERIFY(firstDelegateItem);
-+ QCOMPARE(firstDelegateItem->property("display").toString(), "First");
-+
-+ const auto delegateModel = QQuickItemViewPrivate::get(listView)->model;
-+ QSignalSpy rootIndexChangedSpy(delegateModel, SIGNAL(rootIndexChanged()));
-+ QVERIFY(rootIndexChangedSpy.isValid());
-+
-+ auto *model = listView->model().value<ResettableModel *>();
-+ model->callBeginResetModel();
-+ model->appendData();
-+ model->callEndResetModel();
-+ // This is verifies that handleModelReset isn't called
-+ // more than once during this process, since it unconditionally emits rootIndexChanged.
-+ QCOMPARE(rootIndexChangedSpy.count(), 1);
-+
-+ QTRY_VERIFY_WITH_TIMEOUT(listView->itemAtIndex(0), 100);
-+ firstDelegateItem = listView->itemAtIndex(0);
-+ QVERIFY(firstDelegateItem);
-+ QCOMPARE(firstDelegateItem->property("display").toString(), "Item 0");
- }
-
- void tst_QQmlDelegateModel::valueWithoutCallingObjectFirst_data()
-@@ -616,6 +733,79 @@
- QVERIFY(returnedValue);
- }
-
-+class ProxySourceModel : public QAbstractListModel
-+{
-+ Q_OBJECT
-+ QML_ELEMENT
-+public:
-+ explicit ProxySourceModel(QObject *parent = nullptr)
-+ : QAbstractListModel(parent)
-+ {
-+ for (int i = 0; i < rows; ++i) {
-+ beginInsertRows(QModelIndex(), i, i);
-+ endInsertRows();
-+ }
-+ }
-+
-+ ~ProxySourceModel() override = default;
-+
-+ int rowCount(const QModelIndex &) const override
-+ {
-+ return rows;
-+ }
-+
-+ QVariant data(const QModelIndex &, int ) const override
-+ {
-+ return "Hello";
-+ }
-+
-+ QHash<int, QByteArray> roleNames() const override
-+ {
-+ QHash<int, QByteArray> roles = QAbstractListModel::roleNames();
-+ roles[Qt::UserRole + 1] = "Name";
-+
-+ return roles;
-+ }
-+
-+ static const int rows = 1;
-+};
-+
-+class ProxyModel : public QSortFilterProxyModel
-+{
-+ Q_OBJECT
-+ QML_ELEMENT
-+ Q_PROPERTY(QAbstractItemModel *sourceModel READ sourceModel WRITE setSourceModel)
-+
-+public:
-+ explicit ProxyModel(QObject *parent = nullptr)
-+ : QSortFilterProxyModel(parent)
-+ {
-+ }
-+
-+ ~ProxyModel() override = default;
-+};
-+
-+// Checks that the correct amount of delegates are created when using a proxy
-+// model whose source model is set after a delay.
-+void tst_QQmlDelegateModel::proxyModelWithDelayedSourceModelInListView()
-+{
-+ QTest::failOnWarning();
-+
-+ qmlRegisterTypesAndRevisions<ProxySourceModel>("Test", 1);
-+ qmlRegisterTypesAndRevisions<ProxyModel>("Test", 1);
-+
-+ QQuickApplicationHelper helper(this, "proxyModelWithDelayedSourceModelInListView.qml");
-+ QVERIFY2(helper.ready, helper.failureMessage());
-+ QQuickWindow *window = helper.window;
-+ window->show();
-+ QVERIFY(QTest::qWaitForWindowExposed(window));
-+
-+ auto *listView = window->property("listView").value<QQuickListView *>();
-+ QVERIFY(listView);
-+ const auto delegateModel = QQuickItemViewPrivate::get(listView)->model;
-+ QTRY_COMPARE(listView->count(), 1);
-+}
-+
- QTEST_MAIN(tst_QQmlDelegateModel)
-
- #include "tst_qqmldelegatemodel.moc"
diff --git a/debian/patches/series b/debian/patches/series
index dc74a0f..a37c39a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,8 +1,3 @@
-# https://bugs.kde.org/493116
-# fixed in 6.8.1
-network_applet_list.diff
-network_applet_list_2.diff
-
#carl reported https://codereview.qt-project.org/c/qt/qtdeclarative/+/579714 for backports
# but superceded by https://codereview.qt-project.org/c/qt/qtdeclarative/+/595278
kirigami_crashes.diff
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
deleted file mode 100644
index e69de29..0000000
More information about the Neon-commits
mailing list