30
30
#include < QPushButton>
31
31
#include < QVBoxLayout>
32
32
33
- WalletView::WalletView (const PlatformStyle * _platformStyle, QWidget * parent):
34
- QStackedWidget(parent),
35
- clientModel(nullptr ),
36
- walletModel(nullptr ),
37
- platformStyle(_platformStyle)
33
+ WalletView::WalletView (WalletModel* wallet_model, const PlatformStyle* _platformStyle, QWidget* parent)
34
+ : QStackedWidget(parent),
35
+ clientModel(nullptr ),
36
+ walletModel(wallet_model ),
37
+ platformStyle(_platformStyle)
38
38
{
39
+ assert (walletModel);
40
+
39
41
// Create tabs
40
42
overviewPage = new OverviewPage (platformStyle);
43
+ overviewPage->setWalletModel (walletModel);
41
44
42
45
transactionsPage = new QWidget (this );
43
46
QVBoxLayout *vbox = new QVBoxLayout ();
44
47
QHBoxLayout *hbox_buttons = new QHBoxLayout ();
45
48
transactionView = new TransactionView (platformStyle, this );
49
+ transactionView->setModel (walletModel);
50
+
46
51
vbox->addWidget (transactionView);
47
52
QPushButton *exportButton = new QPushButton (tr (" &Export" ), this );
48
53
exportButton->setToolTip (tr (" Export the data in the current tab to a file" ));
@@ -55,10 +60,16 @@ WalletView::WalletView(const PlatformStyle *_platformStyle, QWidget *parent):
55
60
transactionsPage->setLayout (vbox);
56
61
57
62
receiveCoinsPage = new ReceiveCoinsDialog (platformStyle);
63
+ receiveCoinsPage->setModel (walletModel);
64
+
58
65
sendCoinsPage = new SendCoinsDialog (platformStyle);
66
+ sendCoinsPage->setModel (walletModel);
59
67
60
68
usedSendingAddressesPage = new AddressBookPage (platformStyle, AddressBookPage::ForEditing, AddressBookPage::SendingTab, this );
69
+ usedSendingAddressesPage->setModel (walletModel->getAddressTableModel ());
70
+
61
71
usedReceivingAddressesPage = new AddressBookPage (platformStyle, AddressBookPage::ForEditing, AddressBookPage::ReceivingTab, this );
72
+ usedReceivingAddressesPage->setModel (walletModel->getAddressTableModel ());
62
73
63
74
addWidget (overviewPage);
64
75
addWidget (transactionsPage);
@@ -84,6 +95,21 @@ WalletView::WalletView(const PlatformStyle *_platformStyle, QWidget *parent):
84
95
connect (transactionView, &TransactionView::message, this , &WalletView::message);
85
96
86
97
connect (this , &WalletView::setPrivacy, overviewPage, &OverviewPage::setPrivacy);
98
+
99
+ // Receive and pass through messages from wallet model
100
+ connect (walletModel, &WalletModel::message, this , &WalletView::message);
101
+
102
+ // Handle changes in encryption status
103
+ connect (walletModel, &WalletModel::encryptionStatusChanged, this , &WalletView::encryptionStatusChanged);
104
+
105
+ // Balloon pop-up for new transaction
106
+ connect (walletModel->getTransactionTableModel (), &TransactionTableModel::rowsInserted, this , &WalletView::processNewTransaction);
107
+
108
+ // Ask for passphrase if needed
109
+ connect (walletModel, &WalletModel::requireUnlock, this , &WalletView::unlockWallet);
110
+
111
+ // Show progress dialog
112
+ connect (walletModel, &WalletModel::showProgress, this , &WalletView::showProgress);
87
113
}
88
114
89
115
WalletView::~WalletView ()
@@ -99,37 +125,6 @@ void WalletView::setClientModel(ClientModel *_clientModel)
99
125
if (walletModel) walletModel->setClientModel (_clientModel);
100
126
}
101
127
102
- void WalletView::setWalletModel (WalletModel *_walletModel)
103
- {
104
- this ->walletModel = _walletModel;
105
-
106
- // Put transaction list in tabs
107
- transactionView->setModel (_walletModel);
108
- overviewPage->setWalletModel (_walletModel);
109
- receiveCoinsPage->setModel (_walletModel);
110
- sendCoinsPage->setModel (_walletModel);
111
- usedReceivingAddressesPage->setModel (_walletModel ? _walletModel->getAddressTableModel () : nullptr );
112
- usedSendingAddressesPage->setModel (_walletModel ? _walletModel->getAddressTableModel () : nullptr );
113
-
114
- if (_walletModel)
115
- {
116
- // Receive and pass through messages from wallet model
117
- connect (_walletModel, &WalletModel::message, this , &WalletView::message);
118
-
119
- // Handle changes in encryption status
120
- connect (_walletModel, &WalletModel::encryptionStatusChanged, this , &WalletView::encryptionStatusChanged);
121
-
122
- // Balloon pop-up for new transaction
123
- connect (_walletModel->getTransactionTableModel (), &TransactionTableModel::rowsInserted, this , &WalletView::processNewTransaction);
124
-
125
- // Ask for passphrase if needed
126
- connect (_walletModel, &WalletModel::requireUnlock, this , &WalletView::unlockWallet);
127
-
128
- // Show progress dialog
129
- connect (_walletModel, &WalletModel::showProgress, this , &WalletView::showProgress);
130
- }
131
- }
132
-
133
128
void WalletView::processNewTransaction (const QModelIndex& parent, int start, int /* end*/ )
134
129
{
135
130
// Prevent balloon-spam when initial block download is in progress
0 commit comments