diff --git a/src/qt/pivx/settings/settingsinformationwidget.cpp b/src/qt/pivx/settings/settingsinformationwidget.cpp index 39fbf03ad7b1d..90309f9bf2fb4 100644 --- a/src/qt/pivx/settings/settingsinformationwidget.cpp +++ b/src/qt/pivx/settings/settingsinformationwidget.cpp @@ -91,7 +91,6 @@ SettingsInformationWidget::SettingsInformationWidget(PIVXGUI* _window,QWidget *p #ifdef ENABLE_WALLET // Wallet data -- remove it with if it's needed ui->labelInfoBerkeley->setText(DbEnv::version(0, 0, 0)); - ui->labelInfoDataDir->setText(QString::fromStdString(GetDataDir().string() + QDir::separator().toLatin1() + gArgs.GetArg("-wallet", DEFAULT_WALLET_DAT))); #else ui->labelInfoBerkeley->setText(tr("No information")); #endif @@ -127,6 +126,13 @@ void SettingsInformationWidget::loadClientModel() } } +void SettingsInformationWidget::loadWalletModel() +{ + if (walletModel) { + ui->labelInfoDataDir->setText(walletModel->getWalletPath()); + } +} + void SettingsInformationWidget::setNumConnections(int count) { if (!clientModel) diff --git a/src/qt/pivx/settings/settingsinformationwidget.h b/src/qt/pivx/settings/settingsinformationwidget.h index c29caf8aed139..5737aaededb3e 100644 --- a/src/qt/pivx/settings/settingsinformationwidget.h +++ b/src/qt/pivx/settings/settingsinformationwidget.h @@ -22,6 +22,7 @@ class SettingsInformationWidget : public PWidget ~SettingsInformationWidget() override; void loadClientModel() override; + void loadWalletModel() override; void run(int type) override; void onError(QString error, int type) override; diff --git a/src/qt/pivx/settings/settingswidget.cpp b/src/qt/pivx/settings/settingswidget.cpp index 5db04f16da5b4..3977d75c7ffc8 100644 --- a/src/qt/pivx/settings/settingswidget.cpp +++ b/src/qt/pivx/settings/settingswidget.cpp @@ -9,7 +9,6 @@ #include "optionsmodel.h" #include "clientmodel.h" #include "utilitydialog.h" -#include "wallet/wallet.h" #include #include @@ -202,6 +201,7 @@ void SettingsWidget::loadWalletModel() this->settingsBitToolWidget->setWalletModel(this->walletModel); this->settingsDisplayOptionsWidget->setWalletModel(this->walletModel); this->settingsWalletOptionsWidget->setWalletModel(this->walletModel); + this->settingsInformationWidget->setWalletModel(this->walletModel); } void SettingsWidget::onResetAction() diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index a6057e6189e2f..dc8f99eccba3e 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -12,6 +12,7 @@ #include "guiutil.h" #include "peertablemodel.h" #include "qt/rpcexecutor.h" +#include "walletmodel.h" #include "chainparams.h" #include "netbase.h" @@ -62,11 +63,12 @@ const struct { RPCConsole::RPCConsole(QWidget* parent) : QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint), ui(new Ui::RPCConsole), - clientModel(0), + clientModel(nullptr), + walletModel(nullptr), historyPtr(0), cachedNodeid(-1), - peersTableContextMenu(0), - banTableContextMenu(0) + peersTableContextMenu(nullptr), + banTableContextMenu(nullptr) { ui->setupUi(this); GUIUtil::restoreWindowGeometry("nRPCConsoleWindow", this->size(), this); @@ -94,7 +96,6 @@ RPCConsole::RPCConsole(QWidget* parent) : QDialog(parent, Qt::WindowSystemMenuHi // set library version labels #ifdef ENABLE_WALLET ui->berkeleyDBVersion->setText(DbEnv::version(0, 0, 0)); - ui->wallet_path->setText(QString::fromStdString(GetDataDir().string() + QDir::separator().toLatin1() + gArgs.GetArg("-wallet", DEFAULT_WALLET_DAT))); #else ui->label_berkeleyDBVersion->hide(); @@ -287,6 +288,14 @@ void RPCConsole::setClientModel(ClientModel* model) } } +void RPCConsole::setWalletModel(WalletModel* model) +{ + walletModel = model; + if (walletModel) { + ui->wallet_path->setText(walletModel->getWalletPath()); + } +} + /** Restart wallet with "-salvagewallet" */ void RPCConsole::walletSalvage() { diff --git a/src/qt/rpcconsole.h b/src/qt/rpcconsole.h index cc7a7ad8b5f57..d3f7bb2284e84 100644 --- a/src/qt/rpcconsole.h +++ b/src/qt/rpcconsole.h @@ -16,6 +16,7 @@ class ClientModel; class RPCTimerInterface; +class WalletModel; namespace Ui { @@ -37,6 +38,7 @@ class RPCConsole : public QDialog ~RPCConsole(); void setClientModel(ClientModel* model); + void setWalletModel(WalletModel* model); protected: virtual bool eventFilter(QObject* obj, QEvent* event); @@ -140,6 +142,7 @@ public Q_SLOTS: Ui::RPCConsole* ui; ClientModel* clientModel; + WalletModel* walletModel; QStringList history; int historyPtr; NodeId cachedNodeid; diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 034cfc89befdc..13fdbb5ecd0ef 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -120,6 +120,11 @@ bool WalletModel::upgradeWallet(std::string& upgradeError) return wallet->Upgrade(upgradeError, prev_version); } +QString WalletModel::getWalletPath() +{ + return QString::fromStdString(GetDataDir().string() + QDir::separator().toLatin1() + wallet->GetName()); +} + CAmount WalletModel::getBalance(const CCoinControl* coinControl, bool fIncludeDelegated, bool fUnlockedOnly, bool fIncludeShielded) const { if (coinControl) { diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index 1fa09393584bf..0ad630a6ec723 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -161,6 +161,9 @@ class WalletModel : public QObject bool isSaplingWalletEnabled() const; bool upgradeWallet(std::string& upgradeError); + // Returns the path to the first wallet db (future: add multi-wallet support) + QString getWalletPath(); + interfaces::WalletBalances GetWalletBalances() { return m_cached_balances; }; CAmount getBalance(const CCoinControl* coinControl = nullptr, bool fIncludeDelegated = true, bool fUnlockedOnly = false, bool fIncludeShielded = true) const;