From dec5dcf25cdf39b04ea2e5e988db7a83a9f5fea4 Mon Sep 17 00:00:00 2001 From: xiphon Date: Tue, 14 Jul 2020 01:21:18 +0000 Subject: KeysFiles: don't use WalletManager in findWallets --- src/qt/KeysFiles.cpp | 16 +++++++++++----- src/qt/KeysFiles.h | 3 +-- 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'src/qt') diff --git a/src/qt/KeysFiles.cpp b/src/qt/KeysFiles.cpp index edfed985..15f7c6eb 100644 --- a/src/qt/KeysFiles.cpp +++ b/src/qt/KeysFiles.cpp @@ -78,10 +78,9 @@ quint8 WalletKeysFiles::networkType() const } -WalletKeysFilesModel::WalletKeysFilesModel(WalletManager *walletManager, QObject *parent) +WalletKeysFilesModel::WalletKeysFilesModel(QObject *parent) : QAbstractListModel(parent) { - this->m_walletManager = walletManager; this->m_walletKeysFilesItemModel = qobject_cast(this); this->m_walletKeysFilesModelProxy.setSourceModel(this->m_walletKeysFilesItemModel); @@ -110,11 +109,18 @@ void WalletKeysFilesModel::refresh(const QString &moneroAccountsDir) void WalletKeysFilesModel::findWallets(const QString &moneroAccountsDir) { - QStringList walletDir = this->m_walletManager->findWallets(moneroAccountsDir); - foreach(QString wallet, walletDir){ - if(!fileExists(wallet + ".keys")) + QDirIterator it(moneroAccountsDir, QDirIterator::Subdirectories); + for (; it.hasNext(); it.next()) + { + QFileInfo keysFileinfo = it.fileInfo(); + + constexpr const char keysFileExtension[] = "keys"; + if (!keysFileinfo.isFile() || keysFileinfo.completeSuffix() != keysFileExtension) + { continue; + } + QString wallet(keysFileinfo.absolutePath() + QDir::separator() + keysFileinfo.baseName()); quint8 networkType = NetworkType::MAINNET; QString address = QString(""); diff --git a/src/qt/KeysFiles.h b/src/qt/KeysFiles.h index fca10003..a8a0dbe2 100644 --- a/src/qt/KeysFiles.h +++ b/src/qt/KeysFiles.h @@ -65,7 +65,7 @@ public: AddressRole }; - WalletKeysFilesModel(WalletManager *walletManager, QObject *parent = 0); + WalletKeysFilesModel(QObject *parent = 0); Q_INVOKABLE void refresh(const QString &moneroAccountsDir); Q_INVOKABLE void clear(); @@ -82,7 +82,6 @@ protected: private: QList m_walletKeyFiles; - WalletManager *m_walletManager; QAbstractItemModel *m_walletKeysFilesItemModel; QSortFilterProxyModel m_walletKeysFilesModelProxy; -- cgit v1.2.3