From f10b2d70d09c2e9f5c14ba5e3673c5fb31aa9468 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 13 Jan 2014 14:16:48 +0100 Subject: qt: use series of pngs for spinner Use a series of .png frames for the spinner instead of a .mng. `mng` is an obscure image format and is not built by default into Qt5. This appears to improve the crispness of the spinner as well. Does not noticably increase the size (still ~27k) and the code is not more complicated either. --- src/qt/Makefile.am | 2 +- src/qt/bitcoin.qrc | 36 ++++++++++++++++++++++++++++++++++- src/qt/bitcoingui.cpp | 14 ++++++++------ src/qt/bitcoingui.h | 2 +- src/qt/guiconstants.h | 3 +++ src/qt/res/movies/spinner-000.png | Bin 0 -> 861 bytes src/qt/res/movies/spinner-001.png | Bin 0 -> 835 bytes src/qt/res/movies/spinner-002.png | Bin 0 -> 849 bytes src/qt/res/movies/spinner-003.png | Bin 0 -> 844 bytes src/qt/res/movies/spinner-004.png | Bin 0 -> 836 bytes src/qt/res/movies/spinner-005.png | Bin 0 -> 855 bytes src/qt/res/movies/spinner-006.png | Bin 0 -> 852 bytes src/qt/res/movies/spinner-007.png | Bin 0 -> 888 bytes src/qt/res/movies/spinner-008.png | Bin 0 -> 865 bytes src/qt/res/movies/spinner-009.png | Bin 0 -> 847 bytes src/qt/res/movies/spinner-010.png | Bin 0 -> 854 bytes src/qt/res/movies/spinner-011.png | Bin 0 -> 856 bytes src/qt/res/movies/spinner-012.png | Bin 0 -> 861 bytes src/qt/res/movies/spinner-013.png | Bin 0 -> 882 bytes src/qt/res/movies/spinner-014.png | Bin 0 -> 847 bytes src/qt/res/movies/spinner-015.png | Bin 0 -> 849 bytes src/qt/res/movies/spinner-016.png | Bin 0 -> 851 bytes src/qt/res/movies/spinner-017.png | Bin 0 -> 848 bytes src/qt/res/movies/spinner-018.png | Bin 0 -> 850 bytes src/qt/res/movies/spinner-019.png | Bin 0 -> 830 bytes src/qt/res/movies/spinner-020.png | Bin 0 -> 847 bytes src/qt/res/movies/spinner-021.png | Bin 0 -> 850 bytes src/qt/res/movies/spinner-022.png | Bin 0 -> 858 bytes src/qt/res/movies/spinner-023.png | Bin 0 -> 854 bytes src/qt/res/movies/spinner-024.png | Bin 0 -> 868 bytes src/qt/res/movies/spinner-025.png | Bin 0 -> 865 bytes src/qt/res/movies/spinner-026.png | Bin 0 -> 864 bytes src/qt/res/movies/spinner-027.png | Bin 0 -> 855 bytes src/qt/res/movies/spinner-028.png | Bin 0 -> 836 bytes src/qt/res/movies/spinner-029.png | Bin 0 -> 846 bytes src/qt/res/movies/spinner-030.png | Bin 0 -> 866 bytes src/qt/res/movies/spinner-031.png | Bin 0 -> 871 bytes src/qt/res/movies/spinner-032.png | Bin 0 -> 861 bytes src/qt/res/movies/spinner-033.png | Bin 0 -> 849 bytes src/qt/res/movies/spinner-034.png | Bin 0 -> 859 bytes src/qt/res/movies/update_spinner.mng | Bin 27817 -> 0 bytes 41 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 src/qt/res/movies/spinner-000.png create mode 100644 src/qt/res/movies/spinner-001.png create mode 100644 src/qt/res/movies/spinner-002.png create mode 100644 src/qt/res/movies/spinner-003.png create mode 100644 src/qt/res/movies/spinner-004.png create mode 100644 src/qt/res/movies/spinner-005.png create mode 100644 src/qt/res/movies/spinner-006.png create mode 100644 src/qt/res/movies/spinner-007.png create mode 100644 src/qt/res/movies/spinner-008.png create mode 100644 src/qt/res/movies/spinner-009.png create mode 100644 src/qt/res/movies/spinner-010.png create mode 100644 src/qt/res/movies/spinner-011.png create mode 100644 src/qt/res/movies/spinner-012.png create mode 100644 src/qt/res/movies/spinner-013.png create mode 100644 src/qt/res/movies/spinner-014.png create mode 100644 src/qt/res/movies/spinner-015.png create mode 100644 src/qt/res/movies/spinner-016.png create mode 100644 src/qt/res/movies/spinner-017.png create mode 100644 src/qt/res/movies/spinner-018.png create mode 100644 src/qt/res/movies/spinner-019.png create mode 100644 src/qt/res/movies/spinner-020.png create mode 100644 src/qt/res/movies/spinner-021.png create mode 100644 src/qt/res/movies/spinner-022.png create mode 100644 src/qt/res/movies/spinner-023.png create mode 100644 src/qt/res/movies/spinner-024.png create mode 100644 src/qt/res/movies/spinner-025.png create mode 100644 src/qt/res/movies/spinner-026.png create mode 100644 src/qt/res/movies/spinner-027.png create mode 100644 src/qt/res/movies/spinner-028.png create mode 100644 src/qt/res/movies/spinner-029.png create mode 100644 src/qt/res/movies/spinner-030.png create mode 100644 src/qt/res/movies/spinner-031.png create mode 100644 src/qt/res/movies/spinner-032.png create mode 100644 src/qt/res/movies/spinner-033.png create mode 100644 src/qt/res/movies/spinner-034.png delete mode 100644 src/qt/res/movies/update_spinner.mng (limited to 'src/qt') diff --git a/src/qt/Makefile.am b/src/qt/Makefile.am index deed59bebd..274cebcf3a 100644 --- a/src/qt/Makefile.am +++ b/src/qt/Makefile.am @@ -303,7 +303,7 @@ RES_IMAGES = \ res/images/splash.png \ res/images/splash_testnet.png -RES_MOVIES = res/movies/update_spinner.mng +RES_MOVIES = $(wildcard res/movies/spinner-*.png) BITCOIN_RC = res/bitcoin-qt-res.rc diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index 3c3220c2b3..746b5a4092 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -47,7 +47,41 @@ res/images/splash_testnet.png - res/movies/update_spinner.mng + res/movies/spinner-000.png + res/movies/spinner-001.png + res/movies/spinner-002.png + res/movies/spinner-003.png + res/movies/spinner-004.png + res/movies/spinner-005.png + res/movies/spinner-006.png + res/movies/spinner-007.png + res/movies/spinner-008.png + res/movies/spinner-009.png + res/movies/spinner-010.png + res/movies/spinner-011.png + res/movies/spinner-012.png + res/movies/spinner-013.png + res/movies/spinner-014.png + res/movies/spinner-015.png + res/movies/spinner-016.png + res/movies/spinner-017.png + res/movies/spinner-018.png + res/movies/spinner-019.png + res/movies/spinner-020.png + res/movies/spinner-021.png + res/movies/spinner-022.png + res/movies/spinner-023.png + res/movies/spinner-024.png + res/movies/spinner-025.png + res/movies/spinner-026.png + res/movies/spinner-027.png + res/movies/spinner-028.png + res/movies/spinner-029.png + res/movies/spinner-030.png + res/movies/spinner-031.png + res/movies/spinner-032.png + res/movies/spinner-033.png + res/movies/spinner-034.png locale/bitcoin_ach.qm diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 22c41a6201..c29595050b 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -39,7 +39,6 @@ #include #include #include -#include #include #include #include @@ -68,7 +67,8 @@ BitcoinGUI::BitcoinGUI(bool fIsTestnet, QWidget *parent) : trayIcon(0), notificator(0), rpcConsole(0), - prevBlocks(0) + prevBlocks(0), + spinnerFrame(0) { GUIUtil::restoreWindowGeometry("nWindow", QSize(850, 550), this); @@ -187,8 +187,6 @@ BitcoinGUI::BitcoinGUI(bool fIsTestnet, QWidget *parent) : statusBar()->addWidget(progressBar); statusBar()->addPermanentWidget(frameBlocks); - syncIconMovie = new QMovie(":/movies/update_spinner", "mng", this); - connect(openRPCConsoleAction, SIGNAL(triggered()), rpcConsole, SLOT(show())); // prevents an oben debug window from becoming stuck/unusable on client shutdown @@ -684,9 +682,13 @@ void BitcoinGUI::setNumBlocks(int count, int nTotalBlocks) progressBar->setVisible(true); tooltip = tr("Catching up...") + QString("
") + tooltip; - labelBlocksIcon->setMovie(syncIconMovie); if(count != prevBlocks) - syncIconMovie->jumpToNextFrame(); + { + labelBlocksIcon->setPixmap(QIcon(QString( + ":/movies/spinner-%1").arg(spinnerFrame, 3, 10, QChar('0'))) + .pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); + spinnerFrame = (spinnerFrame + 1) % SPINNER_FRAMES; + } prevBlocks = count; #ifdef ENABLE_WALLET diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 1038e2739c..d5bbdca484 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -98,9 +98,9 @@ private: Notificator *notificator; RPCConsole *rpcConsole; - QMovie *syncIconMovie; /** Keep track of previous number of blocks, to detect progress */ int prevBlocks; + int spinnerFrame; /** Create the main UI actions. */ void createActions(bool fIsTestnet); diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index 6c9fa6a755..d1a601706b 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -38,4 +38,7 @@ static const int MAX_PAYMENT_REQUEST_SIZE = 50000; // bytes /* QRCodeDialog -- size of exported QR Code image */ #define EXPORT_IMAGE_SIZE 256 +/* Number of frames in spinner animation */ +#define SPINNER_FRAMES 35 + #endif // GUICONSTANTS_H diff --git a/src/qt/res/movies/spinner-000.png b/src/qt/res/movies/spinner-000.png new file mode 100644 index 0000000000..1f4fb732ef Binary files /dev/null and b/src/qt/res/movies/spinner-000.png differ diff --git a/src/qt/res/movies/spinner-001.png b/src/qt/res/movies/spinner-001.png new file mode 100644 index 0000000000..e6ca67a1b0 Binary files /dev/null and b/src/qt/res/movies/spinner-001.png differ diff --git a/src/qt/res/movies/spinner-002.png b/src/qt/res/movies/spinner-002.png new file mode 100644 index 0000000000..2360467aff Binary files /dev/null and b/src/qt/res/movies/spinner-002.png differ diff --git a/src/qt/res/movies/spinner-003.png b/src/qt/res/movies/spinner-003.png new file mode 100644 index 0000000000..52bed62566 Binary files /dev/null and b/src/qt/res/movies/spinner-003.png differ diff --git a/src/qt/res/movies/spinner-004.png b/src/qt/res/movies/spinner-004.png new file mode 100644 index 0000000000..de5c88a56f Binary files /dev/null and b/src/qt/res/movies/spinner-004.png differ diff --git a/src/qt/res/movies/spinner-005.png b/src/qt/res/movies/spinner-005.png new file mode 100644 index 0000000000..27b30336a1 Binary files /dev/null and b/src/qt/res/movies/spinner-005.png differ diff --git a/src/qt/res/movies/spinner-006.png b/src/qt/res/movies/spinner-006.png new file mode 100644 index 0000000000..1fa6b0e242 Binary files /dev/null and b/src/qt/res/movies/spinner-006.png differ diff --git a/src/qt/res/movies/spinner-007.png b/src/qt/res/movies/spinner-007.png new file mode 100644 index 0000000000..f54fa8775e Binary files /dev/null and b/src/qt/res/movies/spinner-007.png differ diff --git a/src/qt/res/movies/spinner-008.png b/src/qt/res/movies/spinner-008.png new file mode 100644 index 0000000000..d25aa5300f Binary files /dev/null and b/src/qt/res/movies/spinner-008.png differ diff --git a/src/qt/res/movies/spinner-009.png b/src/qt/res/movies/spinner-009.png new file mode 100644 index 0000000000..1349b87586 Binary files /dev/null and b/src/qt/res/movies/spinner-009.png differ diff --git a/src/qt/res/movies/spinner-010.png b/src/qt/res/movies/spinner-010.png new file mode 100644 index 0000000000..6020e275f1 Binary files /dev/null and b/src/qt/res/movies/spinner-010.png differ diff --git a/src/qt/res/movies/spinner-011.png b/src/qt/res/movies/spinner-011.png new file mode 100644 index 0000000000..0d0e811ea7 Binary files /dev/null and b/src/qt/res/movies/spinner-011.png differ diff --git a/src/qt/res/movies/spinner-012.png b/src/qt/res/movies/spinner-012.png new file mode 100644 index 0000000000..937afb6be2 Binary files /dev/null and b/src/qt/res/movies/spinner-012.png differ diff --git a/src/qt/res/movies/spinner-013.png b/src/qt/res/movies/spinner-013.png new file mode 100644 index 0000000000..4ae5a671a3 Binary files /dev/null and b/src/qt/res/movies/spinner-013.png differ diff --git a/src/qt/res/movies/spinner-014.png b/src/qt/res/movies/spinner-014.png new file mode 100644 index 0000000000..c3a81add0e Binary files /dev/null and b/src/qt/res/movies/spinner-014.png differ diff --git a/src/qt/res/movies/spinner-015.png b/src/qt/res/movies/spinner-015.png new file mode 100644 index 0000000000..184a9fe424 Binary files /dev/null and b/src/qt/res/movies/spinner-015.png differ diff --git a/src/qt/res/movies/spinner-016.png b/src/qt/res/movies/spinner-016.png new file mode 100644 index 0000000000..2da9b9dc72 Binary files /dev/null and b/src/qt/res/movies/spinner-016.png differ diff --git a/src/qt/res/movies/spinner-017.png b/src/qt/res/movies/spinner-017.png new file mode 100644 index 0000000000..ada83fbe84 Binary files /dev/null and b/src/qt/res/movies/spinner-017.png differ diff --git a/src/qt/res/movies/spinner-018.png b/src/qt/res/movies/spinner-018.png new file mode 100644 index 0000000000..cc436ba8cb Binary files /dev/null and b/src/qt/res/movies/spinner-018.png differ diff --git a/src/qt/res/movies/spinner-019.png b/src/qt/res/movies/spinner-019.png new file mode 100644 index 0000000000..03da25bc2a Binary files /dev/null and b/src/qt/res/movies/spinner-019.png differ diff --git a/src/qt/res/movies/spinner-020.png b/src/qt/res/movies/spinner-020.png new file mode 100644 index 0000000000..e7f2ac78e8 Binary files /dev/null and b/src/qt/res/movies/spinner-020.png differ diff --git a/src/qt/res/movies/spinner-021.png b/src/qt/res/movies/spinner-021.png new file mode 100644 index 0000000000..dc9e580bf3 Binary files /dev/null and b/src/qt/res/movies/spinner-021.png differ diff --git a/src/qt/res/movies/spinner-022.png b/src/qt/res/movies/spinner-022.png new file mode 100644 index 0000000000..6e236c805e Binary files /dev/null and b/src/qt/res/movies/spinner-022.png differ diff --git a/src/qt/res/movies/spinner-023.png b/src/qt/res/movies/spinner-023.png new file mode 100644 index 0000000000..f1c3228485 Binary files /dev/null and b/src/qt/res/movies/spinner-023.png differ diff --git a/src/qt/res/movies/spinner-024.png b/src/qt/res/movies/spinner-024.png new file mode 100644 index 0000000000..d8cf21f178 Binary files /dev/null and b/src/qt/res/movies/spinner-024.png differ diff --git a/src/qt/res/movies/spinner-025.png b/src/qt/res/movies/spinner-025.png new file mode 100644 index 0000000000..2b5ede3293 Binary files /dev/null and b/src/qt/res/movies/spinner-025.png differ diff --git a/src/qt/res/movies/spinner-026.png b/src/qt/res/movies/spinner-026.png new file mode 100644 index 0000000000..5ee3d2fa8e Binary files /dev/null and b/src/qt/res/movies/spinner-026.png differ diff --git a/src/qt/res/movies/spinner-027.png b/src/qt/res/movies/spinner-027.png new file mode 100644 index 0000000000..c2ee8082bd Binary files /dev/null and b/src/qt/res/movies/spinner-027.png differ diff --git a/src/qt/res/movies/spinner-028.png b/src/qt/res/movies/spinner-028.png new file mode 100644 index 0000000000..f70d3531ad Binary files /dev/null and b/src/qt/res/movies/spinner-028.png differ diff --git a/src/qt/res/movies/spinner-029.png b/src/qt/res/movies/spinner-029.png new file mode 100644 index 0000000000..02b97207a9 Binary files /dev/null and b/src/qt/res/movies/spinner-029.png differ diff --git a/src/qt/res/movies/spinner-030.png b/src/qt/res/movies/spinner-030.png new file mode 100644 index 0000000000..0c74e82c6f Binary files /dev/null and b/src/qt/res/movies/spinner-030.png differ diff --git a/src/qt/res/movies/spinner-031.png b/src/qt/res/movies/spinner-031.png new file mode 100644 index 0000000000..c5e29bcec7 Binary files /dev/null and b/src/qt/res/movies/spinner-031.png differ diff --git a/src/qt/res/movies/spinner-032.png b/src/qt/res/movies/spinner-032.png new file mode 100644 index 0000000000..d72c9bf0dd Binary files /dev/null and b/src/qt/res/movies/spinner-032.png differ diff --git a/src/qt/res/movies/spinner-033.png b/src/qt/res/movies/spinner-033.png new file mode 100644 index 0000000000..a8b822bfaf Binary files /dev/null and b/src/qt/res/movies/spinner-033.png differ diff --git a/src/qt/res/movies/spinner-034.png b/src/qt/res/movies/spinner-034.png new file mode 100644 index 0000000000..684aa385e0 Binary files /dev/null and b/src/qt/res/movies/spinner-034.png differ diff --git a/src/qt/res/movies/update_spinner.mng b/src/qt/res/movies/update_spinner.mng deleted file mode 100644 index 7df3baac6f..0000000000 Binary files a/src/qt/res/movies/update_spinner.mng and /dev/null differ -- cgit v1.2.3