diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index ecc2e51dc933..287bb896e945 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -303,21 +303,54 @@ BITCOIN_QT_CPP += $(BITCOIN_QT_WALLET_CPP) endif RES_IMAGES = \ - qt/res/images/arrow_down.png \ - qt/res/images/arrow_down_small.png \ - qt/res/images/arrow_left_small.png \ - qt/res/images/arrow_right_small.png \ - qt/res/images/arrow_up_small.png \ - qt/res/images/checked.png \ + qt/res/images/arrow_down_normal.png \ + qt/res/images/arrow_down_hover.png \ + qt/res/images/arrow_down_pressed.png \ + qt/res/images/arrow_left_normal.png \ + qt/res/images/arrow_left_hover.png \ + qt/res/images/arrow_left_pressed.png \ + qt/res/images/arrow_right_normal.png \ + qt/res/images/arrow_right_hover.png \ + qt/res/images/arrow_right_pressed.png \ + qt/res/images/arrow_up_normal.png \ + qt/res/images/arrow_up_hover.png \ + qt/res/images/arrow_up_pressed.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.png \ + qt/res/images/checkbox_normal_hover.png \ + qt/res/images/checkbox_normal_pressed.png \ + qt/res/images/checkbox_normal_disabled.png \ + qt/res/images/checkbox_checked.png \ + qt/res/images/checkbox_checked_hover.png \ + qt/res/images/checkbox_checked_pressed.png \ + qt/res/images/checkbox_checked_disabled.png \ + qt/res/images/checkbox_partly_checked.png \ + qt/res/images/checkbox_partly_checked_hover.png \ + qt/res/images/checkbox_partly_checked_pressed.png \ + qt/res/images/checkbox_partly_checked_disabled.png \ qt/res/images/dash_logo_horizontal.png \ qt/res/images/dash_logo_toolbar.png \ qt/res/images/dash_logo_toolbar_blue.png \ - qt/res/images/qtreeview_selected.png \ - qt/res/images/splash.png \ - qt/res/images/unchecked.png + qt/res/images/radio_normal.png \ + qt/res/images/radio_normal_hover.png \ + qt/res/images/radio_normal_pressed.png \ + qt/res/images/radio_checked.png \ + qt/res/images/radio_checked_hover.png \ + qt/res/images/radio_checked_pressed.png \ + qt/res/images/radio_normal_disabled.png \ + qt/res/images/radio_checked_disabled.png \ + qt/res/images/splash.png RES_CSS = \ qt/res/css/dark.css \ + qt/res/css/general.css \ qt/res/css/light.css \ qt/res/css/scrollbars.css \ qt/res/css/trad.css diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 81d127cc8f2d..4da94010b4c7 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -241,19 +241,6 @@ BitcoinGUI::BitcoinGUI(const PlatformStyle *_platformStyle, const NetworkStyle * progressBar->setStyleSheet("QProgressBar { background-color: #F8F8F8; border: 1px solid grey; border-radius: 7px; padding: 1px; text-align: center; } QProgressBar::chunk { background: QLinearGradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #00CCFF, stop: 1 #33CCFF); border-radius: 7px; margin: 0px; }"); } -#ifndef Q_OS_MAC - // Apply some styling to scrollbars - QString theme = settings.value("theme", "").toString(); - if (theme != "Traditional") { // No scrollbar styling for the traditional theme - QFile qFile(QString(":/css/scrollbars")); - QString styleSheet; - if (qFile.open(QFile::ReadOnly)) { - styleSheet = QLatin1String(qFile.readAll()); - } - this->setStyleSheet(this->styleSheet().append(styleSheet)); - } -#endif - statusBar()->addWidget(progressBarLabel); statusBar()->addWidget(progressBar); statusBar()->addPermanentWidget(frameBlocks); @@ -620,9 +607,8 @@ void BitcoinGUI::createToolBars() toolbar->addWidget(spacer); QLabel *logoLabel = new QLabel(); - QString theme = settings.value("theme", "").toString(); QString logoImage = ":/images/dash_logo_toolbar"; - if (theme == "Traditional") { + if (!GUIUtil::dashThemeActive()) { logoImage = ":/images/dash_logo_toolbar_blue"; } diff --git a/src/qt/dash.qrc b/src/qt/dash.qrc index 52b004165d96..b66c470d61ac 100644 --- a/src/qt/dash.qrc +++ b/src/qt/dash.qrc @@ -55,6 +55,7 @@ res/icons/network_disabled.png + res/css/general.css res/css/scrollbars.css @@ -63,18 +64,50 @@ res/css/trad.css - res/images/arrow_down.png - res/images/arrow_down_small.png - res/images/arrow_left_small.png - res/images/arrow_right_small.png - res/images/arrow_up_small.png - res/images/checked.png + res/images/arrow_down_normal.png + res/images/arrow_down_hover.png + res/images/arrow_down_pressed.png + res/images/arrow_left_normal.png + res/images/arrow_left_hover.png + res/images/arrow_left_pressed.png + res/images/arrow_right_normal.png + res/images/arrow_right_hover.png + res/images/arrow_right_pressed.png + res/images/arrow_up_normal.png + res/images/arrow_up_hover.png + res/images/arrow_up_pressed.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.png + res/images/checkbox_normal_hover.png + res/images/checkbox_normal_pressed.png + res/images/checkbox_normal_disabled.png + res/images/checkbox_checked.png + res/images/checkbox_checked_hover.png + res/images/checkbox_checked_pressed.png + res/images/checkbox_checked_disabled.png + res/images/checkbox_partly_checked.png + res/images/checkbox_partly_checked_hover.png + res/images/checkbox_partly_checked_pressed.png + res/images/checkbox_partly_checked_disabled.png res/images/dash_logo_horizontal.png res/images/dash_logo_toolbar.png res/images/dash_logo_toolbar_blue.png - res/images/qtreeview_selected.png + res/images/radio_normal.png + res/images/radio_normal_hover.png + res/images/radio_normal_pressed.png + res/images/radio_checked.png + res/images/radio_checked_hover.png + res/images/radio_checked_pressed.png + res/images/radio_normal_disabled.png + res/images/radio_checked_disabled.png res/images/splash.png - res/images/unchecked.png res/movies/spinner-000.png diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index b5614e7d0efc..12af1fa506eb 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -85,6 +85,8 @@ void ForceActivation(); namespace GUIUtil { +// The name of the traditional theme +static const QString traditionalTheme = "Traditional"; // The theme to set by default if settings are missing or incorrect static const QString defaultTheme = "Light"; // The prefix a theme name should have if we want to apply dark colors and styles to it @@ -974,22 +976,52 @@ void migrateQtSettings() // Open CSS when configured QString loadStyleSheet() { - QSettings settings; - QString theme = settings.value("theme", "").toString(); + static std::unique_ptr stylesheet; - QDir themes(":themes"); - // Make sure settings are pointing to an existent theme - if (theme.isEmpty() || !themes.exists(theme)) { - theme = defaultTheme; - settings.setValue("theme", theme); - } + if (stylesheet.get() == nullptr) { + + stylesheet = std::make_unique(); + + QSettings settings; + QDir themes(":themes"); + QString theme = settings.value("theme", "").toString(); - QFile qFile(":themes/" + theme); - if (qFile.open(QFile::ReadOnly)) { - return QLatin1String(qFile.readAll()); + // Make sure settings are pointing to an existent theme + if (theme.isEmpty() || !themes.exists(theme)) { + theme = defaultTheme; + settings.setValue("theme", theme); + } + + // If light/dark theme is used load general styles first + if (dashThemeActive()) { + QFile qFileGeneral(":css/general"); + if (qFileGeneral.open(QFile::ReadOnly)) { + stylesheet.get()->append(QLatin1String(qFileGeneral.readAll())); + } + +#ifndef Q_OS_MAC + // Apply some styling to scrollbars + QFile qFileScrollbars(QString(":/css/scrollbars")); + if (qFileScrollbars.open(QFile::ReadOnly)) { + stylesheet.get()->append(QLatin1String(qFileScrollbars.readAll())); + } +#endif + } + + QFile qFileTheme(":themes/" + theme); + if (qFileTheme.open(QFile::ReadOnly)) { + stylesheet.get()->append(QLatin1String(qFileTheme.readAll())); + } } - return QString(); + return *stylesheet.get(); +} + +bool dashThemeActive() +{ + QSettings settings; + QString theme = settings.value("theme", "").toString(); + return theme != traditionalTheme; } void setClipboard(const QString& str) diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index 400d4c234aa9..f8494040412a 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -233,6 +233,9 @@ namespace GUIUtil /** Load global CSS theme */ QString loadStyleSheet(); + /** Check if a dash specific theme is activated (light/dark) */ + bool dashThemeActive(); + /* Convert QString to OS specific boost path through UTF-8 */ fs::path qstringToBoostPath(const QString &path); diff --git a/src/qt/res/css/dark.css b/src/qt/res/css/dark.css index 7d0e6b071a19..36c11200bec2 100644 --- a/src/qt/res/css/dark.css +++ b/src/qt/res/css/dark.css @@ -82,20 +82,13 @@ background-color: #555; /*******************************************************/ -QLabel { /* Base Text Size & Color */ +QLabel, +QCheckBox, +QRadioButton { /* Base Text Size & Color */ font-size:12px; color: #ccc; } -.QCheckBox { /* Checkbox Labels */ -color: #ccc; -background-color:transparent; -} - -.QCheckBox:hover { -background-color:transparent; -} - .QValidatedLineEdit, .QLineEdit { /* Text Entry Fields */ border: 1px solid #1c75bc; font-size:11px; @@ -114,16 +107,6 @@ font-size:12px; background-color: #3e3e3e; } -.QRadioButton { -color: #aaa; -background-color:transparent; -} - -.QRadioButton:checked { -color: #ccc; -background-color:transparent; -} - QWidget { /* override text selection background color for all text widgets */ selection-background-color: #999; } @@ -184,10 +167,6 @@ width:25px; border:0px; } -QComboBox::down-arrow { -border-image: url(':/images/arrow_down') 0 0 0 0 stretch stretch; -} - QComboBox QListView { color: #aaa; background: #555; @@ -239,10 +218,6 @@ padding-left:5px; padding-top:2px; } -QAbstractSpinBox::up-arrow { -image:url(':/images/arrow_up_small'); -} - QAbstractSpinBox::down-button { subcontrol-origin: border; subcontrol-position: bottom right; @@ -257,51 +232,6 @@ padding-left:5px; padding-bottom:2px; } -QAbstractSpinBox::down-arrow { -image:url(':/images/arrow_down_small'); -} - -QCheckBox { -spacing: 5px; -} - -QCheckBox::indicator { -width: 16px; -height: 16px; -} - -QCheckBox::indicator:unchecked { -image:url(':/images/unchecked'); -} - -QCheckBox::indicator:unchecked:hover { -image:url(':/images/unchecked'); -} - -QCheckBox::indicator:unchecked:pressed { -image:url(':/images/checked'); -} - -QCheckBox::indicator:checked { -image:url(':/images/checked'); -} - -QCheckBox::indicator:checked:hover { -image:url(':/images/checked'); -} - -QCheckBox::indicator:checked:pressed { -image:url(':/images/unchecked'); -} - -QCheckBox::indicator:indeterminate:hover { -image:url(':/images/unchecked'); -} - -QCheckBox::indicator:indeterminate:pressed { -image:url(':/images/checked'); -} - /*******************************************************/ QHeaderView { /* Table Header */ @@ -656,15 +586,6 @@ color: #aaa; padding-bottom:8px; } -QDialog#OptionsDialog QCheckBox { -min-height:20px; -} - -QDialog#OptionsDialog QCheckBox#displayAddresses { -min-height:33px; - -} - QDialog#OptionsDialog QGroupBox { color: #ccc; } @@ -1142,9 +1063,6 @@ QDialog#SendCoinsDialog .QFrame#frameCoinControl .QWidget#widgetCoinControl > .Q padding:2px; } -QDialog#SendCoinsDialog .QFrame#frameCoinControl .QCheckBox#checkBoxCoinControlChange { /* Custom Change Label */ -} - QDialog#SendCoinsDialog .QFrame#frameCoinControl .QValidatedLineEdit#lineEditCoinControlChange { /* Custom Change Address */ } @@ -1201,15 +1119,6 @@ QDialog#SendCoinsDialog .QPushButton#addButton:pressed { border:1px solid #9e9e9e; } -QDialog#SendCoinsDialog .QCheckBox#checkUsePrivateSend { /* PrivateSend Checkbox */ -color: #ccc; -font-weight:bold; -border-radius:5px; -padding-top:20px; -padding-bottom:18px; -margin-right:20px; -} - /* This QLabel uses name = "label" which conflicts with Address Book -> New Address */ /* To maximize backwards compatibility this formatting has been removed */ @@ -1399,7 +1308,6 @@ color: #ccc; } QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:selected { /* Coin Control Branch Icon */ -background-image: url(':/images/qtreeview_selected'); background-repeat:no-repeat; background-position:center; background-color: #666; @@ -1407,7 +1315,6 @@ color: #ccc; } QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:checked { /* Coin Control Branch Icon */ -background-image: url(':/images/qtreeview_selected'); background-repeat:no-repeat; background-position:center; background-color: #333; @@ -1581,7 +1488,7 @@ QLabel#transactionSumLabel { /* Example of setObjectName for widgets without nam color: #ccc; font-weight:bold; } - + QLabel#transactionSum { /* Example of setObjectName for widgets without name */ color: #ccc; } diff --git a/src/qt/res/css/general.css b/src/qt/res/css/general.css new file mode 100644 index 000000000000..9bcdaec401b8 --- /dev/null +++ b/src/qt/res/css/general.css @@ -0,0 +1,242 @@ +/** + Copyright (c) 2020 The Dash Core developers + Distributed under the MIT/X11 software license, see the accompanying + file COPYING or http://www.opensource.org/licenses/mit-license.php. + + This file contains style changes used by both dash themes: "Light" and "Dark" +**/ + + +/****************************************************** +QAbstractSpinBox +******************************************************/ + +QAbstractSpinBox::up-arrow { + width: 20px; + height: 20px; + image:url(':/images/arrow_up_normal'); +} +QAbstractSpinBox::up-arrow:hover { + width: 20px; + height: 20px; + image:url(':/images/arrow_up_hover'); +} +QAbstractSpinBox::up-arrow:pressed { + width: 20px; + height: 20px; + image:url(':/images/arrow_up_pressed'); +} +QAbstractSpinBox::up-arrow:disabled { + width: 20px; + height: 20px; + image:url(':/images/arrow_light_up_hover'); +} + +QAbstractSpinBox::down-arrow { + width: 20px; + height: 20px; + image:url(':/images/arrow_down_normal'); +} +QAbstractSpinBox::down-arrow:hover { + width: 20px; + height: 20px; + image:url(':/images/arrow_down_hover'); +} +QAbstractSpinBox::down-arrow:pressed { + width: 20px; + height: 20px; + image:url(':/images/arrow_down_pressed'); +} +QAbstractSpinBox::down-arrow:disabled { + width: 20px; + height: 20px; + image:url(':/images/arrow_light_down_hover'); +} + +/****************************************************** +QComboBox +******************************************************/ + +QComboBox::down-arrow { + width: 20px; + height: 20px; + border-image: url(':/images/arrow_down_normal') 0 0 0 0 stretch stretch; +} +QComboBox::down-arrow:hover { + width: 20px; + height: 20px; + border-image: url(':/images/arrow_down_hover') 0 0 0 0 stretch stretch; +} +QComboBox::down-arrow:pressed { + width: 20px; + height: 20px; + border-image: url(':/images/arrow_down_pressed') 0 0 0 0 stretch stretch; +} +QComboBox::down-arrow:disabled { + width: 20px; + height: 20px; + border-image: url(':/images/arrow_light_down_hover') 0 0 0 0 stretch stretch; +} + +/****************************************************** +QRadioButton +******************************************************/ + +QRadioButton { + background-color: transparent; +} +QRadioButton::indicator { + width: 15px; + height: 15px; + margin-right: 5px; +} +QRadioButton::indicator:unchecked { + image: url(':/images/radio_normal'); +} +QRadioButton::indicator:hover:unchecked { + image: url(':/images/radio_normal_hover'); +} +QRadioButton::indicator:unchecked:pressed { + image: url(':/images/radio_normal_pressed'); +} +QRadioButton::indicator:checked { + image: url(':/images/radio_checked'); +} +QRadioButton::indicator:checked:hover { + image: url(':/images/radio_checked_hover'); +} +QRadioButton::indicator:checked:pressed { + image: url(':/images/radio_checked_pressed'); +} +QRadioButton::indicator:checked:disabled { + image: url(':/images/radio_checked_disabled'); +} +QRadioButton::indicator:unchecked:disabled { + image: url(':/images/radio_normal_disabled'); +} + +/****************************************************** +QCheckBox & QTreeWidget::indicator checkboxes +******************************************************/ + +QCheckBox{ + background-color: transparent; + min-height:20px; +} +QTreeWidget::indicator, +QCheckBox::indicator { + width: 15px; + height: 15px; + margin-right: 5px; +} + +QTreeWidget::indicator:unchecked, +QCheckBox::indicator:unchecked { + image: url(':/images/checkbox_normal'); +} +QTreeWidget::indicator:hover:unchecked, +QCheckBox::indicator:hover:unchecked { + image: url(':/images/checkbox_normal_hover'); +} +QTreeWidget::indicator:unchecked:pressed, +QCheckBox::indicator:unchecked:pressed { + image: url(':/images/checkbox_normal_pressed'); +} +QTreeWidget::indicator:unchecked:disabled, +QCheckBox::indicator:unchecked:disabled { + image: url(':/images/checkbox_normal_disabled'); +} +QTreeWidget::indicator:checked, +QCheckBox::indicator:checked { + image: url(':/images/checkbox_checked'); +} +QTreeWidget::indicator:checked:hover, +QCheckBox::indicator:checked:hover { + image: url(':/images/checkbox_checked_hover'); +} +QTreeWidget::indicator:checked:pressed, +QCheckBox::indicator:checked:pressed { + image: url(':/images/checkbox_checked_pressed'); +} +QTreeWidget::indicator:checked:disabled, +QCheckBox::indicator:checked:disabled { + image: url(':/images/checkbox_checked_disabled'); +} +QTreeWidget::indicator:indeterminate, +QCheckBox::indicator:indeterminate { + image: url(':/images/checkbox_partly_checked'); +} +QTreeWidget::indicator:indeterminate:hover, +QCheckBox::indicator:indeterminate:hover { + image: url(':/images/checkbox_partly_checked_hover'); +} +QTreeWidget::indicator:indeterminate:pressed, +QCheckBox::indicator:indeterminate:pressed { + image: url(':/images/checkbox_partly_checked_pressed'); +} +QTreeWidget::indicator:indeterminate:disabled, +QCheckBox::indicator:indeterminate:disabled { + image: url(':/images/checkbox_partly_checked_disabled'); +} + +/****************************************************** +QHeaderView +******************************************************/ + +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::down-arrow:hover { + width: 20px; + height: 20px; + image: url(':/images/arrow_light_down_hover'); + 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::up-arrow:hover { + width: 20px; + height: 20px; + image: url(':/images/arrow_light_up_hover'); + subcontrol-position: right center; + subcontrol-origin: margin; + margin-right: 5px; +} + +/****************************************************** +QTreeWidget +******************************************************/ + +QTreeWidget { + background-color: transparent; +} +QTreeWidget::branch::closed:has-children { + padding: 0 -2px 0 2px; + image: url(':/images/arrow_right_normal'); +} +QTreeWidget::branch::closed:has-children:hover { + padding: 0 -2px 0 2px; + image: url(':/images/arrow_right_hover'); +} +QTreeWidget::branch::open { + padding: 0 -2px 0 2px; + image: url(':/images/arrow_down_normal'); +} +QTreeWidget::branch::open:hover { + padding: 0 -2px 0 2px; + image: url(':/images/arrow_down_hover'); +} diff --git a/src/qt/res/css/light.css b/src/qt/res/css/light.css index 5e24d95b22a9..97869ad61e89 100644 --- a/src/qt/res/css/light.css +++ b/src/qt/res/css/light.css @@ -80,20 +80,13 @@ background-color:#F8F6F6; /*******************************************************/ -QLabel { /* Base Text Size & Color */ +QLabel, +QCheckBox, +QRadioButton { /* Base Text Size & Color */ font-size:12px; color:#333333; } -.QCheckBox { /* Checkbox Labels */ -color:#333333; -background-color:transparent; -} - -.QCheckBox:hover { -background-color:transparent; -} - .QValidatedLineEdit, .QLineEdit { /* Text Entry Fields */ border: 1px solid #82C3E6; font-size:11px; @@ -171,10 +164,6 @@ width:25px; border:0px; } -QComboBox::down-arrow { -border-image: url(':/images/arrow_down') 0 0 0 0 stretch stretch; -} - QComboBox QListView { background:#fff; padding: 3px; @@ -224,10 +213,6 @@ padding-left:5px; padding-top:2px; } -QAbstractSpinBox::up-arrow { -image:url(':/images/arrow_up_small'); -} - QAbstractSpinBox::down-button { subcontrol-origin: border; subcontrol-position: bottom right; @@ -242,51 +227,6 @@ padding-left:5px; padding-bottom:2px; } -QAbstractSpinBox::down-arrow { -image:url(':/images/arrow_down_small'); -} - -QCheckBox { -spacing: 5px; -} - -QCheckBox::indicator { -width: 16px; -height: 16px; -} - -QCheckBox::indicator:unchecked { -image:url(':/images/unchecked'); -} - -QCheckBox::indicator:unchecked:hover { -image:url(':/images/unchecked'); -} - -QCheckBox::indicator:unchecked:pressed { -image:url(':/images/checked'); -} - -QCheckBox::indicator:checked { -image:url(':/images/checked'); -} - -QCheckBox::indicator:checked:hover { -image:url(':/images/checked'); -} - -QCheckBox::indicator:checked:pressed { -image:url(':/images/unchecked'); -} - -QCheckBox::indicator:indeterminate:hover { -image:url(':/images/unchecked'); -} - -QCheckBox::indicator:indeterminate:pressed { -image:url(':/images/checked'); -} - /*******************************************************/ QHeaderView { /* Table Header */ @@ -623,15 +563,6 @@ color:#818181; padding-bottom:8px; } -QDialog#OptionsDialog QCheckBox { -min-height:20px; -} - -QDialog#OptionsDialog QCheckBox#displayAddresses { -min-height:33px; - -} - /* TOOLS MENU */ QWidget#RPCConsole { /* RPC Console Dialog Box */ @@ -1092,9 +1023,6 @@ QDialog#SendCoinsDialog .QFrame#frameCoinControl .QWidget#widgetCoinControl > .Q padding:2px; } -QDialog#SendCoinsDialog .QFrame#frameCoinControl .QCheckBox#checkBoxCoinControlChange { /* Custom Change Label */ -} - QDialog#SendCoinsDialog .QFrame#frameCoinControl .QValidatedLineEdit#lineEditCoinControlChange { /* Custom Change Address */ } @@ -1151,16 +1079,6 @@ QDialog#SendCoinsDialog .QPushButton#addButton:pressed { border:1px solid #9e9e9e; } -QDialog#SendCoinsDialog .QCheckBox#checkUsePrivateSend { /* PrivateSend Checkbox */ -color:#616161; -font-weight:bold; -background: qradialgradient(cx:0.5, cy:0.5, radius: 0.5, fx:0.5, fy:0.5, stop:0 rgba(248, 246, 246, 128), stop: 1 rgba(0, 0, 0, 0)); -border-radius:5px; -padding-top:20px; -padding-bottom:18px; -margin-right:20px; -} - /* This QLabel uses name = "label" which conflicts with Address Book -> New Address */ /* To maximize backwards compatibility this formatting has been removed */ @@ -1324,16 +1242,6 @@ min-height:25px; QDialog#CoinControlDialog .QDialogButtonBox#buttonBox QPushButton { /* Coin Control 'OK' button */ } -QDialog#CoinControlDialog .QFrame#frame .QRadioButton#radioTreeMode { /* Coin Control Tree Mode Selector */ -color:#818181; -background-color:transparent; -} - -QDialog#CoinControlDialog .QFrame#frame .QRadioButton#radioListMode { /* Coin Control List Mode Selector */ -color:#818181; -background-color:transparent; -} - QDialog#CoinControlDialog QHeaderView::section:first { /* Bug Fix: the number "1" displays in this table for some reason... */ color:transparent; } @@ -1358,7 +1266,6 @@ color:#333; } QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:selected { /* Coin Control Branch Icon */ -background-image: url(':/images/qtreeview_selected'); background-repeat:no-repeat; background-position:center; background-color:#f7f7f7; @@ -1366,7 +1273,6 @@ color:#333; } QDialog#CoinControlDialog .CoinControlTreeWidget#treeWidget::branch:checked { /* Coin Control Branch Icon */ -background-image: url(':/images/qtreeview_selected'); background-repeat:no-repeat; background-position:center; background-color:#f7f7f7; @@ -1522,7 +1428,7 @@ QLabel#transactionSumLabel { /* Example of setObjectName for widgets without nam color:#333333; font-weight:bold; } - + QLabel#transactionSum { /* Example of setObjectName for widgets without name */ color:#333333; } @@ -1536,5 +1442,3 @@ background-color:#F8F6F6; QDialog#TransactionDescDialog QTextEdit { /* Contents of Receive Coin Dialog */ border:1px solid #d7d7d7; } - - diff --git a/src/qt/res/css/scrollbars.css b/src/qt/res/css/scrollbars.css index 9e736156d1b6..dd4ef5a83ed0 100644 --- a/src/qt/res/css/scrollbars.css +++ b/src/qt/res/css/scrollbars.css @@ -58,24 +58,60 @@ QScrollBar::add-line:horizontal { /* Vertical - right button position */ } QScrollBar:up-arrow, QScrollBar:down-arrow, QScrollBar:left-arrow, QScrollBar:right-arrow { /* Arrows Icon */ - width:10px; - height:10px; + width:18px; + height:18px; } QScrollBar:up-arrow { - background-image: url(':/images/arrow_up_small'); + border-image: url(':/images/arrow_up_normal'); +} +QScrollBar:up-arrow:hover { + border-image: url(':/images/arrow_up_hover'); +} +QScrollBar:up-arrow:pressed { + border-image: url(':/images/arrow_up_pressed'); +} +QScrollBar:up-arrow:disabled { + border-image: url(':/images/arrow_light_up_hover'); } QScrollBar:down-arrow { - background-image: url(':/images/arrow_down_small'); + border-image: url(':/images/arrow_down_normal'); +} +QScrollBar:down-arrow:hover { + border-image: url(':/images/arrow_down_hover'); +} +QScrollBar:down-arrow:pressed { + border-image: url(':/images/arrow_down_pressed'); +} +QScrollBar:down-arrow:disabled { + border-image: url(':/images/arrow_light_down_hover'); } QScrollBar:left-arrow { - background-image: url(':/images/arrow_left_small'); + border-image: url(':/images/arrow_left_normal'); +} +QScrollBar:left-arrow:hover { + border-image: url(':/images/arrow_left_hover'); +} +QScrollBar:left-arrow:pressed { + border-image: url(':/images/arrow_left_pressed'); +} +QScrollBar:left-arrow:disabled { + border-image: url(':/images/arrow_light_left_hover'); } QScrollBar:right-arrow { - background-image: url(':/images/arrow_right_small'); + border-image: url(':/images/arrow_right_normal'); +} +QScrollBar:right-arrow:hover { + border-image: url(':/images/arrow_right_hover'); +} +QScrollBar:right-arrow:pressed { + border-image: url(':/images/arrow_right_pressed'); +} +QScrollBar:right-arrow:disabled { + border-image: url(':/images/arrow_light_right_hover'); } QDialog#HelpMessageDialog QScrollBar:vertical, QDialog#HelpMessageDialog QScrollBar:horizontal { diff --git a/src/qt/res/images/arrow_down.png b/src/qt/res/images/arrow_down.png deleted file mode 100644 index e26c529d23d1..000000000000 Binary files a/src/qt/res/images/arrow_down.png and /dev/null differ diff --git a/src/qt/res/images/arrow_down_hover.png b/src/qt/res/images/arrow_down_hover.png new file mode 100644 index 000000000000..e574108a31ad Binary files /dev/null and b/src/qt/res/images/arrow_down_hover.png differ diff --git a/src/qt/res/images/arrow_down_normal.png b/src/qt/res/images/arrow_down_normal.png new file mode 100644 index 000000000000..9ab47a51dfa8 Binary files /dev/null and b/src/qt/res/images/arrow_down_normal.png differ diff --git a/src/qt/res/images/arrow_down_pressed.png b/src/qt/res/images/arrow_down_pressed.png new file mode 100644 index 000000000000..890d9a291ee2 Binary files /dev/null and b/src/qt/res/images/arrow_down_pressed.png differ diff --git a/src/qt/res/images/arrow_down_small.png b/src/qt/res/images/arrow_down_small.png deleted file mode 100644 index 0f66a1a6ce60..000000000000 Binary files a/src/qt/res/images/arrow_down_small.png and /dev/null differ diff --git a/src/qt/res/images/arrow_left_hover.png b/src/qt/res/images/arrow_left_hover.png new file mode 100644 index 000000000000..a3d45c3e605b Binary files /dev/null and b/src/qt/res/images/arrow_left_hover.png differ diff --git a/src/qt/res/images/arrow_left_normal.png b/src/qt/res/images/arrow_left_normal.png new file mode 100644 index 000000000000..dac90504f17c Binary files /dev/null and b/src/qt/res/images/arrow_left_normal.png differ diff --git a/src/qt/res/images/arrow_left_pressed.png b/src/qt/res/images/arrow_left_pressed.png new file mode 100644 index 000000000000..b74418330aa7 Binary files /dev/null and b/src/qt/res/images/arrow_left_pressed.png differ diff --git a/src/qt/res/images/arrow_left_small.png b/src/qt/res/images/arrow_left_small.png deleted file mode 100644 index eb0f63ecf20d..000000000000 Binary files a/src/qt/res/images/arrow_left_small.png and /dev/null 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 000000000000..852b762186f2 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 000000000000..bdfe55b8b9f9 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 000000000000..4b53599426e1 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 000000000000..c043ce8f5699 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 000000000000..e8000aef90c8 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 000000000000..7428af55bce6 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 000000000000..703beb77eebe 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 000000000000..dd4a83de1d4e 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_hover.png b/src/qt/res/images/arrow_right_hover.png new file mode 100644 index 000000000000..7f430f9d11d1 Binary files /dev/null and b/src/qt/res/images/arrow_right_hover.png differ diff --git a/src/qt/res/images/arrow_right_normal.png b/src/qt/res/images/arrow_right_normal.png new file mode 100644 index 000000000000..4e99a568fdb9 Binary files /dev/null and b/src/qt/res/images/arrow_right_normal.png differ diff --git a/src/qt/res/images/arrow_right_pressed.png b/src/qt/res/images/arrow_right_pressed.png new file mode 100644 index 000000000000..c76c987d4027 Binary files /dev/null and b/src/qt/res/images/arrow_right_pressed.png differ diff --git a/src/qt/res/images/arrow_right_small.png b/src/qt/res/images/arrow_right_small.png deleted file mode 100644 index 6041a526891a..000000000000 Binary files a/src/qt/res/images/arrow_right_small.png and /dev/null differ diff --git a/src/qt/res/images/arrow_up_hover.png b/src/qt/res/images/arrow_up_hover.png new file mode 100644 index 000000000000..caa043629d68 Binary files /dev/null and b/src/qt/res/images/arrow_up_hover.png differ diff --git a/src/qt/res/images/arrow_up_normal.png b/src/qt/res/images/arrow_up_normal.png new file mode 100644 index 000000000000..d727135f178a Binary files /dev/null and b/src/qt/res/images/arrow_up_normal.png differ diff --git a/src/qt/res/images/arrow_up_pressed.png b/src/qt/res/images/arrow_up_pressed.png new file mode 100644 index 000000000000..3b15dc1dcc2b Binary files /dev/null and b/src/qt/res/images/arrow_up_pressed.png differ diff --git a/src/qt/res/images/arrow_up_small.png b/src/qt/res/images/arrow_up_small.png deleted file mode 100644 index 4e854fdfecee..000000000000 Binary files a/src/qt/res/images/arrow_up_small.png and /dev/null differ diff --git a/src/qt/res/images/checkbox_checked.png b/src/qt/res/images/checkbox_checked.png new file mode 100644 index 000000000000..9558d3877ed8 Binary files /dev/null and b/src/qt/res/images/checkbox_checked.png differ diff --git a/src/qt/res/images/checkbox_checked_disabled.png b/src/qt/res/images/checkbox_checked_disabled.png new file mode 100644 index 000000000000..4fe3e5dca6a4 Binary files /dev/null and b/src/qt/res/images/checkbox_checked_disabled.png differ diff --git a/src/qt/res/images/checkbox_checked_hover.png b/src/qt/res/images/checkbox_checked_hover.png new file mode 100644 index 000000000000..04ddcbc039c5 Binary files /dev/null and b/src/qt/res/images/checkbox_checked_hover.png differ diff --git a/src/qt/res/images/checkbox_checked_pressed.png b/src/qt/res/images/checkbox_checked_pressed.png new file mode 100644 index 000000000000..181b7a633eaa Binary files /dev/null and b/src/qt/res/images/checkbox_checked_pressed.png differ diff --git a/src/qt/res/images/checkbox_normal.png b/src/qt/res/images/checkbox_normal.png new file mode 100644 index 000000000000..fd944e05555e Binary files /dev/null and b/src/qt/res/images/checkbox_normal.png differ diff --git a/src/qt/res/images/checkbox_normal_disabled.png b/src/qt/res/images/checkbox_normal_disabled.png new file mode 100644 index 000000000000..e4aa67038356 Binary files /dev/null and b/src/qt/res/images/checkbox_normal_disabled.png differ diff --git a/src/qt/res/images/checkbox_normal_hover.png b/src/qt/res/images/checkbox_normal_hover.png new file mode 100644 index 000000000000..d62207f94141 Binary files /dev/null and b/src/qt/res/images/checkbox_normal_hover.png differ diff --git a/src/qt/res/images/checkbox_normal_pressed.png b/src/qt/res/images/checkbox_normal_pressed.png new file mode 100644 index 000000000000..289e9f26f145 Binary files /dev/null and b/src/qt/res/images/checkbox_normal_pressed.png differ diff --git a/src/qt/res/images/checkbox_partly_checked.png b/src/qt/res/images/checkbox_partly_checked.png new file mode 100644 index 000000000000..beb54be76b64 Binary files /dev/null and b/src/qt/res/images/checkbox_partly_checked.png differ diff --git a/src/qt/res/images/checkbox_partly_checked_disabled.png b/src/qt/res/images/checkbox_partly_checked_disabled.png new file mode 100644 index 000000000000..7d1ef94643d0 Binary files /dev/null and b/src/qt/res/images/checkbox_partly_checked_disabled.png differ diff --git a/src/qt/res/images/checkbox_partly_checked_hover.png b/src/qt/res/images/checkbox_partly_checked_hover.png new file mode 100644 index 000000000000..171b82728036 Binary files /dev/null and b/src/qt/res/images/checkbox_partly_checked_hover.png differ diff --git a/src/qt/res/images/checkbox_partly_checked_pressed.png b/src/qt/res/images/checkbox_partly_checked_pressed.png new file mode 100644 index 000000000000..545db542a67b Binary files /dev/null and b/src/qt/res/images/checkbox_partly_checked_pressed.png differ diff --git a/src/qt/res/images/checked.png b/src/qt/res/images/checked.png deleted file mode 100644 index 800a75680895..000000000000 Binary files a/src/qt/res/images/checked.png and /dev/null differ diff --git a/src/qt/res/images/qtreeview_selected.png b/src/qt/res/images/qtreeview_selected.png deleted file mode 100644 index 2656a1efa43e..000000000000 Binary files a/src/qt/res/images/qtreeview_selected.png and /dev/null differ diff --git a/src/qt/res/images/radio_checked.png b/src/qt/res/images/radio_checked.png new file mode 100644 index 000000000000..c0d7a33fcf68 Binary files /dev/null and b/src/qt/res/images/radio_checked.png differ diff --git a/src/qt/res/images/radio_checked_disabled.png b/src/qt/res/images/radio_checked_disabled.png new file mode 100644 index 000000000000..bc54a7c91828 Binary files /dev/null and b/src/qt/res/images/radio_checked_disabled.png differ diff --git a/src/qt/res/images/radio_checked_hover.png b/src/qt/res/images/radio_checked_hover.png new file mode 100644 index 000000000000..e1d21a866206 Binary files /dev/null and b/src/qt/res/images/radio_checked_hover.png differ diff --git a/src/qt/res/images/radio_checked_pressed.png b/src/qt/res/images/radio_checked_pressed.png new file mode 100644 index 000000000000..ed34a2d7a47e Binary files /dev/null and b/src/qt/res/images/radio_checked_pressed.png differ diff --git a/src/qt/res/images/radio_normal.png b/src/qt/res/images/radio_normal.png new file mode 100644 index 000000000000..886a2f87c582 Binary files /dev/null and b/src/qt/res/images/radio_normal.png differ diff --git a/src/qt/res/images/radio_normal_disabled.png b/src/qt/res/images/radio_normal_disabled.png new file mode 100644 index 000000000000..9ab75e7d512b Binary files /dev/null and b/src/qt/res/images/radio_normal_disabled.png differ diff --git a/src/qt/res/images/radio_normal_hover.png b/src/qt/res/images/radio_normal_hover.png new file mode 100644 index 000000000000..4cb7a5c94e10 Binary files /dev/null and b/src/qt/res/images/radio_normal_hover.png differ diff --git a/src/qt/res/images/radio_normal_pressed.png b/src/qt/res/images/radio_normal_pressed.png new file mode 100644 index 000000000000..444124c6d4c6 Binary files /dev/null and b/src/qt/res/images/radio_normal_pressed.png differ diff --git a/src/qt/res/images/unchecked.png b/src/qt/res/images/unchecked.png deleted file mode 100644 index cb446e3d2ec6..000000000000 Binary files a/src/qt/res/images/unchecked.png and /dev/null differ