From 32b586864e3a4398da38c045f4ac0823c3dc3c57 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Fri, 5 Jun 2020 20:29:48 +0200 Subject: QAbstractItemModel: remove deprecated setRoleNames() Remove setRoleNames() and all its now unneeded helper functions. Change-Id: I0a83751aace35700655d4cc7c79278325994cbdd Reviewed-by: Volker Hilsheimer --- src/corelib/itemmodels/qabstractitemmodel.cpp | 30 ++------------------------ src/corelib/itemmodels/qabstractitemmodel.h | 8 ------- src/corelib/itemmodels/qabstractitemmodel_p.h | 1 - src/corelib/itemmodels/qabstractproxymodel.cpp | 20 ++++++++--------- src/corelib/itemmodels/qabstractproxymodel.h | 8 +------ src/gui/itemmodels/qstandarditemmodel.cpp | 9 ++++++++ src/gui/itemmodels/qstandarditemmodel.h | 1 + src/gui/itemmodels/qstandarditemmodel_p.h | 1 + src/widgets/dialogs/qfilesystemmodel.cpp | 20 +++++++++++------ src/widgets/dialogs/qfilesystemmodel.h | 1 + 10 files changed, 39 insertions(+), 60 deletions(-) diff --git a/src/corelib/itemmodels/qabstractitemmodel.cpp b/src/corelib/itemmodels/qabstractitemmodel.cpp index 49b5031559..95bfb109eb 100644 --- a/src/corelib/itemmodels/qabstractitemmodel.cpp +++ b/src/corelib/itemmodels/qabstractitemmodel.cpp @@ -518,8 +518,7 @@ Q_GLOBAL_STATIC(QEmptyItemModel, qEmptyModel) QAbstractItemModelPrivate::QAbstractItemModelPrivate() : QObjectPrivate(), - supportedDragActions(-1), - roleNames(defaultRoleNames()) + supportedDragActions(-1) { } @@ -2485,30 +2484,6 @@ QSize QAbstractItemModel::span(const QModelIndex &) const return QSize(1, 1); } -/*! - \fn void QAbstractItemModel::setRoleNames(const QHash &roleNames) - \since 4.6 - \obsolete - - This function is obsolete. Reimplement roleNames() instead. - - Sets the model's role names to \a roleNames. - - This function allows mapping of role identifiers to role property names in - scripting languages. - - \sa roleNames() -*/ - -/*! - \internal - */ -void QAbstractItemModel::doSetRoleNames(const QHash &roleNames) -{ - Q_D(QAbstractItemModel); - d->roleNames = roleNames; -} - /*! \since 4.6 @@ -2542,8 +2517,7 @@ void QAbstractItemModel::doSetRoleNames(const QHash &roleNames) */ QHash QAbstractItemModel::roleNames() const { - Q_D(const QAbstractItemModel); - return d->roleNames; + return QAbstractItemModelPrivate::defaultRoleNames(); } /*! diff --git a/src/corelib/itemmodels/qabstractitemmodel.h b/src/corelib/itemmodels/qabstractitemmodel.h index a23b5b8cfc..ff413c7542 100644 --- a/src/corelib/itemmodels/qabstractitemmodel.h +++ b/src/corelib/itemmodels/qabstractitemmodel.h @@ -349,15 +349,7 @@ protected: void changePersistentIndexList(const QModelIndexList &from, const QModelIndexList &to); QModelIndexList persistentIndexList() const; -#if QT_DEPRECATED_SINCE(5,0) - QT_DEPRECATED void setRoleNames(const QHash &theRoleNames) - { - doSetRoleNames(theRoleNames); - } -#endif - private: - void doSetRoleNames(const QHash &roleNames); void doSetSupportedDragActions(Qt::DropActions actions); Q_DECLARE_PRIVATE(QAbstractItemModel) diff --git a/src/corelib/itemmodels/qabstractitemmodel_p.h b/src/corelib/itemmodels/qabstractitemmodel_p.h index 92a440a125..e7d68ef3c4 100644 --- a/src/corelib/itemmodels/qabstractitemmodel_p.h +++ b/src/corelib/itemmodels/qabstractitemmodel_p.h @@ -149,7 +149,6 @@ public: Qt::DropActions supportedDragActions; - QHash roleNames; static const QHash &defaultRoleNames(); static bool isVariantLessThan(const QVariant &left, const QVariant &right, Qt::CaseSensitivity cs = Qt::CaseSensitive, bool isLocaleAware = false); diff --git a/src/corelib/itemmodels/qabstractproxymodel.cpp b/src/corelib/itemmodels/qabstractproxymodel.cpp index 87559cd6b2..90b2d1f6bf 100644 --- a/src/corelib/itemmodels/qabstractproxymodel.cpp +++ b/src/corelib/itemmodels/qabstractproxymodel.cpp @@ -138,20 +138,10 @@ void QAbstractProxyModel::setSourceModel(QAbstractItemModel *sourceModel) } else { d->model = QAbstractItemModelPrivate::staticEmptyModel(); } - d->roleNames = d->model->roleNames(); emit sourceModelChanged(QPrivateSignal()); } } -/*! - Clears the roleNames of this proxy model. -*/ -void QAbstractProxyModel::resetInternalData() -{ - Q_D(QAbstractProxyModel); - d->roleNames = d->model->roleNames(); -} - /*! Returns the model that contains the data that is available through the proxy model. */ @@ -477,6 +467,16 @@ Qt::DropActions QAbstractProxyModel::supportedDropActions() const return d->model->supportedDropActions(); } +/*! + \reimp + */ +QHash QAbstractProxyModel::roleNames() const +{ + Q_D(const QAbstractProxyModel); + return d->model->roleNames(); +} + + QT_END_NAMESPACE #include "moc_qabstractproxymodel.cpp" diff --git a/src/corelib/itemmodels/qabstractproxymodel.h b/src/corelib/itemmodels/qabstractproxymodel.h index f6f6e45c1a..8eef0551ca 100644 --- a/src/corelib/itemmodels/qabstractproxymodel.h +++ b/src/corelib/itemmodels/qabstractproxymodel.h @@ -98,17 +98,11 @@ public: QStringList mimeTypes() const override; Qt::DropActions supportedDragActions() const override; Qt::DropActions supportedDropActions() const override; + QHash roleNames() const override; Q_SIGNALS: void sourceModelChanged(QPrivateSignal); -protected Q_SLOTS: - void resetInternalData() -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) - override -#endif - ; - protected: QAbstractProxyModel(QAbstractProxyModelPrivate &, QObject *parent); diff --git a/src/gui/itemmodels/qstandarditemmodel.cpp b/src/gui/itemmodels/qstandarditemmodel.cpp index 8bc5abe461..d40e5d7923 100644 --- a/src/gui/itemmodels/qstandarditemmodel.cpp +++ b/src/gui/itemmodels/qstandarditemmodel.cpp @@ -2232,6 +2232,15 @@ void QStandardItemModel::setItemRoleNames(const QHash &roleNames d->roleNames = roleNames; } +/*! + reimp +*/ +QHash QStandardItemModel::roleNames() const +{ + Q_D(const QStandardItemModel); + return d->roleNames; +} + /*! Removes all items (including header items) from the model and sets the number of rows and columns to zero. diff --git a/src/gui/itemmodels/qstandarditemmodel.h b/src/gui/itemmodels/qstandarditemmodel.h index e0b274649a..34747fa86b 100644 --- a/src/gui/itemmodels/qstandarditemmodel.h +++ b/src/gui/itemmodels/qstandarditemmodel.h @@ -321,6 +321,7 @@ public: ~QStandardItemModel(); void setItemRoleNames(const QHash &roleNames); + QHash roleNames() const override; QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; QModelIndex parent(const QModelIndex &child) const override; diff --git a/src/gui/itemmodels/qstandarditemmodel_p.h b/src/gui/itemmodels/qstandarditemmodel_p.h index 97c2e6f01b..5a06b70c0b 100644 --- a/src/gui/itemmodels/qstandarditemmodel_p.h +++ b/src/gui/itemmodels/qstandarditemmodel_p.h @@ -245,6 +245,7 @@ public: QVector columnHeaderItems; QVector rowHeaderItems; + QHash roleNames; QScopedPointer root; const QStandardItem *itemPrototype; int sortRole; diff --git a/src/widgets/dialogs/qfilesystemmodel.cpp b/src/widgets/dialogs/qfilesystemmodel.cpp index bbe1ef4376..023f3f64fa 100644 --- a/src/widgets/dialogs/qfilesystemmodel.cpp +++ b/src/widgets/dialogs/qfilesystemmodel.cpp @@ -1263,6 +1263,20 @@ Qt::DropActions QFileSystemModel::supportedDropActions() const return Qt::CopyAction | Qt::MoveAction | Qt::LinkAction; } +/*! + \reimp +*/ +QHash QFileSystemModel::roleNames() const +{ + auto ret = QAbstractItemModel::roleNames(); + ret.insert(QFileSystemModel::FileIconRole, + QByteArrayLiteral("fileIcon")); // == Qt::decoration + ret.insert(QFileSystemModel::FilePathRole, QByteArrayLiteral("filePath")); + ret.insert(QFileSystemModel::FileNameRole, QByteArrayLiteral("fileName")); + ret.insert(QFileSystemModel::FilePermissions, QByteArrayLiteral("filePermissions")); + return ret; +} + /*! \enum QFileSystemModel::Option \since 5.14 @@ -2075,12 +2089,6 @@ void QFileSystemModelPrivate::init() q, SIGNAL(directoryLoaded(QString))); #endif // filesystemwatcher q->connect(&delayedSortTimer, SIGNAL(timeout()), q, SLOT(_q_performDelayedSort()), Qt::QueuedConnection); - - roleNames.insert(QFileSystemModel::FileIconRole, - QByteArrayLiteral("fileIcon")); // == Qt::decoration - roleNames.insert(QFileSystemModel::FilePathRole, QByteArrayLiteral("filePath")); - roleNames.insert(QFileSystemModel::FileNameRole, QByteArrayLiteral("fileName")); - roleNames.insert(QFileSystemModel::FilePermissions, QByteArrayLiteral("filePermissions")); } /*! diff --git a/src/widgets/dialogs/qfilesystemmodel.h b/src/widgets/dialogs/qfilesystemmodel.h index b0f289dfcd..a2c6e2c2a0 100644 --- a/src/widgets/dialogs/qfilesystemmodel.h +++ b/src/widgets/dialogs/qfilesystemmodel.h @@ -115,6 +115,7 @@ public: bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override; Qt::DropActions supportedDropActions() const override; + QHash roleNames() const override; // QFileSystemModel specific API QModelIndex setRootPath(const QString &path); -- cgit v1.2.3