Hello community, here is the log from the commit of package kitemmodels for openSUSE:Factory checked in at 2017-01-31 12:03:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kitemmodels (Old) and /work/SRC/openSUSE:Factory/.kitemmodels.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kitemmodels" Changes: -------- --- /work/SRC/openSUSE:Factory/kitemmodels/kitemmodels.changes 2016-12-17 11:10:01.126595160 +0100 +++ /work/SRC/openSUSE:Factory/.kitemmodels.new/kitemmodels.changes 2017-02-03 17:45:19.875902239 +0100 @@ -1,0 +2,7 @@ +Sun Jan 8 23:41:58 UTC 2017 - [email protected] + +- Update to 5.30.0 + * For more details please see: + https://www.kde.org/announcements/kde-frameworks-5.30.0.php + +------------------------------------------------------------------- Old: ---- kitemmodels-5.29.0.tar.xz New: ---- kitemmodels-5.30.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kitemmodels.spec ++++++ --- /var/tmp/diff_new_pack.xDJIXo/_old 2017-02-03 17:45:20.355834308 +0100 +++ /var/tmp/diff_new_pack.xDJIXo/_new 2017-02-03 17:45:20.359833742 +0100 @@ -1,7 +1,7 @@ # # spec file for package kitemmodels # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,11 +19,11 @@ %bcond_with python %define clang_sonum 3.8 %define lname libKF5ItemModels5 -%define _tar_path 5.29 +%define _tar_path 5.30 Name: kitemmodels -Version: 5.29.0 +Version: 5.30.0 Release: 0 -BuildRequires: cmake >= 2.8.12 +BuildRequires: cmake >= 3.0 BuildRequires: extra-cmake-modules >= %{_tar_path} BuildRequires: fdupes BuildRequires: kf5-filesystem ++++++ kitemmodels-5.29.0.tar.xz -> kitemmodels-5.30.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/CMakeLists.txt new/kitemmodels-5.30.0/CMakeLists.txt --- old/kitemmodels-5.29.0/CMakeLists.txt 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/CMakeLists.txt 2017-01-08 16:33:09.000000000 +0100 @@ -1,9 +1,10 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.0) -project(KItemModels) +set(KF5_VERSION "5.30.0") # handled by release scripts +project(KItemModels VERSION ${KF5_VERSION}) include(FeatureSummary) -find_package(ECM 5.29.0 NO_MODULE) +find_package(ECM 5.30.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) @@ -23,9 +24,7 @@ include(ECMSetupVersion) include(ECMGenerateHeaders) -set(KF5_VERSION "5.29.0") # handled by release scripts - -ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX KITEMMODELS +ecm_setup_version(PROJECT VARIABLE_PREFIX KITEMMODELS VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kitemmodels_version.h" PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5ItemModelsConfigVersion.cmake" SOVERSION 5) @@ -41,9 +40,9 @@ # create a Config.cmake and a ConfigVersion.cmake file and install them set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5ItemModels") -include(ECMPackageConfigHelpers) +include(CMakePackageConfigHelpers) -ecm_configure_package_config_file( +configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/KF5ItemModelsConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/KF5ItemModelsConfig.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/KF5ItemModelsConfig.cmake.in new/kitemmodels-5.30.0/KF5ItemModelsConfig.cmake.in --- old/kitemmodels-5.29.0/KF5ItemModelsConfig.cmake.in 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/KF5ItemModelsConfig.cmake.in 2017-01-08 16:33:09.000000000 +0100 @@ -1,5 +1,6 @@ @PACKAGE_INIT@ +include(CMakeFindDependencyMacro) find_dependency(Qt5Core @REQUIRED_QT_VERSION@) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/autotests/CMakeLists.txt new/kitemmodels-5.30.0/autotests/CMakeLists.txt --- old/kitemmodels-5.29.0/autotests/CMakeLists.txt 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/autotests/CMakeLists.txt 2017-01-08 16:33:09.000000000 +0100 @@ -33,11 +33,3 @@ TEST_NAME "kselectionproxymodel_smoketest" LINK_LIBRARIES KF5::ItemModels Qt5::Test Qt5::Widgets proxymodeltestsuite ) - -if (PythonModuleGeneration_FOUND AND EXISTS ${CMAKE_BINARY_DIR}/prefix/lib/python2.7/dist-packages) - add_test(NAME Py2${name} COMMAND python2 ${pythontest} ${CMAKE_BINARY_DIR}/prefix/lib/python2.7/dist-packages) -endif() - -if (PythonModuleGeneration_FOUND AND EXISTS ${CMAKE_BINARY_DIR}/prefix/lib/python3.5/dist-packages) - add_test(NAME Py3${name} COMMAND python3 ${pythontest} ${CMAKE_BINARY_DIR}/prefix/lib/python3.5/dist-packages) -endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/autotests/kextracolumnsproxymodeltest.cpp new/kitemmodels-5.30.0/autotests/kextracolumnsproxymodeltest.cpp --- old/kitemmodels-5.29.0/autotests/kextracolumnsproxymodeltest.cpp 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/autotests/kextracolumnsproxymodeltest.cpp 2017-01-08 16:33:09.000000000 +0100 @@ -18,14 +18,16 @@ 02110-1301, USA. */ +#include <QItemSelectionModel> #include <QSignalSpy> #include <QSortFilterProxyModel> #include <QTest> #include <QDebug> #include <QStandardItemModel> - #include <QTreeView> +#include "dynamictreemodel.h" + #include <kextracolumnsproxymodel.h> #include "test_model_helpers.h" using namespace TestModelHelpers; @@ -58,7 +60,9 @@ } QVariant extraColumnData(const QModelIndex &, int row, int extraColumn, int role) const Q_DECL_OVERRIDE { - Q_ASSERT(role == Qt::DisplayRole); + if (role != Qt::DisplayRole) { + return QVariant(); + } switch (extraColumn) { case 0: return QString(m_extraColumnData); @@ -101,6 +105,7 @@ mod.appendRow(makeStandardItems(QStringList() << QStringLiteral("A") << QStringLiteral("B") << QStringLiteral("C") << QStringLiteral("D"))); mod.item(0, 0)->appendRow(makeStandardItems(QStringList() << QStringLiteral("m") << QStringLiteral("n") << QStringLiteral("o") << QStringLiteral("p"))); mod.item(0, 0)->appendRow(makeStandardItems(QStringList() << QStringLiteral("q") << QStringLiteral("r") << QStringLiteral("s") << QStringLiteral("t"))); + mod.item(0, 0)->child(1,0)->appendRow(makeStandardItems(QStringList() << QStringLiteral("u") << QStringLiteral("v") << QStringLiteral("w") << QStringLiteral("w"))); mod.appendRow(makeStandardItems(QStringList() << QStringLiteral("E") << QStringLiteral("F") << QStringLiteral("G") << QStringLiteral("H"))); mod.item(1, 0)->appendRow(makeStandardItems(QStringList() << QStringLiteral("x") << QStringLiteral("y") << QStringLiteral("z") << QStringLiteral("."))); mod.setHorizontalHeaderLabels(QStringList() << QStringLiteral("H1") << QStringLiteral("H2") << QStringLiteral("H3") << QStringLiteral("H4")); @@ -108,12 +113,10 @@ QCOMPARE(extractRowTexts(&mod, 0), QStringLiteral("ABCD")); QCOMPARE(extractRowTexts(&mod, 0, mod.index(0, 0)), QStringLiteral("mnop")); QCOMPARE(extractRowTexts(&mod, 1, mod.index(0, 0)), QStringLiteral("qrst")); + QCOMPARE(extractRowTexts(&mod, 0, mod.index(0, 0).child(1, 0)), QStringLiteral("uvww")); QCOMPARE(extractRowTexts(&mod, 1), QStringLiteral("EFGH")); QCOMPARE(extractRowTexts(&mod, 0, mod.index(1, 0)), QStringLiteral("xyz.")); QCOMPARE(extractHorizontalHeaderTexts(&mod), QStringLiteral("H1H2H3H4")); - - // test code to see the model - // showModel(&mod); } void shouldDoNothingIfNoExtraColumns() @@ -307,6 +310,7 @@ // row removal, layoutChanged, modelReset -> same thing, works via QIdentityProxyModel // missing: test for mapSelectionToSource + // missing: test for moving a row in an underlying model. Problem: QStandardItemModel doesn't implement moveRow... void shouldHandleLayoutChanged() { @@ -322,9 +326,12 @@ // And a selection QItemSelectionModel selection(&pm); selection.select(pm.index(0, 0), QItemSelectionModel::Select | QItemSelectionModel::Rows); + const QModelIndex grandChild = pm.index(0, 0).child(1, 0).child(0, 0); + QCOMPARE(grandChild.data().toString(), QStringLiteral("u")); + selection.select(grandChild, QItemSelectionModel::Select | QItemSelectionModel::Rows); const QModelIndexList lst = selection.selectedIndexes(); - QCOMPARE(lst.count(), 6); - for (int col = 0; col < lst.count(); ++col) { + QCOMPARE(lst.count(), 12); + for (int col = 0; col < 6; ++col) { QCOMPARE(lst.at(col).row(), 0); QCOMPARE(lst.at(col).column(), col); } @@ -337,13 +344,77 @@ QCOMPARE(extractRowTexts(&pm, 1), QStringLiteral("ABCDZ1")); // And the selection should be updated accordingly const QModelIndexList lstAfter = selection.selectedIndexes(); - QCOMPARE(lstAfter.count(), 6); - for (int col = 0; col < lstAfter.count(); ++col) { + QCOMPARE(lstAfter.count(), 12); + for (int col = 0; col < 6; ++col) { QCOMPARE(lstAfter.at(col).row(), 1); QCOMPARE(lstAfter.at(col).column(), col); } } + void persistIndexOnLayoutChange() + { + DynamicTreeModel model; + + ModelResetCommand resetCommand(&model); + + resetCommand.setInitialTree( + " - 1" + " - - 2" + " - - - 3" + " - - - - 4" + " - - - - 5" + ); + resetCommand.doCommand(); + + NoExtraColumns proxy; + proxy.setSourceModel(&model); + + QPersistentModelIndex persistentIndex; + + QPersistentModelIndex persistentIndexToMove = model.match(model.index(0, 0), Qt::DisplayRole, "4", 1, Qt::MatchRecursive).first(); + QCOMPARE(persistentIndexToMove.row(), 0); + QCOMPARE(persistentIndexToMove.parent(), model.match(model.index(0, 0), Qt::DisplayRole, "3", 1, Qt::MatchRecursive).first()); + + QPersistentModelIndex sourcePersistentIndex = model.match(model.index(0, 0), Qt::DisplayRole, "5", 1, Qt::MatchRecursive).first(); + + QCOMPARE(sourcePersistentIndex.data().toString(), QStringLiteral("5")); + + bool gotLayoutAboutToBeChanged = false; + bool gotLayoutChanged = false; + + QObject::connect(&proxy, &QAbstractItemModel::layoutAboutToBeChanged, &proxy, [&proxy, &persistentIndex, &gotLayoutAboutToBeChanged] + { + gotLayoutAboutToBeChanged = true; + persistentIndex = proxy.match(proxy.index(0, 0), Qt::DisplayRole, "5", 1, Qt::MatchRecursive).first(); + QCOMPARE(persistentIndex.row(), 1); + }); + + QObject::connect(&proxy, &QAbstractItemModel::layoutChanged, &proxy, [&proxy, &persistentIndex, &sourcePersistentIndex, &gotLayoutChanged] + { + gotLayoutChanged = true; + QCOMPARE(QModelIndex(persistentIndex), proxy.mapFromSource(sourcePersistentIndex)); + }); + + ModelMoveLayoutChangeCommand layoutChangeCommand(&model, 0); + + layoutChangeCommand.setAncestorRowNumbers({0, 0, 0}); + layoutChangeCommand.setStartRow(0); + layoutChangeCommand.setEndRow(0); + layoutChangeCommand.setDestAncestors({0, 0}); + layoutChangeCommand.setDestRow(1); + + layoutChangeCommand.doCommand(); + + QCOMPARE(persistentIndex.row(), 0); + + QCOMPARE(persistentIndexToMove.row(), 1); + QCOMPARE(persistentIndexToMove.parent(), model.match(model.index(0, 0), Qt::DisplayRole, "2", 1, Qt::MatchRecursive).first()); + + QVERIFY(gotLayoutAboutToBeChanged); + QVERIFY(gotLayoutChanged); + QVERIFY(persistentIndex.isValid()); + } + private: void setup(KExtraColumnsProxyModel &pm) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/autotests/krecursivefilterproxymodeltest.cpp new/kitemmodels-5.30.0/autotests/krecursivefilterproxymodeltest.cpp --- old/kitemmodels-5.29.0/autotests/krecursivefilterproxymodeltest.cpp 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/autotests/krecursivefilterproxymodeltest.cpp 2017-01-08 16:33:09.000000000 +0100 @@ -90,7 +90,7 @@ setSourceModel(sourceModel); } - virtual bool acceptRow(int sourceRow, const QModelIndex &sourceParent) const + bool acceptRow(int sourceRow, const QModelIndex &sourceParent) const Q_DECL_OVERRIDE { // qDebug() << sourceModel()->index(sourceRow, 0, sourceParent).data().toString() << sourceModel()->index(sourceRow, 0, sourceParent).data(Qt::UserRole+1).toBool(); return sourceModel()->index(sourceRow, 0, sourceParent).data(Qt::UserRole+1).toBool(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/autotests/kselectionproxymodeltest.cpp new/kitemmodels-5.30.0/autotests/kselectionproxymodeltest.cpp --- old/kitemmodels-5.29.0/autotests/kselectionproxymodeltest.cpp 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/autotests/kselectionproxymodeltest.cpp 2017-01-08 16:33:09.000000000 +0100 @@ -310,6 +310,13 @@ << 1 << QStringList{"4"} << 5; ++testNumber; + + QTest::newRow(QByteArray("test" + QByteArray::number(testNumber)).data()) + << static_cast<int>(KSelectionProxyModel::ChildrenOfExactSelection) + << QStringList{"6", "7"} << 1 + << 0 + << QStringList{"7"} << 1; + ++testNumber; } void KSelectionProxyModelTest::deselection() @@ -604,6 +611,13 @@ << 1 << QStringList{"9", "9"} << 2; ++testNumber; + + QTest::newRow(QByteArray("test" + QByteArray::number(testNumber)).data()) + << static_cast<int>(kspm_mode) << connectSelectionModelFirst << false + << QStringList{"6", "8", "11"} << 4 + << 0 + << QStringList{"8", "8"} << 4; + ++testNumber; } } @@ -843,7 +857,7 @@ { QObject::connect(&tree, &QAbstractItemModel::rowsAboutToBeRemoved, &tree, [&tree, &selectionModel](QModelIndex const& p, int s, int e){ - auto rmIdx = p.child(s, 0); + auto rmIdx = tree.index(s, 0, p); if (s == e && selectionModel.selectedIndexes().contains(rmIdx)) { auto nextIdx = tree.index(e + 1, 0, rmIdx.parent()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/autotests/kselectionproxymodeltestsuite.h new/kitemmodels-5.30.0/autotests/kselectionproxymodeltestsuite.h --- old/kitemmodels-5.29.0/autotests/kselectionproxymodeltestsuite.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/autotests/kselectionproxymodeltestsuite.h 2017-01-08 16:33:09.000000000 +0100 @@ -44,7 +44,7 @@ } protected: - /* reimp */ QAbstractProxyModel *getProxy() + /* reimp */ QAbstractProxyModel *getProxy() Q_DECL_OVERRIDE { Q_ASSERT(sourceModel()); m_selectionModel = new QItemSelectionModel(sourceModel()); @@ -94,58 +94,58 @@ SelectorStrategy::setProperty("filterBehaviour", QVariant(int(_filterBehaviour))); } - /* reimp */ void testInsertWhenEmptyData() + /* reimp */ void testInsertWhenEmptyData() Q_DECL_OVERRIDE { SelectorStrategy::testInsertWhenEmptyData(); } - /* reimp */ void testInsertInRootData() + /* reimp */ void testInsertInRootData() Q_DECL_OVERRIDE { SelectorStrategy::testInsertInRootData(); } - /* reimp */ void testInsertInTopLevelData() + /* reimp */ void testInsertInTopLevelData() Q_DECL_OVERRIDE { SelectorStrategy::testInsertInTopLevelData(); } - /* reimp */ void testInsertInSecondLevelData() + /* reimp */ void testInsertInSecondLevelData() Q_DECL_OVERRIDE { SelectorStrategy::testInsertInSecondLevelData(); } - /* reimp */ void testRemoveFromRootData() + /* reimp */ void testRemoveFromRootData() Q_DECL_OVERRIDE { SelectorStrategy::testRemoveFromRootData(); } - /* reimp */ void testRemoveFromTopLevelData() + /* reimp */ void testRemoveFromTopLevelData() Q_DECL_OVERRIDE { SelectorStrategy::testRemoveFromTopLevelData(); } - /* reimp */ void testRemoveFromSecondLevelData() + /* reimp */ void testRemoveFromSecondLevelData() Q_DECL_OVERRIDE { SelectorStrategy::testRemoveFromSecondLevelData(); } - /* reimp */ void testMoveFromRootData() + /* reimp */ void testMoveFromRootData() Q_DECL_OVERRIDE { SelectorStrategy::testMoveFromRootData(); } - /* reimp */ void testMoveFromTopLevelData() + /* reimp */ void testMoveFromTopLevelData() Q_DECL_OVERRIDE { SelectorStrategy::testMoveFromTopLevelData(); } - /* reimp */ void testMoveFromSecondLevelData() + /* reimp */ void testMoveFromSecondLevelData() Q_DECL_OVERRIDE { SelectorStrategy::testMoveFromSecondLevelData(); } - /* reimp */ void testModifyInRootData() + /* reimp */ void testModifyInRootData() Q_DECL_OVERRIDE { SelectorStrategy::testModifyInRootData(); } - /* reimp */ void testModifyInTopLevelData() + /* reimp */ void testModifyInTopLevelData() Q_DECL_OVERRIDE { SelectorStrategy::testModifyInTopLevelData(); } - /* reimp */ void testModifyInSecondLevelData() + /* reimp */ void testModifyInSecondLevelData() Q_DECL_OVERRIDE { SelectorStrategy::testModifyInSecondLevelData(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/metainfo.yaml new/kitemmodels-5.30.0/metainfo.yaml --- old/kitemmodels-5.29.0/metainfo.yaml 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/metainfo.yaml 2017-01-08 16:33:09.000000000 +0100 @@ -4,6 +4,7 @@ type: functional platforms: - name: Linux + - name: FreeBSD - name: Windows - name: MacOSX - name: Android diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/src/kbreadcrumbselectionmodel.h new/kitemmodels-5.30.0/src/kbreadcrumbselectionmodel.h --- old/kitemmodels-5.29.0/src/kbreadcrumbselectionmodel.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/src/kbreadcrumbselectionmodel.h 2017-01-08 16:33:09.000000000 +0100 @@ -144,9 +144,9 @@ */ void setBreadcrumbLength(int breadcrumbLength); - /* reimp */ void select(const QModelIndex &index, QItemSelectionModel::SelectionFlags command); + /* reimp */ void select(const QModelIndex &index, QItemSelectionModel::SelectionFlags command) Q_DECL_OVERRIDE; - /* reimp */ void select(const QItemSelection &selection, QItemSelectionModel::SelectionFlags command); + /* reimp */ void select(const QItemSelection &selection, QItemSelectionModel::SelectionFlags command) Q_DECL_OVERRIDE; protected: KBreadcrumbSelectionModelPrivate *const d_ptr; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/src/kcheckableproxymodel.h new/kitemmodels-5.30.0/src/kcheckableproxymodel.h --- old/kitemmodels-5.29.0/src/kcheckableproxymodel.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/src/kcheckableproxymodel.h 2017-01-08 16:33:09.000000000 +0100 @@ -71,13 +71,13 @@ void setSelectionModel(QItemSelectionModel *itemSelectionModel); QItemSelectionModel *selectionModel() const; - /* reimp */ Qt::ItemFlags flags(const QModelIndex &index) const; + /* reimp */ Qt::ItemFlags flags(const QModelIndex &index) const Q_DECL_OVERRIDE; - /* reimp */ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + /* reimp */ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE; - /* reimp */ bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); + /* reimp */ bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) Q_DECL_OVERRIDE; - /* reimp */ void setSourceModel(QAbstractItemModel *sourceModel); + /* reimp */ void setSourceModel(QAbstractItemModel *sourceModel) Q_DECL_OVERRIDE; protected: virtual bool select(const QItemSelection &selection, QItemSelectionModel::SelectionFlags command); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/src/kconcatenaterowsproxymodel.cpp new/kitemmodels-5.30.0/src/kconcatenaterowsproxymodel.cpp --- old/kitemmodels-5.29.0/src/kconcatenaterowsproxymodel.cpp 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/src/kconcatenaterowsproxymodel.cpp 2017-01-08 16:33:09.000000000 +0100 @@ -303,17 +303,6 @@ void KConcatenateRowsProxyModelPrivate::slotSourceLayoutAboutToBeChanged(const QList<QPersistentModelIndex> &sourceParents, QAbstractItemModel::LayoutChangeHint hint) { - const QModelIndexList persistentIndexList = q->persistentIndexList(); - layoutChangePersistentIndexes.reserve(persistentIndexList.size()); - - foreach (const QPersistentModelIndex &proxyPersistentIndex, persistentIndexList) { - proxyIndexes << proxyPersistentIndex; - Q_ASSERT(proxyPersistentIndex.isValid()); - const QPersistentModelIndex srcPersistentIndex = q->mapToSource(proxyPersistentIndex); - Q_ASSERT(srcPersistentIndex.isValid()); - layoutChangePersistentIndexes << srcPersistentIndex; - } - QList<QPersistentModelIndex> parents; parents.reserve(sourceParents.size()); foreach (const QPersistentModelIndex &parent, sourceParents) { @@ -327,6 +316,17 @@ } emit q->layoutAboutToBeChanged(parents, hint); + + const QModelIndexList persistentIndexList = q->persistentIndexList(); + layoutChangePersistentIndexes.reserve(persistentIndexList.size()); + + foreach (const QPersistentModelIndex &proxyPersistentIndex, persistentIndexList) { + proxyIndexes << proxyPersistentIndex; + Q_ASSERT(proxyPersistentIndex.isValid()); + const QPersistentModelIndex srcPersistentIndex = q->mapToSource(proxyPersistentIndex); + Q_ASSERT(srcPersistentIndex.isValid()); + layoutChangePersistentIndexes << srcPersistentIndex; + } } void KConcatenateRowsProxyModelPrivate::slotSourceLayoutChanged(const QList<QPersistentModelIndex> &sourceParents, QAbstractItemModel::LayoutChangeHint hint) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/src/kconcatenaterowsproxymodel.h new/kitemmodels-5.30.0/src/kconcatenaterowsproxymodel.h --- old/kitemmodels-5.29.0/src/kconcatenaterowsproxymodel.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/src/kconcatenaterowsproxymodel.h 2017-01-08 16:33:09.000000000 +0100 @@ -77,7 +77,7 @@ * The ownership of @p sourceModel is not affected by this. * The same source model cannot be added more than once. */ - void addSourceModel(QAbstractItemModel *sourceModel); + Q_SCRIPTABLE void addSourceModel(QAbstractItemModel *sourceModel); /** * Removes the source model @p sourceModel. @@ -85,7 +85,7 @@ * * The ownership of @sourceModel is not affected by this. */ - void removeSourceModel(QAbstractItemModel *sourceModel); + Q_SCRIPTABLE void removeSourceModel(QAbstractItemModel *sourceModel); /** * Returns the proxy index for a given source index diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/src/kdescendantsproxymodel.cpp new/kitemmodels-5.30.0/src/kdescendantsproxymodel.cpp --- old/kitemmodels-5.29.0/src/kdescendantsproxymodel.cpp 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/src/kdescendantsproxymodel.cpp 2017-01-08 16:33:09.000000000 +0100 @@ -901,6 +901,8 @@ return; } + q->layoutAboutToBeChanged(); + QPersistentModelIndex srcPersistentIndex; Q_FOREACH (const QPersistentModelIndex &proxyPersistentIndex, q->persistentIndexList()) { m_proxyIndexes << proxyPersistentIndex; @@ -909,8 +911,6 @@ Q_ASSERT(srcPersistentIndex.isValid()); m_layoutChangePersistentIndexes << srcPersistentIndex; } - - q->layoutAboutToBeChanged(); } void KDescendantsProxyModelPrivate::sourceLayoutChanged() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/src/kextracolumnsproxymodel.cpp new/kitemmodels-5.30.0/src/kextracolumnsproxymodel.cpp --- old/kitemmodels-5.29.0/src/kextracolumnsproxymodel.cpp 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/src/kextracolumnsproxymodel.cpp 2017-01-08 16:33:09.000000000 +0100 @@ -271,6 +271,21 @@ void KExtraColumnsProxyModelPrivate::_ec_sourceLayoutAboutToBeChanged(const QList<QPersistentModelIndex> &sourceParents, QAbstractItemModel::LayoutChangeHint hint) { Q_Q(KExtraColumnsProxyModel); + + QList<QPersistentModelIndex> parents; + parents.reserve(sourceParents.size()); + foreach (const QPersistentModelIndex &parent, sourceParents) { + if (!parent.isValid()) { + parents << QPersistentModelIndex(); + continue; + } + const QModelIndex mappedParent = q->mapFromSource(parent); + Q_ASSERT(mappedParent.isValid()); + parents << mappedParent; + } + + emit q->layoutAboutToBeChanged(parents, hint); + const QModelIndexList persistentIndexList = q->persistentIndexList(); layoutChangePersistentIndexes.reserve(persistentIndexList.size()); layoutChangeProxyColumns.reserve(persistentIndexList.size()); @@ -287,20 +302,6 @@ Q_ASSERT(srcPersistentIndex.isValid()); layoutChangePersistentIndexes << srcPersistentIndex; } - - QList<QPersistentModelIndex> parents; - parents.reserve(sourceParents.size()); - foreach (const QPersistentModelIndex &parent, sourceParents) { - if (!parent.isValid()) { - parents << QPersistentModelIndex(); - continue; - } - const QModelIndex mappedParent = q->mapFromSource(parent); - Q_ASSERT(mappedParent.isValid()); - parents << mappedParent; - } - - emit q->layoutAboutToBeChanged(parents, hint); } void KExtraColumnsProxyModelPrivate::_ec_sourceLayoutChanged(const QList<QPersistentModelIndex> &sourceParents, QAbstractItemModel::LayoutChangeHint hint) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/src/krecursivefilterproxymodel.h new/kitemmodels-5.30.0/src/krecursivefilterproxymodel.h --- old/kitemmodels-5.29.0/src/krecursivefilterproxymodel.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/src/krecursivefilterproxymodel.h 2017-01-08 16:33:09.000000000 +0100 @@ -98,13 +98,13 @@ virtual ~KRecursiveFilterProxyModel(); /** @reimp */ - void setSourceModel(QAbstractItemModel *model); + void setSourceModel(QAbstractItemModel *model) Q_DECL_OVERRIDE; /** * @reimplemented */ - virtual QModelIndexList match(const QModelIndex &start, int role, const QVariant &value, int hits = 1, - Qt::MatchFlags flags = Qt::MatchFlags(Qt::MatchStartsWith | Qt::MatchWrap)) const; + QModelIndexList match(const QModelIndex &start, int role, const QVariant &value, int hits = 1, + Qt::MatchFlags flags = Qt::MatchFlags(Qt::MatchStartsWith | Qt::MatchWrap)) const Q_DECL_OVERRIDE; protected: /** @@ -113,7 +113,7 @@ virtual bool acceptRow(int sourceRow, const QModelIndex &sourceParent) const; /** @reimp */ - virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const; + bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const Q_DECL_OVERRIDE; KRecursiveFilterProxyModelPrivate *const d_ptr; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/src/kselectionproxymodel.cpp new/kitemmodels-5.30.0/src/kselectionproxymodel.cpp --- old/kitemmodels-5.29.0/src/kselectionproxymodel.cpp 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/src/kselectionproxymodel.cpp 2017-01-08 16:33:09.000000000 +0100 @@ -767,15 +767,6 @@ emit q->layoutAboutToBeChanged(); - QPersistentModelIndex srcPersistentIndex; - Q_FOREACH (const QPersistentModelIndex &proxyPersistentIndex, q->persistentIndexList()) { - m_proxyIndexes << proxyPersistentIndex; - Q_ASSERT(proxyPersistentIndex.isValid()); - srcPersistentIndex = q->mapToSource(proxyPersistentIndex); - Q_ASSERT(srcPersistentIndex.isValid()); - m_layoutChangePersistentIndexes << srcPersistentIndex; - } - QItemSelection selection; Q_FOREACH (const QModelIndex &rootIndex, m_rootIndexList) { // This will be optimized later. @@ -786,6 +777,15 @@ selection = kNormalizeSelection(selection); emit q->rootSelectionAboutToBeRemoved(selection); + QPersistentModelIndex srcPersistentIndex; + Q_FOREACH (const QPersistentModelIndex &proxyPersistentIndex, q->persistentIndexList()) { + m_proxyIndexes << proxyPersistentIndex; + Q_ASSERT(proxyPersistentIndex.isValid()); + srcPersistentIndex = q->mapToSource(proxyPersistentIndex); + Q_ASSERT(srcPersistentIndex.isValid()); + m_layoutChangePersistentIndexes << srcPersistentIndex; + } + m_rootIndexList.clear(); } @@ -1176,7 +1176,7 @@ } --proxyEndRemove; - if (proxyEndRemove >= 0) { + if (proxyEndRemove >= proxyStartRemove) { return qMakePair(proxyStartRemove, proxyEndRemove); } return qMakePair(-1, -1); @@ -1750,7 +1750,7 @@ } --proxyEndRemove; - if (proxyEndRemove >= 0) { + if (proxyEndRemove >= proxyStartRemove) { q->beginRemoveRows(QModelIndex(), proxyStartRemove, proxyEndRemove); rootIt = m_rootIndexList.erase(rootRemoveStart, rootIt); @@ -1953,7 +1953,7 @@ if (rowCount == 0) { // Even if the newindex doesn't have any children to put into the model yet, - // We still need to make sure it's future children are inserted into the model. + // We still need to make sure its future children are inserted into the model. m_rootIndexList.insert(rootListRow, newIndex); if (!m_resetting || m_layoutChanging) { emit q->rootIndexAdded(newIndex); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/src/kselectionproxymodel.h new/kitemmodels-5.30.0/src/kselectionproxymodel.h --- old/kitemmodels-5.29.0/src/kselectionproxymodel.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/src/kselectionproxymodel.h 2017-01-08 16:33:09.000000000 +0100 @@ -126,7 +126,7 @@ ChildrenOfExactSelection, InvalidBehavior }; - Q_ENUMS(FilterBehavior) + Q_ENUM(FilterBehavior) /** Set the filter behaviors of this model. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/tests/proxymodeltestapp/breadcrumbdirectionwidget.h new/kitemmodels-5.30.0/tests/proxymodeltestapp/breadcrumbdirectionwidget.h --- old/kitemmodels-5.29.0/tests/proxymodeltestapp/breadcrumbdirectionwidget.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/tests/proxymodeltestapp/breadcrumbdirectionwidget.h 2017-01-08 16:33:09.000000000 +0100 @@ -31,7 +31,7 @@ BreadcrumbDirectionWidget(QWidget *parent = 0, Qt::WindowFlags f = 0); protected: - virtual bool eventFilter(QObject *, QEvent *); + bool eventFilter(QObject *, QEvent *) Q_DECL_OVERRIDE; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/tests/proxymodeltestapp/breadcrumbnavigationwidget.h new/kitemmodels-5.30.0/tests/proxymodeltestapp/breadcrumbnavigationwidget.h --- old/kitemmodels-5.29.0/tests/proxymodeltestapp/breadcrumbnavigationwidget.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/tests/proxymodeltestapp/breadcrumbnavigationwidget.h 2017-01-08 16:33:09.000000000 +0100 @@ -55,7 +55,7 @@ void setShowHiddenAscendantData(bool showHiddenAscendantData); bool showHiddenAscendantData() const; - virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE; private: bool m_showHiddenAscendantData; @@ -68,9 +68,9 @@ public: KNavigatingProxyModel(QItemSelectionModel *selectionModel, QObject *parent = 0); - virtual void setSourceModel(QAbstractItemModel *sourceModel); + void setSourceModel(QAbstractItemModel *sourceModel) Q_DECL_OVERRIDE; - virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE; private Q_SLOTS: void modelReset(); @@ -97,8 +97,8 @@ KForwardingItemSelectionModel(QAbstractItemModel *model, QItemSelectionModel *selectionModel, QObject *parent = 0); KForwardingItemSelectionModel(QAbstractItemModel *model, QItemSelectionModel *selectionModel, Direction direction, QObject *parent = 0); - virtual void select(const QModelIndex &index, SelectionFlags command); - virtual void select(const QItemSelection &selection, SelectionFlags command); + void select(const QModelIndex &index, SelectionFlags command) Q_DECL_OVERRIDE; + void select(const QItemSelection &selection, SelectionFlags command) Q_DECL_OVERRIDE; private Q_SLOTS: void navigationSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/tests/proxymodeltestapp/breadcrumbswidget.h new/kitemmodels-5.30.0/tests/proxymodeltestapp/breadcrumbswidget.h --- old/kitemmodels-5.29.0/tests/proxymodeltestapp/breadcrumbswidget.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/tests/proxymodeltestapp/breadcrumbswidget.h 2017-01-08 16:33:09.000000000 +0100 @@ -37,8 +37,8 @@ MultiSelectionModel(QAbstractItemModel *model, QList<QItemSelectionModel *> selectionModels, QObject *parent = 0); public: - virtual void select(const QModelIndex &index, SelectionFlags command); - virtual void select(const QItemSelection &selection, SelectionFlags command); + void select(const QModelIndex &index, SelectionFlags command) Q_DECL_OVERRIDE; + void select(const QItemSelection &selection, SelectionFlags command) Q_DECL_OVERRIDE; private: QList<QItemSelectionModel *> m_selectionModels; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/tests/proxymodeltestapp/kreparentingproxymodel.h new/kitemmodels-5.30.0/tests/proxymodeltestapp/kreparentingproxymodel.h --- old/kitemmodels-5.29.0/tests/proxymodeltestapp/kreparentingproxymodel.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/tests/proxymodeltestapp/kreparentingproxymodel.h 2017-01-08 16:33:09.000000000 +0100 @@ -104,30 +104,30 @@ virtual ~KReparentingProxyModel(); - virtual QModelIndex mapFromSource(const QModelIndex &sourceIndex) const; + QModelIndex mapFromSource(const QModelIndex &sourceIndex) const Q_DECL_OVERRIDE; - virtual QModelIndex mapToSource(const QModelIndex &proxyIndex) const; + QModelIndex mapToSource(const QModelIndex &proxyIndex) const Q_DECL_OVERRIDE; - virtual void setSourceModel(QAbstractItemModel *sourceModel); + void setSourceModel(QAbstractItemModel *sourceModel) Q_DECL_OVERRIDE; /** Reimplement this to return whether @p descendant is a descendant of @p ancestor. */ virtual bool isDescendantOf(const QModelIndex &ancestor, const QModelIndex &descendant) const; - virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; + int columnCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; - virtual QVariant data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const; + QVariant data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE; - virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; + QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; - virtual QModelIndex parent(const QModelIndex &child) const; + QModelIndex parent(const QModelIndex &child) const Q_DECL_OVERRIDE; - virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; + int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; - virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const; + bool hasChildren(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; - virtual Qt::DropActions supportedDropActions() const; + Qt::DropActions supportedDropActions() const Q_DECL_OVERRIDE; protected: void beginChangeRule(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/tests/proxymodeltestapp/lessthanwidget.h new/kitemmodels-5.30.0/tests/proxymodeltestapp/lessthanwidget.h --- old/kitemmodels-5.29.0/tests/proxymodeltestapp/lessthanwidget.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/tests/proxymodeltestapp/lessthanwidget.h 2017-01-08 16:33:09.000000000 +0100 @@ -33,7 +33,7 @@ public: ColoredTreeModel(QObject *parent = 0); - /* reimp */ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + /* reimp */ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE; void setSelectionModel(QItemSelectionModel *selectionModel); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/tests/proxymodeltestapp/recursivefilterpmwidget.h new/kitemmodels-5.30.0/tests/proxymodeltestapp/recursivefilterpmwidget.h --- old/kitemmodels-5.29.0/tests/proxymodeltestapp/recursivefilterpmwidget.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/tests/proxymodeltestapp/recursivefilterpmwidget.h 2017-01-08 16:33:09.000000000 +0100 @@ -44,7 +44,7 @@ } - /* reimp */ bool acceptRow(int sourceRow, const QModelIndex &parent_index) const + /* reimp */ bool acceptRow(int sourceRow, const QModelIndex &parent_index) const Q_DECL_OVERRIDE { static const int column = 0; QModelIndex srcIndex = sourceModel()->index(sourceRow, column, parent_index); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kitemmodels-5.29.0/tests/proxymodeltestapp/scriptablereparentingwidget.h new/kitemmodels-5.30.0/tests/proxymodeltestapp/scriptablereparentingwidget.h --- old/kitemmodels-5.29.0/tests/proxymodeltestapp/scriptablereparentingwidget.h 2016-12-03 11:25:43.000000000 +0100 +++ new/kitemmodels-5.30.0/tests/proxymodeltestapp/scriptablereparentingwidget.h 2017-01-08 16:33:09.000000000 +0100 @@ -36,7 +36,7 @@ public: ScriptableReparentingProxyModel(QObject *parent = 0); - /* reimp */ bool isDescendantOf(const QModelIndex &ancestor, const QModelIndex &descendant) const; + /* reimp */ bool isDescendantOf(const QModelIndex &ancestor, const QModelIndex &descendant) const Q_DECL_OVERRIDE; void setImplementation(const QString &implementation);
