From 8586c48223263274419f007b19ab349b75faa6fb Mon Sep 17 00:00:00 2001 From: Benjamin Arnaud Date: Tue, 30 Mar 2021 10:48:03 +0200 Subject: [PATCH] qt/mlbasemodel: Add 'getData' function for QModelIndex Signed-off-by: Pierre Lamot --- modules/gui/qt/medialibrary/mlbasemodel.cpp | 21 +++++++++++++++++---- modules/gui/qt/medialibrary/mlbasemodel.hpp | 3 ++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/modules/gui/qt/medialibrary/mlbasemodel.cpp b/modules/gui/qt/medialibrary/mlbasemodel.cpp index c3d00d65cb..5af3cd3916 100644 --- a/modules/gui/qt/medialibrary/mlbasemodel.cpp +++ b/modules/gui/qt/medialibrary/mlbasemodel.cpp @@ -52,16 +52,29 @@ void MLBaseModel::sortByColumn(QByteArray name, Qt::SortOrder order) endResetModel(); } -QMap MLBaseModel::getDataAt(int idx) +//------------------------------------------------------------------------------------------------- + +/* Q_INVOKABLE */ QMap MLBaseModel::getDataAt(const QModelIndex & index) { QMap dataDict; - QHash roles = roleNames(); - for (auto role: roles.keys()) { - dataDict[roles[role]] = data(index(idx), role); + + QHash roles = roleNames(); + + for (int role: roles.keys()) + { + dataDict[roles[role]] = data(index, role); } + return dataDict; } +/* Q_INVOKABLE */ QMap MLBaseModel::getDataAt(int idx) +{ + return getDataAt(index(idx)); +} + +//------------------------------------------------------------------------------------------------- + void MLBaseModel::onResetRequested() { beginResetModel(); diff --git a/modules/gui/qt/medialibrary/mlbasemodel.hpp b/modules/gui/qt/medialibrary/mlbasemodel.hpp index 349a75a3fc..2c54681a45 100644 --- a/modules/gui/qt/medialibrary/mlbasemodel.hpp +++ b/modules/gui/qt/medialibrary/mlbasemodel.hpp @@ -74,7 +74,8 @@ public: // Interface Q_INVOKABLE virtual QVariantList getItemsForIndexes(const QModelIndexList & indexes) const; - Q_INVOKABLE QMap getDataAt(int index); + Q_INVOKABLE QMap getDataAt(const QModelIndex & index); + Q_INVOKABLE QMap getDataAt(int idx); signals: void parentIdChanged(); -- 2.11.4.GIT