@ -13,6 +13,7 @@
WalletStack : : WalletStack ( QWidget * parent ) :
WalletStack : : WalletStack ( QWidget * parent ) :
QStackedWidget ( parent ) ,
QStackedWidget ( parent ) ,
gui ( 0 ) ,
clientModel ( 0 ) ,
clientModel ( 0 ) ,
bOutOfSync ( true )
bOutOfSync ( true )
{
{
@ -25,7 +26,7 @@ WalletStack::~WalletStack()
bool WalletStack : : addWallet ( const QString & name , WalletModel * walletModel )
bool WalletStack : : addWallet ( const QString & name , WalletModel * walletModel )
{
{
if ( ! gui | | ! clientModel | | mapWalletViews . count ( name ) > 0 )
if ( ! gui | | ! clientModel | | ! walletModel | | mapWalletViews . count ( name ) > 0 )
return false ;
return false ;
WalletView * walletView = new WalletView ( this , gui ) ;
WalletView * walletView = new WalletView ( this , gui ) ;
@ -35,12 +36,18 @@ bool WalletStack::addWallet(const QString& name, WalletModel *walletModel)
walletView - > showOutOfSyncWarning ( bOutOfSync ) ;
walletView - > showOutOfSyncWarning ( bOutOfSync ) ;
addWidget ( walletView ) ;
addWidget ( walletView ) ;
mapWalletViews [ name ] = walletView ;
mapWalletViews [ name ] = walletView ;
// Ensure a walletView is able to show the main window
connect ( walletView , SIGNAL ( showNormalIfMinimized ( ) ) , gui , SLOT ( showNormalIfMinimized ( ) ) ) ;
return true ;
return true ;
}
}
bool WalletStack : : removeWallet ( const QString & name )
bool WalletStack : : removeWallet ( const QString & name )
{
{
if ( mapWalletViews . count ( name ) = = 0 ) return false ;
if ( mapWalletViews . count ( name ) = = 0 )
return false ;
WalletView * walletView = mapWalletViews . take ( name ) ;
WalletView * walletView = mapWalletViews . take ( name ) ;
removeWidget ( walletView ) ;
removeWidget ( walletView ) ;
return true ;
return true ;
@ -57,7 +64,8 @@ void WalletStack::removeAllWallets()
bool WalletStack : : handlePaymentRequest ( const SendCoinsRecipient & recipient )
bool WalletStack : : handlePaymentRequest ( const SendCoinsRecipient & recipient )
{
{
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
if ( ! walletView ) return false ;
if ( ! walletView )
return false ;
return walletView - > handlePaymentRequest ( recipient ) ;
return walletView - > handlePaymentRequest ( recipient ) ;
}
}
@ -108,49 +116,59 @@ void WalletStack::gotoSendCoinsPage(QString addr)
void WalletStack : : gotoSignMessageTab ( QString addr )
void WalletStack : : gotoSignMessageTab ( QString addr )
{
{
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
if ( walletView ) walletView - > gotoSignMessageTab ( addr ) ;
if ( walletView )
walletView - > gotoSignMessageTab ( addr ) ;
}
}
void WalletStack : : gotoVerifyMessageTab ( QString addr )
void WalletStack : : gotoVerifyMessageTab ( QString addr )
{
{
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
if ( walletView ) walletView - > gotoVerifyMessageTab ( addr ) ;
if ( walletView )
walletView - > gotoVerifyMessageTab ( addr ) ;
}
}
void WalletStack : : encryptWallet ( bool status )
void WalletStack : : encryptWallet ( bool status )
{
{
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
if ( walletView ) walletView - > encryptWallet ( status ) ;
if ( walletView )
walletView - > encryptWallet ( status ) ;
}
}
void WalletStack : : backupWallet ( )
void WalletStack : : backupWallet ( )
{
{
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
if ( walletView ) walletView - > backupWallet ( ) ;
if ( walletView )
walletView - > backupWallet ( ) ;
}
}
void WalletStack : : changePassphrase ( )
void WalletStack : : changePassphrase ( )
{
{
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
if ( walletView ) walletView - > changePassphrase ( ) ;
if ( walletView )
walletView - > changePassphrase ( ) ;
}
}
void WalletStack : : unlockWallet ( )
void WalletStack : : unlockWallet ( )
{
{
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
if ( walletView ) walletView - > unlockWallet ( ) ;
if ( walletView )
walletView - > unlockWallet ( ) ;
}
}
void WalletStack : : setEncryptionStatus ( )
void WalletStack : : setEncryptionStatus ( )
{
{
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
WalletView * walletView = ( WalletView * ) currentWidget ( ) ;
if ( walletView ) walletView - > setEncryptionStatus ( ) ;
if ( walletView )
walletView - > setEncryptionStatus ( ) ;
}
}
void WalletStack : : setCurrentWallet ( const QString & name )
bool WalletStack : : setCurrentWallet ( const QString & name )
{
{
if ( mapWalletViews . count ( name ) = = 0 ) return ;
if ( mapWalletViews . count ( name ) = = 0 )
return false ;
WalletView * walletView = mapWalletViews . value ( name ) ;
WalletView * walletView = mapWalletViews . value ( name ) ;
setCurrentWidget ( walletView ) ;
setCurrentWidget ( walletView ) ;
walletView - > setEncryptionStatus ( ) ;
walletView - > setEncryptionStatus ( ) ;
return true ;
}
}