From 13ee9b1f26831b208b33bb977d0fdda61bfec452 Mon Sep 17 00:00:00 2001 From: xiphon Date: Tue, 14 Jul 2020 01:45:34 +0000 Subject: KeysFiles: fix WalletKeysFilesModel, should be instantiable QML type --- src/qt/KeysFiles.cpp | 8 +++----- src/qt/KeysFiles.h | 10 ++++++++-- 2 files changed, 11 insertions(+), 7 deletions(-) (limited to 'src/qt') diff --git a/src/qt/KeysFiles.cpp b/src/qt/KeysFiles.cpp index 15f7c6eb..dfd17c40 100644 --- a/src/qt/KeysFiles.cpp +++ b/src/qt/KeysFiles.cpp @@ -81,17 +81,15 @@ quint8 WalletKeysFiles::networkType() const WalletKeysFilesModel::WalletKeysFilesModel(QObject *parent) : QAbstractListModel(parent) { - this->m_walletKeysFilesItemModel = qobject_cast(this); - - this->m_walletKeysFilesModelProxy.setSourceModel(this->m_walletKeysFilesItemModel); + this->m_walletKeysFilesModelProxy.setSourceModel(this); this->m_walletKeysFilesModelProxy.setSortRole(WalletKeysFilesModel::ModifiedRole); this->m_walletKeysFilesModelProxy.setDynamicSortFilter(true); this->m_walletKeysFilesModelProxy.sort(0, Qt::DescendingOrder); } -QSortFilterProxyModel &WalletKeysFilesModel::proxyModel() +QSortFilterProxyModel *WalletKeysFilesModel::proxyModel() { - return m_walletKeysFilesModelProxy; + return &m_walletKeysFilesModelProxy; } void WalletKeysFilesModel::clear() diff --git a/src/qt/KeysFiles.h b/src/qt/KeysFiles.h index a8a0dbe2..610c3c3a 100644 --- a/src/qt/KeysFiles.h +++ b/src/qt/KeysFiles.h @@ -56,6 +56,8 @@ private: class WalletKeysFilesModel : public QAbstractListModel { Q_OBJECT + Q_PROPERTY(QSortFilterProxyModel *proxyModel READ proxyModel NOTIFY proxyModelChanged) + public: enum KeysFilesRoles { FileNameRole = Qt::UserRole + 1, @@ -74,16 +76,20 @@ public: void addWalletKeysFile(const WalletKeysFiles &walletKeysFile); int rowCount(const QModelIndex & parent = QModelIndex()) const; - QSortFilterProxyModel &proxyModel(); QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; QHash roleNames() const; +private: + QSortFilterProxyModel *proxyModel(); + protected: +signals: + void proxyModelChanged() const; + private: QList m_walletKeyFiles; - QAbstractItemModel *m_walletKeysFilesItemModel; QSortFilterProxyModel m_walletKeysFilesModelProxy; }; -- cgit v1.2.3