mirror of https://github.com/GOSTSec/gostcoin
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
4.3 KiB
158 lines
4.3 KiB
// Qt bitcoin GUI. |
|
// |
|
// Copyright (c) 2011-2012 W.J. van der Laan |
|
// Copyright (c) 2011-2012 The Bitcoin Developers |
|
// Copyright (c) 2017-2018 The Gostcoin Developers |
|
// Distributed under the MIT/X11 software license, see the accompanying |
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php. |
|
|
|
#include "walletstack.h" |
|
#include "walletview.h" |
|
#include "bitcoingui.h" |
|
|
|
#include <QMap> |
|
#include <QMessageBox> |
|
|
|
WalletStack::WalletStack(QWidget *parent) : |
|
QStackedWidget(parent), |
|
clientModel(0), |
|
bOutOfSync(true) |
|
{ |
|
setContentsMargins(0,0,0,0); |
|
} |
|
|
|
WalletStack::~WalletStack() |
|
{ |
|
} |
|
|
|
bool WalletStack::addWallet(const QString& name, WalletModel *walletModel) |
|
{ |
|
if (!gui || !clientModel || mapWalletViews.count(name) > 0) |
|
return false; |
|
|
|
WalletView *walletView = new WalletView(this, gui); |
|
walletView->setBitcoinGUI(gui); |
|
walletView->setClientModel(clientModel); |
|
walletView->setWalletModel(walletModel); |
|
walletView->showOutOfSyncWarning(bOutOfSync); |
|
addWidget(walletView); |
|
mapWalletViews[name] = walletView; |
|
return true; |
|
} |
|
|
|
bool WalletStack::removeWallet(const QString& name) |
|
{ |
|
if (mapWalletViews.count(name) == 0) return false; |
|
WalletView *walletView = mapWalletViews.take(name); |
|
removeWidget(walletView); |
|
return true; |
|
} |
|
|
|
void WalletStack::removeAllWallets() |
|
{ |
|
QMap<QString, WalletView*>::const_iterator i; |
|
for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) |
|
removeWidget(i.value()); |
|
mapWalletViews.clear(); |
|
} |
|
|
|
bool WalletStack::handleURI(const QString &uri) |
|
{ |
|
WalletView *walletView = (WalletView*)currentWidget(); |
|
if (!walletView) return false; |
|
|
|
return walletView->handleURI(uri); |
|
} |
|
|
|
void WalletStack::showOutOfSyncWarning(bool fShow) |
|
{ |
|
bOutOfSync = fShow; |
|
QMap<QString, WalletView*>::const_iterator i; |
|
for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) |
|
i.value()->showOutOfSyncWarning(fShow); |
|
} |
|
|
|
void WalletStack::gotoOverviewPage() |
|
{ |
|
QMap<QString, WalletView*>::const_iterator i; |
|
for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) |
|
i.value()->gotoOverviewPage(); |
|
} |
|
|
|
void WalletStack::gotoHistoryPage() |
|
{ |
|
QMap<QString, WalletView*>::const_iterator i; |
|
for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) |
|
i.value()->gotoHistoryPage(); |
|
} |
|
|
|
void WalletStack::gotoAddressBookPage() |
|
{ |
|
QMap<QString, WalletView*>::const_iterator i; |
|
for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) |
|
i.value()->gotoAddressBookPage(); |
|
} |
|
|
|
void WalletStack::gotoReceiveCoinsPage() |
|
{ |
|
QMap<QString, WalletView*>::const_iterator i; |
|
for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) |
|
i.value()->gotoReceiveCoinsPage(); |
|
} |
|
|
|
void WalletStack::gotoSendCoinsPage(QString addr) |
|
{ |
|
QMap<QString, WalletView*>::const_iterator i; |
|
for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) |
|
i.value()->gotoSendCoinsPage(addr); |
|
} |
|
|
|
void WalletStack::gotoSignMessageTab(QString addr) |
|
{ |
|
WalletView *walletView = (WalletView*)currentWidget(); |
|
if (walletView) walletView->gotoSignMessageTab(addr); |
|
} |
|
|
|
void WalletStack::gotoVerifyMessageTab(QString addr) |
|
{ |
|
WalletView *walletView = (WalletView*)currentWidget(); |
|
if (walletView) walletView->gotoVerifyMessageTab(addr); |
|
} |
|
|
|
void WalletStack::encryptWallet(bool status) |
|
{ |
|
WalletView *walletView = (WalletView*)currentWidget(); |
|
if (walletView) walletView->encryptWallet(status); |
|
} |
|
|
|
void WalletStack::backupWallet() |
|
{ |
|
WalletView *walletView = (WalletView*)currentWidget(); |
|
if (walletView) walletView->backupWallet(); |
|
} |
|
|
|
void WalletStack::changePassphrase() |
|
{ |
|
WalletView *walletView = (WalletView*)currentWidget(); |
|
if (walletView) walletView->changePassphrase(); |
|
} |
|
|
|
void WalletStack::unlockWallet() |
|
{ |
|
WalletView *walletView = (WalletView*)currentWidget(); |
|
if (walletView) walletView->unlockWallet(); |
|
} |
|
|
|
void WalletStack::setEncryptionStatus() |
|
{ |
|
WalletView *walletView = (WalletView*)currentWidget(); |
|
if (walletView) walletView->setEncryptionStatus(); |
|
} |
|
|
|
void WalletStack::setCurrentWallet(const QString& name) |
|
{ |
|
if (mapWalletViews.count(name) == 0) return; |
|
WalletView *walletView = mapWalletViews.value(name); |
|
setCurrentWidget(walletView); |
|
walletView->setEncryptionStatus(); |
|
}
|
|
|