X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fqt%2Fbitcoin.cpp;h=daba512adc3240015bc250aa582ad151108a5bdd;hb=94723e27adf04eb62b3cdb40ead503ee5f40cab4;hp=7d5712f4aa7080953417e9e6266ef74d9f1c1283;hpb=daaee738fcdcb6b319b522ee40bc26a95c8a7ad3;p=novacoin.git diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index 7d5712f..daba512 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -3,19 +3,23 @@ */ #include "bitcoingui.h" #include "clientmodel.h" -#include "util.h" +#include "walletmodel.h" +#include "optionsmodel.h" + +#include "headers.h" #include "init.h" -#include "main.h" -#include "qtui.h" #include #include #include +#include #include #include +#include // Need a global reference for the notifications to find the GUI BitcoinGUI *guiref; +QSplashScreen *splashref; int MyMessageBox(const std::string& message, const std::string& caption, int style, wxWindow* parent, int x, int y) { @@ -88,6 +92,15 @@ void MainFrameRepaint() { } +void InitMessage(const std::string &message) +{ + if(splashref) + { + splashref->showMessage(QString::fromStdString(message), Qt::AlignBottom|Qt::AlignHCenter, QColor(255,255,200)); + QApplication::instance()->processEvents(); + } +} + /* Translate string to current locale using Qt. */ @@ -98,6 +111,9 @@ std::string _(const char* psz) int main(int argc, char *argv[]) { + QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); + QTextCodec::setCodecForCStrings(QTextCodec::codecForTr()); + Q_INIT_RESOURCE(bitcoin); QApplication app(argc, argv); @@ -107,25 +123,39 @@ int main(int argc, char *argv[]) translator.load("bitcoin_"+locale); app.installTranslator(&translator); + QSplashScreen splash(QPixmap(":/images/splash"), 0); + splash.show(); + splash.setAutoFillBackground(true); + splashref = &splash; + + app.processEvents(); + app.setQuitOnLastWindowClosed(false); try { if(AppInit2(argc, argv)) { - BitcoinGUI window; - ClientModel model; - guiref = &window; - window.setModel(&model); + { + // Put this in a block, so that BitcoinGUI is cleaned up properly before + // calling Shutdown(). + BitcoinGUI window; + splash.finish(&window); + OptionsModel optionsModel(pwalletMain); + ClientModel clientModel(&optionsModel); + WalletModel walletModel(pwalletMain, &optionsModel); - window.show(); + guiref = &window; + window.setClientModel(&clientModel); + window.setWalletModel(&walletModel); - int retval = app.exec(); + window.show(); - guiref = 0; - Shutdown(NULL); + app.exec(); - return retval; + guiref = 0; + } + Shutdown(NULL); } else { @@ -136,4 +166,5 @@ int main(int argc, char *argv[]) } catch (...) { PrintException(NULL, "Runaway exception"); } + return 0; }