Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kf6-kitemmodels for openSUSE:Factory
checked in at 2026-04-11 22:24:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kf6-kitemmodels (Old)
and /work/SRC/openSUSE:Factory/.kf6-kitemmodels.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-kitemmodels"
Sat Apr 11 22:24:11 2026 rev:26 rq:1345896 version:6.25.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kf6-kitemmodels/kf6-kitemmodels.changes
2026-03-16 14:18:23.787934348 +0100
+++
/work/SRC/openSUSE:Factory/.kf6-kitemmodels.new.21863/kf6-kitemmodels.changes
2026-04-11 22:28:13.300922444 +0200
@@ -1,0 +2,12 @@
+Tue Apr 7 19:19:13 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 6.25.0
+ * New feature release
+ * For more details please see:
+ * https://kde.org/announcements/frameworks/6/6.25.0
+- Changes since 6.24.0:
+ * Update dependency version to 6.25.0
+ * Remove unused cmake variables
+ * Update version to 6.25.0
+
+-------------------------------------------------------------------
Old:
----
kitemmodels-6.24.0.tar.xz
kitemmodels-6.24.0.tar.xz.sig
New:
----
kitemmodels-6.25.0.tar.xz
kitemmodels-6.25.0.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kf6-kitemmodels.spec ++++++
--- /var/tmp/diff_new_pack.YKhLlR/_old 2026-04-11 22:28:14.140956850 +0200
+++ /var/tmp/diff_new_pack.YKhLlR/_new 2026-04-11 22:28:14.140956850 +0200
@@ -19,12 +19,12 @@
%define qt6_version 6.8.0
%define rname kitemmodels
-# Full KF6 version (e.g. 6.24.0)
+# Full KF6 version (e.g. 6.25.0)
%{!?_kf6_version: %global _kf6_version %{version}}
%bcond_with python
%bcond_without released
Name: kf6-kitemmodels
-Version: 6.24.0
+Version: 6.25.0
Release: 0
Summary: Set of item models extending the Qt model-view framework
License: LGPL-2.1-or-later
++++++ kitemmodels-6.24.0.tar.xz -> kitemmodels-6.25.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kitemmodels-6.24.0/CMakeLists.txt
new/kitemmodels-6.25.0/CMakeLists.txt
--- old/kitemmodels-6.24.0/CMakeLists.txt 2026-03-07 21:31:30.000000000
+0100
+++ new/kitemmodels-6.25.0/CMakeLists.txt 2026-04-03 19:10:01.000000000
+0200
@@ -1,10 +1,10 @@
-cmake_minimum_required(VERSION 3.27)
+cmake_minimum_required(VERSION 3.29)
-set(KF_VERSION "6.24.0") # handled by release scripts
+set(KF_VERSION "6.25.0") # handled by release scripts
project(KItemModels VERSION ${KF_VERSION})
include(FeatureSummary)
-find_package(ECM 6.24.0 NO_MODULE)
+find_package(ECM 6.25.0 NO_MODULE)
set_package_properties(ECM PROPERTIES
TYPE REQUIRED
DESCRIPTION "Extra CMake Modules."
@@ -28,7 +28,7 @@
include(CMakePackageConfigHelpers)
include(ECMGenerateQDoc)
-set(REQUIRED_QT_VERSION 6.8.0)
+set(REQUIRED_QT_VERSION 6.9.0)
find_package(Qt6Core ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
find_package(Qt6Qml ${REQUIRED_QT_VERSION} NO_MODULE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kitemmodels-6.24.0/autotests/proxymodeltestsuite/CMakeLists.txt
new/kitemmodels-6.25.0/autotests/proxymodeltestsuite/CMakeLists.txt
--- old/kitemmodels-6.24.0/autotests/proxymodeltestsuite/CMakeLists.txt
2026-03-07 21:31:30.000000000 +0100
+++ new/kitemmodels-6.25.0/autotests/proxymodeltestsuite/CMakeLists.txt
2026-04-03 19:10:01.000000000 +0200
@@ -3,10 +3,8 @@
target_sources(proxymodeltestsuite PRIVATE
dynamictreemodel.cpp
- eventloggerregister.cpp
modelcommander.cpp
modeldumper.cpp
- modeleventlogger.cpp
modelselector.cpp
modelspy.cpp
modeltest.cpp
@@ -15,36 +13,9 @@
eventlogger.qrc
)
-if(FALSE)
- # Grantlee is used for generating compilable code by the ModelEventLogger.
- # If Grantlee is not found, the logger does nothing.
- #find_package(Grantlee QUIET NO_MODULE)
- # TODO: Put this part in Grantlee
- set_package_properties(Grantlee PROPERTIES
- URL "http://www.grantlee.org"
- DESCRIPTION "A String Template system for Qt"
- )
-
- set_package_properties(Grantlee PROPERTIES
- TYPE OPTIONAL
- PURPOSE "Grantlee is used for generating compilable code by the
ModelEventLogger. Without Grantlee, the logger will do nothing."
- )
-endif()
-
-if (Grantlee_FOUND)
-
- target_include_directories(proxymodeltestsuite ${Grantlee_INCLUDE_DIRS})
-
- configure_file(grantlee_paths.h.cmake
${PROJECT_BINARY_DIR}/grantlee_paths.h)
-
- target_compile_definitions(proxymodeltestsuite "-DGrantlee_FOUND")
-
-endif()
-
generate_export_header(proxymodeltestsuite)
target_link_libraries(proxymodeltestsuite
Qt6::Test
Qt6::Gui
- ${Grantlee_CORE_LIBRARIES}
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kitemmodels-6.24.0/autotests/proxymodeltestsuite/eventloggerregister.cpp
new/kitemmodels-6.25.0/autotests/proxymodeltestsuite/eventloggerregister.cpp
---
old/kitemmodels-6.24.0/autotests/proxymodeltestsuite/eventloggerregister.cpp
2026-03-07 21:31:30.000000000 +0100
+++
new/kitemmodels-6.25.0/autotests/proxymodeltestsuite/eventloggerregister.cpp
1970-01-01 01:00:00.000000000 +0100
@@ -1,80 +0,0 @@
-/*
- SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group
company <[email protected]>
- SPDX-FileContributor: Stephen Kelly <[email protected]>
-
- SPDX-License-Identifier: LGPL-2.0-or-later
-*/
-
-#include "eventloggerregister.h"
-
-#include "modeleventlogger.h"
-
-EventLoggerRegister::~EventLoggerRegister()
-{
-}
-
-EventLoggerRegister *EventLoggerRegister::s_instance = nullptr;
-std::unique_ptr<EventLoggerRegister> EventLoggerRegister::s_destroyer;
-
-EventLoggerRegister *EventLoggerRegister::instance(Behaviour behaviour)
-{
- if (!s_instance) {
- s_instance = new EventLoggerRegister(behaviour);
- s_destroyer.reset(s_instance);
- }
- return s_instance;
-}
-
-void EventLoggerRegister::registerLogger(ModelEventLogger *logger)
-{
- m_loggers.append(logger);
-}
-
-void EventLoggerRegister::unregisterLogger(ModelEventLogger *logger)
-{
- m_loggers.remove(m_loggers.indexOf(logger));
-}
-
-void EventLoggerRegister::writeLogs()
-{
- static bool asserting = false;
- if (!asserting) {
- // If logger->writeLog asserts, we don't segfault
- asserting = true;
- // The destructor writes the log.
- qDeleteAll(m_loggers);
- m_loggers.clear();
- asserting = false;
- }
-}
-
-void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const
QString &msg)
-{
- QByteArray localMsg = msg.toLocal8Bit();
- switch (type) {
-#if QT_VERSION >= 0x050500
- case QtInfoMsg:
- fprintf(stderr, "Info: %s (%s:%u, %s)\n", localMsg.constData(),
context.file, context.line, context.function);
- break;
-#endif
- case QtDebugMsg:
- fprintf(stderr, "Debug: %s (%s:%u, %s)\n", localMsg.constData(),
context.file, context.line, context.function);
- break;
- case QtWarningMsg:
- fprintf(stderr, "Warning: %s (%s:%u, %s)\n", localMsg.constData(),
context.file, context.line, context.function);
- break;
- case QtCriticalMsg:
- fprintf(stderr, "Critical: %s (%s:%u, %s)\n", localMsg.constData(),
context.file, context.line, context.function);
- break;
- case QtFatalMsg:
- fprintf(stderr, "Fatal: %s (%s:%u, %s)\n", localMsg.constData(),
context.file, context.line, context.function);
- abort();
- }
-}
-
-EventLoggerRegister::EventLoggerRegister(Behaviour behaviour)
-{
- if (behaviour == InstallMsgHandler) {
- qInstallMessageHandler(myMessageOutput);
- }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kitemmodels-6.24.0/autotests/proxymodeltestsuite/eventloggerregister.h
new/kitemmodels-6.25.0/autotests/proxymodeltestsuite/eventloggerregister.h
--- old/kitemmodels-6.24.0/autotests/proxymodeltestsuite/eventloggerregister.h
2026-03-07 21:31:30.000000000 +0100
+++ new/kitemmodels-6.25.0/autotests/proxymodeltestsuite/eventloggerregister.h
1970-01-01 01:00:00.000000000 +0100
@@ -1,46 +0,0 @@
-/*
- SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group
company <[email protected]>
- SPDX-FileContributor: Stephen Kelly <[email protected]>
-
- SPDX-License-Identifier: LGPL-2.0-or-later
-*/
-
-#ifndef EVENTLOGGERREGISTER_H
-#define EVENTLOGGERREGISTER_H
-
-#include <QList>
-
-#include <memory>
-
-#include "proxymodeltestsuite_export.h"
-
-class ModelEventLogger;
-
-class PROXYMODELTESTSUITE_EXPORT EventLoggerRegister
-{
-public:
- enum Behaviour {
- InstallMsgHandler,
- NoInstallMsgHandler,
- };
-
- ~EventLoggerRegister();
-
- static EventLoggerRegister *instance(Behaviour behaviour =
InstallMsgHandler);
-
- void registerLogger(ModelEventLogger *logger);
- void unregisterLogger(ModelEventLogger *logger);
-
- void writeLogs();
-
-private:
- EventLoggerRegister(Behaviour behaviour);
- QList<ModelEventLogger *> m_loggers;
-
- static EventLoggerRegister *s_instance;
-
- static std::unique_ptr<EventLoggerRegister> s_destroyer;
- Q_DISABLE_COPY(EventLoggerRegister)
-};
-
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kitemmodels-6.24.0/autotests/proxymodeltestsuite/grantlee_paths.h.cmake
new/kitemmodels-6.25.0/autotests/proxymodeltestsuite/grantlee_paths.h.cmake
--- old/kitemmodels-6.24.0/autotests/proxymodeltestsuite/grantlee_paths.h.cmake
2026-03-07 21:31:30.000000000 +0100
+++ new/kitemmodels-6.25.0/autotests/proxymodeltestsuite/grantlee_paths.h.cmake
1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-#define GRANTLEE_PLUGIN_PATH "@Grantlee_PLUGIN_PATH@"
-#define GRANTLEE_TEMPLATE_PATH "@PROJECT_SOURCE_DIR@/themes"
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kitemmodels-6.24.0/autotests/proxymodeltestsuite/modeleventlogger.cpp
new/kitemmodels-6.25.0/autotests/proxymodeltestsuite/modeleventlogger.cpp
--- old/kitemmodels-6.24.0/autotests/proxymodeltestsuite/modeleventlogger.cpp
2026-03-07 21:31:30.000000000 +0100
+++ new/kitemmodels-6.25.0/autotests/proxymodeltestsuite/modeleventlogger.cpp
1970-01-01 01:00:00.000000000 +0100
@@ -1,323 +0,0 @@
-/*
- SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group
company <[email protected]>
- SPDX-FileContributor: Stephen Kelly <[email protected]>
-
- SPDX-License-Identifier: LGPL-2.0-or-later
-*/
-
-#include "modeleventlogger.h"
-#include "indexfinder.h"
-#include "modeldumper.h"
-
-#include "eventloggerregister.h"
-
-#include <QDebug>
-#include <QFile>
-#include <QStringList>
-
-#ifdef Grantlee_FOUND
-#include "grantlee_paths.h"
-#include <grantlee_core.h>
-
-/**
- Don't escape the code generation output.
-
- 'const QString &' should not become 'const QString &'
-*/
-class NoEscapeOutputStream : public Grantlee::OutputStream
-{
-public:
- NoEscapeOutputStream()
- : Grantlee::OutputStream()
- {
- }
-
- NoEscapeOutputStream(QTextStream *stream)
- : OutputStream(stream)
- {
- }
-
- virtual QSharedPointer<Grantlee::OutputStream> clone() const
- {
- return QSharedPointer<Grantlee::OutputStream>(new
NoEscapeOutputStream);
- }
-
- virtual QString escape(const QString &input) const
- {
- return input;
- }
-};
-#endif
-
-class ModelWrapper : public QAbstractItemModel
-{
-public:
- ModelWrapper(QAbstractItemModel * /*model*/, QObject *parent = nullptr)
- : QAbstractItemModel(parent)
- {
- }
-
- QModelIndexList per() const
- {
- return persistentIndexList();
- }
-
- QModelIndex index(int /*row*/, int /*column*/, const QModelIndex &
/*parent*/ = QModelIndex()) const override
- {
- return QModelIndex();
- }
- int rowCount(const QModelIndex & /*parent*/ = QModelIndex()) const override
- {
- return 0;
- }
- QModelIndex parent(const QModelIndex & /*child*/) const override
- {
- return QModelIndex();
- }
- int columnCount(const QModelIndex & /*parent*/ = QModelIndex()) const
override
- {
- return 0;
- }
- QVariant data(const QModelIndex & /*index*/, int /*role*/ =
Qt::DisplayRole) const override
- {
- return QVariant();
- }
-};
-
-ModelEvent::ModelEvent(QObject *parent)
- : QObject(parent)
-{
-}
-
-static const char *const sTypes[] = {"Init", "RowsInserted", "RowsRemoved",
"DataChanged", "LayoutChanged", "ModelReset"};
-
-QString ModelEvent::type() const
-{
- return QLatin1String(*(sTypes + m_type));
-}
-
-// ModelEvent::Type ModelEvent::type() const
-// {
-// return m_type;
-// }
-
-void ModelEvent::setType(ModelEvent::Type type)
-{
- m_type = type;
-}
-
-int ModelEvent::start() const
-{
- return m_start;
-}
-
-void ModelEvent::setStart(int start)
-{
- m_start = start;
-}
-
-int ModelEvent::end() const
-{
- return m_end;
-}
-
-void ModelEvent::setEnd(int end)
-{
- m_end = end;
-}
-
-QString ModelEvent::rowAncestors() const
-{
- QString result(QStringLiteral("QList<int>()"));
-
- for (const int row : std::as_const(m_rowAncestors)) {
- result.append(" << ");
- result.append(QString::number(row));
- }
- return result;
-}
-
-// QList< int > ModelEvent::rowAncestors() const
-// {
-// return m_rowAncestors;
-// }
-
-void ModelEvent::setRowAncestors(QList<int> rowAncestors)
-{
- m_rowAncestors = rowAncestors;
-}
-
-bool ModelEvent::hasInterpretString() const
-{
- return !m_interpretString.isEmpty();
-}
-
-QString ModelEvent::interpretString() const
-{
- return m_interpretString;
-}
-
-void ModelEvent::setInterpretString(const QString &interpretString)
-{
- m_interpretString = interpretString;
-}
-
-ModelEventLogger::ModelEventLogger(QAbstractItemModel *model, QObject *parent)
- : QObject(parent)
- , m_model(model)
- , m_modelDumper(new ModelDumper)
- , m_numLogs(0)
-{
- connect(model, &QAbstractItemModel::dataChanged, this,
&ModelEventLogger::dataChanged);
- connect(model, &QAbstractItemModel::layoutAboutToBeChanged, this,
&ModelEventLogger::layoutAboutToBeChanged);
- connect(model, &QAbstractItemModel::layoutChanged, this,
&ModelEventLogger::layoutChanged);
- connect(model, &QAbstractItemModel::modelReset, this,
&ModelEventLogger::modelReset);
- connect(model, &QAbstractItemModel::rowsInserted, this,
&ModelEventLogger::rowsInserted);
- connect(model, &QAbstractItemModel::rowsRemoved, this,
&ModelEventLogger::rowsRemoved);
-
- ModelEvent *modelEvent = new ModelEvent(this);
- modelEvent->setType(ModelEvent::Init);
- modelEvent->setInterpretString(m_modelDumper->dumpModel(model));
-
- m_modelName =
QString::fromLatin1(model->metaObject()->className()).toLower();
-
- m_initEvent = QVariant::fromValue(static_cast<QObject *>(modelEvent));
-
- EventLoggerRegister::instance()->registerLogger(this);
-}
-
-void ModelEventLogger::writeLog()
-{
-#ifdef Grantlee_FOUND
- QString logFileName =
QString("main.%1.%2.%3.cpp").arg(m_modelName).arg(reinterpret_cast<qint64>(this)).arg(m_numLogs++);
- qDebug() << "Writing to " << logFileName;
- QFile outputFile(logFileName);
- const bool logFileOpened = outputFile.open(QFile::WriteOnly | QFile::Text);
- Q_ASSERT(logFileOpened);
-
- Grantlee::Engine engine;
- Grantlee::FileSystemTemplateLoader::Ptr loader(new
Grantlee::FileSystemTemplateLoader);
- loader->setTemplateDirs(QStringList() << ":/templates");
- engine.addTemplateLoader(loader);
- engine.setPluginPaths(QStringList() << GRANTLEE_PLUGIN_PATH);
-
- // Write out.
- Grantlee::Template t = engine.loadByName("main.cpp");
- if (!t->error()) {
- Grantlee::Context c;
- c.insert("initEvent", m_initEvent);
- c.insert("events", m_events);
-
- QTextStream textStream(&outputFile);
- NoEscapeOutputStream outputStream(&textStream);
- t->render(&outputStream, &c);
- }
- outputFile.close();
-
- if (t->error()) {
- qDebug() << t->errorString();
- }
-#else
- qDebug() << "Grantlee not found. No log written.";
-#endif
-}
-
-ModelEventLogger::~ModelEventLogger()
-{
- writeLog();
- delete m_modelDumper;
- EventLoggerRegister::instance()->unregisterLogger(this);
-}
-
-void ModelEventLogger::dataChanged(const QModelIndex &topLeft, const
QModelIndex &bottomRight)
-{
- ModelEvent *modelEvent = new ModelEvent(this);
- modelEvent->setType(ModelEvent::DataChanged);
-
modelEvent->setRowAncestors(IndexFinder::indexToIndexFinder(topLeft.parent()).rows());
- modelEvent->setStart(topLeft.row());
- modelEvent->setEnd(bottomRight.row());
-
- m_events.append(QVariant::fromValue(static_cast<QObject *>(modelEvent)));
-}
-
-void ModelEventLogger::persistChildren(const QModelIndex & /*parent*/)
-{
-}
-
-void ModelEventLogger::layoutAboutToBeChanged()
-{
- m_oldPaths.clear();
- m_persistentIndexes.clear();
- const QModelIndexList list = static_cast<const ModelWrapper
*>(m_model)->per();
- for (const QModelIndex &idx : list) {
- m_persistentIndexes.append(QPersistentModelIndex(idx));
- m_oldPaths.append(IndexFinder::indexToIndexFinder(idx).rows());
- }
-}
-
-void ModelEventLogger::layoutChanged()
-{
- ModelEvent *modelEvent = new ModelEvent(this);
- modelEvent->setType(ModelEvent::LayoutChanged);
- modelEvent->setInterpretString(m_modelDumper->dumpModel(m_model));
-
- QList<PersistentChange *> changes;
-
- for (int i = 0; i < m_persistentIndexes.size(); ++i) {
- const QPersistentModelIndex pIdx = m_persistentIndexes.at(i);
- if (!pIdx.isValid()) {
- PersistentChange *change = new PersistentChange(this);
- change->newPath = QList<int>();
- change->oldPath = m_oldPaths.at(i);
- changes.append(change);
- continue;
- }
- const QList<int> rows = IndexFinder::indexToIndexFinder(pIdx).rows();
- if (m_oldPaths.at(i) == rows) {
- continue;
- }
-
- PersistentChange *change = new PersistentChange(this);
- change->newPath = rows;
- change->oldPath = m_oldPaths.at(i);
- changes.append(change);
- }
-
- modelEvent->setChanges(changes);
-
- m_events.append(QVariant::fromValue(static_cast<QObject *>(modelEvent)));
-}
-
-void ModelEventLogger::modelReset()
-{
- ModelEvent *modelEvent = new ModelEvent(this);
- modelEvent->setType(ModelEvent::ModelReset);
- modelEvent->setInterpretString(m_modelDumper->dumpModel(m_model));
-
- m_events.append(QVariant::fromValue(static_cast<QObject *>(modelEvent)));
-}
-
-void ModelEventLogger::rowsInserted(const QModelIndex &parent, int start, int
end)
-{
- ModelEvent *modelEvent = new ModelEvent(this);
- modelEvent->setType(ModelEvent::RowsInserted);
-
modelEvent->setRowAncestors(IndexFinder::indexToIndexFinder(parent).rows());
- modelEvent->setStart(start);
- QString s = m_modelDumper->dumpTree(m_model, parent, start, end);
- modelEvent->setInterpretString(s);
-
- m_events.append(QVariant::fromValue(static_cast<QObject *>(modelEvent)));
-}
-
-void ModelEventLogger::rowsRemoved(const QModelIndex &parent, int start, int
end)
-{
- ModelEvent *modelEvent = new ModelEvent(this);
- modelEvent->setType(ModelEvent::RowsRemoved);
-
modelEvent->setRowAncestors(IndexFinder::indexToIndexFinder(parent).rows());
- modelEvent->setStart(start);
- modelEvent->setEnd(end);
-
- m_events.append(QVariant::fromValue(static_cast<QObject *>(modelEvent)));
-}
-
-#include "moc_modeleventlogger.cpp"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kitemmodels-6.24.0/autotests/proxymodeltestsuite/modeleventlogger.h
new/kitemmodels-6.25.0/autotests/proxymodeltestsuite/modeleventlogger.h
--- old/kitemmodels-6.24.0/autotests/proxymodeltestsuite/modeleventlogger.h
2026-03-07 21:31:30.000000000 +0100
+++ new/kitemmodels-6.25.0/autotests/proxymodeltestsuite/modeleventlogger.h
1970-01-01 01:00:00.000000000 +0100
@@ -1,163 +0,0 @@
-/*
- SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group
company <[email protected]>
- SPDX-FileContributor: Stephen Kelly <[email protected]>
-
- SPDX-License-Identifier: LGPL-2.0-or-later
-*/
-
-#ifndef MODELEVENTLOGGER_H
-#define MODELEVENTLOGGER_H
-
-#include <QAbstractItemModel>
-
-#include "proxymodeltestsuite_export.h"
-
-class ModelDumper;
-
-class PROXYMODELTESTSUITE_EXPORT PersistentChange : public QObject
-{
- Q_OBJECT
-
- Q_PROPERTY(QString oldPath READ getOldPath)
- Q_PROPERTY(QString newPath READ getNewPath)
-
-public:
- PersistentChange(QObject *parent = nullptr)
- : QObject(parent)
- {
- }
- QString getPath(const QList<int> &path) const
- {
- QString result(QStringLiteral("QList<int>()"));
- for (const int part : path) {
- result.append(QLatin1String(" << "));
- result.append(QString::number(part));
- }
-
- return result;
- }
- QString getOldPath() const
- {
- return getPath(oldPath);
- }
- QString getNewPath() const
- {
- return getPath(newPath);
- }
-
- QList<int> oldPath;
- QList<int> newPath;
-};
-
-class PROXYMODELTESTSUITE_EXPORT ModelEvent : public QObject
-{
- Q_OBJECT
-public:
- enum Type {
- Init,
- RowsInserted,
- RowsRemoved,
- DataChanged,
- LayoutChanged,
- ModelReset,
- };
-
-private:
- // TODO: See if Q_ENUMS does this:
- // Q_PROPERTY(Type type READ type)
-
- Q_PROPERTY(QString type READ type)
-
- Q_PROPERTY(int start READ start)
- Q_PROPERTY(int end READ end)
- // TODO: custom grantlee plugin.
- // Q_PROPERTY(QList<int> rowAncestors READ rowAncestors)
-
- Q_PROPERTY(QString rowAncestors READ rowAncestors)
- Q_PROPERTY(bool hasInterpretString READ hasInterpretString)
- Q_PROPERTY(QString interpretString READ interpretString)
- Q_PROPERTY(QVariantList changes READ changes)
-
-public:
- ModelEvent(QObject *parent = nullptr);
-
- // Type type() const;
- QString type() const;
- void setType(Type type);
-
- int start() const;
- void setStart(int start);
-
- int end() const;
- void setEnd(int end);
-
- QString rowAncestors() const;
- // QList<int> rowAncestors() const;
- void setRowAncestors(QList<int> rowAncestors);
-
- bool hasInterpretString() const;
-
- QString interpretString() const;
- void setInterpretString(const QString &interpretString);
-
- void setChanges(const QList<PersistentChange *> &changes)
- {
- m_changedPaths = changes;
- }
- QVariantList changes() const
- {
- QVariantList list;
- for (PersistentChange *change : std::as_const(m_changedPaths)) {
- list.append(QVariant::fromValue(static_cast<QObject *>(change)));
- }
- return list;
- }
-
-private:
- Type m_type;
- int m_start;
- int m_end;
- QList<int> m_rowAncestors;
- QString m_interpretString;
- QList<PersistentChange *> m_changedPaths;
-};
-
-/*!
- * \brief A logger for QAbstractItemModel events.
- *
- * The log creates the same structure as the \a model, and can be compiled
- * to reproduce failure cases.
- *
- * The log is written to a file, see writeLog for the file naming.
- */
-class PROXYMODELTESTSUITE_EXPORT ModelEventLogger : public QObject
-{
- Q_OBJECT
-public:
- ModelEventLogger(QAbstractItemModel *model, QObject *parent = nullptr);
- void writeLog();
- ~ModelEventLogger() override;
-
-private:
- void persistChildren(const QModelIndex &parent);
-
-private Q_SLOTS:
- void rowsInserted(const QModelIndex &parent, int start, int end);
- void rowsRemoved(const QModelIndex &parent, int start, int end);
- void dataChanged(const QModelIndex &topLeft, const QModelIndex
&bottomRight);
- void layoutAboutToBeChanged();
- void layoutChanged();
- void modelReset();
-
-private:
- const QAbstractItemModel *const m_model;
- ModelDumper *const m_modelDumper;
- QVariant m_initEvent;
- QVariantList m_events;
- QList<QPersistentModelIndex> m_persistentIndexes;
- QList<QList<int>> m_oldPaths;
- int m_numLogs;
- QString m_modelName;
-};
-
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kitemmodels-6.24.0/src/core/CMakeLists.txt
new/kitemmodels-6.25.0/src/core/CMakeLists.txt
--- old/kitemmodels-6.24.0/src/core/CMakeLists.txt 2026-03-07
21:31:30.000000000 +0100
+++ new/kitemmodels-6.25.0/src/core/CMakeLists.txt 2026-04-03
19:10:01.000000000 +0200
@@ -78,7 +78,6 @@
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/kitemmodels_export.h
${KItemModels_HEADERS}
- ${KItemModels_Legacy_HEADERS}
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KItemModels
COMPONENT Devel
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kitemmodels-6.24.0/tests/proxymodeltestapp/descendantpmwidget.cpp
new/kitemmodels-6.25.0/tests/proxymodeltestapp/descendantpmwidget.cpp
--- old/kitemmodels-6.24.0/tests/proxymodeltestapp/descendantpmwidget.cpp
2026-03-07 21:31:30.000000000 +0100
+++ new/kitemmodels-6.25.0/tests/proxymodeltestapp/descendantpmwidget.cpp
2026-04-03 19:10:01.000000000 +0200
@@ -17,8 +17,6 @@
#include <QHBoxLayout>
#include <QLineEdit>
-#include "modeleventlogger.h"
-
DescendantProxyModelWidget::DescendantProxyModelWidget(QWidget *parent)
: QWidget(parent)
{
@@ -81,8 +79,6 @@
"- 20"
"- 21"));
- m_eventLogger = new ModelEventLogger(m_rootModel, this);
-
m_descProxyModel = new KDescendantsProxyModel(this);
m_descProxyModel->setSourceModel(m_rootModel);