#include "bitcoingui.h"
#include "clientmodel.h"
#include "walletmodel.h"
-#include "qtwin.h"
+#include "optionsmodel.h"
#include "headers.h"
#include "init.h"
#include <QApplication>
#include <QMessageBox>
#include <QThread>
+#include <QTextCodec>
#include <QLocale>
#include <QTranslator>
+#include <QSplashScreen>
// 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)
{
{
}
+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.
*/
int main(int argc, char *argv[])
{
+ QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
+ QTextCodec::setCodecForCStrings(QTextCodec::codecForTr());
+
Q_INIT_RESOURCE(bitcoin);
QApplication app(argc, 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
{
{
// Put this in a block, so that BitcoinGUI is cleaned up properly before
- // calling shutdown.
+ // calling Shutdown().
BitcoinGUI window;
- ClientModel clientModel(pwalletMain);
- WalletModel walletModel(pwalletMain);
+ splash.finish(&window);
+ OptionsModel optionsModel(pwalletMain);
+ ClientModel clientModel(&optionsModel);
+ WalletModel walletModel(pwalletMain, &optionsModel);
guiref = &window;
window.setClientModel(&clientModel);
window.setWalletModel(&walletModel);
-#ifdef Q_WS_WIN32
- // Windows-specific customization
- window.setAttribute(Qt::WA_TranslucentBackground);
- window.setAttribute(Qt::WA_NoSystemBackground, false);
- QPalette pal = window.palette();
- QColor bg = pal.window().color();
- bg.setAlpha(0);
- pal.setColor(QPalette::Window, bg);
- window.setPalette(pal);
- window.ensurePolished();
- window.setAttribute(Qt::WA_StyledBackground, false);
-#endif
- if (QtWin::isCompositionEnabled())
- {
- QtWin::extendFrameIntoClientArea(&window);
- window.setContentsMargins(0, 0, 0, 0);
- }
-
window.show();
app.exec();