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.
162 lines
3.5 KiB
162 lines
3.5 KiB
7 years ago
|
/*
|
||
|
* Qt4 bitcoin GUI.
|
||
|
*
|
||
|
* W.J. van der Laan 2011-2012
|
||
|
* The Bitcoin Developers 2011-2013
|
||
|
*/
|
||
|
#include "walletframe.h"
|
||
|
#include "bitcoingui.h"
|
||
|
#include "walletstack.h"
|
||
|
#include "walletview.h"
|
||
|
|
||
|
#include <QHBoxLayout>
|
||
|
#include <QMessageBox>
|
||
|
#include <QLabel>
|
||
|
|
||
|
WalletFrame::WalletFrame(BitcoinGUI *_gui) :
|
||
|
QFrame(_gui),
|
||
|
gui(_gui),
|
||
|
clientModel(0)
|
||
|
{
|
||
|
// Leave HBox hook for adding a list view later
|
||
|
QHBoxLayout *walletFrameLayout = new QHBoxLayout(this);
|
||
|
setContentsMargins(0,0,0,0);
|
||
|
walletStack = new WalletStack(this);
|
||
|
walletStack->setBitcoinGUI(gui);
|
||
|
walletFrameLayout->setContentsMargins(0,0,0,0);
|
||
|
walletFrameLayout->addWidget(walletStack);
|
||
|
|
||
|
QLabel *noWallet = new QLabel(tr("No wallet has been loaded."));
|
||
|
noWallet->setAlignment(Qt::AlignCenter);
|
||
|
walletStack->addWidget(noWallet);
|
||
|
}
|
||
|
|
||
|
WalletFrame::~WalletFrame()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
void WalletFrame::setClientModel(ClientModel *clientModel)
|
||
|
{
|
||
|
this->clientModel = clientModel;
|
||
|
walletStack->setClientModel(clientModel);
|
||
|
}
|
||
|
|
||
|
bool WalletFrame::addWallet(const QString& name, WalletModel *walletModel)
|
||
|
{
|
||
|
return walletStack->addWallet(name, walletModel);
|
||
|
}
|
||
|
|
||
|
bool WalletFrame::setCurrentWallet(const QString& name)
|
||
|
{
|
||
|
// TODO: Check if valid name
|
||
|
walletStack->setCurrentWallet(name);
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
void WalletFrame::removeAllWallets()
|
||
|
{
|
||
|
walletStack->removeAllWallets();
|
||
|
}
|
||
|
|
||
|
bool WalletFrame::handleURI(const QString &uri)
|
||
|
{
|
||
|
WalletView *walletView = currentWalletView();
|
||
|
if (!walletView)
|
||
|
return false;
|
||
|
|
||
|
return walletStack->handleURI(uri);
|
||
|
}
|
||
|
|
||
|
void WalletFrame::showOutOfSyncWarning(bool fShow)
|
||
|
{
|
||
|
if (!walletStack) {
|
||
|
QMessageBox box;
|
||
|
box.setText("walletStack is null");
|
||
|
box.exec();
|
||
|
return;
|
||
|
}
|
||
|
walletStack->showOutOfSyncWarning(fShow);
|
||
|
}
|
||
|
|
||
|
void WalletFrame::gotoOverviewPage()
|
||
|
{
|
||
|
walletStack->gotoOverviewPage();
|
||
|
}
|
||
|
|
||
|
void WalletFrame::gotoHistoryPage()
|
||
|
{
|
||
|
walletStack->gotoHistoryPage();
|
||
|
}
|
||
|
|
||
|
void WalletFrame::gotoAddressBookPage()
|
||
|
{
|
||
|
WalletView *walletView = currentWalletView();
|
||
|
if (walletView)
|
||
|
walletStack->gotoAddressBookPage();
|
||
|
}
|
||
|
|
||
|
void WalletFrame::gotoReceiveCoinsPage()
|
||
|
{
|
||
|
walletStack->gotoReceiveCoinsPage();
|
||
|
}
|
||
|
|
||
|
void WalletFrame::gotoSendCoinsPage(QString addr)
|
||
|
{
|
||
|
walletStack->gotoSendCoinsPage(addr);
|
||
|
}
|
||
|
|
||
|
void WalletFrame::gotoSignMessageTab(QString addr)
|
||
|
{
|
||
|
WalletView *walletView = currentWalletView();
|
||
|
if (walletView)
|
||
|
walletView->gotoSignMessageTab(addr);
|
||
|
}
|
||
|
|
||
|
void WalletFrame::gotoVerifyMessageTab(QString addr)
|
||
|
{
|
||
|
WalletView *walletView = currentWalletView();
|
||
|
if (walletView)
|
||
|
walletView->gotoVerifyMessageTab(addr);
|
||
|
}
|
||
|
|
||
|
void WalletFrame::encryptWallet(bool status)
|
||
|
{
|
||
|
WalletView *walletView = currentWalletView();
|
||
|
if (walletView)
|
||
|
walletView->encryptWallet(status);
|
||
|
}
|
||
|
|
||
|
void WalletFrame::backupWallet()
|
||
|
{
|
||
|
WalletView *walletView = currentWalletView();
|
||
|
if (walletView)
|
||
|
walletView->backupWallet();
|
||
|
}
|
||
|
|
||
|
void WalletFrame::changePassphrase()
|
||
|
{
|
||
|
WalletView *walletView = currentWalletView();
|
||
|
if (walletView)
|
||
|
walletView->changePassphrase();
|
||
|
}
|
||
|
|
||
|
void WalletFrame::unlockWallet()
|
||
|
{
|
||
|
WalletView *walletView = currentWalletView();
|
||
|
if (walletView)
|
||
|
walletView->unlockWallet();
|
||
|
}
|
||
|
|
||
|
void WalletFrame::setEncryptionStatus()
|
||
|
{
|
||
|
WalletView *walletView = currentWalletView();
|
||
|
if (walletView)
|
||
|
walletStack->setEncryptionStatus();
|
||
|
}
|
||
|
|
||
|
WalletView *WalletFrame::currentWalletView()
|
||
|
{
|
||
|
return qobject_cast<WalletView*>(walletStack->currentWidget());
|
||
|
}
|
||
|
|