diff --git a/src/Cutter.pro b/src/Cutter.pro index 0df57d28..3dfb6425 100644 --- a/src/Cutter.pro +++ b/src/Cutter.pro @@ -576,7 +576,8 @@ FORMS += \ RESOURCES += \ resources.qrc \ themes/native/native.qrc \ - themes/qdarkstyle/style.qrc \ + themes/qdarkstyle/dark.qrc \ + themes/midnight/midnight.qrc \ themes/lightstyle/light.qrc diff --git a/src/common/Configuration.cpp b/src/common/Configuration.cpp index 1ddbe264..f6280641 100644 --- a/src/common/Configuration.cpp +++ b/src/common/Configuration.cpp @@ -354,6 +354,25 @@ void Configuration::loadDarkStylesheet() } } +void Configuration::loadMidnightStylesheet() +{ + /* Load Qt Theme */ + QFile f(":midnight/style.css"); + if (!f.exists()) { + qWarning() << "Can't find Midnight theme stylesheet."; + } else { + f.open(QFile::ReadOnly | QFile::Text); + QTextStream ts(&f); + QString stylesheet = ts.readAll(); + + QPalette p = qApp->palette(); + p.setColor(QPalette::Text, Qt::white); + qApp->setPalette(p); + + qApp->setStyleSheet(stylesheet); + } +} + const QFont Configuration::getBaseFont() const { QFont font = s.value("font", QFont("Inconsolata", 11)).value(); @@ -403,6 +422,8 @@ void Configuration::setInterfaceTheme(int theme) loadNativeStylesheet(); } else if (interfaceTheme.name == "Dark") { loadDarkStylesheet(); + } else if (interfaceTheme.name == "Midnight") { + loadMidnightStylesheet(); } else if (interfaceTheme.name == "Light") { loadLightStylesheet(); } else { @@ -535,6 +556,7 @@ const QList& Configuration::cutterInterfaceThemesList() static const QList list = { { "Native", Configuration::nativeWindowIsDark() ? DarkFlag : LightFlag }, { "Dark", DarkFlag }, + { "Midnight", DarkFlag }, { "Light", LightFlag } }; return list; diff --git a/src/common/Configuration.h b/src/common/Configuration.h index f2d59470..383faffc 100644 --- a/src/common/Configuration.h +++ b/src/common/Configuration.h @@ -20,7 +20,7 @@ class QTextDocument; enum ColorFlags { LightFlag = 1, - DarkFlag = 2 + DarkFlag = 2, }; struct CutterInterfaceTheme { @@ -47,6 +47,7 @@ private: void loadNativeStylesheet(); void loadLightStylesheet(); void loadDarkStylesheet(); + void loadMidnightStylesheet(); // Asm Options void applySavedAsmOptions(); diff --git a/src/themes/midnight/midnight.qrc b/src/themes/midnight/midnight.qrc new file mode 100644 index 00000000..325dc83d --- /dev/null +++ b/src/themes/midnight/midnight.qrc @@ -0,0 +1,46 @@ + + + rc/up_arrow_disabled.png + rc/Hmovetoolbar.png + rc/stylesheet-branch-end.png + rc/branch_closed-on.png + rc/stylesheet-vline.png + rc/branch_closed.png + rc/branch_open-on.png + rc/transparent.png + rc/right_arrow_disabled.png + rc/sizegrip.png + rc/close.png + rc/close-hover.png + rc/close-pressed.png + rc/down_arrow.png + rc/Vmovetoolbar.png + rc/left_arrow.png + rc/stylesheet-branch-more.png + rc/up_arrow.png + rc/right_arrow.png + rc/left_arrow_disabled.png + rc/Hsepartoolbar.png + rc/branch_open.png + rc/Vsepartoolbar.png + rc/down_arrow_disabled.png + rc/undock.png + rc/checkbox_checked_disabled.png + rc/checkbox_checked_focus.png + rc/checkbox_checked.png + rc/checkbox_indeterminate.png + rc/checkbox_indeterminate_focus.png + rc/checkbox_unchecked_disabled.png + rc/checkbox_unchecked_focus.png + rc/checkbox_unchecked.png + rc/radio_checked_disabled.png + rc/radio_checked_focus.png + rc/radio_checked.png + rc/radio_unchecked_disabled.png + rc/radio_unchecked_focus.png + rc/radio_unchecked.png + + + style.css + + diff --git a/src/themes/midnight/rc/Hmovetoolbar.png b/src/themes/midnight/rc/Hmovetoolbar.png new file mode 100644 index 00000000..cead99ed Binary files /dev/null and b/src/themes/midnight/rc/Hmovetoolbar.png differ diff --git a/src/themes/midnight/rc/Hsepartoolbar.png b/src/themes/midnight/rc/Hsepartoolbar.png new file mode 100644 index 00000000..7f183c8b Binary files /dev/null and b/src/themes/midnight/rc/Hsepartoolbar.png differ diff --git a/src/themes/midnight/rc/Vmovetoolbar.png b/src/themes/midnight/rc/Vmovetoolbar.png new file mode 100644 index 00000000..512edcec Binary files /dev/null and b/src/themes/midnight/rc/Vmovetoolbar.png differ diff --git a/src/themes/midnight/rc/Vsepartoolbar.png b/src/themes/midnight/rc/Vsepartoolbar.png new file mode 100644 index 00000000..d9dc1561 Binary files /dev/null and b/src/themes/midnight/rc/Vsepartoolbar.png differ diff --git a/src/themes/midnight/rc/branch_closed-on.png b/src/themes/midnight/rc/branch_closed-on.png new file mode 100644 index 00000000..d081e9b3 Binary files /dev/null and b/src/themes/midnight/rc/branch_closed-on.png differ diff --git a/src/themes/midnight/rc/branch_closed.png b/src/themes/midnight/rc/branch_closed.png new file mode 100644 index 00000000..d652159a Binary files /dev/null and b/src/themes/midnight/rc/branch_closed.png differ diff --git a/src/themes/midnight/rc/branch_open-on.png b/src/themes/midnight/rc/branch_open-on.png new file mode 100644 index 00000000..ec372b27 Binary files /dev/null and b/src/themes/midnight/rc/branch_open-on.png differ diff --git a/src/themes/midnight/rc/branch_open.png b/src/themes/midnight/rc/branch_open.png new file mode 100644 index 00000000..66f8e1ac Binary files /dev/null and b/src/themes/midnight/rc/branch_open.png differ diff --git a/src/themes/midnight/rc/checkbox_checked.png b/src/themes/midnight/rc/checkbox_checked.png new file mode 100644 index 00000000..830cfee6 Binary files /dev/null and b/src/themes/midnight/rc/checkbox_checked.png differ diff --git a/src/themes/midnight/rc/checkbox_checked_disabled.png b/src/themes/midnight/rc/checkbox_checked_disabled.png new file mode 100644 index 00000000..cb63cc2f Binary files /dev/null and b/src/themes/midnight/rc/checkbox_checked_disabled.png differ diff --git a/src/themes/midnight/rc/checkbox_checked_focus.png b/src/themes/midnight/rc/checkbox_checked_focus.png new file mode 100644 index 00000000..671be273 Binary files /dev/null and b/src/themes/midnight/rc/checkbox_checked_focus.png differ diff --git a/src/themes/midnight/rc/checkbox_indeterminate.png b/src/themes/midnight/rc/checkbox_indeterminate.png new file mode 100644 index 00000000..41024f76 Binary files /dev/null and b/src/themes/midnight/rc/checkbox_indeterminate.png differ diff --git a/src/themes/midnight/rc/checkbox_indeterminate_disabled.png b/src/themes/midnight/rc/checkbox_indeterminate_disabled.png new file mode 100644 index 00000000..abdc01d9 Binary files /dev/null and b/src/themes/midnight/rc/checkbox_indeterminate_disabled.png differ diff --git a/src/themes/midnight/rc/checkbox_indeterminate_focus.png b/src/themes/midnight/rc/checkbox_indeterminate_focus.png new file mode 100644 index 00000000..415f9b6e Binary files /dev/null and b/src/themes/midnight/rc/checkbox_indeterminate_focus.png differ diff --git a/src/themes/midnight/rc/checkbox_unchecked.png b/src/themes/midnight/rc/checkbox_unchecked.png new file mode 100644 index 00000000..2159aca9 Binary files /dev/null and b/src/themes/midnight/rc/checkbox_unchecked.png differ diff --git a/src/themes/midnight/rc/checkbox_unchecked_disabled.png b/src/themes/midnight/rc/checkbox_unchecked_disabled.png new file mode 100644 index 00000000..ade721e8 Binary files /dev/null and b/src/themes/midnight/rc/checkbox_unchecked_disabled.png differ diff --git a/src/themes/midnight/rc/checkbox_unchecked_focus.png b/src/themes/midnight/rc/checkbox_unchecked_focus.png new file mode 100644 index 00000000..e4258cc4 Binary files /dev/null and b/src/themes/midnight/rc/checkbox_unchecked_focus.png differ diff --git a/src/themes/midnight/rc/close-hover.png b/src/themes/midnight/rc/close-hover.png new file mode 100644 index 00000000..657943a6 Binary files /dev/null and b/src/themes/midnight/rc/close-hover.png differ diff --git a/src/themes/midnight/rc/close-pressed.png b/src/themes/midnight/rc/close-pressed.png new file mode 100644 index 00000000..937d0059 Binary files /dev/null and b/src/themes/midnight/rc/close-pressed.png differ diff --git a/src/themes/midnight/rc/close.png b/src/themes/midnight/rc/close.png new file mode 100644 index 00000000..bc0f5761 Binary files /dev/null and b/src/themes/midnight/rc/close.png differ diff --git a/src/themes/midnight/rc/down_arrow.png b/src/themes/midnight/rc/down_arrow.png new file mode 100644 index 00000000..e271f7f9 Binary files /dev/null and b/src/themes/midnight/rc/down_arrow.png differ diff --git a/src/themes/midnight/rc/down_arrow_disabled.png b/src/themes/midnight/rc/down_arrow_disabled.png new file mode 100644 index 00000000..5805d984 Binary files /dev/null and b/src/themes/midnight/rc/down_arrow_disabled.png differ diff --git a/src/themes/midnight/rc/left_arrow.png b/src/themes/midnight/rc/left_arrow.png new file mode 100644 index 00000000..f808d2d7 Binary files /dev/null and b/src/themes/midnight/rc/left_arrow.png differ diff --git a/src/themes/midnight/rc/left_arrow_disabled.png b/src/themes/midnight/rc/left_arrow_disabled.png new file mode 100644 index 00000000..f5b9af8a Binary files /dev/null and b/src/themes/midnight/rc/left_arrow_disabled.png differ diff --git a/src/themes/midnight/rc/radio_checked.png b/src/themes/midnight/rc/radio_checked.png new file mode 100644 index 00000000..235e6b0b Binary files /dev/null and b/src/themes/midnight/rc/radio_checked.png differ diff --git a/src/themes/midnight/rc/radio_checked_disabled.png b/src/themes/midnight/rc/radio_checked_disabled.png new file mode 100644 index 00000000..bf0051ed Binary files /dev/null and b/src/themes/midnight/rc/radio_checked_disabled.png differ diff --git a/src/themes/midnight/rc/radio_checked_focus.png b/src/themes/midnight/rc/radio_checked_focus.png new file mode 100644 index 00000000..700c6b52 Binary files /dev/null and b/src/themes/midnight/rc/radio_checked_focus.png differ diff --git a/src/themes/midnight/rc/radio_unchecked.png b/src/themes/midnight/rc/radio_unchecked.png new file mode 100644 index 00000000..9a4def65 Binary files /dev/null and b/src/themes/midnight/rc/radio_unchecked.png differ diff --git a/src/themes/midnight/rc/radio_unchecked_disabled.png b/src/themes/midnight/rc/radio_unchecked_disabled.png new file mode 100644 index 00000000..6ece890e Binary files /dev/null and b/src/themes/midnight/rc/radio_unchecked_disabled.png differ diff --git a/src/themes/midnight/rc/radio_unchecked_focus.png b/src/themes/midnight/rc/radio_unchecked_focus.png new file mode 100644 index 00000000..564e022d Binary files /dev/null and b/src/themes/midnight/rc/radio_unchecked_focus.png differ diff --git a/src/themes/midnight/rc/right_arrow.png b/src/themes/midnight/rc/right_arrow.png new file mode 100644 index 00000000..9b0a4e6a Binary files /dev/null and b/src/themes/midnight/rc/right_arrow.png differ diff --git a/src/themes/midnight/rc/right_arrow_disabled.png b/src/themes/midnight/rc/right_arrow_disabled.png new file mode 100644 index 00000000..5c0bee40 Binary files /dev/null and b/src/themes/midnight/rc/right_arrow_disabled.png differ diff --git a/src/themes/midnight/rc/sizegrip.png b/src/themes/midnight/rc/sizegrip.png new file mode 100644 index 00000000..350583aa Binary files /dev/null and b/src/themes/midnight/rc/sizegrip.png differ diff --git a/src/themes/midnight/rc/stylesheet-branch-end.png b/src/themes/midnight/rc/stylesheet-branch-end.png new file mode 100644 index 00000000..cb5d3b51 Binary files /dev/null and b/src/themes/midnight/rc/stylesheet-branch-end.png differ diff --git a/src/themes/midnight/rc/stylesheet-branch-more.png b/src/themes/midnight/rc/stylesheet-branch-more.png new file mode 100644 index 00000000..62711409 Binary files /dev/null and b/src/themes/midnight/rc/stylesheet-branch-more.png differ diff --git a/src/themes/midnight/rc/stylesheet-vline.png b/src/themes/midnight/rc/stylesheet-vline.png new file mode 100644 index 00000000..87536cce Binary files /dev/null and b/src/themes/midnight/rc/stylesheet-vline.png differ diff --git a/src/themes/midnight/rc/transparent.png b/src/themes/midnight/rc/transparent.png new file mode 100644 index 00000000..483df251 Binary files /dev/null and b/src/themes/midnight/rc/transparent.png differ diff --git a/src/themes/midnight/rc/undock.png b/src/themes/midnight/rc/undock.png new file mode 100644 index 00000000..88691d77 Binary files /dev/null and b/src/themes/midnight/rc/undock.png differ diff --git a/src/themes/midnight/rc/up_arrow.png b/src/themes/midnight/rc/up_arrow.png new file mode 100644 index 00000000..abcc7245 Binary files /dev/null and b/src/themes/midnight/rc/up_arrow.png differ diff --git a/src/themes/midnight/rc/up_arrow_disabled.png b/src/themes/midnight/rc/up_arrow_disabled.png new file mode 100644 index 00000000..b9c8e3b5 Binary files /dev/null and b/src/themes/midnight/rc/up_arrow_disabled.png differ diff --git a/src/themes/midnight/style.css b/src/themes/midnight/style.css new file mode 100644 index 00000000..be55ead5 --- /dev/null +++ b/src/themes/midnight/style.css @@ -0,0 +1,1220 @@ +QToolTip { + border: 1px solid #2a2b2f; + background-color: #5A7566; + color: white; + padding: 0px; /*remove padding, for fix combobox tooltip.*/ + opacity: 200; +} + +QWidget { + color: #eff0f1; + background-color: #1f2022; + selection-background-color: #36393c; + selection-color: #eff0f1; + background-clip: border; + border-image: none; + border: 0px transparent black; + outline: 0; +} + +/*noinspection ALL*/ +QWidget:item:hover { + background-color: #4f5256; + color: #eff0f1; +} + +QWidget:item:selected { + background-color: #4f5256; +} + +QCheckBox { + spacing: 5px; + outline: none; + color: #eff0f1; + margin-bottom: 2px; +} + +QCheckBox:disabled { + color: #2a2b2f; +} + +QCheckBox::indicator, +QGroupBox::indicator { + width: 18px; + height: 18px; +} + +QGroupBox::indicator { + margin-left: 2px; +} + +QCheckBox::indicator:unchecked { + image: url(:/qss_icons/rc/checkbox_unchecked.png); +} + +QCheckBox::indicator:unchecked:hover, +QCheckBox::indicator:unchecked:focus, +QCheckBox::indicator:unchecked:pressed, +QGroupBox::indicator:unchecked:hover, +QGroupBox::indicator:unchecked:focus, +QGroupBox::indicator:unchecked:pressed { + border: none; + image: url(:/qss_icons/rc/checkbox_unchecked_focus.png); +} + +QCheckBox::indicator:checked { + image: url(:/qss_icons/rc/checkbox_checked.png); +} + +QCheckBox::indicator:checked:hover, +QCheckBox::indicator:checked:focus, +QCheckBox::indicator:checked:pressed, +QGroupBox::indicator:checked:hover, +QGroupBox::indicator:checked:focus, +QGroupBox::indicator:checked:pressed { + border: none; + image: url(:/qss_icons/rc/checkbox_checked_focus.png); +} + +QCheckBox::indicator:indeterminate { + image: url(:/qss_icons/rc/checkbox_indeterminate.png); +} + +QCheckBox::indicator:indeterminate:focus, +QCheckBox::indicator:indeterminate:hover, +QCheckBox::indicator:indeterminate:pressed { + image: url(:/qss_icons/rc/checkbox_indeterminate_focus.png); +} + +QCheckBox::indicator:checked:disabled, +QGroupBox::indicator:checked:disabled { + image: url(:/qss_icons/rc/checkbox_checked_disabled.png); +} + +QCheckBox::indicator:unchecked:disabled, +QGroupBox::indicator:unchecked:disabled { + image: url(:/qss_icons/rc/checkbox_unchecked_disabled.png); +} + +QRadioButton { + spacing: 5px; + outline: none; + color: #eff0f1; + margin-bottom: 2px; +} + +QRadioButton:disabled { + color: #2a2b2f; +} + +QRadioButton::indicator { + width: 21px; + height: 21px; +} + +QRadioButton::indicator:unchecked { + image: url(:/qss_icons/rc/radio_unchecked.png); +} + +QRadioButton::indicator:unchecked:hover, +QRadioButton::indicator:unchecked:focus, +QRadioButton::indicator:unchecked:pressed { + border: none; + outline: none; + image: url(:/qss_icons/rc/radio_unchecked_focus.png); +} + +QRadioButton::indicator:checked { + border: none; + outline: none; + image: url(:/qss_icons/rc/radio_checked.png); +} + +QRadioButton::indicator:checked:hover, +QRadioButton::indicator:checked:focus, +QRadioButton::indicator:checked:pressed { + border: none; + outline: none; + image: url(:/qss_icons/rc/radio_checked_focus.png); +} + +QRadioButton::indicator:checked:disabled { + outline: none; + image: url(:/qss_icons/rc/radio_checked_disabled.png); +} + +QRadioButton::indicator:unchecked:disabled { + image: url(:/qss_icons/rc/radio_unchecked_disabled.png); +} + +QMenuBar { + background-color: #1f2022; + color: #eff0f1; +} + +QMenuBar::item { + background: transparent; +} + +QMenuBar::item:selected { + background: transparent; + border: 1px solid #2a2b2f; +} + +QMenuBar::item:pressed { + border: 1px solid #2a2b2f; + background-color: #36393c; + color: #eff0f1; + margin-bottom: -1px; + padding-bottom: 1px; +} + +QMenu { + border: 1px solid #2a2b2f; + color: #eff0f1; + margin: 2px; +} + +QMenu::icon { + margin: 5px; +} + +QMenu::item { + padding: 5px 30px 5px 30px; + border: 1px solid transparent; + /* reserve space for selection border */ +} + +QMenu::item:selected { + color: #eff0f1; +} + +QMenu::separator { + height: 2px; + background: lightblue; + margin-left: 10px; + margin-right: 5px; +} + +QMenu::indicator { + width: 18px; + height: 18px; +} + + +/* non-exclusive indicator = check box style indicator + (see QActionGroup::setExclusive) */ + +QMenu::indicator:non-exclusive:unchecked { + image: url(:/qss_icons/rc/checkbox_unchecked.png); +} + +QMenu::indicator:non-exclusive:unchecked:selected { + image: url(:/qss_icons/rc/checkbox_unchecked_disabled.png); +} + +QMenu::indicator:non-exclusive:checked { + image: url(:/qss_icons/rc/checkbox_checked.png); +} + +QMenu::indicator:non-exclusive:checked:selected { + image: url(:/qss_icons/rc/checkbox_checked_disabled.png); +} + + +/* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ + +QMenu::indicator:exclusive:unchecked { + image: url(:/qss_icons/rc/radio_unchecked.png); +} + +QMenu::indicator:exclusive:unchecked:selected { + image: url(:/qss_icons/rc/radio_unchecked_disabled.png); +} + +QMenu::indicator:exclusive:checked { + image: url(:/qss_icons/rc/radio_checked.png); +} + +QMenu::indicator:exclusive:checked:selected { + image: url(:/qss_icons/rc/radio_checked_disabled.png); +} + +QMenu::right-arrow { + margin: 5px; + image: url(:/qss_icons/rc/right_arrow.png) +} + +QWidget:disabled { + color: #454545; + background-color: #1f2022; +} + +QAbstractItemView { + alternate-background-color: #1f2022; + color: #eff0f1; + border: 1px solid #2a2b2f; + border-radius: 2px; +} + +QWidget:focus, +QMenuBar:focus { + border: 1px solid #36393c; +} + +QTabWidget:focus, +QCheckBox:focus, +QRadioButton:focus, +QSlider:focus { + border: none; +} + +QLineEdit { + background-color: #232629; + padding: 5px; + border-style: solid; + border: 1px solid #2a2b2f; + border-radius: 2px; + color: #eff0f1; +} + +QAbstractItemView QLineEdit { + padding: 0; +} + +QGroupBox { + border: 1px solid #2a2b2f; + border-radius: 2px; + margin-top: 20px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top center; + padding-left: 10px; + padding-right: 10px; + padding-top: 10px; +} + +QAbstractScrollArea { + border-radius: 2px; + border: 1px solid #2a2b2f; + background-color: transparent; +} + +QScrollBar:horizontal { + height: 15px; + margin: 3px 15px 3px 15px; + border: 1px transparent #2a2b2f; + border-radius: 4px; + background-color: #2a2b2f; +} + +QScrollBar::handle:horizontal { + background-color: #605F5F; + min-width: 5px; + border-radius: 4px; +} + +QScrollBar::add-line:horizontal { + margin: 0px 3px 0px 3px; + border-image: url(:/qss_icons/rc/right_arrow_disabled.png); + width: 10px; + height: 10px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + margin: 0px 3px 0px 3px; + border-image: url(:/qss_icons/rc/left_arrow_disabled.png); + height: 10px; + width: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover, +QScrollBar::add-line:horizontal:on { + border-image: url(:/qss_icons/rc/right_arrow.png); + height: 10px; + width: 10px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, +QScrollBar::sub-line:horizontal:on { + border-image: url(:/qss_icons/rc/left_arrow.png); + height: 10px; + width: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, +QScrollBar::down-arrow:horizontal { + background: none; +} + +QScrollBar::add-page:horizontal, +QScrollBar::sub-page:horizontal { + background: none; +} + +QScrollBar:vertical { + background-color: #2a2b2f; + width: 15px; + margin: 15px 3px 15px 3px; + border: 1px transparent #2a2b2f; + border-radius: 4px; +} + +QScrollBar::handle:vertical { + background-color: #605F5F; + min-height: 5px; + border-radius: 4px; +} + +QScrollBar::sub-line:vertical { + margin: 3px 0px 3px 0px; + border-image: url(:/qss_icons/rc/up_arrow_disabled.png); + height: 10px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + margin: 3px 0px 3px 0px; + border-image: url(:/qss_icons/rc/down_arrow_disabled.png); + height: 10px; + width: 10px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, +QScrollBar::sub-line:vertical:on { + border-image: url(:/qss_icons/rc/up_arrow.png); + height: 10px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover, +QScrollBar::add-line:vertical:on { + border-image: url(:/qss_icons/rc/down_arrow.png); + height: 10px; + width: 10px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:vertical, +QScrollBar::down-arrow:vertical { + background: none; +} + +QScrollBar::add-page:vertical, +QScrollBar::sub-page:vertical { + background: none; +} + +QTextEdit { + background-color: #232629; + color: #eff0f1; + border: 1px solid #2a2b2f; +} + +QPlainTextEdit { + background-color: #232629; + ; + color: #eff0f1; + border-radius: 2px; + border: 1px solid #2a2b2f; +} + +QHeaderView::section { + background-color: #2a2b2f; + color: #eff0f1; + padding: 5px; + border: 1px solid #2a2b2f; +} + +QSizeGrip { + image: url(:/qss_icons/rc/sizegrip.png); + width: 12px; + height: 12px; +} + +QMainWindow::separator { + background-color: #1f2022; + color: white; + padding-left: 4px; + spacing: 2px; + /*border: 1px dashed #2a2b2f;*/ +} + +QMainWindow::separator:hover { + background-color: #787876; + color: white; + padding-left: 4px; + border: 1px solid #2a2b2f; + spacing: 2px; +} + +QMenu::separator { + height: 1px; + background-color: #2a2b2f; + color: white; + padding-left: 4px; + margin-left: 10px; + margin-right: 5px; +} + +QFrame { + border-radius: 2px; + border: 1px solid #2a2b2f; +} + +QFrame[frameShape="0"] { + border-radius: 2px; + border: 1px transparent #2a2b2f; +} + +QStackedWidget { + border: 1px transparent black; +} + +QToolBar { + border: 1px transparent #2a2b2f; + background: 1px solid #1f2022; + font-weight: bold; +} + +QToolBar::handle:horizontal { + image: url(:/qss_icons/rc/Hmovetoolbar.png); +} + +QToolBar::handle:vertical { + image: url(:/qss_icons/rc/Vmovetoolbar.png); +} + +QToolBar::separator:horizontal { + image: url(:/qss_icons/rc/Hsepartoolbar.png); +} + +QToolBar::separator:vertical { + image: url(:/qss_icons/rc/Vsepartoolbar.png); +} + +QToolButton#qt_toolbar_ext_button { + background: #58595a +} + +QPushButton { + color: #eff0f1; + background-color: #1f2022; + border-width: 1px; + border-color: #2a2b2f; + border-style: solid; + padding: 5px; + border-radius: 2px; + outline: none; +} + +QPushButton:disabled { + background-color: #1f2022; + border-width: 1px; + border-color: #454545; + border-style: solid; + padding-top: 5px; + padding-bottom: 5px; + padding-left: 10px; + padding-right: 10px; + border-radius: 2px; + color: #454545; +} + +QPushButton:focus { + background-color: #36393c; + color: white; +} + +QPushButton:pressed { + background-color: #36393c; + padding-top: -15px; + padding-bottom: -17px; +} + +QComboBox { + selection-background-color: #36393c; + border-style: solid; + border: 1px solid #2a2b2f; + border-radius: 2px; + padding: 5px; + min-width: 75px; +} + +QPushButton:checked { + background-color: #2a2b2f; + border-color: #2a2b2f; +} + +QComboBox:hover, +QPushButton:hover, +QAbstractSpinBox:hover, +QLineEdit:hover, +QTextEdit:hover, +QPlainTextEdit:hover, +QAbstractView:hover, +QTreeView:hover { + border: 1px solid #36393c; + color: #eff0f1; +} + +QComboBox:on { + padding-top: 3px; + padding-left: 4px; + selection-background-color: #4a4a4a; +} + +QComboBox QAbstractItemView { + background-color: #232629; + border-radius: 2px; + border: 1px solid #2a2b2f; + selection-background-color: #4f5256; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 15px; + border-left-width: 0px; + border-left-color: darkgray; + border-left-style: solid; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +QComboBox::down-arrow { + image: url(:/qss_icons/rc/down_arrow_disabled.png); +} + +QComboBox::down-arrow:on, +QComboBox::down-arrow:hover, +QComboBox::down-arrow:focus { + image: url(:/qss_icons/rc/down_arrow.png); +} + +QAbstractSpinBox { + padding: 5px; + border: 1px solid #2a2b2f; + background-color: #232629; + color: #eff0f1; + border-radius: 2px; + min-width: 75px; +} + +QAbstractSpinBox:up-button { + background-color: transparent; + subcontrol-origin: border; + subcontrol-position: center right; +} + +QAbstractSpinBox:down-button { + background-color: transparent; + subcontrol-origin: border; + subcontrol-position: center left; +} + +QAbstractSpinBox::up-arrow, +QAbstractSpinBox::up-arrow:disabled, +QAbstractSpinBox::up-arrow:off { + image: url(:/qss_icons/rc/up_arrow_disabled.png); + width: 10px; + height: 10px; +} + +QAbstractSpinBox::up-arrow:hover { + image: url(:/qss_icons/rc/up_arrow.png); +} + +QAbstractSpinBox::down-arrow, +QAbstractSpinBox::down-arrow:disabled, +QAbstractSpinBox::down-arrow:off { + image: url(:/qss_icons/rc/down_arrow_disabled.png); + width: 10px; + height: 10px; +} + +QAbstractSpinBox::down-arrow:hover { + image: url(:/qss_icons/rc/down_arrow.png); +} + +QLabel { + border: 0px solid black; +} + +QTabWidget { + border: 0px transparent black; +} + +QTabWidget::pane { + border: 1px solid #2a2b2f; + padding: 5px; + margin: 0px; +} + +QTabWidget::tab-bar { + /* left: 5px; move to the right by 5px */ +} + +QTabBar { + qproperty-drawBase: 0; + border-radius: 3px; +} + +QTabBar:focus { + border: 0px transparent black; +} + +QTabBar::close-button { + image: url(:/qss_icons/rc/close.png); + background: transparent; +} + +QTabBar::close-button:hover { + image: url(:/qss_icons/rc/close-hover.png); + background: transparent; +} + +QTabBar::close-button:pressed { + image: url(:/qss_icons/rc/close-pressed.png); + background: transparent; +} + + +/* TOP TABS */ + +QTabBar::tab:top { + color: #eff0f1; + border: 1px solid #2a2b2f; + border-bottom: 1px transparent black; + background-color: #1f2022; + padding: 5px; + min-width: 50px; + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} + +QTabBar::tab:top:selected { + color: #eff0f1; + background-color: #36393c; + border: 1px solid #2a2b2f; +} + +QTabBar::tab:top:!selected:hover { + background-color: #36393c; +} + + +/* BOTTOM TABS */ + +QTabBar::tab:bottom { + color: #eff0f1; + border: 1px solid #2a2b2f; + border-top: 1px transparent black; + background-color: #1f2022; + padding: 5px; + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + min-width: 50px; +} + +QTabBar::tab:bottom:selected { + color: #eff0f1; + background-color: #36393c; + border: 1px solid #2a2b2f; +} + +QTabBar::tab:bottom:!selected:hover { + background-color: #36393c; +} + + +/* LEFT TABS */ + +QTabBar::tab:left { + color: #eff0f1; + border: 1px solid #2a2b2f; + border-left: 1px transparent black; + background-color: #1f2022; + padding: 5px; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + min-height: 50px; +} + +QTabBar::tab:left:selected { + color: #eff0f1; + background-color: #36393c; + border: 1px solid #2a2b2f; + border-left: 2px solid #36393c; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} + +QTabBar::tab:left:!selected:hover { + background-color: #36393c; +} + + +/* RIGHT TABS */ + +QTabBar::tab:right { + color: #eff0f1; + border: 1px solid #2a2b2f; + border-right: 1px transparent black; + background-color: #1f2022; + padding: 5px; + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; + min-height: 50px; +} + +QTabBar::tab:right:selected { + color: #eff0f1; + background-color: #36393c; + border: 1px solid #2a2b2f; + border-right: 2px solid #36393c; + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} + +QTabBar::tab:right:!selected:hover { + background-color: #36393c; +} + +QTabBar QToolButton::right-arrow:enabled { + image: url(:/qss_icons/rc/right_arrow.png); +} + +QTabBar QToolButton::left-arrow:enabled { + image: url(:/qss_icons/rc/left_arrow.png); +} + +QTabBar QToolButton::right-arrow:disabled { + image: url(:/qss_icons/rc/right_arrow_disabled.png); +} + +QTabBar QToolButton::left-arrow:disabled { + image: url(:/qss_icons/rc/left_arrow_disabled.png); +} + +QDockWidget { + background: #1f2022; + border: 1px solid #2a2b2f; + titlebar-close-icon: url(:/qss_icons/rc/close.png); + titlebar-normal-icon: url(:/qss_icons/rc/undock.png); +} + +QDockWidget::close-button, +QDockWidget::float-button { + border: 1px solid transparent; + border-radius: 2px; + background: transparent; +} + +QDockWidget::close-button:hover, +QDockWidget::float-button:hover { + background: rgba(255, 255, 255, 10); +} + +QDockWidget::close-button:pressed, +QDockWidget::float-button:pressed { + padding: 1px -1px -1px 1px; + background: rgba(255, 255, 255, 10); +} + +QTreeView, +QListView { + border: 1px solid #2a2b2f; + background-color: #232629; +} + +QTreeView:branch:selected, +QTreeView:branch:hover { + background: url(:/qss_icons/rc/transparent.png); +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(:/qss_icons/rc/transparent.png); +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(:/qss_icons/rc/transparent.png); +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(:/qss_icons/rc/transparent.png); +} + +QTreeView::branch:has-children:!has-siblings:closed, +QTreeView::branch:closed:has-children:has-siblings { + image: url(:/qss_icons/rc/branch_closed.png); +} + +QTreeView::branch:open:has-children:!has-siblings, +QTreeView::branch:open:has-children:has-siblings { + image: url(:/qss_icons/rc/branch_open.png); +} + +QTreeView::branch:has-children:!has-siblings:closed:hover, +QTreeView::branch:closed:has-children:has-siblings:hover { + image: url(:/qss_icons/rc/branch_closed-on.png); +} + +QTreeView::branch:open:has-children:!has-siblings:hover, +QTreeView::branch:open:has-children:has-siblings:hover { + image: url(:/qss_icons/rc/branch_open-on.png); +} + +QListView::item:!selected:hover, +QTreeView::item:!selected:hover { + background: #4f5256; + outline: 0; + color: #eff0f1 +} + +QListView::item:selected:hover, +QTreeView::item:selected:hover { + background: #36393c; + color: #eff0f1; +} + +QTreeView::indicator:checked, +QListView::indicator:checked { + image: url(:/qss_icons/rc/checkbox_checked.png); +} + +QTreeView::indicator:unchecked, +QListView::indicator:unchecked { + image: url(:/qss_icons/rc/checkbox_unchecked.png); +} + +QTreeView::indicator:checked:hover, +QTreeView::indicator:checked:focus, +QTreeView::indicator:checked:pressed, +QListView::indicator:checked:hover, +QListView::indicator:checked:focus, +QListView::indicator:checked:pressed { + image: url(:/qss_icons/rc/checkbox_checked_focus.png); +} + +QTreeView::indicator:unchecked:hover, +QTreeView::indicator:unchecked:focus, +QTreeView::indicator:unchecked:pressed, +QListView::indicator:unchecked:hover, +QListView::indicator:unchecked:focus, +QListView::indicator:unchecked:pressed { + image: url(:/qss_icons/rc/checkbox_unchecked_focus.png); +} + +QSlider::groove:horizontal { + border: 1px solid #2a2b2f; + height: 4px; + background: #2a2b2f; + margin: 0px; + border-radius: 2px; +} + +QSlider::handle:horizontal { + background: #232629; + border: 1px solid #2a2b2f; + width: 16px; + height: 16px; + margin: -8px 0; + border-radius: 9px; +} + +QSlider::groove:vertical { + border: 1px solid #2a2b2f; + width: 4px; + background: #2a2b2f; + margin: 0px; + border-radius: 3px; +} + +QSlider::handle:vertical { + background: #232629; + border: 1px solid #2a2b2f; + width: 16px; + height: 16px; + margin: 0 -8px; + border-radius: 9px; +} + +QToolButton { + background-color: transparent; + border: 1px transparent #2a2b2f; + border-radius: 2px; + margin: 3px; + padding: 5px; +} + +QToolButton[popupMode="1"] { + /* only for MenuButtonPopup */ + padding-right: 20px; + /* make way for the popup button */ + border: 1px #2a2b2f; + border-radius: 5px; +} + +QToolButton[popupMode="2"] { + /* only for InstantPopup */ + padding-right: 10px; + /* make way for the popup button */ + border: 1px #2a2b2f; +} + +QToolButton:hover { + background-color: transparent; + border: 1px solid #36393c; +} + +QToolButton::menu-button:hover { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + width: 16px; + background-color: transparent; + border: 1px solid #36393c; +} + +QToolButton:checked, +QToolButton:pressed, +QToolButton::menu-button:pressed { + background-color: #36393c; + border: 1px solid #36393c; +} + + +/* the subcontrol below is used only in the InstantPopup or DelayedPopup mode */ + +QToolButton::menu-indicator { + image: url(:/qss_icons/rc/down_arrow.png); + top: -7px; + left: -2px; + /* shift it a bit */ +} + + +/* the subcontrols below are used only in the MenuButtonPopup mode */ + +QToolButton::menu-button { + border: 1px transparent #2a2b2f; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + /* 16px width + 4px for border = 20px allocated above */ + width: 16px; + outline: none; +} + +QToolButton::menu-arrow { + image: url(:/qss_icons/rc/down_arrow.png); +} + +QToolButton::menu-arrow:open { + border: 1px solid #2a2b2f; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + left: 8px; +} + +QTableView { + border: 1px solid #2a2b2f; + gridline-color: #1f2022; + background-color: #232629; +} + +QTableView, +QHeaderView { + border-radius: 0px; +} + +QTableView::item:pressed, +QListView::item:pressed, +QTreeView::item:pressed { + background: #4f5256; + color: #eff0f1; +} + +QTableView::item:selected:active, +QTreeView::item:selected:active, +QListView::item:selected:active { + background: #36393c; + color: #eff0f1; +} + +QHeaderView { + background-color: #1f2022; + border: 1px transparent; + border-radius: 0px; + margin: 0px; + padding: 0px; +} + +QHeaderView::section { + background-color: #2b2f32; + color: #eff0f1; + padding: 5px; + border: 1px solid #2a2b2f; + border-radius: 0px; + text-align: center; +} + +QHeaderView::section::vertical::first, +QHeaderView::section::vertical::only-one { + border-top: 1px solid #2a2b2f; +} + +QHeaderView::section::vertical { + border-top: transparent; +} + +QHeaderView::section::horizontal::first, +QHeaderView::section::horizontal::only-one { + border-left: 1px solid #2a2b2f; +} + +QHeaderView::section::horizontal { + border-left: transparent; +} + +QHeaderView::section:checked { + color: white; + background-color: #334e5e; +} + + +/* style the sort indicator */ + +QHeaderView::down-arrow { + image: url(:/qss_icons/rc/down_arrow.png); +} + +QHeaderView::up-arrow { + image: url(:/qss_icons/rc/up_arrow.png); +} + +QTableCornerButton::section { + background-color: #1f2022; + border: 1px transparent #2a2b2f; + border-radius: 0px; +} + +QToolBox { + padding: 5px; + border: 1px transparent black; +} + +QToolBox::tab { + color: #eff0f1; + background-color: #1f2022; + border: 1px solid #2a2b2f; + border-bottom: 1px transparent #1f2022; + border-top-left-radius: 5px; + border-top-right-radius: 5px; +} + +QToolBox::tab:selected { + /* italicize selected tabs */ + font: italic; + background-color: #1f2022; + border-color: #36393c; +} + +QStatusBar::item { + border: 0px transparent dark; +} + +QFrame[height="3"], +QFrame[width="3"] { + background-color: #2a2b2f; +} + +QSplitter::handle { + background-color: #1f2022; + /*border: 1px dashed #2a2b2f;*/ +} + +QSplitter::handle:hover { + background-color: #787876; + /*border: 1px solid #2a2b2f;*/ +} + +QSplitter::handle:horizontal { + width: 4px; +} + +QSplitter::handle:vertical { + height: 4px; +} + +QProgressBar { + border: 1px solid #2a2b2f; + border-radius: 5px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #05B8CC; +} + +QDateEdit { + selection-background-color: #36393c; + border-style: solid; + border: 1px solid #3375A3; + border-radius: 2px; + padding: 1px; + min-width: 75px; +} + +QDateEdit:on { + padding-top: 3px; + padding-left: 4px; + selection-background-color: #4a4a4a; +} + +QDateEdit QAbstractItemView { + background-color: #232629; + border-radius: 2px; + border: 1px solid #3375A3; + selection-background-color: #36393c; +} + +QDateEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 15px; + border-left-width: 0px; + border-left-color: darkgray; + border-left-style: solid; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +QDateEdit::down-arrow { + image: url(:/qss_icons/rc/down_arrow_disabled.png); +} + +QDateEdit::down-arrow:on, +QDateEdit::down-arrow:hover, +QDateEdit::down-arrow:focus { + image: url(:/qss_icons/rc/down_arrow.png); +} \ No newline at end of file diff --git a/src/themes/qdarkstyle/style.qrc b/src/themes/qdarkstyle/dark.qrc similarity index 100% rename from src/themes/qdarkstyle/style.qrc rename to src/themes/qdarkstyle/dark.qrc