diff options
| author | luigi1111 <luigi1111w@gmail.com> | 2020-07-29 09:44:45 -0500 |
|---|---|---|
| committer | luigi1111 <luigi1111w@gmail.com> | 2020-07-29 09:44:45 -0500 |
| commit | 0d047035fb9df9a2184ea7758fce506837e0ea0c (patch) | |
| tree | 5e1aa8ab43676eb3ce3f9b1e55b79340b1d18fa1 /src | |
| parent | b5aa6597579220d85b593511da31c810ad7588c7 (diff) | |
| parent | 13ee9b1f26831b208b33bb977d0fdda61bfec452 (diff) | |
| download | monzero-gui-0d047035fb9df9a2184ea7758fce506837e0ea0c.tar.gz monzero-gui-0d047035fb9df9a2184ea7758fce506837e0ea0c.tar.xz monzero-gui-0d047035fb9df9a2184ea7758fce506837e0ea0c.zip | |
Merge pull request #3007
13ee9b1 KeysFiles: fix WalletKeysFilesModel, should be instantiable QML type (xiphon)
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/main.cpp | 9 | ||||
| -rw-r--r-- | src/qt/KeysFiles.cpp | 8 | ||||
| -rw-r--r-- | src/qt/KeysFiles.h | 10 |
3 files changed, 12 insertions, 15 deletions
diff --git a/src/main/main.cpp b/src/main/main.cpp index 6b01dfc9..3aeb2ded 100644 --- a/src/main/main.cpp +++ b/src/main/main.cpp @@ -357,6 +357,7 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw // registering types for QML qmlRegisterType<clipboardAdapter>("moneroComponents.Clipboard", 1, 0, "Clipboard"); qmlRegisterType<Downloader>("moneroComponents.Downloader", 1, 0, "Downloader"); + qmlRegisterType<WalletKeysFilesModel>("moneroComponents.WalletKeysFilesModel", 1, 0, "WalletKeysFilesModel"); // Temporary Qt.labs.settings replacement qmlRegisterType<MoneroSettings>("moneroComponents.Settings", 1, 0, "MoneroSettings"); @@ -376,9 +377,6 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw qmlRegisterUncreatableType<TranslationManager>("moneroComponents.TranslationManager", 1, 0, "TranslationManager", "TranslationManager can't be instantiated directly"); - qmlRegisterUncreatableType<WalletKeysFilesModel>("moneroComponents.walletKeysFilesModel", 1, 0, "WalletKeysFilesModel", - "walletKeysFilesModel can't be instantiated directly"); - qmlRegisterUncreatableType<TransactionHistoryModel>("moneroComponents.TransactionHistoryModel", 1, 0, "TransactionHistoryModel", "TransactionHistoryModel can't be instantiated directly"); @@ -478,11 +476,6 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw engine.rootContext()->setContextProperty("desktopFolder", desktopFolder); #endif - // Wallet .keys files model (wizard -> open wallet) - WalletKeysFilesModel walletKeysFilesModel; - engine.rootContext()->setContextProperty("walletKeysFilesModel", &walletKeysFilesModel); - engine.rootContext()->setContextProperty("walletKeysFilesModelProxy", &walletKeysFilesModel.proxyModel()); - // Get default account name QString accountName = qgetenv("USER"); // mac/linux if (accountName.isEmpty()) 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<QAbstractItemModel *>(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<int, QByteArray> roleNames() const; +private: + QSortFilterProxyModel *proxyModel(); + protected: +signals: + void proxyModelChanged() const; + private: QList<WalletKeysFiles> m_walletKeyFiles; - QAbstractItemModel *m_walletKeysFilesItemModel; QSortFilterProxyModel m_walletKeysFilesModelProxy; }; |
