|
|
|
@ -131,6 +131,7 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle)
|
|
|
|
|
move(QApplication::desktop()->screenGeometry().center() - r.center());
|
|
|
|
|
|
|
|
|
|
subscribeToCoreSignals();
|
|
|
|
|
installEventFilter(this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SplashScreen::~SplashScreen()
|
|
|
|
@ -138,6 +139,16 @@ SplashScreen::~SplashScreen()
|
|
|
|
|
unsubscribeFromCoreSignals();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool SplashScreen::eventFilter(QObject * obj, QEvent * ev) {
|
|
|
|
|
if (ev->type() == QEvent::KeyPress) {
|
|
|
|
|
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(ev);
|
|
|
|
|
if(keyEvent->text()[0] == 'q' && breakAction != nullptr) {
|
|
|
|
|
breakAction();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return QObject::eventFilter(obj, ev);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SplashScreen::slotFinish(QWidget *mainWin)
|
|
|
|
|
{
|
|
|
|
|
Q_UNUSED(mainWin);
|
|
|
|
@ -164,6 +175,18 @@ static void ShowProgress(SplashScreen *splash, const std::string &title, int nPr
|
|
|
|
|
InitMessage(splash, title + strprintf("%d", nProgress) + "%");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SplashScreen::setBreakAction(const std::function<void(void)> &action)
|
|
|
|
|
{
|
|
|
|
|
breakAction = action;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void SetProgressBreakAction(SplashScreen *splash, const std::function<void(void)> &action)
|
|
|
|
|
{
|
|
|
|
|
QMetaObject::invokeMethod(splash, "setBreakAction",
|
|
|
|
|
Qt::QueuedConnection,
|
|
|
|
|
Q_ARG(std::function<void(void)>, action));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#ifdef ENABLE_WALLET
|
|
|
|
|
void SplashScreen::ConnectWallet(CWallet* wallet)
|
|
|
|
|
{
|
|
|
|
@ -177,6 +200,7 @@ void SplashScreen::subscribeToCoreSignals()
|
|
|
|
|
// Connect signals to client
|
|
|
|
|
uiInterface.InitMessage.connect(boost::bind(InitMessage, this, _1));
|
|
|
|
|
uiInterface.ShowProgress.connect(boost::bind(ShowProgress, this, _1, _2));
|
|
|
|
|
uiInterface.SetProgressBreakAction.connect(boost::bind(SetProgressBreakAction, this, _1));
|
|
|
|
|
#ifdef ENABLE_WALLET
|
|
|
|
|
uiInterface.LoadWallet.connect(boost::bind(&SplashScreen::ConnectWallet, this, _1));
|
|
|
|
|
#endif
|
|
|
|
|