Qt/splash: Specifically keep track of which wallet(s) we are connected to for later disconnecting
This commit is contained in:
parent
1880aeb033
commit
178cd887ec
2 changed files with 12 additions and 5 deletions
|
@ -151,9 +151,10 @@ static void ShowProgress(SplashScreen *splash, const std::string &title, int nPr
|
|||
}
|
||||
|
||||
#ifdef ENABLE_WALLET
|
||||
static void ConnectWallet(SplashScreen *splash, CWallet* wallet)
|
||||
void SplashScreen::ConnectWallet(CWallet* wallet)
|
||||
{
|
||||
wallet->ShowProgress.connect(boost::bind(ShowProgress, splash, _1, _2));
|
||||
wallet->ShowProgress.connect(boost::bind(ShowProgress, this, _1, _2));
|
||||
connectedWallets.push_back(wallet);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -163,7 +164,7 @@ void SplashScreen::subscribeToCoreSignals()
|
|||
uiInterface.InitMessage.connect(boost::bind(InitMessage, this, _1));
|
||||
uiInterface.ShowProgress.connect(boost::bind(ShowProgress, this, _1, _2));
|
||||
#ifdef ENABLE_WALLET
|
||||
uiInterface.LoadWallet.connect(boost::bind(ConnectWallet, this, _1));
|
||||
uiInterface.LoadWallet.connect(boost::bind(&SplashScreen::ConnectWallet, this, _1));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -173,8 +174,9 @@ void SplashScreen::unsubscribeFromCoreSignals()
|
|||
uiInterface.InitMessage.disconnect(boost::bind(InitMessage, this, _1));
|
||||
uiInterface.ShowProgress.disconnect(boost::bind(ShowProgress, this, _1, _2));
|
||||
#ifdef ENABLE_WALLET
|
||||
if(pwalletMain)
|
||||
pwalletMain->ShowProgress.disconnect(boost::bind(ShowProgress, this, _1, _2));
|
||||
Q_FOREACH(CWallet* const & pwallet, connectedWallets) {
|
||||
pwallet->ShowProgress.disconnect(boost::bind(ShowProgress, this, _1, _2));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
#include <QSplashScreen>
|
||||
|
||||
class CWallet;
|
||||
class NetworkStyle;
|
||||
|
||||
/** Class for the splashscreen with information of the running client.
|
||||
|
@ -39,11 +40,15 @@ private:
|
|||
void subscribeToCoreSignals();
|
||||
/** Disconnect core signals to splash screen */
|
||||
void unsubscribeFromCoreSignals();
|
||||
/** Connect wallet signals to splash screen */
|
||||
void ConnectWallet(CWallet*);
|
||||
|
||||
QPixmap pixmap;
|
||||
QString curMessage;
|
||||
QColor curColor;
|
||||
int curAlignment;
|
||||
|
||||
QList<CWallet*> connectedWallets;
|
||||
};
|
||||
|
||||
#endif // BITCOIN_QT_SPLASHSCREEN_H
|
||||
|
|
Loading…
Reference in a new issue