[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