diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index d46e934de4..a303d87d49 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -376,9 +376,46 @@ RES_ICONS = \ qt/res/icons/verify.png \ qt/res/images/about.png \ qt/res/images/splash.png \ - qt/res/images/splash-testnet.png \ + qt/res/images/splash_testnet.png \ qt/res/icons/transaction_abandoned.png \ - qt/res/icons/lelantus.png + qt/res/icons/lelantus.png \ + qt/res/images/arrow_down_dark.png \ + qt/res/images/arrow_down_light.png \ + qt/res/images/arrow_left_dark.png \ + qt/res/images/arrow_left_light.png \ + qt/res/images/arrow_right_dark.png \ + qt/res/images/arrow_right_light.png \ + qt/res/images/arrow_up_dark.png \ + qt/res/images/arrow_up_light.png \ + qt/res/images/arrow_light_down_normal.png \ + qt/res/images/arrow_light_down_hover.png \ + qt/res/images/arrow_light_left_normal.png \ + qt/res/images/arrow_light_left_hover.png \ + qt/res/images/arrow_light_right_normal.png \ + qt/res/images/arrow_light_right_hover.png \ + qt/res/images/arrow_light_up_normal.png \ + qt/res/images/arrow_light_up_hover.png \ + qt/res/images/checkbox_normal_light.png \ + qt/res/images/checkbox_normal_hover_light.png \ + qt/res/images/checkbox_normal_disabled_light.png \ + qt/res/images/checkbox_checked_light.png \ + qt/res/images/checkbox_checked_hover_light.png \ + qt/res/images/checkbox_checked_disabled_light.png \ + qt/res/images/checkbox_partly_checked_light.png \ + qt/res/images/checkbox_partly_checked_hover_light.png \ + qt/res/images/checkbox_partly_checked_disabled_light.png \ + qt/res/images/firo_logo_white.png \ + qt/res/images/radio_normal_light.png \ + qt/res/images/radio_normal_hover_light.png \ + qt/res/images/radio_checked_light.png \ + qt/res/images/radio_checked_hover_light.png \ + qt/res/images/radio_normal_disabled_light.png \ + qt/res/images/radio_checked_disabled_light.png \ + qt/res/icons/ext_add.png \ + qt/res/icons/ext_add_light.png + +RES_CSS = \ + qt/res/css/firo.css BITCOIN_QT_BASE_CPP = \ qt/bantablemodel.cpp \ @@ -487,7 +524,7 @@ qt_libfiroqt_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUD qt_libfiroqt_a_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS) qt_libfiroqt_a_SOURCES = $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(QT_FORMS_UI) \ - $(QT_QRC) $(QT_QRC_LOCALE) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) + $(QT_QRC) $(QT_QRC_LOCALE) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_CSS) $(RES_MOVIES) nodist_qt_libfiroqt_a_SOURCES = $(QT_MOC_CPP) $(QT_MOC) $(PROTOBUF_CC) \ $(PROTOBUF_H) $(QT_QRC_CPP) $(QT_QRC_LOCALE_CPP) @@ -602,7 +639,7 @@ $(QT_QRC_LOCALE_CPP): $(QT_QRC_LOCALE) $(QT_QM) $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ @rm $(@D)/temp_$( $@ diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index db26437bb8..34ccc11a5e 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -658,7 +658,6 @@ int main(int argc, char *argv[]) Q_INIT_RESOURCE(bitcoin); Q_INIT_RESOURCE(bitcoin_locale); - BitcoinApplication app(argc, argv); #if QT_VERSION > 0x050100 // Generate high-dpi pixmaps QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); @@ -670,6 +669,8 @@ int main(int argc, char *argv[]) QApplication::setAttribute(Qt::AA_DontShowIconsInMenus); #endif + BitcoinApplication app(argc, argv); + // Register meta types used for QMetaObject::invokeMethod qRegisterMetaType< bool* >(); // Need to pass name here as CAmount is a typedef (see http://qt-project.org/doc/qt-5/qmetatype.html#qRegisterMetaType) diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index 3536eee85e..abb60c82ed 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -73,10 +73,8 @@ res/icons/elysium_hourglass.png res/icons/lelantus.png res/icons/paymentcode.png - - - res/images/splash.png - res/images/splash_testnet.png + res/icons/ext_add.png + res/icons/ext_add_light.png res/movies/spinner-000.png @@ -119,6 +117,41 @@ res/images/about.png res/images/splash.png - res/images/splash-testnet.png + res/images/splash_testnet.png + res/images/arrow_down_dark.png + res/images/arrow_down_light.png + res/images/arrow_left_dark.png + res/images/arrow_left_light.png + res/images/arrow_right_dark.png + res/images/arrow_right_light.png + res/images/arrow_up_dark.png + res/images/arrow_up_light.png + res/images/arrow_light_down_normal.png + res/images/arrow_light_down_hover.png + res/images/arrow_light_left_normal.png + res/images/arrow_light_left_hover.png + res/images/arrow_light_right_normal.png + res/images/arrow_light_right_hover.png + res/images/arrow_light_up_normal.png + res/images/arrow_light_up_hover.png + res/images/checkbox_normal_light.png + res/images/checkbox_normal_hover_light.png + res/images/checkbox_normal_disabled_light.png + res/images/checkbox_checked_light.png + res/images/checkbox_checked_hover_light.png + res/images/checkbox_checked_disabled_light.png + res/images/checkbox_partly_checked_light.png + res/images/checkbox_partly_checked_hover_light.png + res/images/checkbox_partly_checked_disabled_light.png + res/images/firo_logo_white.png + res/images/radio_normal_light.png + res/images/radio_normal_hover_light.png + res/images/radio_checked_light.png + res/images/radio_checked_hover_light.png + res/images/radio_normal_disabled_light.png + res/images/radio_checked_disabled_light.png + + + res/css/firo.css diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 621486209c..abbfb04c78 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -137,6 +137,7 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *_platformStyle, const NetworkStyle * lelantusAction(0), masternodeAction(0), createPcodeAction(0), + logoAction(0), trayIcon(0), trayIconMenu(0), notificator(0), @@ -147,6 +148,9 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *_platformStyle, const NetworkStyle * spinnerFrame(0), platformStyle(_platformStyle) { + // load stylesheet + GUIUtil::loadTheme(); + GUIUtil::restoreWindowGeometry("nWindow", QSize(850, 550), this); QString windowTitle = tr(PACKAGE_NAME) + " - "; @@ -318,36 +322,36 @@ void BitcoinGUI::createActions() size_t key = Qt::Key_1; QActionGroup *tabGroup = new QActionGroup(this); - overviewAction = new QAction(platformStyle->SingleColorIcon(":/icons/overview"), tr("&Overview"), this); + overviewAction = new QAction(tr("&Overview"), this); overviewAction->setStatusTip(tr("Show general overview of wallet")); overviewAction->setToolTip(overviewAction->statusTip()); overviewAction->setCheckable(true); overviewAction->setShortcut(QKeySequence(Qt::ALT + key++)); tabGroup->addAction(overviewAction); - sendCoinsAction = new QAction(platformStyle->SingleColorIcon(":/icons/send"), tr("&Send"), this); + sendCoinsAction = new QAction(tr("&Send"), this); sendCoinsAction->setStatusTip(tr("Send coins to a Firo address")); sendCoinsAction->setToolTip(sendCoinsAction->statusTip()); sendCoinsAction->setCheckable(true); sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + key++)); tabGroup->addAction(sendCoinsAction); - sendCoinsMenuAction = new QAction(platformStyle->TextColorIcon(":/icons/send"), sendCoinsAction->text(), this); + sendCoinsMenuAction = new QAction(sendCoinsAction->text(), this); sendCoinsMenuAction->setStatusTip(sendCoinsAction->statusTip()); sendCoinsMenuAction->setToolTip(sendCoinsMenuAction->statusTip()); - receiveCoinsAction = new QAction(platformStyle->SingleColorIcon(":/icons/receiving_addresses"), tr("&Receive"), this); + receiveCoinsAction = new QAction(tr("&Receive"), this); receiveCoinsAction->setStatusTip(tr("Request payments (generates QR codes and firo: URIs)")); receiveCoinsAction->setToolTip(receiveCoinsAction->statusTip()); receiveCoinsAction->setCheckable(true); receiveCoinsAction->setShortcut(QKeySequence(Qt::ALT + key++)); tabGroup->addAction(receiveCoinsAction); - receiveCoinsMenuAction = new QAction(platformStyle->TextColorIcon(":/icons/receiving_addresses"), receiveCoinsAction->text(), this); + receiveCoinsMenuAction = new QAction(receiveCoinsAction->text(), this); receiveCoinsMenuAction->setStatusTip(receiveCoinsAction->statusTip()); receiveCoinsMenuAction->setToolTip(receiveCoinsMenuAction->statusTip()); - historyAction = new QAction(platformStyle->SingleColorIcon(":/icons/history"), tr("&Transactions"), this); + historyAction = new QAction(tr("&Transactions"), this); historyAction->setStatusTip(tr("Browse transaction history")); historyAction->setToolTip(historyAction->statusTip()); historyAction->setCheckable(true); @@ -355,7 +359,7 @@ void BitcoinGUI::createActions() tabGroup->addAction(historyAction); #ifdef ENABLE_WALLET - sigmaAction = new QAction(platformStyle->SingleColorIcon(":/icons/sigma"), tr("Si&gma"), this); + sigmaAction = new QAction(tr("Si&gma"), this); sigmaAction->setStatusTip(tr("Anonymize your coins and perform private transfers using Sigma")); sigmaAction->setToolTip(sigmaAction->statusTip()); sigmaAction->setCheckable(true); @@ -363,7 +367,7 @@ void BitcoinGUI::createActions() tabGroup->addAction(sigmaAction); sigmaAction->setVisible(false); - lelantusAction = new QAction(platformStyle->SingleColorIcon(":/icons/lelantus"), tr("&Lelantus"), this); + lelantusAction = new QAction(tr("&Lelantus"), this); lelantusAction->setStatusTip(tr("Anonymize your coins")); lelantusAction->setToolTip(lelantusAction->statusTip()); lelantusAction->setCheckable(true); @@ -373,7 +377,7 @@ void BitcoinGUI::createActions() // These showNormalIfMinimized are needed because Send Coins and Receive Coins // can be triggered from the tray menu, and need to show the GUI to be useful. - masternodeAction = new QAction(platformStyle->SingleColorIcon(":/icons/znodes"), tr("&Masternodes"), this); + masternodeAction = new QAction(tr("&Masternodes"), this); masternodeAction->setStatusTip(tr("Browse masternodes")); masternodeAction->setToolTip(masternodeAction->statusTip()); masternodeAction->setCheckable(true); @@ -389,14 +393,14 @@ void BitcoinGUI::createActions() bool elysiumEnabled = isElysiumEnabled(); if (elysiumEnabled) { - elyAssetsAction = new QAction(platformStyle->SingleColorIcon(":/icons/balances"), tr("E&lyAssets"), this); + elyAssetsAction = new QAction(tr("E&lyAssets"), this); elyAssetsAction->setStatusTip(tr("Show Elysium balances")); elyAssetsAction->setToolTip(elyAssetsAction->statusTip()); elyAssetsAction->setCheckable(true); elyAssetsAction->setShortcut(QKeySequence(Qt::ALT + key++)); tabGroup->addAction(elyAssetsAction); - toolboxAction = new QAction(platformStyle->SingleColorIcon(":/icons/tools"), tr("&Toolbox"), this); + toolboxAction = new QAction(tr("&Toolbox"), this); toolboxAction->setStatusTip(tr("Tools to obtain varions Elysium information and transaction information")); toolboxAction->setToolTip(toolboxAction->statusTip()); toolboxAction->setCheckable(true); @@ -405,7 +409,7 @@ void BitcoinGUI::createActions() } #endif - createPcodeAction = new QAction(platformStyle->SingleColorIcon(":/icons/paymentcode"), tr("RA&P addresses"), this); + createPcodeAction = new QAction(tr("RA&P addresses"), this); createPcodeAction->setStatusTip(tr("Create RAP addresses (BIP47 payment codes)")); createPcodeAction->setToolTip(createPcodeAction->statusTip()); createPcodeAction->setCheckable(true); @@ -440,50 +444,50 @@ void BitcoinGUI::createActions() #endif #endif // ENABLE_WALLET - quitAction = new QAction(platformStyle->TextColorIcon(":/icons/quit"), tr("E&xit"), this); + quitAction = new QAction(tr("E&xit"), this); quitAction->setStatusTip(tr("Quit application")); quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q)); quitAction->setMenuRole(QAction::QuitRole); - aboutAction = new QAction(platformStyle->TextColorIcon(":/icons/about"), tr("&About %1").arg(tr(PACKAGE_NAME)), this); + aboutAction = new QAction(tr("&About %1").arg(tr(PACKAGE_NAME)), this); aboutAction->setStatusTip(tr("Show information about %1").arg(tr(PACKAGE_NAME))); aboutAction->setMenuRole(QAction::AboutRole); aboutAction->setEnabled(false); - aboutQtAction = new QAction(platformStyle->TextColorIcon(":/icons/about_qt"), tr("About &Qt"), this); + aboutQtAction = new QAction(tr("About &Qt"), this); aboutQtAction->setStatusTip(tr("Show information about Qt")); aboutQtAction->setMenuRole(QAction::AboutQtRole); - optionsAction = new QAction(platformStyle->TextColorIcon(":/icons/options"), tr("&Options..."), this); + optionsAction = new QAction(tr("&Options..."), this); optionsAction->setStatusTip(tr("Modify configuration options for %1").arg(tr(PACKAGE_NAME))); optionsAction->setMenuRole(QAction::PreferencesRole); optionsAction->setEnabled(false); - toggleHideAction = new QAction(platformStyle->TextColorIcon(":/icons/about"), tr("&Show / Hide"), this); + toggleHideAction = new QAction(tr("&Show / Hide"), this); toggleHideAction->setStatusTip(tr("Show or hide the main Window")); - encryptWalletAction = new QAction(platformStyle->TextColorIcon(":/icons/lock_closed"), tr("&Encrypt Wallet..."), this); + encryptWalletAction = new QAction(tr("&Encrypt Wallet..."), this); encryptWalletAction->setStatusTip(tr("Encrypt the private keys that belong to your wallet")); encryptWalletAction->setCheckable(true); - backupWalletAction = new QAction(platformStyle->TextColorIcon(":/icons/filesave"), tr("&Backup Wallet..."), this); + backupWalletAction = new QAction(tr("&Backup Wallet..."), this); backupWalletAction->setStatusTip(tr("Backup wallet to another location")); - changePassphraseAction = new QAction(platformStyle->TextColorIcon(":/icons/key"), tr("&Change Passphrase..."), this); + changePassphraseAction = new QAction(tr("&Change Passphrase..."), this); changePassphraseAction->setStatusTip(tr("Change the passphrase used for wallet encryption")); - signMessageAction = new QAction(platformStyle->TextColorIcon(":/icons/edit"), tr("Sign &message..."), this); + signMessageAction = new QAction(tr("Sign &message..."), this); signMessageAction->setStatusTip(tr("Sign messages with your Firo addresses to prove you own them")); - verifyMessageAction = new QAction(platformStyle->TextColorIcon(":/icons/verify"), tr("&Verify message..."), this); + verifyMessageAction = new QAction(tr("&Verify message..."), this); verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified Firo addresses")); - openRPCConsoleAction = new QAction(platformStyle->TextColorIcon(":/icons/debugwindow"), tr("&Debug window"), this); + openRPCConsoleAction = new QAction(tr("&Debug window"), this); openRPCConsoleAction->setStatusTip(tr("Open debugging and diagnostic console")); // initially disable the debug window menu item openRPCConsoleAction->setEnabled(false); - usedSendingAddressesAction = new QAction(platformStyle->TextColorIcon(":/icons/address-book"), tr("&Sending addresses..."), this); + usedSendingAddressesAction = new QAction(tr("&Sending addresses..."), this); usedSendingAddressesAction->setStatusTip(tr("Show the list of used sending addresses and labels")); - usedReceivingAddressesAction = new QAction(platformStyle->TextColorIcon(":/icons/address-book"), tr("&Receiving addresses..."), this); + usedReceivingAddressesAction = new QAction( tr("&Receiving addresses..."), this); usedReceivingAddressesAction->setStatusTip(tr("Show the list of used receiving addresses and labels")); - openAction = new QAction(platformStyle->TextColorIcon(":/icons/open"), tr("Open &URI..."), this); + openAction = new QAction(tr("Open &URI..."), this); openAction->setStatusTip(tr("Open a firo: URI or payment request")); - showHelpMessageAction = new QAction(platformStyle->TextColorIcon(":/icons/info"), tr("&Command-line options"), this); + showHelpMessageAction = new QAction(tr("&Command-line options"), this); showHelpMessageAction->setMenuRole(QAction::NoRole); showHelpMessageAction->setStatusTip(tr("Show the %1 help message to get a list with possible Firo command-line options").arg(tr(PACKAGE_NAME))); @@ -565,6 +569,9 @@ void BitcoinGUI::createToolBars() if(walletFrame) { QToolBar *toolbar = addToolBar(tr("Tabs toolbar")); + toolbar->setContextMenuPolicy(Qt::PreventContextMenu); + toolbar->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + toolbar->setToolButtonStyle(Qt::ToolButtonTextOnly); toolbar->setMovable(false); toolbar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); toolbar->addAction(overviewAction); @@ -582,6 +589,12 @@ void BitcoinGUI::createToolBars() } #endif toolbar->addAction(createPcodeAction); + + QLabel *logoLabel = new QLabel(); + logoLabel->setObjectName("lblToolbarLogo"); + logoLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + + toolbar->addWidget(logoLabel); overviewAction->setChecked(true); } @@ -944,7 +957,7 @@ void BitcoinGUI::updateNetworkState() tooltip = QString("") + tooltip + QString(""); connectionsControl->setToolTip(tooltip); - connectionsControl->setPixmap(platformStyle->SingleColorIcon(icon).pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); + connectionsControl->setPixmap(QIcon(icon).pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); } void BitcoinGUI::setNumConnections(int count) @@ -1045,7 +1058,7 @@ void BitcoinGUI::setNumBlocks(int count, const QDateTime& blockDate, double nVer tooltip = tr("Catching up...") + QString("
") + tooltip; if(count != prevBlocks) { - labelBlocksIcon->setPixmap(platformStyle->SingleColorIcon(QString( + labelBlocksIcon->setPixmap(QIcon(QString( ":/movies/spinner-%1").arg(spinnerFrame, 3, 10, QChar('0'))) .pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); spinnerFrame = (spinnerFrame + 1) % SPINNER_FRAMES; @@ -1110,10 +1123,10 @@ void BitcoinGUI::setAdditionalDataSyncProgress(double nSyncProgress) if(masternodeSync.IsSynced()) { progressBarLabel->setVisible(false); progressBar->setVisible(false); - labelBlocksIcon->setPixmap(platformStyle->SingleColorIcon(":/icons/synced").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); + labelBlocksIcon->setPixmap(QIcon(":/icons/synced").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else { - labelBlocksIcon->setPixmap(platformStyle->SingleColorIcon(QString( + labelBlocksIcon->setPixmap(QIcon(QString( ":/movies/spinner-%1").arg(spinnerFrame, 3, 10, QChar('0'))) .pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); spinnerFrame = (spinnerFrame + 1) % SPINNER_FRAMES; @@ -1320,7 +1333,7 @@ void BitcoinGUI::setElysiumPendingStatus(bool pending) void BitcoinGUI::setHDStatus(int hdEnabled) { - labelWalletHDStatusIcon->setPixmap(platformStyle->SingleColorIcon(hdEnabled ? ":/icons/hd_enabled" : ":/icons/hd_disabled").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); + labelWalletHDStatusIcon->setPixmap(QIcon(hdEnabled ? ":/icons/hd_enabled" : ":/icons/hd_disabled").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); labelWalletHDStatusIcon->setToolTip(hdEnabled ? tr("HD key generation is enabled") : tr("HD key generation is disabled")); // eventually disable the QLabel to set its opacity to 50% @@ -1339,7 +1352,7 @@ void BitcoinGUI::setEncryptionStatus(int status) break; case WalletModel::Unlocked: labelWalletEncryptionIcon->show(); - labelWalletEncryptionIcon->setPixmap(platformStyle->SingleColorIcon(":/icons/lock_open").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); + labelWalletEncryptionIcon->setPixmap(QIcon(":/icons/lock_open").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); labelWalletEncryptionIcon->setToolTip(tr("Wallet is encrypted and currently unlocked")); encryptWalletAction->setChecked(true); changePassphraseAction->setEnabled(true); @@ -1347,7 +1360,7 @@ void BitcoinGUI::setEncryptionStatus(int status) break; case WalletModel::Locked: labelWalletEncryptionIcon->show(); - labelWalletEncryptionIcon->setPixmap(platformStyle->SingleColorIcon(":/icons/lock_closed").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); + labelWalletEncryptionIcon->setPixmap(QIcon(":/icons/lock_closed").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); labelWalletEncryptionIcon->setToolTip(tr("Wallet is encrypted and currently locked")); encryptWalletAction->setChecked(true); changePassphraseAction->setEnabled(true); @@ -1532,7 +1545,6 @@ UnitDisplayStatusBarControl::UnitDisplayStatusBarControl(const PlatformStyle *pl } setMinimumSize(max_width, 0); setAlignment(Qt::AlignRight | Qt::AlignVCenter); - setStyleSheet(QString("QLabel { color : %1 }").arg(platformStyle->SingleColor().name())); } /** So that it responds to button clicks */ diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 81a15d820b..a1947ef91f 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -123,6 +123,7 @@ class BitcoinGUI : public QMainWindow QAction *lelantusAction; QAction *masternodeAction; QAction *createPcodeAction; + QAction *logoAction; QSystemTrayIcon *trayIcon; QMenu *trayIconMenu; diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui index 469d4d9ec8..71dd9ab591 100644 --- a/src/qt/forms/addressbookpage.ui +++ b/src/qt/forms/addressbookpage.ui @@ -118,10 +118,6 @@ &New - - - :/icons/add:/icons/add - false @@ -135,10 +131,6 @@ &Copy - - - :/icons/editcopy:/icons/editcopy - false @@ -152,10 +144,6 @@ &Delete - - - :/icons/remove:/icons/remove - false @@ -182,10 +170,6 @@ &Export - - - :/icons/export:/icons/export - false diff --git a/src/qt/forms/createpcodedialog.ui b/src/qt/forms/createpcodedialog.ui index d894831a38..db9d343f8c 100644 --- a/src/qt/forms/createpcodedialog.ui +++ b/src/qt/forms/createpcodedialog.ui @@ -70,10 +70,6 @@ C&reate payment code - - - :/icons/paymentcode:/icons/paymentcode - @@ -90,10 +86,6 @@ Clear - - - :/icons/remove:/icons/remove - false @@ -219,10 +211,6 @@ Show - - - :/icons/edit:/icons/edit - false diff --git a/src/qt/forms/debugwindow.ui b/src/qt/forms/debugwindow.ui index 8be4a955b3..d33a52d0dc 100644 --- a/src/qt/forms/debugwindow.ui +++ b/src/qt/forms/debugwindow.ui @@ -862,6 +862,9 @@ false + + true + true @@ -926,6 +929,9 @@ false + + true + true diff --git a/src/qt/forms/lelantusdialog.ui b/src/qt/forms/lelantusdialog.ui index eda38081c0..687ddde7ed 100644 --- a/src/qt/forms/lelantusdialog.ui +++ b/src/qt/forms/lelantusdialog.ui @@ -601,7 +601,7 @@ - + 0 @@ -643,7 +643,7 @@ - + 75 @@ -651,7 +651,7 @@ - Global Lelantus Pool: + Global Lelantus Pool @@ -763,7 +763,7 @@ - + 0 @@ -783,7 +783,7 @@ - Your Anonymized Coins: + Your Anonymized Coins Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft @@ -817,7 +817,7 @@ - + 0 @@ -846,7 +846,7 @@ - + Latest group: @@ -1063,6 +1063,22 @@ 0 + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 1 + 5 + + + + @@ -1579,10 +1595,6 @@ Anonymize - - - :/icons/send:/icons/send - false diff --git a/src/qt/forms/manualmintdialog.ui b/src/qt/forms/manualmintdialog.ui index 90a6f10fcd..1665a44c6a 100644 --- a/src/qt/forms/manualmintdialog.ui +++ b/src/qt/forms/manualmintdialog.ui @@ -337,10 +337,6 @@ &Mint - - - ../res/icons/add.png../res/icons/add.png - @@ -348,10 +344,6 @@ &Clear All - - - ../res/icons/quit.png../res/icons/quit.png - diff --git a/src/qt/forms/modaloverlay.ui b/src/qt/forms/modaloverlay.ui index 24ef011026..65d20aa57c 100644 --- a/src/qt/forms/modaloverlay.ui +++ b/src/qt/forms/modaloverlay.ui @@ -32,7 +32,7 @@ - #bgWidget { background: rgba(0,0,0,220); } + diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui index 98d094fd62..810d690e15 100644 --- a/src/qt/forms/overviewpage.ui +++ b/src/qt/forms/overviewpage.ui @@ -381,7 +381,7 @@ - + Qt::Horizontal diff --git a/src/qt/forms/receivecoinsdialog.ui b/src/qt/forms/receivecoinsdialog.ui index 3711e87132..8651ff6d8d 100644 --- a/src/qt/forms/receivecoinsdialog.ui +++ b/src/qt/forms/receivecoinsdialog.ui @@ -140,10 +140,6 @@ &Request payment - - - :/icons/receiving_addresses:/icons/receiving_addresses - @@ -160,10 +156,6 @@ Clear - - - :/icons/remove:/icons/remove - false @@ -263,10 +255,6 @@ Show - - - :/icons/edit:/icons/edit - false @@ -283,10 +271,6 @@ Remove - - - :/icons/remove:/icons/remove - false diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui index fea004ca69..896dfe755e 100644 --- a/src/qt/forms/sendcoinsdialog.ui +++ b/src/qt/forms/sendcoinsdialog.ui @@ -696,7 +696,7 @@ 1 - 4 + 5 @@ -1217,10 +1217,6 @@ S&end - - - :/icons/send:/icons/send - false @@ -1243,10 +1239,6 @@ Clear &All - - - :/icons/remove:/icons/remove - false @@ -1260,10 +1252,6 @@ Add &Recipient - - - :/icons/add:/icons/add - false @@ -1288,7 +1276,7 @@ 3 - + 0 @@ -1352,10 +1340,6 @@ Use Transparent Balance - - - :/movies/spinner-009:/movies/spinner-009 - diff --git a/src/qt/forms/sendmpdialog.ui b/src/qt/forms/sendmpdialog.ui index c370314bfb..5c8505f474 100644 --- a/src/qt/forms/sendmpdialog.ui +++ b/src/qt/forms/sendmpdialog.ui @@ -277,10 +277,6 @@ border: 1px solid rgb(142,61,0);padding:5px 5px 5px 5px;background-repeat: no-re S&end - - - :/icons/send:/icons/send - true @@ -300,10 +296,6 @@ border: 1px solid rgb(142,61,0);padding:5px 5px 5px 5px;background-repeat: no-re Clear &All - - - :/icons/remove:/icons/remove - 300 diff --git a/src/qt/forms/sigmadialog.ui b/src/qt/forms/sigmadialog.ui index adfb3548a5..c4def5b0a7 100644 --- a/src/qt/forms/sigmadialog.ui +++ b/src/qt/forms/sigmadialog.ui @@ -944,7 +944,7 @@ - + 75 @@ -1108,10 +1108,6 @@ &Mint - - - ../res/icons/add.png../res/icons/add.png - @@ -1122,10 +1118,6 @@ Select Denominations - - - ../res/icons/edit.png../res/icons/edit.png - diff --git a/src/qt/forms/signverifymessagedialog.ui b/src/qt/forms/signverifymessagedialog.ui index 0ae0f6ca9e..3825cc7bd5 100644 --- a/src/qt/forms/signverifymessagedialog.ui +++ b/src/qt/forms/signverifymessagedialog.ui @@ -157,10 +157,6 @@ Sign &Message - - - :/icons/edit:/icons/edit - false @@ -174,10 +170,6 @@ Clear &All - - - :/icons/remove:/icons/remove - false @@ -300,10 +292,6 @@ Verify &Message - - - :/icons/transaction_0:/icons/transaction_0 - false @@ -317,10 +305,6 @@ Clear &All - - - :/icons/remove:/icons/remove - false diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index d341689879..e69e0562b2 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -56,6 +56,7 @@ #include // for Qt::mightBeRichText #include #include +#include #if QT_VERSION < 0x050000 #include @@ -83,6 +84,10 @@ extern double NSAppKitVersionNumber; namespace GUIUtil { +static QString stylesheetDirectory = ":css"; +static QString firoTheme = "firoTheme"; +static CCriticalSection cs_css; + QString dateTimeStr(const QDateTime &date) { return date.date().toString(Qt::SystemLocaleShortDate) + QString(" ") + date.toString("hh:mm"); @@ -1015,5 +1020,25 @@ void TextElideStyledItemDelegate::initStyleOption(QStyleOptionViewItem *option, option->textElideMode = Qt::ElideMiddle; } +void loadTheme() +{ + AssertLockNotHeld(cs_css); + LOCK(cs_css); + + static std::unique_ptr stylesheet; + + QString fileName = stylesheetDirectory + "/" + firoTheme; + QFile qFile(fileName); + if (!qFile.open(QFile::ReadOnly)) { + throw std::runtime_error(strprintf("%s: Failed to open file: %s", __func__, fileName.toStdString())); + } + + QString strStyle = QLatin1String(qFile.readAll()); + stylesheet = std::make_unique(); + + stylesheet->append(strStyle); + + qApp->setStyleSheet(*stylesheet); +} } // namespace GUIUtil diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index 608b0bb60f..8512727114 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -183,6 +183,9 @@ namespace GUIUtil void saveWindowGeometry(const QString& strSetting, QWidget *parent); /** Restore window size and position */ void restoreWindowGeometry(const QString& strSetting, const QSize &defaultSizeIn, QWidget *parent); + + /* load stylesheet */ + void loadTheme(); /* Convert QString to OS specific boost path through UTF-8 */ boost::filesystem::path qstringToBoostPath(const QString &path); diff --git a/src/qt/intro.cpp b/src/qt/intro.cpp index 305d91c208..a5ea1e25e5 100644 --- a/src/qt/intro.cpp +++ b/src/qt/intro.cpp @@ -121,6 +121,9 @@ Intro::Intro(QWidget *parent) : thread(0), signalled(false) { + // load stylesheet + GUIUtil::loadTheme(); + ui->setupUi(this); ui->welcomeLabel->setText(ui->welcomeLabel->text().arg(tr(PACKAGE_NAME))); ui->storageLabel->setText(ui->storageLabel->text().arg(tr(PACKAGE_NAME))); diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp index d606a542e7..2dca7e6767 100644 --- a/src/qt/overviewpage.cpp +++ b/src/qt/overviewpage.cpp @@ -148,8 +148,7 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent) ui->checkboxEnabledTor->setChecked(false); } - // use a SingleColorIcon for the "out of sync warning" icon - QIcon icon = platformStyle->SingleColorIcon(":/icons/warning"); + QIcon icon = QIcon(":/icons/warning"); icon.addPixmap(icon.pixmap(QSize(64,64), QIcon::Normal), QIcon::Disabled); // also set the disabled icon because we are using a disabled QPushButton to work around missing HiDPI support of QLabel (https://bugreports.qt.io/browse/QTBUG-42503) ui->labelTransactionsStatus->setIcon(icon); ui->labelWalletStatus->setIcon(icon); diff --git a/src/qt/platformstyle.cpp b/src/qt/platformstyle.cpp index 90bd619c04..3d67196a4a 100644 --- a/src/qt/platformstyle.cpp +++ b/src/qt/platformstyle.cpp @@ -22,10 +22,10 @@ static const struct { /** Extra padding/spacing in transactionview */ const bool useExtraSpacing; } platform_styles[] = { - {"macosx", false, false, true}, - {"windows", true, false, false}, + {"macosx", false, true, true}, + {"windows", false, true, false}, /* Other: linux, unix, ... */ - {"other", true, true, false} + {"other", false, true, false} }; static const unsigned platform_styles_count = sizeof(platform_styles)/sizeof(*platform_styles); @@ -40,7 +40,8 @@ void MakeSingleColorImage(QImage& img, const QColor& colorbase) for (int y = img.height(); y--; ) { const QRgb rgb = img.pixel(x, y); - img.setPixel(x, y, qRgba(colorbase.red(), colorbase.green(), colorbase.blue(), qAlpha(rgb))); + // set default to firo red + img.setPixel(x, y, qRgba(155, 28, 46, qAlpha(rgb))); } } } @@ -94,8 +95,8 @@ PlatformStyle::PlatformStyle(const QString &_name, bool _imagesOnButtons, bool _ colorbase = colorHighlightFg; singleColor = colorbase; } - // Determine text color - textColor = QColor(QApplication::palette().color(QPalette::WindowText)); + // Determine text color // customized in stylesheet + textColor = QColor(0,0,0); } QImage PlatformStyle::SingleColorImage(const QString& filename) const diff --git a/src/qt/recover.cpp b/src/qt/recover.cpp index a3d2d55fd4..313e69360f 100644 --- a/src/qt/recover.cpp +++ b/src/qt/recover.cpp @@ -20,6 +20,9 @@ Recover::Recover(QWidget *parent) : ui(new Ui::Recover), thread(0) { + // load stylesheet + GUIUtil::loadTheme(); + ui->setupUi(this); setCreateNew(); thread = new QThread(this); diff --git a/src/qt/res/css/firo.css b/src/qt/res/css/firo.css new file mode 100644 index 0000000000..ab6e073f0a --- /dev/null +++ b/src/qt/res/css/firo.css @@ -0,0 +1,1868 @@ +/********************************************************************** + * Copyright (c) 2021-2021 The Firo Core developers + * Distributed under the MIT software license, see the accompanying + * file COPYING or http://www.opensource.org/licenses/mit-license.php. + **********************************************************************/ + +/* Basic */ + +WalletFrame, +QDialog { + border: 0px; + margin: 0; + padding-top: 20px; + padding-bottom: 20px; + font-size: 10pt; +} + +QFrame { + background-color: #f4f4f4; + border: 0px; + font: 10pt 'Source Sans Pro'; +} + +QDialog, +QMainWindow, +QMessageBox, +WalletFrame { + background-color: #f4f4f4; + font: 10pt 'Source Sans Pro'; +} + +QWidget { + selection-color: #FFFFFF; + selection-background-color: #3d3939; + font: 10pt 'Source Sans Pro'; +} + +QLabel, +QListView { + color: #110202; + font: 10pt 'Source Sans Pro'; +} + +QLabel:disabled, +QListView:disabled { + color: #878787; + font: 10pt 'Source Sans Pro'; +} + +BitcoinAmountField, +QAbstractSpinBox, +QComboBox, +QPlainTextEdit, +QLineEdit { + min-height: 28px; + border: 1px solid; + border-radius: 8px; + padding: 0px 8px 0px 8px; + background-color: #f4f4f4; + border-color: #9b1c2e; + color: #110202; + font: 10pt 'Source Sans Pro'; +} + +BitcoinAmountField:hover:!focus, +QAbstractSpinBox:hover:!focus, +QComboBox:hover:!focus, +QPlainTextEdit:hover:!focus, +QLineEdit:hover:!focus { + border: 2px solid; + min-height: 28px; + background-color: #f4f4f4; + border-color: #7c1624; +} + +BitcoinAmountField:hover:!focus, +QAbstractSpinBox:hover:!focus, +QPlainTextEdit:hover:!focus, +QLineEdit:hover:!focus { + padding: -1px 7px -1px 7px; +} + + +BitcoinAmountField:focus, +QAbstractSpinBox:focus, +QComboBox:checked, +QComboBox:focus, +QPlainTextEdit:focus, +QLineEdit:focus { + border: 2px solid; + padding: -1px 7px -1px 7px; + background-color: #d2d2d2; + border-color: #7c1624; +} + +BitcoinAmountField:disabled, +QAbstractSpinBox:disabled, +QComboBox:disabled, +QPlainTextEdit:disabled, +QLineEdit:disabled { + background-color: #f4f4f4; + border-color: #878787; + color: #878787; +} + +/* QAbstractSpinBox */ + +QAbstractSpinBox::up-button { + width: 20px; + border: 0px; +} + +QAbstractSpinBox::down-button { + width: 20px; + border: 0px; +} + +QAbstractSpinBox::up-arrow { + width: 20px; + height: 20px; +} +QAbstractSpinBox::up-arrow:hover { + width: 20px; + height: 20px; +} +QAbstractSpinBox::up-arrow:pressed { + width: 20px; + height: 20px; +} +QAbstractSpinBox::up-arrow:disabled { + width: 20px; + height: 20px; +} + +QAbstractSpinBox::down-arrow { + width: 20px; + height: 20px; +} +QAbstractSpinBox::down-arrow:hover { + width: 20px; + height: 20px; +} +QAbstractSpinBox::down-arrow:pressed { + width: 20px; + height: 20px; +} +QAbstractSpinBox::down-arrow:disabled { + width: 20px; + height: 20px; +} + + +QAbstractSpinBox::up-arrow { + image: url(':/images/arrow_up_light'); +} +QAbstractSpinBox::up-arrow:hover { + image: url(':/images/arrow_up_dark'); +} +QAbstractSpinBox::up-arrow:pressed { + image: url(':/images/arrow_up_light'); +} +QAbstractSpinBox::up-arrow:disabled { + image: url(':/images/arrow_light_up_normal'); +} +QAbstractSpinBox::down-arrow { + image: url(':/images/arrow_down_light'); +} +QAbstractSpinBox::down-arrow:hover { + image: url(':/images/arrow_down_dark'); +} +QAbstractSpinBox::down-arrow:pressed { + image: url(':/images/arrow_down_light'); +} +QAbstractSpinBox::down-arrow:disabled { + image: url(':/images/arrow_light_down_normal'); +} + + +/* QCalendarWidget */ + +QCalendarWidget { + background-color: #cfcccc; + min-height: 250px; +} + +QCalendarWidget QToolButton { + color: #110202; + width: 80px; +} + +#qt_calendar_calendarview { + border-top: 0px; + border-right: 1px solid #3d3939; + border-bottom: 1px solid #3d3939; + border-left: 1px solid #3d3939; + background-color: #cfcccc; +} + +#qt_calendar_navigationbar { + background-color: #9b1c2e; +} + +#qt_calendar_navigationbar, +#qt_calendar_prevmonth { + border-left: 1px solid #3d3939; +} + +#qt_calendar_navigationbar, +#qt_calendar_nextmonth { + border-right: 1px solid #3d3939; +} + +#qt_calendar_navigationbar, +#qt_calendar_prevmonth, +#qt_calendar_nextmonth, +#qt_calendar_monthbutton, +#qt_calendar_yearbutton { + border-top: 1px solid #3d3939; +} + +#qt_calendar_prevmonth { + width: 80px; + height: 33px; + qproperty-icon: url(':/images/arrow_left_light'); + qproperty-iconSize: 23px 23px; +} + +#qt_calendar_nextmonth { + width: 80px; + height: 33px; + qproperty-icon: url(':/images/arrow_right_light'); + qproperty-iconSize: 23px 23px; +} + +QCalendarWidget, +#qt_calendar_calendarview, +#qt_calendar_navigationbar, +#qt_calendar_prevmonth, +#qt_calendar_nextmonth, +#qt_calendar_monthbutton, +#qt_calendar_yearbutton { + background-color: #f4f4f4; +} + +#qt_calendar_calendarview, +#qt_calendar_navigationbar, +#qt_calendar_prevmonth, +#qt_calendar_nextmonth, +#qt_calendar_monthbutton, +#qt_calendar_yearbutton { + border-color: #cfcccc; +} + +#qt_calendar_prevmonth:hover, +#qt_calendar_nextmonth:hover, +#qt_calendar_monthbutton:hover, +#qt_calendar_yearbutton:hover { + background-color: #878787; + color: #FFFFFF; +} + +QCalendarWidget QToolButton::menu-indicator { + image: none; +} + +QCalendarWidget QWidget { + alternate-background-color: #9b1c2e; + font: 10pt 'Source Sans Pro'; +} + +QCalendarWidget QAbstractItemView:enabled { + color: #110202; + selection-background-color: #3d3939; + selection-color: #FFFFFF; + border: 0px; +} + +QCalendarWidget QAbstractItemView:disabled { + color: #3d3939; +} + +/* QCheckBox */ + +QCheckBox { + background-color: #f4f4f4; + min-height: 25px; + margin-right: 10px; +} + +QCheckBox::indicator { + width: 15px; + height: 15px; + margin-right: 5px; +} + +QCheckBox::indicator:unchecked, +QCheckBox::indicator:unchecked:pressed { + image: url(':/images/checkbox_normal_light'); +} + +QCheckBox::indicator:checked, +QCheckBox::indicator:checked:pressed { + image: url(':/images/checkbox_checked_light'); +} + +QCheckBox::indicator:indeterminate, +QCheckBox::indicator:indeterminate:pressed { + image: url(':/images/checkbox_partly_checked_light'); +} +QCheckBox::indicator:hover:!pressed:unchecked { + image: url(':/images/checkbox_normal_hover_light'); +} + +QCheckBox::indicator:unchecked:disabled { + image: url(':/images/checkbox_normal_disabled_light'); +} + +QCheckBox::indicator:checked:!pressed:hover { + image: url(':/images/checkbox_checked_hover_light'); +} + +QCheckBox::indicator:checked:disabled { + image: url(':/images/checkbox_checked_disabled_light'); +} + +QCheckBox::indicator:indeterminate:hover { + image: url(':/images/checkbox_partly_checked_hover_light'); +} + +QCheckBox::indicator:indeterminate:disabled { + image: url(':/images/checkbox_partly_checked_disabled_light'); +} + +QCheckBox > .QLabel { + font: 10pt 'Source Sans Pro'; +} + +/* QComboBox */ + +QComboBox:editable { + border: 0px solid #f4f4f4; +} + +QComboBox:focus { + padding-top: 0; + padding-bottom: 0; +} + +QComboBox::drop-down { + width: 25px; + border: 0px; +} + +QComboBox::indicator { + background-color: #f4f4f4; + selection-background-color: #3d3939; + color: #110202; + selection-color: #FFFFFF; +} + +QComboBox QListView { + padding: 3px; + background-color: #f4f4f4; + color: #110202; + border: 1px solid #878787; + border-radius: 4px; + font: 10pt 'Source Sans Pro'; +} + +QComboBox QAbstractItemView::item { + margin: 4px; +} + +QComboBox::item { + color: #110202; + font: 10pt 'Source Sans Pro'; +} + +QComboBox::item:alternate { + background-color: #f4f4f4; + font: 10pt 'Source Sans Pro'; +} + +QComboBox::item:selected { + border: 0px solid #f4f4f4; + background-color: #cfcccc; + font: 10pt 'Source Sans Pro'; +} + +QComboBox::down-arrow { + width: 20px; + height: 20px; + image: url(':/images/arrow_down_light') 0 0 0 0 stretch stretch; +} +QComboBox::down-arrow:hover { + width: 20px; + height: 20px; + image: url(':/images/arrow_down_dark') 0 0 0 0 stretch stretch; +} +QComboBox::down-arrow:pressed { + width: 20px; + height: 20px; + image: url(':/images/arrow_down_light') 0 0 0 0 stretch stretch; +} +QComboBox::down-arrow:disabled { + width: 20px; + height: 20px; + image: url(':/images/arrow_light_down_normal') 0 0 0 0 stretch stretch; +} + +/* QDateTimeEdit */ + +QDateTimeEdit::drop-down { + width: 25px; + border: 0px; +} + +/* QGroupBox */ + +QGroupBox { + background-color: #f4f4f4; + color: #110202; + padding-top: 20px; + font: 10pt 'Source Sans Pro'; +} + +QGroupBox:title { + background-color: #f4f4f4; + margin-top: 5px; + margin-left: 7px; + font: 10pt 'Source Sans Pro'; +} + +/* QHeaderView */ + +QHeaderView { + background-color: #9b1c2e; + font: 10pt 'Source Sans Pro'; +} + +QHeaderView::section > .QLabel { + padding: 2px; +} + +QHeaderView::section { + qproperty-alignment: center; + min-height: 25px; + outline: 0; + border: 0px solid; + padding-left: 5px; + padding-right: 5px; + padding-top: 2px; + padding-bottom: 2px; + background-color: #9b1c2e; + border-color: #f4f4f4; + color: #f4f4f4; + font: 10pt 'Source Sans Pro'; +} + +QHeaderView::section:last { + border-right: 0px; +} + +QHeaderView::down-arrow { + width: 20px; + height: 20px; + image: url(':/images/arrow_light_down_normal'); + subcontrol-position: right center; + subcontrol-origin: margin; + margin-right: 5px; +} + +QHeaderView::up-arrow { + width: 20px; + height: 20px; + image: url(':/images/arrow_light_up_normal'); + subcontrol-position: right center; + subcontrol-origin: margin; + margin-right: 5px; +} + +QHeaderView::section:hover { + background-color: #7c1624; + color: #f4f4f4; + font: 10pt 'Source Sans Pro'; +} + +/* QMenu */ + +QMenu { + border: 1px solid; + border-radius: 5px; + background-color: #f4f4f4; + border-color: #cfcccc; +} + +QMenu::item { + padding: 2px 6px 2px 6px; + color: #110202; + font: 10pt 'Source Sans Pro'; +} + +QMenu::item:checked { + padding-left: 18px; +} + +QMenu::item:selected:!disabled { + background-color: #d2d2d2; +} + +QMenu::item:disabled { + color: #878787; +} + +QMenu::separator { + height: 1px; + background-color: #878787; +} + +/* QMenuBar */ + +QMenuBar { + background-color: #f4f4f4; +} + +/* QProgressBar */ + +QProgressBar { + border: 1px solid #878787; + border-radius: 7px; + min-height: 16px; + background-color: #878787; + border-color: #f4f4f4; + color: #f4f4f4; +} + +QProgressBar::chunk { + background-color: #9b1c2e; + border: 1px solid #9b1c2e; + border-radius: 6px; +} + +/* QPushButton */ + +QPushButton { + background-color: #9b1c2e; + border: 0; + border-radius: 8px; + color: #FFFFFF; + min-height: 26px; + padding-left: 12px; + padding-right: 12px; + padding-top: 4px; + padding-bottom: 4px; + font: 10pt 'Source Sans Pro'; +} + +QPushButton:hover { + background-color: #7c1624; +} + +QPushButton:focus { + border: none; + outline: none; +} + +QPushButton:pressed { + background-color: #9b1c2e; +} + +QPushButton:disabled { + background-color: #cfcccc; + border-color: #cfcccc; + color: #878787; +} + +QPushButton > .QLabel { + font-size: 10pt; +} + +/* tabbar */ + +#tabInfo, +#tabConsole, +#tabNetTraffic, +#tabPeers, +#tabRepair, +#tabMain, +#tabWallet, +#tabNetwork, +#tabDisplay, +#tabSignMessage, +#tabVerifyMessage { + background: none; + border-radius: 0px; + background-color: transparent; + color: #FFFFFF; + font: 10pt 'Source Sans Pro'; +} + +#tabInfo:hover:checked, +#tabConsole:hover:checked, +#tabNetTraffic:hover:checked, +#tabPeers:hover:checked, +#tabRepair:hover:checked, +#tabMain:hover:checked, +#tabWallet:hover:checked, +#tabNetwork:hover:checked, +#tabDisplay:hover:checked, +#tabSignMessage:hover:checked, +#tabVerifyMessage:hover:checked { + border: none; + background-color: transparent; + color: #cfcccc; + font: 10pt 'Source Sans Pro'; +} + +#tabInfo:hover:!checked, +#tabConsole:hover:!checked, +#tabNetTraffic:hover:!checked, +#tabPeers:hover:!checked, +#tabRepair:hover:!checked, +#tabMain:hover:!checked, +#tabWallet:hover:!checked, +#tabNetwork:hover:!checked, +#tabDisplay:hover:!checked, +#tabSignMessage:hover:!checked, +#tabVerifyMessage:hover:!checked { + border: none; + background-color: transparent; + color: #cfcccc; + font: 10pt 'Source Sans Pro'; +} + +#tabInfo:checked, +#tabConsole:checked, +#tabNetTraffic:checked, +#tabPeers:checked, +#tabRepair:checked, +#tabMain:checked, +#tabWallet:checked, +#tabNetwork:checked, +#tabDisplay:checked, +#tabSignMessage:checked, +#tabVerifyMessage:checked { + border: none; + background-color: transparent; + color: #cfcccc; + font: 10pt 'Source Sans Pro'; +} + +#tabShowInfo:hover:pressed, +#tabShowConsole:hover:pressed, +#tabShowNetwork:hover:pressed, +#tabShowPeers:hover:pressed, +#tabMain:hover:pressed, +#tabWallet:hover:pressed, +#tabNetwork:hover:pressed, +#tabDisplay:hover:pressed, +#tabAppearance:hover:pressed, +#tabSignMessage:hover:pressed, +#tabVerifyMessage:hover:pressed { + border: none; + background-color: #7c1624; + font: 10pt 'Source Sans Pro'; +} + +/* QRadioButton */ + +QRadioButton { + color: #110202; + background-color: #f4f4f4; + font: 10pt 'Source Sans Pro'; +} + +QRadioButton > .QLabel { + font-size: 10pt; +} + +QRadioButton:disabled { + color: #878787; +} + +QRadioButton::indicator { + width: 15px; + height: 15px; + margin-right: 5px; +} + +QRadioButton::indicator:unchecked, +QRadioButton::indicator:unchecked:pressed { + image: url(':/images/radio_normal_light'); +} +QRadioButton::indicator:checked, +QRadioButton::indicator:checked:pressed { + image: url(':/images/radio_checked_light'); +} +QRadioButton::indicator:hover:unchecked:!pressed { + image: url(':/images/radio_normal_hover_light'); +} +QRadioButton::indicator:checked:hover:!pressed { + image: url(':/images/radio_checked_hover_light'); +} +QRadioButton::indicator:checked:disabled { + image: url(':/images/radio_checked_disabled_light'); +} +QRadioButton::indicator:unchecked:disabled { + image: url(':/images/radio_normal_disabled_light'); +} + + +/* QScrollArea */ + +.QScrollArea { + background-color: #f4f4f4; + border: 0px; +} + +/* QSlider */ + +QSlider::groove:horizontal { + background: #f4f4f4; + height: 10px; + border-radius: 4px; +} + +QSlider::handle:horizontal { + margin-left: 5px; + margin-right: 5px; + width: 19px; + margin-top: -5px; + margin-bottom: -5px; + border-radius: 9px; + background-color: #9b1c2e; +} + +QSlider::handle:horizontal:hover { + background-color: #7c1624; +} + +QSlider::sub-page:horizontal { + height: 10px; + border-radius: 4px; + background-color: #878787; +} + +QSlider::add-page:horizontal { + height: 10px; + border-radius: 4px; + background-color: #878787; +} + +QSlider::sub-page:horizontal:disabled, +QSlider::add-page:horizontal:disabled, +QSlider::handle:horizontal:disabled { + background-color: #cfcccc; +} + +/* QStatusBar */ + +QStatusBar { + padding-left: 10px; + padding-right: 10px; + min-height: 30px; + background-color: #f4f4f4; + color: #cfcccc; +} + +QStatusBar QLabel { + margin-right: 5px; + font: 10pt 'Source Sans Pro'; +} + +QStatusBar #lblStatusBarProgress { + margin-left: 5px; + margin-right: 5px; +} + +/* QTableView */ + +.QTableView { /* Table - has to be selected as a class otherwise it throws off QCalendarWidget */ + border: 1px solid; + background-color: #f4f4f4; + border-color: #cfcccc; + qproperty-showGrid: false; +} + +QTableView::item { + height: 2.5em; + border-bottom: 1px solid; + background-color: #cfcccc; + border-color: #cfcccc; + color: #110202; + font: 10pt 'Source Sans Pro'; +} + +QTableView::item:alternate { + background-color: #ffffff; +} + +QTableView::item:selected { + background-color: #878787; + border-color: #d2d2d2; + color: #110202; + font: 10pt 'Source Sans Pro'; +} + +/* QTableWidget */ + +QTableWidget { + border: 1px solid; + qproperty-showGrid: false; + background-color: #f4f4f4; + border-color: #cfcccc; + color: #cfcccc; +} + +/* QTabWidget */ + +QTabWidget QTabBar { + background-color: #f4f4f4; +} + +QTabWidget QTabBar::tab { + background-color: #f4f4f4; + height: 35px; + color: #9b1c2e; + border-bottom: 1px solid; + border-color: #cfcccc; + padding-left: 1em; + padding-right: 1em; +} + +QTabWidget QTabBar::tab > .QLabel { + font-size: 10pt; +} + +QTabWidget QTabBar::tab:hover { + background-color: #7c1624; + color: #f4f4f4; + border-bottom: 0px solid; +} + +QTabWidget QTabBar::tab::selected { + background-color: #9b1c2e; + color: #f4f4f4; + border-bottom: 0px solid; +} + +/* QTextEdit */ + +QTextEdit { + border: 1px solid #9b1c2e; + background-color: #f4f4f4; + color: #110202; +} + + +/* QToolBar / QToolButton */ + +QToolBar { + border: none; + width: 100%; + padding: 0; + margin: 0; + spacing: 0; + min-height: 2.5em; + background-color: #f4f4f4; + font: 10pt 'Source Sans Pro'; +} + +QToolBar > QToolButton { + border: none; + min-height: 2.5em; + min-width: 140px; + padding: 1px; + text-align: center; + background-color: #f4f4f4; + color: #9b1c2e; + font-weight: bold; + font: 12pt 'Saira Semi Condensed'; +} + +QToolBar > QToolButton > QLabel { + padding: 12px; +} + +QToolBar > QToolButton:hover:!checked { + background-color: #7c1624; + color: #cfcccc; +} + +QToolBar > QToolButton:checked { + background-color: #9b1c2e; + color: #f4f4f4; +} + +QToolBar > QToolButton:disabled { + background-color: #f4f4f4; + color: #a7a7a7; +} + +QToolBar QLabel#lblToolbarLogo { + padding: 2px; + image: url(':/images/firo_logo_toolbar'); + height: 2.5em; + min-height: 1em; + background-color: #f4f4f4; + min-width: 120px; +} + +QToolButton#qt_toolbar_ext_button { + min-width: -1px; + min-height: -1px; + qproperty-icon: url(':/icons/ext_add_light'); + background-color: #9b1c2e; +} + +QToolButton#qt_toolbar_ext_button:hover, +QToolButton#qt_toolbar_ext_button:checked { + min-width: -1px; + min-height: -1px; + qproperty-icon: url(':/icons/ext_add_light'); + background-color: #7c1624; +} + +/* QToolTip */ + +QToolTip { + border: 1px solid; + border-radius: 2px; + padding: 1px; + background-color: #f4f4f4; + border-color: #cfcccc; + color: #3d3939; + font: 10pt 'Source Sans Pro'; +} + +/* QTreeWidget */ + +QTreeWidget { + border: 1px solid; + alternate-background-color: #ffffff; + background-color: #cfcccc; + border-color: #cfcccc; + color: #110202; + font: 10pt 'Source Sans Pro'; +} + +QTreeWidget::branch::closed:has-children { + padding: 0 -2px 0 2px; + image: url(':/images/arrow_right_light'); +} + +QTreeWidget::branch::closed:has-children:hover { + padding: 0 -2px 0 2px; + image: url(':/images/arrow_right_dark'); +} + +QTreeWidget::branch::open { + padding: 0 -2px 0 2px; + image: url(':/images/arrow_down_light'); +} + +QTreeWidget::branch::open:hover { + padding: 0 -2px 0 2px; + image: url(':/images/arrow_down_dark'); +} + +QTreeWidget::indicator { + width: 15px; + height: 15px; + margin-right: 5px; +} + +QTreeWidget::indicator:unchecked, +QTreeWidget::indicator:unchecked:pressed { + image: url(':/images/checkbox_normal_light'); +} + +QTreeWidget::indicator:checked, +QTreeWidget::indicator:checked:pressed { + image: url(':/images/checkbox_checked_light'); +} + +QTreeWidget::indicator:indeterminate, +QTreeWidget::indicator:indeterminate:pressed { + image: url(':/images/checkbox_partly_checked_light'); +} + +QTreeWidget::indicator:hover:unchecked { + image: url(':/images/checkbox_normal_hover_light'); +} + +QTreeWidget::indicator:unchecked:disabled { + image: url(':/images/checkbox_normal_disabled_light'); +} + +QTreeWidget::indicator:checked:hover { + image: url(':/images/checkbox_checked_hover_light'); +} + +QTreeWidget::indicator:checked:disabled { + image: url(':/images/checkbox_checked_disabled_light'); +} + +QTreeWidget::indicator:indeterminate:!pressed:hover { + image: url(':/images/checkbox_partly_checked_hover_light'); +} + +QTreeWidget::indicator:indeterminate:disabled { + image: url(':/images/checkbox_partly_checked_disabled_light'); +} + +/* AboutDialog */ + +QDialog#AboutDialog QLabel#label, +QDialog#AboutDialog QLabel#copyrightLabel, +QDialog#AboutDialog QLabel#label_2 { + margin-left: 10px; +} + +QDialog#AboutDialog QLabel#label_2 { + margin-right: 10px; +} + +/* AddressBookPage */ + +QWidget#AddressBookPage { +} + + /* Min width for Windows fix */ +QWidget#AddressBookPage QHeaderView::section { + min-width: 260px; +} + +/* AskPassphraseDialog */ + +QDialog#AskPassphraseDialog QLabel#passLabel1, +QDialog#AskPassphraseDialog QLabel#passLabel2, +QDialog#AskPassphraseDialog QLabel#passLabel3 { + qproperty-alignment: 'AlignVCenter | AlignRight'; + min-width: 170px; + min-height: 28px; +} + +/* CoinControlDialog */ + +QDialog#CoinControlDialog .QLabel#labelCoinControlQuantityText { + min-height: 30px; + padding-left: 15px; + font-weight: bold; +} +QDialog#CoinControlDialog .QLabel#labelCoinControlQuantity { + min-height: 30px; +} +QDialog#CoinControlDialog .QLabel#labelCoinControlBytesText { + padding-left: 15px; + font-weight: bold; +} +QDialog#CoinControlDialog .QLabel#labelCoinControlBytes { +} +QDialog#CoinControlDialog .QLabel#labelCoinControlAmountText { + min-height: 30px; + padding-left: 15px; + font-weight: bold; +} +QDialog#CoinControlDialog .QLabel#labelCoinControlAmount { + min-height: 30px; +} +QDialog#CoinControlDialog .QLabel#labelCoinControlPriorityText { + padding-left: 15px; + font-weight: bold; +} +QDialog#CoinControlDialog .QLabel#labelCoinControlPriority { +} +QDialog#CoinControlDialog .QLabel#labelCoinControlFeeText { + min-height: 30px; + padding-left: 15px; + font-weight: bold; +} +QDialog#CoinControlDialog .QLabel#labelCoinControlFee { + min-height: 30px; +} +QDialog#CoinControlDialog .QLabel#labelCoinControlLowOutputText { + padding-left: 15px; + font-weight: bold; +} +QDialog#CoinControlDialog .QLabel#labelCoinControlLowOutput { +} +QDialog#CoinControlDialog .QLabel#labelCoinControlAfterFeeText { + min-height: 30px; + padding-left: 15px; + font-weight: bold; +} +QDialog#CoinControlDialog .QLabel#labelCoinControlAfterFee { + min-height: 30px; +} +QDialog#CoinControlDialog .QLabel#labelCoinControlChangeText { + padding-left: 15px; + font-weight: bold; +} +QDialog#CoinControlDialog .QLabel#labelCoinControlChange { + +} + +QDialog#CoinControlDialog .QFrame#frame .QPushButton#pushButtonSelectAll { +} +QDialog#CoinControlDialog .QFrame#frame .QPushButton#pushButtonToggleLock { +} + +QDialog#CoinControlDialog .QDialogButtonBox#buttonBox QPushButton { +} + +QDialog#CoinControlDialog QHeaderView::section:first { + color: #110202; +} + + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item:hover { + background-color: #f4f4f4; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:selected { + background-repeat: no-repeat; + background-position: center; +} +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:checked { + background-repeat: no-repeat; + background-position: center; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::seperator { + +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item { + border-bottom: 1px solid; + min-height: 25px; + border-color: #878787; +} + +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item:selected, +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::item:checked, +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:selected, +QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:checked { + background-color: #d2d2d2; + color: #110202; +} + +/* CreatePcodeDialog */ + +QWidget#CreatePcodeDialog .QLabel#label_6 { + font-weight: bold; +} + +/* EditAddressDialog */ + +QDialog#EditAddressDialog { +} + +QDialog#EditAddressDialog QLabel { + qproperty-alignment: 'AlignVCenter | AlignRight'; + min-height: 27px; + padding-right: 5px; +} + +/* HelpMessageDialog */ + +HelpMessageDialog QWidget#scrollAreaWidgetContents { + border: 1px solid; + background-color: #f4f4f4; + border-color: #cfcccc; +} + +/* Intro */ + +QDialog#Intro QRadioButton#dataDirCustom, +QDialog#Intro QRadioButton#dataDirDefault { + margin-top: 10px; +} + +QDialog#Intro QPushButton#ellipsisButton { + margin-left: 10px; + min-width: 10px; +} + +/* lelantus */ + +QDialog#LelantusDialog QLabel#labelTotalAnonymizedCoinsText, +QDialog#LelantusDialog QLabel#labelLatestGroupText, +QDialog#LelantusDialog QLabel#labelUnspentText, +QDialog#LelantusDialog QLabel#spendableText, +QDialog#LelantusDialog QLabel#unconfirmedText, +QDialog#LelantusDialog QLabel#totalText { + qproperty-alignment: 'AlignVCenter | AlignRight'; + min-width: 100px; + margin-right: 5px; + padding-right: 5px; +} + +QDialog#LelantusDialog QLabel#labelGlobalLelantusPoolText, +QDialog#LelantusDialog QLabel#labelYourAnoymizedCoinsText { + margin-top: 0; + margin-right: 5px; +} + +QDialog#LelantusDialog QLabel#fallbackFeeWarningLabel, +QDialog#LelantusDialog QLabel#labelFeeHeadline { + qproperty-alignment: 'AlignVCenter'; + height: 28px; + font-weight: bold; +} + +QDialog#LelantusDialog QRadioButton#radioSmartFee { + margin-top: 2.5px; +} + +QDialog#LelantusDialog QRadioButton#radioCustomFee { + margin-top: 7px; +} + +/* LookupAddressDialog */ + +QWidget#LookupAddressDialog QLabel#addressInfo, +QWidget#LookupAddressDialog QLabel#balanceInfo { + font-weight: bold; +} + +/* LookupSPDialog */ + +QWidget#LookupSPDialog QLabel#spInfo, +QWidget#LookupSPDialog QLabel#tokenInfo, +QWidget#LookupSPDialog QLabel#crowdInfo { + font-weight: bold; +} + +/* ManualMintDialog */ + +QDialog#ManualMintDialog QLabel#availableAmount, +QDialog#ManualMintDialog QLabel#totalAmount { + font-weight: bold; +} + +/* MetaDExCancelDialog */ + +QWidget#MetaDExCancelDialog QLabel#label_3, +QWidget#MetaDExCancelDialog QLabel#label_2, +QWidget#MetaDExCancelDialog QLabel#label { + font-weight: bold; +} + +/* ModalOverlay */ + +QWidget#bgWidget { + padding-left: 10px; + padding-right: 10px; + background: rgba(0,0,0,140); +} + +QWidget#bgWidget .QLabel#warningIcon { + background-color: #f4f4f4; + margin-left: 10px; + margin-right: 10px; + height: fit-content; +} + +QWidget#contentWidget { + margin: 0; + padding-top: 20px; + padding-bottom: 20px; + border: 1px solid; + border-radius: 10px; + background-color: #f4f4f4; + border-color: #878787; +} + +QWidget#contentWidget QLabel#infoTextStrong, +QWidget#contentWidget QLabel#labelNumberOfBlocksLeft, +QWidget#contentWidget QLabel#labelLastBlockTime, +QWidget#contentWidget QLabel#labelSyncDone, +QWidget#contentWidget QLabel#labelProgressIncrease, +QWidget#contentWidget QLabel#labelEstimatedTimeLeft { + font-weight: bold; +} + +QWidget#bgWidget .QPushButton#closeButton { + margin-right: 50px; +} + +/* NotifyMnemonic */ + +QWizard#NotifyMnemonic QFrame#mnemonicBox { + border: 1px solid #9b1c2e; +} + +/* OptionsDialog */ + +QDialog#OptionsDialog { +} + +QDialog#OptionsDialog QValueComboBox, +QDialog#OptionsDialog QSpinBox { +} + +QDialog#OptionsDialog QValidatedLineEdit, +QDialog#OptionsDialog QValidatedLineEdit:disabled, +QDialog#OptionsDialog QLineEdit, +QDialog#OptionsDialog QLineEdit:disabled { + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + +QDialog#OptionsDialog > QLabel { + qproperty-alignment: 'AlignVCenter'; + min-height: 20px; +} + +QDialog#OptionsDialog QWidget#tabDisplay QValueComboBox { +} + +QDialog#OptionsDialog QLabel#label_3 { + qproperty-alignment: 'AlignVCenter | AlignLeft'; + padding-left: 8px; + min-height: 60px; + color: #c79304; +} + +QDialog#OptionsDialog #line, +QDialog#OptionsDialog #frame { + border-top: 1px solid; +} + +QDialog#OptionsDialog QGroupBox { + margin-top: 10px; +} + +QDialog#OptionsDialog QCheckBox#connectSocksTor, +QDialog#OptionsDialog QLabel#overriddenByCommandLineInfoLabel { + min-width: 550px; +} + +/* OverviewPage */ + + QWidget#OverviewPage QLabel#labelAlerts { + background-color: #c79304; + color: #222222; + border-radius: 5px; + padding: 5px; +} + + +#labelTransactionsStatus, +#labelWalletStatus { + background-color: #f4f4f4; +} + +/* OverviewPage Balances */ + +QWidget .QFrame#frame .QLabel#label_5, +QWidget .QFrame#frame .QLabel#label { + margin-right: 5px; + font-weight: bold; +} + +QWidget .QFrame#frame .QLabel#label { + margin-top: 10px; +} + + +QWidget .QFrame#frame .QPushButton#labelWalletStatus { + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + +QWidget .QFrame#frame .QLabel#labelSpendable { + qproperty-alignment: 'AlignVCenter | AlignLeft'; + margin-left: 15px; +} + +QWidget .QFrame#frame .QLabel#labelWatchonly { + qproperty-alignment: 'AlignVCenter | AlignLeft'; + margin-left: 16px; +} + +QWidget .QFrame#frame .QLabel#labelPrivate, +QWidget .QFrame#frame .QLabel#labelBalance { + qproperty-alignment: 'AlignVCenter | AlignLeft'; + margin-bottom: -1px; + margin-left: 0px; + font-weight: bold; +} + +QWidget .QFrame#frame .QLabel#labelWatchAvailable { + qproperty-alignment: 'AlignVCenter | AlignLeft'; + margin-bottom: -2px; + margin-left: 16px; + font-weight: bold; +} + +QWidget .QFrame#frame .QLabel#labelPendingText, +QWidget .QFrame#frame .QLabel#labelPrivateText, +QWidget .QFrame#frame .QLabel#labelBalanceText, +QWidget .QFrame#frame .QLabel#labelUnconfirmedPrivateText { + qproperty-alignment: 'AlignVCenter | AlignRight'; + min-width: 100px; + margin-right: 5px; + padding-right: 5px; +} + +QWidget .QFrame#frame .QLabel#labelUnconfirmed, +QWidget .QFrame#frame .QLabel#labelUnconfirmedPrivate { + qproperty-alignment: 'AlignVCenter | AlignLeft'; + margin-bottom: -2px; + margin-left: 0px; + font-weight: bold; +} + +QWidget .QFrame#frame .QLabel#labelWatchPending { + qproperty-alignment: 'AlignVCenter | AlignLeft'; + margin-bottom: -2px; + margin-left: 16px; + font-weight: bold; +} + +QWidget .QFrame#frame .QLabel#labelImmatureText { + qproperty-alignment: 'AlignVCenter | AlignRight'; + min-width: 100px; + margin-right: 5px; + padding-right: 5px; +} + +QWidget .QFrame#frame .QLabel#labelImmature { + qproperty-alignment: 'AlignVCenter | AlignLeft'; + margin-bottom: -2px; + margin-left: 0px; + font-weight: bold; +} + +QWidget .QFrame#frame .QLabel#labelWatchImmature { + qproperty-alignment: 'AlignVCenter | AlignLeft'; + margin-bottom: -2px; + margin-left: 16px; + font-weight: bold; +} + +QWidget .QFrame#frame .QLabel#labelTotalText { + qproperty-alignment: 'AlignVCenter | AlignRight'; + min-width: 100px; + margin-right: 5px; + padding-right: 5px; +} + +QWidget .QFrame#frame .QLabel#labelTotal { + qproperty-alignment: 'AlignVCenter | AlignLeft'; + margin-bottom: -2px; + margin-left: 0px; + font-weight: bold; +} + +QWidget .QFrame#frame .QLabel#labelWatchTotal { + qproperty-alignment: 'AlignVCenter | AlignLeft'; + margin-bottom: -2px; + margin-left: 16px; + font-weight: bold; +} + +QWidget .QFrame#frame .QLabel#labelAnonymizableText { + qproperty-alignment: 'AlignVCenter | AlignRight'; + min-width: 100px; + margin-right: 5px; + padding-right: 5px; +} + +QWidget .QFrame#frame .QLabel#labelAnonymizable { + qproperty-alignment: 'AlignVCenter | AlignLeft'; + margin-bottom: -2px; + margin-left: 0px; + font-weight: bold; +} + +/* OverviewPage RecentTransactions */ + +QWidget .QFrame#frame_2 { + min-width: 430; +} + +QWidget .QFrame#frame_2 .QLabel#label_4 { + margin-right: 0px; + min-height: 30px; + font-weight: bold; +} + +QWidget .QFrame#frame_2 .QPushButton#labelTransactionsStatus { + qproperty-alignment: 'AlignVCenter | AlignLeft'; +} + +QWidget .QFrame#frame_2 QListView { + background: #f4f4f4; + max-width: 430px; + margin-right: 10px; +} + +/* ReceiveCoinsDialog */ + +QWidget#ReceiveCoinsDialog .QFrame { +} + +QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label, +QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label_2, +QWidget#ReceiveCoinsDialog .QFrame#frame2 .QLabel#label_3, +QWidget#ReceiveCoinsDialog .QFrame#frame .QLabel#label_6 { + min-width: 0px; +} + +ReceiveCoinsDialog#label_6 { + font-weight: bold; +} + +/* ReceiveRequestDialog */ + +ReceiveRequestDialog#outUri { + margin-top: 20px; +} + +/* Recover */ + + +/* RPCConsole */ + +QWidget#RPCConsole QLabel#label_9, +QWidget#RPCConsole QLabel#labelNetwork, +QWidget#RPCConsole QLabel#label_10, +QWidget#RPCConsole QLabel#labelMempoolTitle, +QWidget#RPCConsole QLabel#label_repair_header, +QWidget#RPCConsole QLabel#peerHeading, +QWidget#RPCConsole QLabel#banHeading { +} + +QWidget#RPCConsole QLabel#label_9, +QWidget#RPCConsole QLabel#labelNetwork, +QWidget#RPCConsole QLabel#label_10, +QWidget#RPCConsole QLabel#labelMempoolTitle { + qproperty-alignment: 'AlignLeft | AlignBottom'; + min-height: 25px; + font-weight: bold; +} + +QWidget#RPCConsole QLabel#banHeading { + min-height: 30px; + margin-left: -3px; + margin-bottom: 15px; + font-weight: bold; +} + + +QWidget#RPCConsole QPushButton#promptIcon { + background-color: #f4f4f4; + height: 28px; +} + +QWidget#RPCConsole QPushButton#openDebugLogfileButton { + max-width: 60px; +} + + +QWidget#RPCConsole QPushButton#fontSmallerButton, +QWidget#RPCConsole QPushButton#fontBiggerButton, +QWidget#RPCConsole QPushButton#clearButton { + background-color: #f4f4f4; + min-width: 28px; + min-height: 28px; +} + +QWidget#RPCConsole QTextEdit#messagesWidget { + padding: 10px; +} + +QWidget#RPCConsole QLineEdit#lineEdit { + margin-top: 10px; +} + +QWidget#RPCConsole .QToolButton { + background-color: #f4f4f4; + margin-left: 3px; + margin-bottom:5px; + border: 0; +} + +QWidget#RPCConsole .QGroupBox #line { + background-color: #5e8c41; +} + +QWidget#RPCConsole .QGroupBox #line_2 { + background-color: #a84832; +} + +#rpcAutoCompleter QListView { + background-color: red; +} + +QWidget#RPCConsole { + background-color: #f4f4f4; +} + +#rpcAutoCompleter { + border: 1px solid; + background-color: #f4f4f4; + border-color: #110202; +} + +#rpcAutoCompleter::item { + background-color: #f4f4f4; + color: #110202; +} + +#rpcAutoCompleter::item:selected { + background-color: #3d3939; + color: #FFFFFF; +} + +/* SendCoinsDialog */ + +QDialog#SendCoinsDialog .QFrame#frameCoinControl, +QDialog#SendCoinsDialog #scrollArea { + border-bottom: 1px solid; + border-color: #cfcccc; +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QWidget#widgetCoinControl > .QLabel { + padding: 2px; +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QLabel#labelCoinControlChangeLabel { + margin-right: 112px; +} + +QDialog#SendCoinsDialog .QFrame#frameCoinControl .QLabel#labelCoinControlInsuffFunds { + color: #ba2a45; +} + +QDialog#SendCoinsDialog .QScrollArea#scrollArea .QWidget#scrollAreaWidgetContents { + background-color: #f4f4f4; +} + +QDialog#SendCoinsDialog QLabel#labelBalanceText, +QDialog#SendCoinsDialog QLabel#labelBalance { + qproperty-alignment: 'AlignLeading | AlignLeft'; + min-height: 20px; + max-height: 20px; +} + +QDialog#SendCoinsDialog QLabel#labelCoinControlFeatures, +QDialog#SendCoinsDialog QLabel#QDialog#SendCoinsDialog QLabel#labelCoinControlInsuffFunds, +QDialog#SendCoinsDialog QLabel#labelCoinControlQuantityText, +QDialog#SendCoinsDialog QLabel#labelCoinControlBytesText, +QDialog#SendCoinsDialog QLabel#labelCoinControlAmountText, +QDialog#SendCoinsDialog QLabel#labelCoinControlLowOutputText, +QDialog#SendCoinsDialog QLabel#labelCoinControlFeeText, +QDialog#SendCoinsDialog QLabel#labelCoinControlAfterFeeText, +QDialog#SendCoinsDialog QLabel#labelCoinControlChangeText, +QDialog#SendCoinsDialog QLabel#labelGlobalLelantusPoolText, +QDialog#SendCoinsDialog QLabel#labelYourAnoymizedCoinsText, +QDialog#SendCoinsDialog QLabel#labelFeeHeadline, +QDialog#SendCoinsDialog QLabel#fallbackFeeWarningLabel { + font-weight: bold; +} + + +QDialog#SendCoinsDialog QLabel#labelBalance { + margin-right: 10px; +} + +QDialog#SendCoinsDialog QPushButton#sendButton { + margin-left:10px; +} + +QDialog#SendCoinsDialog QPushButton#clearButton, +QDialog#SendCoinsDialog QPushButton#addButton { + background-color: #878787; + color: #FFFFFF; +} + +QDialog#SendCoinsDialog QPushButton#clearButton:hover, +QDialog#SendCoinsDialog QPushButton#addButton:hover { + background-color: #3d3939; + color: #FFFFFF; +} + +#checkboxSubtractFeeFromAmount { + padding-left: 10px; +} + +QDialog#SendCoinsDialog QRadioButton#radioSmartFee { + margin-top: 2.5px; +} + +QDialog#SendCoinsDialog QRadioButton#radioCustomFee { + margin-top: 7px; +} + +/* SendCoinsEntry */ + +QStackedWidget#SendCoinsEntry .QFrame#SendCoins > .QLabel { + background-color: #f4f4f4; + min-width: 50px; + min-height: 25px; + margin-right: 5px; + padding-right: 5px; +} + +QStackedWidget#SendCoinsEntry .QFrame#SendCoins .QLabel#amountLabel { +} + +QStackedWidget#SendCoinsEntry .QValidatedLineEdit#payTo { +} + +QStackedWidget#SendCoinsEntry .QToolButton { + background-color: #f4f4f4; + margin-left: 5px; + margin-right: 5px; + border: 0; +} + +QStackedWidget#SendCoinsEntry .QToolButton#addressBookButton { + margin-left: 10px; +} + +QStackedWidget#SendCoinsEntry .QToolButton#addressBookButton, +QStackedWidget#SendCoinsEntry .QToolButton#pasteButton, +QStackedWidget#SendCoinsEntry .QToolButton#deleteButton, +QStackedWidget#SendCoinsEntry .QToolButton#deleteButton_is { +} + +QStackedWidget#SendCoinsEntry .QLineEdit#addAsLabel { +} + +/* SigmaCoinControlDialog */ + +QDialog#SigmaCoinControlDialog QLabel#labelCoinControlQuantityText, +QDialog#SigmaCoinControlDialog QLabel#labelCoinControlBytesText, +QDialog#SigmaCoinControlDialog QLabel#labelCoinControlAmountText, +QDialog#SigmaCoinControlDialog QLabel#labelCoinControlPriorityText, +QDialog#SigmaCoinControlDialog QLabel#labelCoinControlFeeText, +QDialog#SigmaCoinControlDialog QLabel#labelCoinControlLowOutputText, +QDialog#SigmaCoinControlDialog QLabel#labelCoinControlAfterFeeText, +QDialog#SigmaCoinControlDialog QLabel#labelCoinControlChangeText { + font-weight: bold; +} + +/* SigmaDialog */ + +QWidget#SigmaDialog QLabel#labelCoinControlFeatures, +QWidget#SigmaDialog QLabel#labelCoinControlInsuffFunds, +QWidget#SigmaDialog QLabel#label_3, +QWidget#SigmaDialog QLabel#label_121, +QWidget#SigmaDialog QLabel#total, +QWidget#SigmaDialog QLabel#availableAmount, +QWidget#SigmaDialog QLabel#labelCoinControlQuantityText, +QWidget#SigmaDialog QLabel#labelCoinControlBytesText, +QWidget#SigmaDialog QLabel#labelCoinControlAmountText, +QWidget#SigmaDialog QLabel#labelCoinControlPriorityText, +QWidget#SigmaDialog QLabel#labelCoinControlFeeText, +QWidget#SigmaDialog QLabel#labelCoinControlLowOutputText, +QWidget#SigmaDialog QLabel#labelCoinControlAfterFeeText, +QWidget#SigmaDialog QLabel#labelCoinControlChangeText { + font-weight: bold; +} + +/* SignVerifyMessageDialog */ + +QDialog#SignVerifyMessageDialog { +} + +QDialog#SignVerifyMessageDialog QPushButton#addressBookButton_SM { + background-color: #f4f4f4; +} + +QDialog#SignVerifyMessageDialog QPlainTextEdit { +} + +QDialog#SignVerifyMessageDialog QLabel#infoLabel_SM, +QDialog#SignVerifyMessageDialog QLabel#infoLabel_VM { +} + + +/* Required to reset sizePolicy to allow expanding? */ +QDialog#SignVerifyMessageDialog QPlainTextEdit#messageIn_SM, +QDialog#SignVerifyMessageDialog QPlainTextEdit#messageIn_VM { +} + +QDialog#SignVerifyMessageDialog QPlainTextEdit#messageIn_SM, +QDialog#SignVerifyMessageDialog QPlainTextEdit#messageIn_VM { + padding: 8px; +} + +QDialog#SignVerifyMessageDialog QLabel#signatureLabel_SM { +} + +QDialog#SignVerifyMessageDialog QPushButton#pasteButton_SM { + background-color: #f4f4f4; +} + +QDialog#SignVerifyMessageDialog QLineEdit#signatureOut_SM, +QDialog#SignVerifyMessageDialog QLineEdit#signatureIn_VM { +} + +QDialog#SignVerifyMessageDialog QPushButton#copySignatureButton_SM { + background-color: #f4f4f4; +} + +QDialog#SignVerifyMessageDialog QPushButton#addressBookButton_VM { + background-color: #f4f4f4; + border: 0px solid; +} + +QDialog#SignVerifyMessageDialog .QToolButton { + background-color: #f4f4f4; + margin-left: 5px; + margin-right: 5px; + border: 0; +} + +/* ShutdownWindow */ + +QWidget#ShutdownWindow { + background-color: #f4f4f4; +} + +/* TransactionView */ + +TransactionView QLineEdit { + margin-bottom: 2px; + margin-right: 1px; + min-width: 101px; + text-align: center; +} + +TransactionView QLineEdit#addressWidget { + margin-bottom: 2px; + margin-right: 1px; + min-width: 405px; + text-align: center; +} + +TransactionView QLineEdit#amountWidget { + margin-bottom: 2px; + margin-right: 1px; + min-width: 101px; + max-width: 101px; + text-align: center; +} + +TransactionView QComboBox { + margin-bottom: 3px; + margin-right: 1px; +} + +#transactionSumLabel, +#transactionSum { + qproperty-alignment: 'AlignLeading | AlignLeft'; + min-height: 30px; + margin-top: 15px; +} + +/* overlay warning icon */ +QPushButton#warningIcon { + background-color: #f4f4f4; + height: 33px; +} diff --git a/src/qt/res/icons/chevron.png b/src/qt/res/icons/chevron.png index 2309fb38e2..1f6ed1a080 100644 Binary files a/src/qt/res/icons/chevron.png and b/src/qt/res/icons/chevron.png differ diff --git a/src/qt/res/icons/ext_add.png b/src/qt/res/icons/ext_add.png new file mode 100644 index 0000000000..f6159b5dc0 Binary files /dev/null and b/src/qt/res/icons/ext_add.png differ diff --git a/src/qt/res/icons/ext_add_light.png b/src/qt/res/icons/ext_add_light.png new file mode 100644 index 0000000000..d48e36db00 Binary files /dev/null and b/src/qt/res/icons/ext_add_light.png differ diff --git a/src/qt/res/images/arrow_down_dark.png b/src/qt/res/images/arrow_down_dark.png new file mode 100644 index 0000000000..25b0bfca58 Binary files /dev/null and b/src/qt/res/images/arrow_down_dark.png differ diff --git a/src/qt/res/images/arrow_down_light.png b/src/qt/res/images/arrow_down_light.png new file mode 100644 index 0000000000..fb20cc6078 Binary files /dev/null and b/src/qt/res/images/arrow_down_light.png differ diff --git a/src/qt/res/images/arrow_left_dark.png b/src/qt/res/images/arrow_left_dark.png new file mode 100644 index 0000000000..1188f31d1e Binary files /dev/null and b/src/qt/res/images/arrow_left_dark.png differ diff --git a/src/qt/res/images/arrow_left_light.png b/src/qt/res/images/arrow_left_light.png new file mode 100644 index 0000000000..eea0096bdc Binary files /dev/null and b/src/qt/res/images/arrow_left_light.png differ diff --git a/src/qt/res/images/arrow_light_down_hover.png b/src/qt/res/images/arrow_light_down_hover.png new file mode 100644 index 0000000000..ba4dc8bf93 Binary files /dev/null and b/src/qt/res/images/arrow_light_down_hover.png differ diff --git a/src/qt/res/images/arrow_light_down_normal.png b/src/qt/res/images/arrow_light_down_normal.png new file mode 100644 index 0000000000..efca2811ac Binary files /dev/null and b/src/qt/res/images/arrow_light_down_normal.png differ diff --git a/src/qt/res/images/arrow_light_left_hover.png b/src/qt/res/images/arrow_light_left_hover.png new file mode 100644 index 0000000000..99cc76df93 Binary files /dev/null and b/src/qt/res/images/arrow_light_left_hover.png differ diff --git a/src/qt/res/images/arrow_light_left_normal.png b/src/qt/res/images/arrow_light_left_normal.png new file mode 100644 index 0000000000..2b15306aec Binary files /dev/null and b/src/qt/res/images/arrow_light_left_normal.png differ diff --git a/src/qt/res/images/arrow_light_right_hover.png b/src/qt/res/images/arrow_light_right_hover.png new file mode 100644 index 0000000000..6a106c6528 Binary files /dev/null and b/src/qt/res/images/arrow_light_right_hover.png differ diff --git a/src/qt/res/images/arrow_light_right_normal.png b/src/qt/res/images/arrow_light_right_normal.png new file mode 100644 index 0000000000..c5376584d8 Binary files /dev/null and b/src/qt/res/images/arrow_light_right_normal.png differ diff --git a/src/qt/res/images/arrow_light_up_hover.png b/src/qt/res/images/arrow_light_up_hover.png new file mode 100644 index 0000000000..5e90405be6 Binary files /dev/null and b/src/qt/res/images/arrow_light_up_hover.png differ diff --git a/src/qt/res/images/arrow_light_up_normal.png b/src/qt/res/images/arrow_light_up_normal.png new file mode 100644 index 0000000000..05fcabe26b Binary files /dev/null and b/src/qt/res/images/arrow_light_up_normal.png differ diff --git a/src/qt/res/images/arrow_right_dark.png b/src/qt/res/images/arrow_right_dark.png new file mode 100644 index 0000000000..5090f54955 Binary files /dev/null and b/src/qt/res/images/arrow_right_dark.png differ diff --git a/src/qt/res/images/arrow_right_light.png b/src/qt/res/images/arrow_right_light.png new file mode 100644 index 0000000000..59730d19b1 Binary files /dev/null and b/src/qt/res/images/arrow_right_light.png differ diff --git a/src/qt/res/images/arrow_up_dark.png b/src/qt/res/images/arrow_up_dark.png new file mode 100644 index 0000000000..5d4c7835d0 Binary files /dev/null and b/src/qt/res/images/arrow_up_dark.png differ diff --git a/src/qt/res/images/arrow_up_light.png b/src/qt/res/images/arrow_up_light.png new file mode 100644 index 0000000000..7e63b3402c Binary files /dev/null and b/src/qt/res/images/arrow_up_light.png differ diff --git a/src/qt/res/images/checkbox_checked_disabled_light.png b/src/qt/res/images/checkbox_checked_disabled_light.png new file mode 100644 index 0000000000..278c1a07c2 Binary files /dev/null and b/src/qt/res/images/checkbox_checked_disabled_light.png differ diff --git a/src/qt/res/images/checkbox_checked_hover_light.png b/src/qt/res/images/checkbox_checked_hover_light.png new file mode 100644 index 0000000000..9e7b627651 Binary files /dev/null and b/src/qt/res/images/checkbox_checked_hover_light.png differ diff --git a/src/qt/res/images/checkbox_checked_light.png b/src/qt/res/images/checkbox_checked_light.png new file mode 100644 index 0000000000..8fbd6513d8 Binary files /dev/null and b/src/qt/res/images/checkbox_checked_light.png differ diff --git a/src/qt/res/images/checkbox_normal_disabled_light.png b/src/qt/res/images/checkbox_normal_disabled_light.png new file mode 100644 index 0000000000..a324ae8422 Binary files /dev/null and b/src/qt/res/images/checkbox_normal_disabled_light.png differ diff --git a/src/qt/res/images/checkbox_normal_hover_light.png b/src/qt/res/images/checkbox_normal_hover_light.png new file mode 100644 index 0000000000..fcccc9abfe Binary files /dev/null and b/src/qt/res/images/checkbox_normal_hover_light.png differ diff --git a/src/qt/res/images/checkbox_normal_light.png b/src/qt/res/images/checkbox_normal_light.png new file mode 100644 index 0000000000..c1bd1a1454 Binary files /dev/null and b/src/qt/res/images/checkbox_normal_light.png differ diff --git a/src/qt/res/images/checkbox_partly_checked_disabled_light.png b/src/qt/res/images/checkbox_partly_checked_disabled_light.png new file mode 100644 index 0000000000..13d6f22a84 Binary files /dev/null and b/src/qt/res/images/checkbox_partly_checked_disabled_light.png differ diff --git a/src/qt/res/images/checkbox_partly_checked_hover_light.png b/src/qt/res/images/checkbox_partly_checked_hover_light.png new file mode 100644 index 0000000000..209d7bc63c Binary files /dev/null and b/src/qt/res/images/checkbox_partly_checked_hover_light.png differ diff --git a/src/qt/res/images/checkbox_partly_checked_light.png b/src/qt/res/images/checkbox_partly_checked_light.png new file mode 100644 index 0000000000..83737b60f5 Binary files /dev/null and b/src/qt/res/images/checkbox_partly_checked_light.png differ diff --git a/src/qt/res/images/firo_logo_white.png b/src/qt/res/images/firo_logo_white.png new file mode 100644 index 0000000000..fedfe0eb50 Binary files /dev/null and b/src/qt/res/images/firo_logo_white.png differ diff --git a/src/qt/res/images/radio_checked_disabled_light.png b/src/qt/res/images/radio_checked_disabled_light.png new file mode 100644 index 0000000000..b55b82d8eb Binary files /dev/null and b/src/qt/res/images/radio_checked_disabled_light.png differ diff --git a/src/qt/res/images/radio_checked_hover_light.png b/src/qt/res/images/radio_checked_hover_light.png new file mode 100644 index 0000000000..1c1ea3e539 Binary files /dev/null and b/src/qt/res/images/radio_checked_hover_light.png differ diff --git a/src/qt/res/images/radio_checked_light.png b/src/qt/res/images/radio_checked_light.png new file mode 100644 index 0000000000..2f716f1ae2 Binary files /dev/null and b/src/qt/res/images/radio_checked_light.png differ diff --git a/src/qt/res/images/radio_normal_disabled_light.png b/src/qt/res/images/radio_normal_disabled_light.png new file mode 100644 index 0000000000..8cc8cab8ac Binary files /dev/null and b/src/qt/res/images/radio_normal_disabled_light.png differ diff --git a/src/qt/res/images/radio_normal_hover_light.png b/src/qt/res/images/radio_normal_hover_light.png new file mode 100644 index 0000000000..b757b6b9c9 Binary files /dev/null and b/src/qt/res/images/radio_normal_hover_light.png differ diff --git a/src/qt/res/images/radio_normal_light.png b/src/qt/res/images/radio_normal_light.png new file mode 100644 index 0000000000..3781a5e47a Binary files /dev/null and b/src/qt/res/images/radio_normal_light.png differ diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index 77e5e03e64..c76e60d7f7 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -710,7 +710,7 @@ void RPCConsole::clear(bool clearHistory) ui->messagesWidget->document()->addResource( QTextDocument::ImageResource, QUrl(ICON_MAPPING[i].url), - platformStyle->SingleColorImage(ICON_MAPPING[i].source).scaled(QSize(consoleFontSize*2, consoleFontSize*2), Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); + QImage(ICON_MAPPING[i].source).scaled(QSize(consoleFontSize*2, consoleFontSize*2), Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); } // Set default style sheet diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 2558d9e430..85e8363d9f 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -750,14 +750,14 @@ void SendCoinsDialog::setAnonymizeMode(bool enableAnonymizeMode) if (fAnonymousMode) { ui->switchFundButton->setText(QString(tr("Use Transparent Balance"))); - ui->label->setText(QString(tr("Private Balance"))); + ui->labelBalanceText->setText(QString(tr("Private Balance"))); ui->checkBoxCoinControlChange->setEnabled(false); ui->lineEditCoinControlChange->setEnabled(false); } else { ui->switchFundButton->setText(QString(tr("Use Private Balance"))); - ui->label->setText(QString(tr("Transparent Balance"))); + ui->labelBalanceText->setText(QString(tr("Transparent Balance"))); ui->checkBoxCoinControlChange->setEnabled(true); if (ui->checkBoxCoinControlChange->isChecked()) { diff --git a/src/qt/signverifymessagedialog.cpp b/src/qt/signverifymessagedialog.cpp index 0950ed0234..ceb7fecee0 100644 --- a/src/qt/signverifymessagedialog.cpp +++ b/src/qt/signverifymessagedialog.cpp @@ -31,11 +31,7 @@ SignVerifyMessageDialog::SignVerifyMessageDialog(const PlatformStyle *_platformS ui->addressBookButton_SM->setIcon(platformStyle->SingleColorIcon(":/icons/address-book")); ui->pasteButton_SM->setIcon(platformStyle->SingleColorIcon(":/icons/editpaste")); ui->copySignatureButton_SM->setIcon(platformStyle->SingleColorIcon(":/icons/editcopy")); - ui->signMessageButton_SM->setIcon(platformStyle->SingleColorIcon(":/icons/edit")); - ui->clearButton_SM->setIcon(platformStyle->SingleColorIcon(":/icons/remove")); ui->addressBookButton_VM->setIcon(platformStyle->SingleColorIcon(":/icons/address-book")); - ui->verifyMessageButton_VM->setIcon(platformStyle->SingleColorIcon(":/icons/transaction_0")); - ui->clearButton_VM->setIcon(platformStyle->SingleColorIcon(":/icons/remove")); #if QT_VERSION >= 0x040700 ui->signatureOut_SM->setPlaceholderText(tr("Click \"Sign Message\" to generate signature")); diff --git a/src/qt/splashscreen.cpp b/src/qt/splashscreen.cpp index 85ac9fdf56..48b7c44362 100644 --- a/src/qt/splashscreen.cpp +++ b/src/qt/splashscreen.cpp @@ -52,12 +52,12 @@ SplashScreen::SplashScreen(const QPixmap &pixmap, Qt::WindowFlags f) : QSplashSc // load the bitmap for writing some text over it QPixmap newPixmap; -// if(GetBoolArg("-testnet")) { -// newPixmap = QPixmap(":/images/splash_testnet"); -// } -// else { + if(GetBoolArg("-testnet", false)) { + newPixmap = QPixmap(":/images/splash_testnet"); + } + else { newPixmap = QPixmap(":/images/splash"); -// } + } QPainter pixPaint(&newPixmap); pixPaint.setPen(QColor(70,70,70)); diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index aa8534a862..7a00bc0a50 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -35,6 +35,7 @@ #include #include #include +#include namespace { char const * CopyLabelText{"Copy label"}; @@ -645,6 +646,7 @@ QWidget *TransactionView::createDateRangeWidget() connect(dateFrom, SIGNAL(dateChanged(QDate)), this, SLOT(dateRangeChanged())); connect(dateTo, SIGNAL(dateChanged(QDate)), this, SLOT(dateRangeChanged())); + updateCalendarWidgets(); return dateRangeWidget; } @@ -657,6 +659,20 @@ void TransactionView::dateRangeChanged() QDateTime(dateTo->date()).addDays(1)); } +void TransactionView::updateCalendarWidgets() +{ + auto adjustWeekEndColors = [](QCalendarWidget* w) { + QTextCharFormat format = w->weekdayTextFormat(Qt::Saturday); + format.setForeground(QBrush(QColor(61,57,57), Qt::SolidPattern)); + + w->setWeekdayTextFormat(Qt::Saturday, format); + w->setWeekdayTextFormat(Qt::Sunday, format); + }; + + adjustWeekEndColors(dateFrom->calendarWidget()); + adjustWeekEndColors(dateTo->calendarWidget()); +} + void TransactionView::focusTransaction(const QModelIndex &idx) { if(!transactionProxyModel) diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h index 5dc112566f..958be234ec 100644 --- a/src/qt/transactionview.h +++ b/src/qt/transactionview.h @@ -87,6 +87,7 @@ class TransactionView : public QWidget QAction *reconsiderBip47TxAction; QWidget *createDateRangeWidget(); + void updateCalendarWidgets(); GUIUtil::TableViewLastColumnResizingFixer *columnResizingFixer;