mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-26 08:51:55 +02:00
gui: Remove WalletView and BitcoinGUI circular dependency
This commit is contained in:
parent
ac3d10777d
commit
cb8a86d9f9
@ -46,7 +46,6 @@ bool WalletFrame::addWallet(WalletModel *walletModel)
|
|||||||
if (mapWalletViews.count(walletModel) > 0) return false;
|
if (mapWalletViews.count(walletModel) > 0) return false;
|
||||||
|
|
||||||
WalletView *walletView = new WalletView(platformStyle, this);
|
WalletView *walletView = new WalletView(platformStyle, this);
|
||||||
walletView->setBitcoinGUI(gui);
|
|
||||||
walletView->setClientModel(clientModel);
|
walletView->setClientModel(clientModel);
|
||||||
walletView->setWalletModel(walletModel);
|
walletView->setWalletModel(walletModel);
|
||||||
walletView->showOutOfSyncWarning(bOutOfSync);
|
walletView->showOutOfSyncWarning(bOutOfSync);
|
||||||
@ -62,6 +61,14 @@ bool WalletFrame::addWallet(WalletModel *walletModel)
|
|||||||
mapWalletViews[walletModel] = walletView;
|
mapWalletViews[walletModel] = walletView;
|
||||||
|
|
||||||
connect(walletView, &WalletView::outOfSyncWarningClicked, this, &WalletFrame::outOfSyncWarningClicked);
|
connect(walletView, &WalletView::outOfSyncWarningClicked, this, &WalletFrame::outOfSyncWarningClicked);
|
||||||
|
connect(walletView, &WalletView::transactionClicked, gui, &BitcoinGUI::gotoHistoryPage);
|
||||||
|
connect(walletView, &WalletView::coinsSent, gui, &BitcoinGUI::gotoHistoryPage);
|
||||||
|
connect(walletView, &WalletView::message, [this](const QString& title, const QString& message, unsigned int style) {
|
||||||
|
gui->message(title, message, style);
|
||||||
|
});
|
||||||
|
connect(walletView, &WalletView::encryptionStatusChanged, gui, &BitcoinGUI::updateWalletStatus);
|
||||||
|
connect(walletView, &WalletView::incomingTransaction, gui, &BitcoinGUI::incomingTransaction);
|
||||||
|
connect(walletView, &WalletView::hdEnabledStatusChanged, gui, &BitcoinGUI::updateWalletStatus);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
#include <qt/addressbookpage.h>
|
#include <qt/addressbookpage.h>
|
||||||
#include <qt/askpassphrasedialog.h>
|
#include <qt/askpassphrasedialog.h>
|
||||||
#include <qt/bitcoingui.h>
|
|
||||||
#include <qt/clientmodel.h>
|
#include <qt/clientmodel.h>
|
||||||
#include <qt/guiutil.h>
|
#include <qt/guiutil.h>
|
||||||
#include <qt/optionsmodel.h>
|
#include <qt/optionsmodel.h>
|
||||||
@ -88,32 +87,6 @@ WalletView::~WalletView()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void WalletView::setBitcoinGUI(BitcoinGUI *gui)
|
|
||||||
{
|
|
||||||
if (gui)
|
|
||||||
{
|
|
||||||
// Clicking on a transaction on the overview page simply sends you to transaction history page
|
|
||||||
connect(this, &WalletView::transactionClicked, gui, &BitcoinGUI::gotoHistoryPage);
|
|
||||||
|
|
||||||
// Navigate to transaction history page after send
|
|
||||||
connect(this, &WalletView::coinsSent, gui, &BitcoinGUI::gotoHistoryPage);
|
|
||||||
|
|
||||||
// Receive and report messages
|
|
||||||
connect(this, &WalletView::message, [gui](const QString &title, const QString &message, unsigned int style) {
|
|
||||||
gui->message(title, message, style);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Pass through encryption status changed signals
|
|
||||||
connect(this, &WalletView::encryptionStatusChanged, gui, &BitcoinGUI::updateWalletStatus);
|
|
||||||
|
|
||||||
// Pass through transaction notifications
|
|
||||||
connect(this, &WalletView::incomingTransaction, gui, &BitcoinGUI::incomingTransaction);
|
|
||||||
|
|
||||||
// Connect HD enabled state signal
|
|
||||||
connect(this, &WalletView::hdEnabledStatusChanged, gui, &BitcoinGUI::updateWalletStatus);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void WalletView::setClientModel(ClientModel *_clientModel)
|
void WalletView::setClientModel(ClientModel *_clientModel)
|
||||||
{
|
{
|
||||||
this->clientModel = _clientModel;
|
this->clientModel = _clientModel;
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
#include <QStackedWidget>
|
#include <QStackedWidget>
|
||||||
|
|
||||||
class BitcoinGUI;
|
|
||||||
class ClientModel;
|
class ClientModel;
|
||||||
class OverviewPage;
|
class OverviewPage;
|
||||||
class PlatformStyle;
|
class PlatformStyle;
|
||||||
@ -39,7 +38,6 @@ public:
|
|||||||
explicit WalletView(const PlatformStyle *platformStyle, QWidget *parent);
|
explicit WalletView(const PlatformStyle *platformStyle, QWidget *parent);
|
||||||
~WalletView();
|
~WalletView();
|
||||||
|
|
||||||
void setBitcoinGUI(BitcoinGUI *gui);
|
|
||||||
/** Set the client model.
|
/** Set the client model.
|
||||||
The client model represents the part of the core that communicates with the P2P network, and is wallet-agnostic.
|
The client model represents the part of the core that communicates with the P2P network, and is wallet-agnostic.
|
||||||
*/
|
*/
|
||||||
|
@ -16,7 +16,6 @@ EXPECTED_CIRCULAR_DEPENDENCIES=(
|
|||||||
"qt/bantablemodel -> qt/clientmodel -> qt/bantablemodel"
|
"qt/bantablemodel -> qt/clientmodel -> qt/bantablemodel"
|
||||||
"qt/bitcoingui -> qt/utilitydialog -> qt/bitcoingui"
|
"qt/bitcoingui -> qt/utilitydialog -> qt/bitcoingui"
|
||||||
"qt/bitcoingui -> qt/walletframe -> qt/bitcoingui"
|
"qt/bitcoingui -> qt/walletframe -> qt/bitcoingui"
|
||||||
"qt/bitcoingui -> qt/walletview -> qt/bitcoingui"
|
|
||||||
"qt/clientmodel -> qt/peertablemodel -> qt/clientmodel"
|
"qt/clientmodel -> qt/peertablemodel -> qt/clientmodel"
|
||||||
"qt/recentrequeststablemodel -> qt/walletmodel -> qt/recentrequeststablemodel"
|
"qt/recentrequeststablemodel -> qt/walletmodel -> qt/recentrequeststablemodel"
|
||||||
"qt/sendcoinsdialog -> qt/walletmodel -> qt/sendcoinsdialog"
|
"qt/sendcoinsdialog -> qt/walletmodel -> qt/sendcoinsdialog"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user