aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2020-07-14 15:49:19 -0500
committerluigi1111 <luigi1111w@gmail.com>2020-07-14 15:49:19 -0500
commitaaa1cb47c007f35dc75b8ce3b041368b9e268f31 (patch)
tree9c209740086a63517ca8ab064d6b4ee9f4ccb786
parent1577ce278b6d16f6b94c918e556df188b235df67 (diff)
parentdec5dcf25cdf39b04ea2e5e988db7a83a9f5fea4 (diff)
downloadmonzero-gui-aaa1cb47c007f35dc75b8ce3b041368b9e268f31.tar.gz
monzero-gui-aaa1cb47c007f35dc75b8ce3b041368b9e268f31.tar.xz
monzero-gui-aaa1cb47c007f35dc75b8ce3b041368b9e268f31.zip
Merge pull request #3006
dec5dcf KeysFiles: don't use WalletManager in findWallets (xiphon)
-rw-r--r--src/main/main.cpp2
-rw-r--r--src/qt/KeysFiles.cpp16
-rw-r--r--src/qt/KeysFiles.h3
3 files changed, 13 insertions, 8 deletions
diff --git a/src/main/main.cpp b/src/main/main.cpp
index d7788dc6..41b41faa 100644
--- a/src/main/main.cpp
+++ b/src/main/main.cpp
@@ -476,7 +476,7 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw
#endif
// Wallet .keys files model (wizard -> open wallet)
- WalletKeysFilesModel walletKeysFilesModel(walletManager);
+ WalletKeysFilesModel walletKeysFilesModel;
engine.rootContext()->setContextProperty("walletKeysFilesModel", &walletKeysFilesModel);
engine.rootContext()->setContextProperty("walletKeysFilesModelProxy", &walletKeysFilesModel.proxyModel());
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<QAbstractItemModel *>(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<WalletKeysFiles> m_walletKeyFiles;
- WalletManager *m_walletManager;
QAbstractItemModel *m_walletKeysFilesItemModel;
QSortFilterProxyModel m_walletKeysFilesModelProxy;