|
|
|
@ -131,6 +131,7 @@ SplashScreen::SplashScreen(Qt::WindowFlags f, const NetworkStyle *networkStyle)
@@ -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()
@@ -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
@@ -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()
@@ -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 |
|
|
|
|