show rotating spinner when block download out of date, tick otherwise
[novacoin.git] / src / qt / bitcoin.cpp
index 7d5712f..63d1d70 100644 (file)
@@ -3,10 +3,11 @@
  */
 #include "bitcoingui.h"
 #include "clientmodel.h"
-#include "util.h"
+#include "walletmodel.h"
+#include "qtwin.h"
+
+#include "headers.h"
 #include "init.h"
-#include "main.h"
-#include "qtui.h"
 
 #include <QApplication>
 #include <QMessageBox>
@@ -113,19 +114,42 @@ int main(int argc, char *argv[])
     {
         if(AppInit2(argc, argv))
         {
-            BitcoinGUI window;
-            ClientModel model;
-            guiref = &window;
-            window.setModel(&model);
-
-            window.show();
-
-            int retval = app.exec();
-
-            guiref = 0;
+            {
+                // Put this in a block, so that BitcoinGUI is cleaned up properly before
+                // calling shutdown.
+                BitcoinGUI window;
+                ClientModel clientModel(pwalletMain);
+                WalletModel walletModel(pwalletMain);
+
+                guiref = &window;
+                window.setClientModel(&clientModel);
+                window.setWalletModel(&walletModel);
+
+                if (QtWin::isCompositionEnabled())
+                {
+#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
+                    QtWin::extendFrameIntoClientArea(&window);
+                    window.setContentsMargins(0, 0, 0, 0);
+                }
+
+                window.show();
+
+                app.exec();
+
+                guiref = 0;
+            }
             Shutdown(NULL);
-
-            return retval;
         }
         else
         {
@@ -136,4 +160,5 @@ int main(int argc, char *argv[])
     } catch (...) {
         PrintException(NULL, "Runaway exception");
     }
+    return 0;
 }