diff --git a/runtime/ConfigWindow.ui b/runtime/ConfigWindow.ui
index 6757f1bab..fbdddfc2d 100644
--- a/runtime/ConfigWindow.ui
+++ b/runtime/ConfigWindow.ui
@@ -71,7 +71,7 @@
-
-
+
0
0
@@ -84,7 +84,7 @@
- 150
+ 16777215
16777215
@@ -93,6 +93,22 @@
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 20
+ 20
+
+
+
+
-
@@ -143,7 +159,7 @@
- 150
+ 16777215
16777215
diff --git a/runtime/breeze.qrc b/runtime/breeze.qrc
new file mode 100644
index 000000000..88fb18574
--- /dev/null
+++ b/runtime/breeze.qrc
@@ -0,0 +1,89 @@
+
+
+ light/hmovetoolbar.svg
+ light/vmovetoolbar.svg
+ light/hsepartoolbar.svg
+ light/vsepartoolbars.svg
+ light/stylesheet-branch-end.svg
+ light/stylesheet-branch-end-closed.svg
+ light/stylesheet-branch-end-open.svg
+ light/stylesheet-vline.svg
+ light/stylesheet-branch-more.svg
+ light/branch_closed.svg
+ light/branch_closed-on.svg
+ light/branch_open.svg
+ light/branch_open-on.svg
+ light/down_arrow.svg
+ light/down_arrow_disabled.svg
+ light/down_arrow-hover.svg
+ light/left_arrow.svg
+ light/left_arrow_disabled.svg
+ light/right_arrow.svg
+ light/right_arrow_disabled.svg
+ light/up_arrow.svg
+ light/up_arrow_disabled.svg
+ light/up_arrow-hover.svg
+ light/sizegrip.svg
+ light/transparent.svg
+ light/close.svg
+ light/close-hover.svg
+ light/close-pressed.svg
+ light/undock.svg
+ light/undock-hover.svg
+ light/checkbox_checked-hover.svg
+ light/checkbox_checked.svg
+ light/checkbox_checked_disabled.svg
+ light/checkbox_indeterminate.svg
+ light/checkbox_indeterminate-hover.svg
+ light/checkbox_indeterminate_disabled.svg
+ light/checkbox_unchecked-hover.svg
+ light/checkbox_unchecked_disabled.svg
+ light/radio_checked-hover.svg
+ light/radio_checked.svg
+ light/radio_checked_disabled.svg
+ light/radio_unchecked-hover.svg
+ light/radio_unchecked_disabled.svg
+ dark/hmovetoolbar.svg
+ dark/vmovetoolbar.svg
+ dark/hsepartoolbar.svg
+ dark/vsepartoolbars.svg
+ dark/stylesheet-branch-end.svg
+ dark/stylesheet-branch-end-closed.svg
+ dark/stylesheet-branch-end-open.svg
+ dark/stylesheet-vline.svg
+ dark/stylesheet-branch-more.svg
+ dark/branch_closed.svg
+ dark/branch_closed-on.svg
+ dark/branch_open.svg
+ dark/branch_open-on.svg
+ dark/down_arrow.svg
+ dark/down_arrow_disabled.svg
+ dark/down_arrow-hover.svg
+ dark/left_arrow.svg
+ dark/left_arrow_disabled.svg
+ dark/right_arrow.svg
+ dark/right_arrow_disabled.svg
+ dark/up_arrow.svg
+ dark/up_arrow_disabled.svg
+ dark/up_arrow-hover.svg
+ dark/sizegrip.svg
+ dark/transparent.svg
+ dark/close.svg
+ dark/close-hover.svg
+ dark/close-pressed.svg
+ dark/undock.svg
+ dark/undock-hover.svg
+ dark/checkbox_checked.svg
+ dark/checkbox_checked_disabled.svg
+ dark/checkbox_indeterminate.svg
+ dark/checkbox_indeterminate_disabled.svg
+ dark/checkbox_unchecked.svg
+ dark/checkbox_unchecked_disabled.svg
+ dark/radio_checked.svg
+ dark/radio_checked_disabled.svg
+ dark/radio_unchecked.svg
+ dark/radio_unchecked_disabled.svg
+ light.qss
+ dark.qss
+
+
diff --git a/runtime/dark.qss b/runtime/dark.qss
new file mode 100644
index 000000000..65938c8c4
--- /dev/null
+++ b/runtime/dark.qss
@@ -0,0 +1,1648 @@
+/*
+ * BreezeDark stylesheet.
+ *
+ * :author: Colin Duquesnoy
+ * :editor: Alex Huszagh
+ * :license: MIT, see LICENSE.md
+ *
+ * This is originally a fork of QDarkStyleSheet, and is based on Breeze/
+ * BreezeDark color scheme, but is in no way affiliated with KDE.
+ *
+ * ---------------------------------------------------------------------
+ * The MIT License (MIT)
+ *
+ * Copyright (c) <2013-2014>
+ * Copyright (c) <2015-2016>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * ---------------------------------------------------------------------
+ */
+
+QToolTip
+{
+ border: 0.1ex solid #eff0f1;
+ background-color: #31363b;
+ alternate-background-color: #3b4045;
+ color: #eff0f1;
+ padding: 0.5ex;
+ opacity: 200;
+}
+
+QWidget
+{
+ color: #eff0f1;
+ background-color: #31363b;
+ selection-background-color:#3daee9;
+ selection-color: #eff0f1;
+ background-clip: border;
+ border-image: none;
+ border: 0px transparent black;
+ outline: 0;
+}
+
+QWidget:item:hover
+{
+ background-color: #3daee9;
+ color: #eff0f1;
+}
+
+QWidget:item:selected
+{
+ background-color: #3daee9;
+}
+
+
+QCheckBox
+{
+ spacing: 0.5ex;
+ outline: none;
+ color: #eff0f1;
+ margin-bottom: 0.2ex;
+ opacity: 200;
+}
+
+QCheckBox:disabled
+{
+ color: #76797c;
+}
+
+QGroupBox::indicator
+{
+ margin-left: 0.2ex;
+}
+
+QCheckBox::indicator:unchecked,
+QCheckBox::indicator:unchecked:focus
+{
+ border-image: url(:/dark/checkbox_unchecked_disabled.svg);
+}
+
+QCheckBox::indicator:unchecked:hover,
+QCheckBox::indicator:unchecked:pressed,
+QGroupBox::indicator:unchecked:hover,
+QGroupBox::indicator:unchecked:focus,
+QGroupBox::indicator:unchecked:pressed
+{
+ border: none;
+ border-image: url(:/dark/checkbox_unchecked.svg);
+}
+
+QCheckBox::indicator:checked
+{
+ border-image: url(:/dark/checkbox_checked.svg);
+}
+
+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;
+ border-image: url(:/dark/checkbox_checked.svg);
+}
+
+QCheckBox::indicator:indeterminate
+{
+ border-image: url(:/dark/checkbox_indeterminate.svg);
+}
+
+QCheckBox::indicator:indeterminate:focus,
+QCheckBox::indicator:indeterminate:hover,
+QCheckBox::indicator:indeterminate:pressed
+{
+ border-image: url(:/dark/checkbox_indeterminate.svg);
+}
+
+QCheckBox::indicator:indeterminate:disabled
+{
+ border-image: url(:/dark/checkbox_indeterminate_disabled.svg);
+}
+
+QCheckBox::indicator:checked:disabled,
+QGroupBox::indicator:checked:disabled
+{
+ border-image: url(:/dark/checkbox_checked_disabled.svg);
+}
+
+QCheckBox::indicator:unchecked:disabled,
+QGroupBox::indicator:unchecked:disabled
+{
+ border-image: url(:/dark/checkbox_unchecked_disabled.svg);
+}
+
+QRadioButton
+{
+ spacing: 0.5ex;
+ outline: none;
+ color: #eff0f1;
+ margin-bottom: 0.2ex;
+}
+
+QRadioButton:disabled
+{
+ color: #76797c;
+}
+
+QRadioButton::indicator:unchecked,
+QRadioButton::indicator:unchecked:focus
+{
+ border-image: url(:/dark/radio_unchecked_disabled.svg);
+}
+
+
+QRadioButton::indicator:unchecked:hover,
+QRadioButton::indicator:unchecked:pressed
+{
+ border: none;
+ outline: none;
+ border-image: url(:/dark/radio_unchecked.svg);
+}
+
+
+QRadioButton::indicator:checked
+{
+ border: none;
+ outline: none;
+ border-image: url(:/dark/radio_checked.svg);
+}
+
+QRadioButton::indicator:checked:hover,
+QRadioButton::indicator:checked:focus,
+QRadioButton::indicator:checked:pressed
+{
+ border: none;
+ outline: none;
+ border-image: url(:/dark/radio_checked.svg);
+}
+
+QRadioButton::indicator:checked:disabled
+{
+ outline: none;
+ border-image: url(:/dark/radio_checked_disabled.svg);
+}
+
+QRadioButton::indicator:unchecked:disabled
+{
+ border-image: url(:/dark/radio_unchecked_disabled.svg);
+}
+
+QMenuBar
+{
+ background-color: #31363b;
+ color: #eff0f1;
+}
+
+QMenuBar::item
+{
+ background: transparent;
+}
+
+QMenuBar::item:selected
+{
+ background: transparent;
+ border: 0.1ex solid #76797c;
+}
+
+QMenuBar::item:pressed
+{
+ border: 0.1ex solid #76797c;
+ background-color: #3daee9;
+ color: #eff0f1;
+ margin-bottom: -0.1ex;
+ padding-bottom: 0.1ex;
+}
+
+QMenu
+{
+ border: 0.1ex solid #76797c;
+ color: #eff0f1;
+ margin: 0.2ex;
+}
+
+QMenu::icon
+{
+ margin: 0.5ex;
+}
+
+QMenu::item
+{
+ padding: 0.5ex 3ex 0.5ex 3ex;
+ margin-left: 0.5ex;
+ border: 0.1ex solid transparent; /* reserve space for selection border */
+}
+
+QMenu::item:selected
+{
+ color: #eff0f1;
+}
+
+QMenu::separator
+{
+ height: 0.2ex;
+ background: lightblue;
+ margin-left: 1ex;
+ margin-right: 0.5ex;
+}
+
+/* non-exclusive indicator = check box style indicator
+ (see QActionGroup::setExclusive) */
+QMenu::indicator:non-exclusive:unchecked
+{
+ border-image: url(:/dark/checkbox_unchecked_disabled.svg);
+}
+
+QMenu::indicator:non-exclusive:unchecked:selected
+{
+ border-image: url(:/dark/checkbox_unchecked_disabled.svg);
+}
+
+QMenu::indicator:non-exclusive:checked
+{
+ border-image: url(:/dark/checkbox_checked.svg);
+}
+
+QMenu::indicator:non-exclusive:checked:selected
+{
+ border-image: url(:/dark/checkbox_checked.svg);
+}
+
+/* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */
+QMenu::indicator:exclusive:unchecked
+{
+ border-image: url(:/dark/radio_unchecked_disabled.svg);
+}
+
+QMenu::indicator:exclusive:unchecked:selected
+{
+ border-image: url(:/dark/radio_unchecked_disabled.svg);
+}
+
+QMenu::indicator:exclusive:checked
+{
+ border-image: url(:/dark/radio_checked.svg);
+}
+
+QMenu::indicator:exclusive:checked:selected
+{
+ border-image: url(:/dark/radio_checked.svg);
+}
+
+QMenu::right-arrow
+{
+ margin: 0.5ex;
+ border-image: url(:/light/right_arrow.svg);
+ width: 0.6ex;
+ height: 0.9ex;
+}
+
+
+QWidget:disabled
+{
+ color: #454545;
+ background-color: #31363b;
+}
+
+QAbstractItemView
+{
+ alternate-background-color: #31363b;
+ color: #eff0f1;
+ border: 0.1ex solid 3A3939;
+ border-radius: 0.2ex;
+}
+
+QWidget:focus,
+QMenuBar:focus
+{
+ border: 0.1ex solid #3daee9;
+}
+
+QTabWidget:focus,
+QCheckBox:focus,
+QRadioButton:focus,
+QSlider:focus
+{
+ border: none;
+}
+
+QLineEdit
+{
+ background-color: #232629;
+ padding: 0.5ex;
+ border-style: solid;
+ border: 0.1ex solid #76797c;
+ border-radius: 0.2ex;
+ color: #eff0f1;
+}
+
+QGroupBox
+{
+ border: 0.1ex solid #76797c;
+ border-radius: 0.2ex;
+ padding-top: 1ex;
+ margin-top: 1ex;
+}
+
+QGroupBox::title
+{
+ subcontrol-origin: margin;
+ subcontrol-position: top center;
+ padding-left: 0.1ex;
+ padding-right: 0.1ex;
+ margin-top: -0.7ex;
+}
+
+QAbstractScrollArea
+{
+ border-radius: 0.2ex;
+ border: 0.1ex solid #76797c;
+ background-color: transparent;
+}
+
+QScrollBar:horizontal
+{
+ height: 1.5ex;
+ margin: 0.3ex 1.5ex 0.3ex 1.5ex;
+ border: 0.1ex transparent #2A2929;
+ border-radius: 0.4ex;
+ background-color: #2A2929;
+}
+
+QScrollBar::handle:horizontal
+{
+ background-color: #3daee9;
+ min-width: 0.5ex;
+ border-radius: 0.4ex;
+}
+
+QScrollBar::add-line:horizontal
+{
+ margin: 0px 0.3ex 0px 0.3ex;
+ border-image: url(:/dark/right_arrow_disabled.svg);
+ width: 1ex;
+ height: 1ex;
+ subcontrol-position: right;
+ subcontrol-origin: margin;
+}
+
+QScrollBar::sub-line:horizontal
+{
+ margin: 0ex 0.3ex 0ex 0.3ex;
+ border-image: url(:/dark/left_arrow_disabled.svg);
+ width: 1ex;
+ height: 1ex;
+ subcontrol-position: left;
+ subcontrol-origin: margin;
+}
+
+QScrollBar::add-line:horizontal:hover,
+QScrollBar::add-line:horizontal:on
+{
+ border-image: url(:/dark/right_arrow.svg);
+ width: 1ex;
+ height: 1ex;
+ subcontrol-position: right;
+ subcontrol-origin: margin;
+}
+
+
+QScrollBar::sub-line:horizontal:hover,
+QScrollBar::sub-line:horizontal:on
+{
+ border-image: url(:/dark/left_arrow.svg);
+ width: 1ex;
+ height: 1ex;
+ 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: #2A2929;
+ width: 1.5ex;
+ margin: 1.5ex 0.3ex 1.5ex 0.3ex;
+ border: 0.1ex transparent #2A2929;
+ border-radius: 0.4ex;
+}
+
+QScrollBar::handle:vertical
+{
+ background-color: #3daee9;
+ min-height: 0.5ex;
+ border-radius: 0.4ex;
+}
+
+QScrollBar::sub-line:vertical
+{
+ margin: 0.3ex 0ex 0.3ex 0ex;
+ border-image: url(:/dark/up_arrow_disabled.svg);
+ height: 1ex;
+ width: 1ex;
+ subcontrol-position: top;
+ subcontrol-origin: margin;
+}
+
+QScrollBar::add-line:vertical
+{
+ margin: 0.3ex 0ex 0.3ex 0ex;
+ border-image: url(:/dark/down_arrow_disabled.svg);
+ height: 1ex;
+ width: 1ex;
+ subcontrol-position: bottom;
+ subcontrol-origin: margin;
+}
+
+QScrollBar::sub-line:vertical:hover,
+QScrollBar::sub-line:vertical:on
+{
+
+ border-image: url(:/dark/up_arrow.svg);
+ height: 1ex;
+ width: 1ex;
+ subcontrol-position: top;
+ subcontrol-origin: margin;
+}
+
+
+QScrollBar::add-line:vertical:hover,
+QScrollBar::add-line:vertical:on
+{
+ border-image: url(:/dark/down_arrow.svg);
+ height: 1ex;
+ width: 1ex;
+ 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: 0.1ex solid #76797c;
+}
+
+QPlainTextEdit
+{
+ background-color: #232629;;
+ color: #eff0f1;
+ border-radius: 0.2ex;
+ border: 0.1ex solid #76797c;
+}
+
+QHeaderView::section
+{
+ background-color: #76797c;
+ color: #eff0f1;
+ padding: 0.5ex;
+ border: 0.1ex solid #76797c;
+}
+
+QSizeGrip
+{
+ border-image: url(:/dark/sizegrip.svg);
+ width: 1.2ex;
+ height: 1.2ex;
+}
+
+QMainWindow::separator
+{
+ background-color: #31363b;
+ color: white;
+ padding-left: 0.4ex;
+ spacing: 0.2ex;
+ border: 0.1ex dashed #76797c;
+}
+
+QMainWindow::separator:hover
+{
+
+ background-color: #787876;
+ color: white;
+ padding-left: 0.4ex;
+ border: 0.1ex solid #76797c;
+ spacing: 0.2ex;
+}
+
+QMenu::separator
+{
+ height: 0.1ex;
+ background-color: #76797c;
+ color: white;
+ padding-left: 0.4ex;
+ margin-left: 1ex;
+ margin-right: 0.5ex;
+}
+
+QFrame[frameShape="2"], /* QFrame::Panel == 0x0003 */
+QFrame[frameShape="3"], /* QFrame::WinPanel == 0x0003 */
+QFrame[frameShape="4"], /* QFrame::HLine == 0x0004 */
+QFrame[frameShape="5"], /* QFrame::VLine == 0x0005 */
+QFrame[frameShape="6"] /* QFrame::StyledPanel == 0x0006 */
+{
+ border-width: 0.1ex;
+ padding: 0.1ex;
+ border-style: solid;
+ border-color: #31363b;
+ background-color: #76797c;
+ border-radius: 0.5ex;
+}
+
+QStackedWidget
+{
+ border: 0.1ex transparent black;
+}
+
+QToolBar
+{
+ border: 0.1ex transparent #393838;
+ background: 0.1ex solid #31363b;
+ font-weight: bold;
+}
+
+QToolBar::handle:horizontal
+{
+ border-image: url(:/dark/hmovetoolbar.svg);
+ width = 1.6ex;
+ height = 6.4ex;
+}
+
+QToolBar::handle:vertical
+{
+ border-image: url(:/dark/vmovetoolbar.svg);
+ width = 5.4ex;
+ height = 1ex;
+}
+
+QToolBar::separator:horizontal
+{
+ border-image: url(:/dark/hsepartoolbar.svg);
+ width = 0.7ex;
+ height = 6.3ex;
+}
+
+QToolBar::separator:vertical
+{
+ border-image: url(:/dark/vsepartoolbars.svg);
+ width = 6.3ex;
+ height = 0.7ex;
+}
+
+QPushButton
+{
+ color: #eff0f1;
+ background-color: qlineargradient(x1: 0.5, y1: 0.5 x2: 0.5, y2: 1, stop: 0 #3b4045, stop: 0.5 #31363b);
+ border-width: 0.1ex;
+ border-color: #76797c;
+ border-style: solid;
+ padding: 0.5ex;
+ border-radius: 0.2ex;
+ outline: none;
+}
+
+QPushButton:disabled
+{
+ background-color: #31363b;
+ border-width: 0.1ex;
+ border-color: #454545;
+ border-style: solid;
+ padding-top: 0.5ex;
+ padding-bottom: 0.5ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ border-radius: 0.2ex;
+ color: #454545;
+}
+
+QPushButton:focus
+{
+ color: white;
+}
+
+QPushButton:pressed
+{
+ background-color: #31363b;
+ padding-top: -1.5ex;
+ padding-bottom: -1.7ex;
+}
+
+QComboBox
+{
+ selection-background-color: #3daee9;
+ border-style: solid;
+ border: 0.1ex solid #76797c;
+ border-radius: 0.2ex;
+ padding: 0.5ex;
+ min-width: 7.5ex;
+}
+
+QPushButton:checked
+{
+ background-color: #76797c;
+ border-color: #6A6969;
+}
+
+QPushButton:hover
+{
+ background-color: qlineargradient(x1: 0.5, y1: 0.5 x2: 0.5, y2: 1, stop: 0 #454a4f, stop: 0.5 #3b4045);
+ border: 0.1ex solid #3daee9;
+ color: #eff0f1;
+}
+
+QPushButton:checked:hover
+{
+ background-color: qlineargradient(x1: 0.5, y1: 0.5 x2: 0.5, y2: 1, stop: 0 #808386, stop: 0.5 #76797c);
+ border: 0.1ex solid #3daee9;
+ color: #eff0f1;
+}
+
+QComboBox:hover,
+QAbstractSpinBox:hover,
+QLineEdit:hover,
+QTextEdit:hover,
+QPlainTextEdit:hover,
+QAbstractView:hover,
+QTreeView:hover
+{
+ border: 0.1ex solid #3daee9;
+ color: #eff0f1;
+}
+
+QComboBox:hover:pressed,
+QPushButton:hover:pressed,
+QAbstractSpinBox:hover:pressed,
+QLineEdit:hover:pressed,
+QTextEdit:hover:pressed,
+QPlainTextEdit:hover:pressed,
+QAbstractView:hover:pressed,
+QTreeView:hover:pressed
+{
+ background-color: #31363b;
+}
+
+QComboBox:on
+{
+ padding-top: 0.3ex;
+ padding-left: 0.4ex;
+ selection-background-color: #4a4a4a;
+}
+
+QComboBox QAbstractItemView
+{
+ background-color: #232629;
+ border-radius: 0.2ex;
+ border: 0.1ex solid #76797c;
+ selection-background-color: #3daee9;
+}
+
+QComboBox::drop-down
+{
+ subcontrol-origin: padding;
+ subcontrol-position: top right;
+ width: 1.5ex;
+
+ border-left-width: 0ex;
+ border-left-color: darkgray;
+ border-left-style: solid;
+ border-top-right-radius: 0.3ex;
+ border-bottom-right-radius: 0.3ex;
+}
+
+QComboBox::down-arrow
+{
+ border-image: url(:/dark/down_arrow_disabled.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QComboBox::down-arrow:on,
+QComboBox::down-arrow:hover,
+QComboBox::down-arrow:focus
+{
+ border-image: url(:/dark/down_arrow.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QAbstractSpinBox
+{
+ padding: 0.5ex;
+ border: 0.1ex solid #76797c;
+ background-color: #232629;
+ color: #eff0f1;
+ border-radius: 0.2ex;
+ min-width: 7.5ex;
+}
+
+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
+{
+ border-image: url(:/dark/up_arrow_disabled.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QAbstractSpinBox::up-arrow:hover
+{
+ border-image: url(:/dark/up_arrow.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QAbstractSpinBox::down-arrow,
+QAbstractSpinBox::down-arrow:disabled,
+QAbstractSpinBox::down-arrow:off
+{
+ border-image: url(:/dark/down_arrow_disabled.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QAbstractSpinBox::down-arrow:hover
+{
+ border-image: url(:/dark/down_arrow.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QLabel
+{
+ border: 0ex solid black;
+}
+
+/* BORDERS */
+QTabWidget::pane
+{
+ padding: 0.5ex;
+ margin: 0.1ex;
+}
+
+QTabWidget::pane:top
+{
+ border: 0.1ex solid #76797c;
+ top: -0.1ex;
+}
+
+QTabWidget::pane:bottom
+{
+ border: 0.1ex solid #76797c;
+ bottom: -0.1ex;
+}
+
+QTabWidget::pane:left
+{
+ border: 0.1ex solid #76797c;
+ right: -0.1ex;
+}
+
+QTabWidget::pane:right
+{
+ border: 0.1ex solid #76797c;
+ left: -0.1ex;
+}
+
+
+QTabBar
+{
+ qproperty-drawBase: 0;
+ left: 0.5ex; /* move to the right by 0.5ex */
+ border-radius: 0.3ex;
+}
+
+QTabBar:focus
+{
+ border: 0ex transparent black;
+}
+
+QTabBar::close-button
+{
+ border-image: url(:/dark/close.svg);
+ background: transparent;
+}
+
+QTabBar::close-button:hover
+{
+ border-image: url(:/dark/close-hover.svg);
+ width: 1.2ex;
+ height: 1.2ex;
+ background: transparent;
+}
+
+QTabBar::close-button:pressed
+{
+ border-image: url(:/dark/close-pressed.svg);
+ width: 1.2ex;
+ height: 1.2ex;
+ background: transparent;
+}
+
+/* TOP TABS */
+QTabBar::tab:top
+{
+ color: #eff0f1;
+ border: 0.1ex transparent black;
+ border-left: 0.1ex solid #76797c;
+ border-top: 0.1ex solid #76797c;
+ background-color: #31363b;
+ padding: 0.5ex;
+ min-width: 50px;
+ border-top-left-radius: 0.2ex;
+ border-top-right-radius: 0.2ex;
+}
+
+QTabBar::tab:top:last,
+QTabBar::tab:top:only-one
+{
+ color: #eff0f1;
+ border: 0.1ex transparent black;
+ border-left: 0.1ex solid #76797c;
+ border-right: 0.1ex solid #76797c;
+ border-top: 0.1ex solid #76797c;
+ background-color: #31363b;
+ padding: 0.5ex;
+ min-width: 50px;
+ border-top-left-radius: 0.2ex;
+ border-top-right-radius: 0.2ex;
+}
+
+QTabBar::tab:top:!selected
+{
+ color: #eff0f1;
+ background-color: #54575B;
+ border: 0.1ex transparent black;
+ border-left: 0.1ex solid #76797c;
+ border-top-left-radius: 0.2ex;
+ border-top-right-radius: 0.2ex;
+}
+
+QTabBar::tab:top:first:!selected
+{
+ color: #eff0f1;
+ background-color: #54575B;
+ border: 0.1ex transparent black;
+ border-top-left-radius: 0.2ex;
+ border-top-right-radius: 0.2ex;
+}
+
+QTabBar::tab:top:!selected:hover
+{
+ background-color: rgba(61, 173, 232, 0.2);
+ border: 0.1ex rgba(61, 173, 232, 0.2);
+ border-left: 0.1ex solid #76797c;
+}
+
+QTabBar::tab:top:!selected:first:hover
+{
+ background-color: rgba(61, 173, 232, 0.2);
+ border: 0.1ex rgba(61, 173, 232, 0.2);
+}
+
+/* BOTTOM TABS */
+
+QTabBar::tab:bottom
+{
+ color: #eff0f1;
+ border: 0.1ex transparent black;
+ border-left: 0.1ex solid #76797c;
+ border-bottom: 0.1ex solid #76797c;
+ background-color: #31363b;
+ padding: 0.5ex;
+ border-bottom-left-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+ min-width: 50px;
+}
+
+QTabBar::tab:bottom:last,
+QTabBar::tab:bottom:only-one
+{
+ color: #eff0f1;
+ border: 0.1ex transparent black;
+ border-left: 0.1ex solid #76797c;
+ border-right: 0.1ex solid #76797c;
+ border-bottom: 0.1ex solid #76797c;
+ background-color: #31363b;
+ padding: 0.5ex;
+ border-bottom-left-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+ min-width: 50px;
+}
+
+QTabBar::tab:bottom:!selected
+{
+ color: #eff0f1;
+ background-color: #54575B;
+ border: 0.1ex transparent black;
+ border-left: 0.1ex solid #76797c;
+ border-bottom-left-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+}
+
+QTabBar::tab:bottom:first:!selected
+{
+ color: #eff0f1;
+ background-color: #54575B;
+ border: 0.1ex transparent black;
+ border-top-left-radius: 0.2ex;
+ border-top-right-radius: 0.2ex;
+}
+
+QTabBar::tab:bottom:!selected:hover
+{
+ background-color: rgba(61, 173, 232, 0.2);
+ border: 0.1ex rgba(61, 173, 232, 0.2);
+ border-left: 0.1ex solid #76797c;
+}
+
+QTabBar::tab:bottom:!selected:first:hover
+{
+ background-color: rgba(61, 173, 232, 0.2);
+ border: 0.1ex rgba(61, 173, 232, 0.2);
+}
+
+/* LEFT TABS */
+QTabBar::tab:left
+{
+ color: #eff0f1;
+ border: 0.1ex transparent black;
+ border-top: 0.1ex solid #76797c;
+ border-right: 0.1ex solid #76797c;
+ background-color: #31363b;
+ padding: 0.5ex;
+ border-top-right-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+ min-height: 50px;
+}
+
+QTabBar::tab:left:last,
+QTabBar::tab:left:only-one
+{
+ color: #eff0f1;
+ border: 0.1ex transparent black;
+ border-top: 0.1ex solid #76797c;
+ border-bottom: 0.1ex solid #76797c;
+ border-right: 0.1ex solid #76797c;
+ background-color: #31363b;
+ padding: 0.5ex;
+ border-top-right-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+ min-height: 50px;
+}
+
+QTabBar::tab:left:!selected
+{
+ color: #eff0f1;
+ background-color: #54575B;
+ border: 0.1ex transparent black;
+ border-top: 0.1ex solid #76797c;
+ border-top-right-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+}
+
+QTabBar::tab:left:!selected:hover
+{
+ background-color: rgba(61, 173, 232, 0.2);
+ border: 0.1ex rgba(61, 173, 232, 0.2);
+ border-top: 0.1ex solid #76797c;
+}
+
+QTabBar::tab:left:!selected:first:hover
+{
+ background-color: rgba(61, 173, 232, 0.2);
+ border: 0.1ex rgba(61, 173, 232, 0.2);
+}
+
+/* RIGHT TABS */
+QTabBar::tab:right
+{
+ color: #eff0f1;
+ border: 0.1ex transparent black;
+ border-top: 0.1ex solid #76797c;
+ border-left: 0.1ex solid #76797c;
+ background-color: #31363b;
+ padding: 0.5ex;
+ border-top-left-radius: 0.2ex;
+ border-bottom-left-radius: 0.2ex;
+ min-height: 50px;
+}
+
+QTabBar::tab:right:last,
+QTabBar::tab:right:only-one
+{
+ color: #eff0f1;
+ border: 0.1ex transparent black;
+ border-top: 0.1ex solid #76797c;
+ border-bottom: 0.1ex solid #76797c;
+ border-left: 0.1ex solid #76797c;
+ background-color: #31363b;
+ padding: 0.5ex;
+ border-top-left-radius: 0.2ex;
+ border-bottom-left-radius: 0.2ex;
+ min-height: 50px;
+}
+
+QTabBar::tab:right:!selected
+{
+ color: #eff0f1;
+ background-color: #54575B;
+ border: 0.1ex transparent black;
+ border-top: 0.1ex solid #76797c;
+ border-top-left-radius: 0.2ex;
+ border-bottom-left-radius: 0.2ex;
+}
+
+QTabBar::tab:right:!selected:hover
+{
+ background-color: rgba(61, 173, 232, 0.2);
+ border: 0.1ex rgba(61, 173, 232, 0.2);
+ border-top: 0.1ex solid #76797c;
+}
+
+QTabBar::tab:right:!selected:first:hover
+{
+ background-color: rgba(61, 173, 232, 0.2);
+ border: 0.1ex rgba(61, 173, 232, 0.2);
+}
+
+QTabBar QToolButton::right-arrow:enabled
+{
+ border-image: url(:/dark/right_arrow.svg);
+}
+
+QTabBar QToolButton::left-arrow:enabled
+{
+ border-image: url(:/dark/left_arrow.svg);
+}
+
+QTabBar QToolButton::right-arrow:disabled
+{
+ border-image: url(:/dark/right_arrow_disabled.svg);
+}
+
+QTabBar QToolButton::left-arrow:disabled
+{
+ border-image: url(:/dark/left_arrow_disabled.svg);
+}
+
+QDockWidget
+{
+ background: #31363b;
+ border: 0.1ex solid #403F3F;
+ titlebar-close-icon: url(:/dark/transparent.svg);
+ titlebar-normal-icon: url(:/dark/transparent.svg);
+}
+
+QDockWidget::close-button,
+QDockWidget::float-button
+{
+ border: 0.1ex solid transparent;
+ border-radius: 0.2ex;
+ background: transparent;
+}
+
+QDockWidget::float-button
+{
+ border-image: url(:/dark/undock.svg);
+}
+
+QDockWidget::float-button:hover
+{
+ border-image: url(:/dark/undock-hover.svg) ;
+}
+
+QDockWidget::close-button
+{
+ border-image: url(:/dark/close.svg) ;
+}
+
+QDockWidget::close-button:hover
+{
+ border-image: url(:/dark/close-hover.svg) ;
+}
+
+QDockWidget::close-button:pressed
+{
+ border-image: url(:/dark/close-pressed.svg) ;
+}
+
+QTreeView,
+QListView
+{
+ border: 0.1ex solid #76797c;
+ background-color: #232629;
+}
+
+QTreeView::branch:has-siblings:!adjoins-item
+{
+ border-image: url(:/dark/stylesheet-vline.svg) 0;
+}
+
+QTreeView::branch:has-siblings:adjoins-item
+{
+ border-image: url(:/dark/stylesheet-branch-more.svg) 0;
+}
+
+QTreeView::branch:!has-children:!has-siblings:adjoins-item
+{
+ border-image: url(:/dark/stylesheet-branch-end.svg) 0;
+}
+
+QTreeView::branch:has-children:!has-siblings:closed,
+QTreeView::branch:closed:has-children:has-siblings
+{
+ border-image: url(:/dark/stylesheet-branch-end-closed.svg) 0;
+ image: url(:/dark/branch_closed.svg);
+}
+
+QTreeView::branch:open:has-children:!has-siblings,
+QTreeView::branch:open:has-children:has-siblings
+{
+ border-image: url(:/dark/stylesheet-branch-end-open.svg) 0;
+ image: url(:/dark/branch_open.svg);
+}
+
+/*
+QTreeView::branch:has-siblings:!adjoins-item {
+ background: cyan;
+}
+
+QTreeView::branch:has-siblings:adjoins-item {
+ background: red;
+}
+
+QTreeView::branch:!has-children:!has-siblings:adjoins-item {
+ background: blue;
+}
+
+QTreeView::branch:closed:has-children:has-siblings {
+ background: pink;
+}
+
+QTreeView::branch:has-children:!has-siblings:closed {
+ background: gray;
+}
+
+QTreeView::branch:open:has-children:has-siblings {
+ background: magenta;
+}
+
+QTreeView::branch:open:has-children:!has-siblings {
+ background: green;
+}
+*/
+
+QTableView::item,
+QListView::item,
+QTreeView::item
+{
+ padding: 0.3ex;
+}
+
+QTableView::item:!selected:hover,
+QListView::item:!selected:hover,
+QTreeView::item:!selected:hover
+{
+ background-color: rgba(61, 173, 232, 0.2);
+ outline: 0;
+ color: #eff0f1;
+ padding: 0.3ex;
+}
+
+
+QSlider::groove:horizontal
+{
+ border: 0.1ex solid #31363b;
+ height: 0.4ex;
+ background: #565a5e;
+ margin: 0ex;
+ border-radius: 0.2ex;
+}
+
+QSlider::handle:horizontal
+{
+ background: #232629;
+ border: 0.1ex solid #626568;
+ width: 1.6ex;
+ height: 1.6ex;
+ margin: -0.8ex 0;
+ border-radius: 0.9ex;
+}
+
+QSlider::groove:vertical
+{
+ border: 0.1ex solid #31363b;
+ width: 0.4ex;
+ background: #565a5e;
+ margin: 0ex;
+ border-radius: 0.3ex;
+}
+
+QSlider::handle:vertical
+{
+ background: #232629;
+ border: 0.1ex solid #626568;
+ width: 1.6ex;
+ height: 1.6ex;
+ margin: 0 -0.8ex;
+ border-radius: 0.9ex;
+}
+
+QSlider::handle:horizontal:hover,
+QSlider::handle:horizontal:focus,
+QSlider::handle:vertical:hover,
+QSlider::handle:vertical:focus
+{
+ border: 0.1ex solid #3daee9;
+}
+
+QSlider::sub-page:horizontal,
+QSlider::add-page:vertical
+{
+ background: #3daee9;
+ border-radius: 0.3ex;
+}
+
+QSlider::add-page:horizontal,
+QSlider::sub-page:vertical
+{
+ background: #626568;
+ border-radius: 0.3ex;
+}
+
+QToolButton
+{
+ background-color: transparent;
+ border: 0.1ex solid #76797c;
+ border-radius: 0.2ex;
+ margin: 0.3ex;
+ padding: 0.5ex;
+}
+
+QToolButton[popupMode="1"] /* only for MenuButtonPopup */
+{
+ padding-right: 2ex; /* make way for the popup button */
+}
+
+QToolButton[popupMode="2"] /* only for InstantPopup */
+{
+ padding-right: 1ex; /* make way for the popup button */
+}
+
+QToolButton::menu-indicator
+{
+ border-image: none;
+ image: url(:/dark/down_arrow.svg);
+ top: -0.7ex;
+ left: -0.2ex;
+}
+
+QToolButton::menu-arrow
+{
+ border-image: none;
+ image: url(:/dark/down_arrow.svg);
+}
+
+QToolButton:hover,
+QToolButton::menu-button:hover
+{
+ background-color: transparent;
+ border: 0.1ex solid #3daee9;
+}
+
+QToolButton:checked,
+QToolButton:pressed,
+QToolButton::menu-button:pressed
+{
+ background-color: #3daee9;
+ border: 0.1ex solid #3daee9;
+ padding: 0.5ex;
+}
+
+QToolButton::menu-button
+{
+ border: 0.1ex solid #76797c;
+ border-top-right-radius: 6px;
+ border-bottom-right-radius: 6px;
+ /* 1ex width + 0.4ex for border + no text = 2ex allocated above */
+ width: 1ex;
+ padding: 0.5ex;
+ outline: none;
+}
+
+QToolButton::menu-arrow:open
+{
+ border: 0.1ex solid #76797c;
+}
+
+QPushButton::menu-indicator
+{
+ subcontrol-origin: padding;
+ subcontrol-position: bottom right;
+ left: 0.8ex;
+}
+
+QTableView
+{
+ border: 0.1ex solid #76797c;
+ gridline-color: #31363b;
+ background-color: #232629;
+}
+
+
+QTableView,
+QHeaderView
+{
+ border-radius: 0px;
+}
+
+QTableView::item:pressed,
+QListView::item:pressed,
+QTreeView::item:pressed
+{
+ background: #3daee9;
+ color: #eff0f1;
+}
+
+QTableView::item:selected:active,
+QTreeView::item:selected:active,
+QListView::item:selected:active
+{
+ background: #3daee9;
+ color: #eff0f1;
+}
+
+QListView::item:selected:hover,
+QTreeView::item:selected:hover
+{
+ background-color: #47b8f3;
+ color: #eff0f1;
+}
+
+QHeaderView
+{
+ background-color: #31363b;
+ border: 0.1ex transparent;
+ border-radius: 0px;
+ margin: 0px;
+ padding: 0px;
+
+}
+
+QHeaderView::section
+{
+ background-color: #31363b;
+ color: #eff0f1;
+ padding: 0.5ex;
+ border: 0.1ex solid #76797c;
+ border-radius: 0px;
+ text-align: center;
+}
+
+QHeaderView::section::vertical::first,
+QHeaderView::section::vertical::only-one
+{
+ border-top: 0.1ex solid #76797c;
+}
+
+QHeaderView::section::vertical
+{
+ border-top: transparent;
+}
+
+QHeaderView::section::horizontal::first,
+QHeaderView::section::horizontal::only-one
+{
+ border-left: 0.1ex solid #76797c;
+}
+
+QHeaderView::section::horizontal
+{
+ border-left: transparent;
+}
+
+
+QHeaderView::section:checked
+{
+ color: white;
+ background-color: #334e5e;
+}
+
+ /* style the sort indicator */
+QHeaderView::down-arrow
+{
+ image: url(:/dark/down_arrow.svg);
+}
+
+QHeaderView::up-arrow
+{
+ image: url(:/dark/up_arrow.svg);
+}
+
+QTableCornerButton::section
+{
+ background-color: #31363b;
+ border: 0.1ex transparent #76797c;
+ border-radius: 0px;
+}
+
+QToolBox
+{
+ padding: 0.5ex;
+ border: 0.1ex transparent black;
+}
+
+QToolBox:selected
+{
+ background-color: #31363b;
+ border-color: #3daee9;
+}
+
+QToolBox:hover
+{
+ border-color: #3daee9;
+}
+
+QStatusBar::item
+{
+ border: 0px transparent dark;
+}
+
+QFrame[height="3"],
+QFrame[width="3"]
+{
+ background-color: #76797c;
+}
+
+QSplitter::handle
+{
+ border: 0.1ex dashed #76797c;
+}
+
+QSplitter::handle:hover
+{
+ background-color: #787876;
+ border: 0.1ex solid #76797c;
+}
+
+QSplitter::handle:horizontal
+{
+ width: 0.1ex;
+}
+
+QSplitter::handle:vertical
+{
+ height: 0.1ex;
+}
+
+QProgressBar:horizontal
+{
+ background-color: #626568;
+ border: 0.1ex solid #31363b;
+ border-radius: 0.3ex;
+ height: 0.5ex;
+ text-align: right;
+ margin-top: 0.5ex;
+ margin-bottom: 0.5ex;
+ margin-right: 5ex;
+ padding: 0px;
+}
+
+QProgressBar::chunk:horizontal
+{
+ background-color: #3daee9;
+ border: 0.1ex transparent;
+ border-radius: 0.3ex;
+}
+
+QSpinBox,
+QDoubleSpinBox
+{
+ padding-right: 1.5ex;
+}
+
+QSpinBox::up-button,
+QDoubleSpinBox::up-button
+{
+ subcontrol-origin: content;
+ subcontrol-position: right top;
+
+ width: 1.6ex;
+ border-width: 0.1ex;
+}
+
+QSpinBox::up-arrow,
+QDoubleSpinBox::up-arrow
+{
+ border-image: url(:/dark/up_arrow.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QSpinBox::up-arrow:hover,
+QSpinBox::up-arrow:pressed,
+QDoubleSpinBox::up-arrow:hover,
+QDoubleSpinBox::up-arrow:pressed
+{
+ border-image: url(:/dark/up_arrow-hover.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QSpinBox::up-arrow:disabled,
+QSpinBox::up-arrow:off,
+QDoubleSpinBox::up-arrow:disabled,
+QDoubleSpinBox::up-arrow:off
+{
+ border-image: url(:/dark/up_arrow_disabled.svg);
+}
+
+QSpinBox::down-button,
+QDoubleSpinBox::down-button
+{
+ subcontrol-origin: content;
+ subcontrol-position: right bottom;
+
+ width: 1.6ex;
+ border-width: 0.1ex;
+}
+
+QSpinBox::down-arrow,
+QDoubleSpinBox::down-arrow
+{
+ border-image: url(:/dark/down_arrow.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QSpinBox::down-arrow:hover,
+QSpinBox::down-arrow:pressed,
+QDoubleSpinBox::down-arrow:hover,
+QDoubleSpinBox::down-arrow:pressed
+{
+ border-image: url(:/dark/down_arrow-hover.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QSpinBox::down-arrow:disabled,
+QSpinBox::down-arrow:off,
+QDoubleSpinBox::down-arrow:disabled,
+QDoubleSpinBox::down-arrow:off
+{
+ border-image: url(:/dark/down_arrow_disabled.svg);
+}
diff --git a/runtime/dark/branch_closed-on.svg b/runtime/dark/branch_closed-on.svg
new file mode 100644
index 000000000..8bd398f80
--- /dev/null
+++ b/runtime/dark/branch_closed-on.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/branch_closed.svg b/runtime/dark/branch_closed.svg
new file mode 100644
index 000000000..f5a072f4b
--- /dev/null
+++ b/runtime/dark/branch_closed.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/branch_open-on.svg b/runtime/dark/branch_open-on.svg
new file mode 100644
index 000000000..4dd0c0655
--- /dev/null
+++ b/runtime/dark/branch_open-on.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/branch_open.svg b/runtime/dark/branch_open.svg
new file mode 100644
index 000000000..0745890db
--- /dev/null
+++ b/runtime/dark/branch_open.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/checkbox_checked.svg b/runtime/dark/checkbox_checked.svg
new file mode 100644
index 000000000..6753d8bd2
--- /dev/null
+++ b/runtime/dark/checkbox_checked.svg
@@ -0,0 +1,5 @@
+
diff --git a/runtime/dark/checkbox_checked_disabled.svg b/runtime/dark/checkbox_checked_disabled.svg
new file mode 100644
index 000000000..ff7e63aaa
--- /dev/null
+++ b/runtime/dark/checkbox_checked_disabled.svg
@@ -0,0 +1,5 @@
+
diff --git a/runtime/dark/checkbox_indeterminate.svg b/runtime/dark/checkbox_indeterminate.svg
new file mode 100644
index 000000000..0f171248d
--- /dev/null
+++ b/runtime/dark/checkbox_indeterminate.svg
@@ -0,0 +1,7 @@
+
diff --git a/runtime/dark/checkbox_indeterminate_disabled.svg b/runtime/dark/checkbox_indeterminate_disabled.svg
new file mode 100644
index 000000000..bc0f285f0
--- /dev/null
+++ b/runtime/dark/checkbox_indeterminate_disabled.svg
@@ -0,0 +1,7 @@
+
diff --git a/runtime/dark/checkbox_unchecked.svg b/runtime/dark/checkbox_unchecked.svg
new file mode 100644
index 000000000..6f3e56946
--- /dev/null
+++ b/runtime/dark/checkbox_unchecked.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/dark/checkbox_unchecked_disabled.svg b/runtime/dark/checkbox_unchecked_disabled.svg
new file mode 100644
index 000000000..dd73f7584
--- /dev/null
+++ b/runtime/dark/checkbox_unchecked_disabled.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/dark/close-hover.svg b/runtime/dark/close-hover.svg
new file mode 100644
index 000000000..e2b0dd89a
--- /dev/null
+++ b/runtime/dark/close-hover.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/close-pressed.svg b/runtime/dark/close-pressed.svg
new file mode 100644
index 000000000..a0dc2496f
--- /dev/null
+++ b/runtime/dark/close-pressed.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/close.svg b/runtime/dark/close.svg
new file mode 100644
index 000000000..07b50c9e3
--- /dev/null
+++ b/runtime/dark/close.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/down_arrow-hover.svg b/runtime/dark/down_arrow-hover.svg
new file mode 100644
index 000000000..408397f95
--- /dev/null
+++ b/runtime/dark/down_arrow-hover.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/down_arrow.svg b/runtime/dark/down_arrow.svg
new file mode 100644
index 000000000..a50df0014
--- /dev/null
+++ b/runtime/dark/down_arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/down_arrow_disabled.svg b/runtime/dark/down_arrow_disabled.svg
new file mode 100644
index 000000000..af74a3075
--- /dev/null
+++ b/runtime/dark/down_arrow_disabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/hmovetoolbar.svg b/runtime/dark/hmovetoolbar.svg
new file mode 100644
index 000000000..e4904db02
--- /dev/null
+++ b/runtime/dark/hmovetoolbar.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/dark/hsepartoolbar.svg b/runtime/dark/hsepartoolbar.svg
new file mode 100644
index 000000000..89beb2265
--- /dev/null
+++ b/runtime/dark/hsepartoolbar.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/left_arrow.svg b/runtime/dark/left_arrow.svg
new file mode 100644
index 000000000..9c787cec0
--- /dev/null
+++ b/runtime/dark/left_arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/left_arrow_disabled.svg b/runtime/dark/left_arrow_disabled.svg
new file mode 100644
index 000000000..2d749e725
--- /dev/null
+++ b/runtime/dark/left_arrow_disabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/radio_checked.svg b/runtime/dark/radio_checked.svg
new file mode 100644
index 000000000..b8f706486
--- /dev/null
+++ b/runtime/dark/radio_checked.svg
@@ -0,0 +1,5 @@
+
diff --git a/runtime/dark/radio_checked_disabled.svg b/runtime/dark/radio_checked_disabled.svg
new file mode 100644
index 000000000..523ee0049
--- /dev/null
+++ b/runtime/dark/radio_checked_disabled.svg
@@ -0,0 +1,5 @@
+
diff --git a/runtime/dark/radio_unchecked.svg b/runtime/dark/radio_unchecked.svg
new file mode 100644
index 000000000..1a556e360
--- /dev/null
+++ b/runtime/dark/radio_unchecked.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/dark/radio_unchecked_disabled.svg b/runtime/dark/radio_unchecked_disabled.svg
new file mode 100644
index 000000000..b3da8a2dc
--- /dev/null
+++ b/runtime/dark/radio_unchecked_disabled.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/dark/right_arrow.svg b/runtime/dark/right_arrow.svg
new file mode 100644
index 000000000..b793513f2
--- /dev/null
+++ b/runtime/dark/right_arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/right_arrow_disabled.svg b/runtime/dark/right_arrow_disabled.svg
new file mode 100644
index 000000000..4940025ef
--- /dev/null
+++ b/runtime/dark/right_arrow_disabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/sizegrip.svg b/runtime/dark/sizegrip.svg
new file mode 100644
index 000000000..3388f07dc
--- /dev/null
+++ b/runtime/dark/sizegrip.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/spinup_disabled.svg b/runtime/dark/spinup_disabled.svg
new file mode 100644
index 000000000..838436d0a
--- /dev/null
+++ b/runtime/dark/spinup_disabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/stylesheet-branch-end-closed.svg b/runtime/dark/stylesheet-branch-end-closed.svg
new file mode 100644
index 000000000..eb73b13a3
--- /dev/null
+++ b/runtime/dark/stylesheet-branch-end-closed.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/dark/stylesheet-branch-end-open.svg b/runtime/dark/stylesheet-branch-end-open.svg
new file mode 100644
index 000000000..eb73b13a3
--- /dev/null
+++ b/runtime/dark/stylesheet-branch-end-open.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/dark/stylesheet-branch-end.svg b/runtime/dark/stylesheet-branch-end.svg
new file mode 100644
index 000000000..334ca0cdf
--- /dev/null
+++ b/runtime/dark/stylesheet-branch-end.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/dark/stylesheet-branch-more.svg b/runtime/dark/stylesheet-branch-more.svg
new file mode 100644
index 000000000..f5250ba38
--- /dev/null
+++ b/runtime/dark/stylesheet-branch-more.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/dark/stylesheet-vline.svg b/runtime/dark/stylesheet-vline.svg
new file mode 100644
index 000000000..4e7ff6aaa
--- /dev/null
+++ b/runtime/dark/stylesheet-vline.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/transparent.svg b/runtime/dark/transparent.svg
new file mode 100644
index 000000000..3a8ca5cf6
--- /dev/null
+++ b/runtime/dark/transparent.svg
@@ -0,0 +1 @@
+
diff --git a/runtime/dark/undock-hover.svg b/runtime/dark/undock-hover.svg
new file mode 100644
index 000000000..6bddbd721
--- /dev/null
+++ b/runtime/dark/undock-hover.svg
@@ -0,0 +1,5 @@
+
diff --git a/runtime/dark/undock.svg b/runtime/dark/undock.svg
new file mode 100644
index 000000000..9ab21971c
--- /dev/null
+++ b/runtime/dark/undock.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/up_arrow-hover.svg b/runtime/dark/up_arrow-hover.svg
new file mode 100644
index 000000000..dd1271a5b
--- /dev/null
+++ b/runtime/dark/up_arrow-hover.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/up_arrow.svg b/runtime/dark/up_arrow.svg
new file mode 100644
index 000000000..9f42239b3
--- /dev/null
+++ b/runtime/dark/up_arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/up_arrow_disabled.svg b/runtime/dark/up_arrow_disabled.svg
new file mode 100644
index 000000000..742e1c549
--- /dev/null
+++ b/runtime/dark/up_arrow_disabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/dark/vmovetoolbar.svg b/runtime/dark/vmovetoolbar.svg
new file mode 100644
index 000000000..0a30d45ef
--- /dev/null
+++ b/runtime/dark/vmovetoolbar.svg
@@ -0,0 +1,8 @@
+
diff --git a/runtime/dark/vsepartoolbars.svg b/runtime/dark/vsepartoolbars.svg
new file mode 100644
index 000000000..00e91ab8d
--- /dev/null
+++ b/runtime/dark/vsepartoolbars.svg
@@ -0,0 +1,7 @@
+
diff --git a/runtime/light.qss b/runtime/light.qss
new file mode 100644
index 000000000..e62523169
--- /dev/null
+++ b/runtime/light.qss
@@ -0,0 +1,1654 @@
+/*
+ * Breeze stylesheet.
+ *
+ * :author: Colin Duquesnoy
+ * :editor: Alex Huszagh
+ * :license: MIT, see LICENSE.md
+ *
+ * This is originally a fork of QDarkStyleSheet, and is based on Breeze/
+ * BreezeDark color scheme, but is in no way affiliated with KDE.
+ *
+ * ---------------------------------------------------------------------
+ * The MIT License (MIT)
+ *
+ * Copyright (c) <2013-2014>
+ * Copyright (c) <2015-2016>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * ---------------------------------------------------------------------
+ */
+
+QToolTip
+{
+ background-color: black;
+ color: white;
+ padding: 0.5ex;
+}
+
+QWidget
+{
+ color: #31363B;
+ background-color: #EFF0F1;
+ selection-background-color:#33A4DF;
+ selection-color: #31363B;
+ background-clip: border;
+ border-image: none;
+ border: 0px transparent black;
+ outline: 0;
+}
+
+QWidget:item:hover
+{
+ background-color: #33A4DF;
+ color: #31363B;
+}
+
+QWidget:item:selected
+{
+ background-color: #33A4DF;
+}
+
+
+QCheckBox
+{
+ spacing: 0.5ex;
+ outline: none;
+ color: #31363B;
+ margin-bottom: 0.2ex;
+ opacity: 200;
+}
+
+QCheckBox:disabled
+{
+ color: #BAB9B8;
+}
+
+QGroupBox::indicator
+{
+ margin-left: 0.2ex;
+ margin-left: 0.2ex;
+}
+
+QCheckBox::indicator:unchecked,
+QCheckBox::indicator:unchecked:focus
+{
+ border-image: url(:/light/checkbox_unchecked_disabled.svg);
+}
+
+QCheckBox::indicator:unchecked:hover,
+QCheckBox::indicator:unchecked:pressed,
+QGroupBox::indicator:unchecked:hover,
+QGroupBox::indicator:unchecked:focus,
+QGroupBox::indicator:unchecked:pressed
+{
+ border: none;
+ border-image: url(:/light/checkbox_unchecked-hover.svg);
+}
+
+QCheckBox::indicator:checked
+{
+ border-image: url(:/light/checkbox_checked.svg);
+}
+
+QCheckBox::indicator:checked:focus,
+QCheckBox::indicator:checked:pressed,
+QGroupBox::indicator:checked:focus,
+QGroupBox::indicator:checked:pressed
+{
+ border: none;
+ border-image: url(:/light/checkbox_checked.svg);
+}
+
+QCheckBox::indicator:checked:hover,
+QGroupBox::indicator:checked:hover
+{
+ border-image: url(:/light/checkbox_checked-hover.svg);
+}
+
+QCheckBox::indicator:indeterminate
+{
+ border-image: url(:/light/checkbox_indeterminate.svg);
+}
+
+QCheckBox::indicator:indeterminate:hover
+{
+ border-image: url(:/light/checkbox_indeterminate-hover.svg);
+}
+
+QCheckBox::indicator:indeterminate:focus,
+QCheckBox::indicator:indeterminate:pressed
+{
+}
+
+QCheckBox::indicator:indeterminate:disabled
+{
+ border-image: url(:/light/checkbox_indeterminate_disabled.svg);
+}
+
+QCheckBox::indicator:checked:disabled,
+QGroupBox::indicator:checked:disabled
+{
+ border-image: url(:/light/checkbox_checked_disabled.svg);
+}
+
+QCheckBox::indicator:unchecked:disabled,
+QGroupBox::indicator:unchecked:disabled
+{
+ border-image: url(:/light/checkbox_unchecked_disabled.svg);
+}
+
+QRadioButton
+{
+ spacing: 0.5ex;
+ outline: none;
+ color: #31363B;
+ margin-bottom: 0.2ex;
+}
+
+QRadioButton:disabled
+{
+ color: #BAB9B8;
+}
+
+QRadioButton::indicator:unchecked,
+QRadioButton::indicator:unchecked:focus
+{
+ border-image: url(:/light/radio_unchecked_disabled.svg);
+}
+
+QRadioButton::indicator:unchecked:hover,
+QRadioButton::indicator:unchecked:pressed
+{
+ border: none;
+ outline: none;
+ border-image: url(:/light/radio_unchecked-hover.svg);
+}
+
+QRadioButton::indicator:checked
+{
+ border: none;
+ outline: none;
+ border-image: url(:/light/radio_checked.svg);
+}
+
+QRadioButton::indicator:checked:focus,
+QRadioButton::indicator:checked:pressed
+{
+ border: none;
+ outline: none;
+ border-image: url(:/light/radio_checked.svg);
+}
+
+QRadioButton::indicator:checked:hover
+{
+ border-image: url(:/light/radio_checked-hover.svg);
+}
+
+QRadioButton::indicator:checked:disabled
+{
+ outline: none;
+ border-image: url(:/light/radio_checked_disabled.svg);
+}
+
+QRadioButton::indicator:unchecked:disabled
+{
+ border-image: url(:/light/radio_unchecked_disabled.svg);
+}
+
+QMenuBar
+{
+ background-color: #EFF0F1;
+ color: #31363B;
+}
+
+QMenuBar::item
+{
+ background: transparent;
+}
+
+QMenuBar::item:selected
+{
+ background: transparent;
+ border: 0.1ex solid #BAB9B8;
+}
+
+QMenuBar::item:pressed
+{
+ border: 0.1ex solid #BAB9B8;
+ background-color: #33A4DF;
+ color: #31363B;
+ margin-bottom: -0.1ex;
+ padding-bottom: 0.1ex;
+}
+
+QMenu
+{
+ border: 0.1ex solid #BAB9B8;
+ color: #31363B;
+ margin: 0.2ex;
+}
+
+QMenu::icon
+{
+ margin: 0.5ex;
+}
+
+QMenu::item
+{
+ padding: 0.5ex 3ex 0.5ex 3ex;
+ margin-left: 0.5ex;
+ border: 0.1ex solid transparent; /* reserve space for selection border */
+}
+
+QMenu::item:selected
+{
+ color: #31363B;
+}
+
+QMenu::separator
+{
+ height: 0.2ex;
+ background: lightblue;
+ margin-left: 1ex;
+ margin-right: 0.5ex;
+}
+
+/* non-exclusive indicator = check box style indicator
+ (see QActionGroup::setExclusive) */
+QMenu::indicator:non-exclusive:unchecked
+{
+ border-image: url(:/light/checkbox_unchecked_disabled.svg);
+}
+
+QMenu::indicator:non-exclusive:unchecked:selected
+{
+ border-image: url(:/light/checkbox_unchecked_disabled.svg);
+}
+
+QMenu::indicator:non-exclusive:checked
+{
+ border-image: url(:/light/checkbox_checked.svg);
+}
+
+QMenu::indicator:non-exclusive:checked:selected
+{
+ border-image: url(:/light/checkbox_checked.svg);
+}
+
+/* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */
+QMenu::indicator:exclusive:unchecked
+{
+ border-image: url(:/light/radio_unchecked_disabled.svg);
+}
+
+QMenu::indicator:exclusive:unchecked:selected
+{
+ border-image: url(:/light/radio_unchecked_disabled.svg);
+}
+
+QMenu::indicator:exclusive:checked
+{
+ border-image: url(:/light/radio_checked.svg);
+}
+
+QMenu::indicator:exclusive:checked:selected
+{
+ border-image: url(:/light/radio_checked.svg);
+}
+
+QMenu::right-arrow
+{
+ margin: 0.5ex;
+ border-image: url(:/light/right_arrow.svg);
+ width: 0.6ex;
+ height: 0.9ex;
+}
+
+
+QWidget:disabled
+{
+ color: #454545;
+ background-color: #EFF0F1;
+}
+
+QAbstractItemView
+{
+ alternate-background-color: #EFF0F1;
+ color: #31363B;
+ border: 0.1ex solid 3A3939;
+ border-radius: 0.2ex;
+}
+
+QWidget:focus,
+QMenuBar:focus
+{
+ border: 0.1ex solid #33A4DF;
+}
+
+QTabWidget:focus,
+QCheckBox:focus,
+QRadioButton:focus,
+QSlider:focus
+{
+ border: none;
+}
+
+QLineEdit
+{
+ background-color: #FCFCFC;
+ padding: 0.5ex;
+ border-style: solid;
+ border: 0.1ex solid #BAB9B8;
+ border-radius: 0.2ex;
+ color: #31363B;
+}
+
+QGroupBox
+{
+ border: 0.1ex solid #BAB9B8;
+ border-radius: 0.2ex;
+ padding-top: 1ex;
+ margin-top: 1ex;
+}
+
+QGroupBox::title
+{
+ subcontrol-origin: margin;
+ subcontrol-position: top center;
+ padding-left: 0.1ex;
+ padding-right: 0.1ex;
+ margin-top: -0.7ex;
+}
+
+QAbstractScrollArea
+{
+ border-radius: 0.2ex;
+ border: 0.1ex solid #BAB9B8;
+ background-color: transparent;
+}
+
+QScrollBar:horizontal
+{
+ height: 1.5ex;
+ margin: 0.3ex 1.5ex 0.3ex 1.5ex;
+ border: 0.1ex transparent #2A2929;
+ border-radius: 0.4ex;
+ background-color: #2A2929;
+}
+
+QScrollBar::handle:horizontal
+{
+ background-color: #605F5F;
+ min-width: 0.5ex;
+ border-radius: 0.4ex;
+}
+
+QScrollBar::add-line:horizontal
+{
+ margin: 0ex 0.3ex 0ex 0.3ex;
+ border-image: url(:/light/right_arrow_disabled.svg);
+ width: 1ex;
+ height: 1ex;
+ subcontrol-position: right;
+ subcontrol-origin: margin;
+}
+
+QScrollBar::sub-line:horizontal
+{
+ margin: 0px 0.3ex 0px 0.3ex;
+ border-image: url(:/light/left_arrow_disabled.svg);
+ height: 1ex;
+ width: 1ex;
+ subcontrol-position: left;
+ subcontrol-origin: margin;
+}
+
+QScrollBar::add-line:horizontal:hover,QScrollBar::add-line:horizontal:on
+{
+ border-image: url(:/light/right_arrow.svg);
+ width: 1ex;
+ height: 1ex;
+ subcontrol-position: right;
+ subcontrol-origin: margin;
+}
+
+
+QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on
+{
+ border-image: url(:/light/left_arrow.svg);
+ width: 1ex;
+ height: 1ex;
+ 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: #2A2929;
+ width: 1.5ex;
+ margin: 1.5ex 0.3ex 1.5ex 0.3ex;
+ border: 0.1ex transparent #2A2929;
+ border-radius: 0.4ex;
+}
+
+QScrollBar::handle:vertical
+{
+ background-color: #605F5F;
+ min-height: 0.5ex;
+ border-radius: 0.4ex;
+}
+
+QScrollBar::sub-line:vertical
+{
+ margin: 0.3ex 0ex 0.3ex 0ex;
+ border-image: url(:/light/up_arrow_disabled.svg);
+ height: 1ex;
+ width: 1ex;
+ subcontrol-position: top;
+ subcontrol-origin: margin;
+}
+
+QScrollBar::add-line:vertical
+{
+ margin: 0.3ex 0ex 0.3ex 0ex;
+ border-image: url(:/light/down_arrow_disabled.svg);
+ height: 1ex;
+ width: 1ex;
+ subcontrol-position: bottom;
+ subcontrol-origin: margin;
+}
+
+QScrollBar::sub-line:vertical:hover,
+QScrollBar::sub-line:vertical:on
+{
+
+ border-image: url(:/light/up_arrow.svg);
+ height: 1ex;
+ width: 1ex;
+ subcontrol-position: top;
+ subcontrol-origin: margin;
+}
+
+
+QScrollBar::add-line:vertical:hover,
+QScrollBar::add-line:vertical:on
+{
+ border-image: url(:/light/down_arrow.svg);
+ height: 1ex;
+ width: 1ex;
+ 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: #EFF0F1;
+ color: #31363B;
+ border: 0.1ex solid #BAB9B8;
+}
+
+QPlainTextEdit
+{
+ background-color: #EFF0F1;
+ color: #31363B;
+ border-radius: 0.2ex;
+ border: 0.1ex solid #BAB9B8;
+}
+
+QHeaderView::section
+{
+ background-color: #BAB9B8;
+ color: #31363B;
+ padding: 0.5ex;
+ border: 0.1ex solid #BAB9B8;
+}
+
+QSizeGrip
+{
+ border-image: url(:/light/sizegrip.svg);
+ width: 1.2ex;
+ height: 1.2ex;
+}
+
+QMainWindow::separator
+{
+ background-color: #EFF0F1;
+ color: white;
+ padding-left: 0.4ex;
+ spacing: 0.2ex;
+ border: 0.1ex dashed #BAB9B8;
+}
+
+QMainWindow::separator:hover
+{
+
+ background-color: #787876;
+ color: white;
+ padding-left: 0.4ex;
+ border: 0.1ex solid #BAB9B8;
+ spacing: 0.2x;
+}
+
+QMenu::separator
+{
+ height: 0.1ex;
+ background-color: #BAB9B8;
+ color: white;
+ padding-left: 0.4ex;
+ margin-left: 1ex;
+ margin-right: 0.5ex;
+}
+
+QFrame[frameShape="2"], /* QFrame::Panel == 0x0003 */
+QFrame[frameShape="3"], /* QFrame::WinPanel == 0x0003 */
+QFrame[frameShape="4"], /* QFrame::HLine == 0x0004 */
+QFrame[frameShape="5"], /* QFrame::VLine == 0x0005 */
+QFrame[frameShape="6"] /* QFrame::StyledPanel == 0x0006 */
+{
+ border-width: 0.1ex;
+ padding: 0.1ex;
+ border-style: solid;
+ border-color: #EFF0F1;
+ background-color: #bcbfc2;
+ border-radius: 0.5ex;
+}
+
+QStackedWidget
+{
+ border: 0.1ex transparent black;
+}
+
+QToolBar
+{
+ border: 0.1ex transparent #393838;
+ background: 0.1ex solid #EFF0F1;
+ font-weight: bold;
+}
+
+QToolBar::handle:horizontal
+{
+ border-image: url(:/light/hmovetoolbar.svg);
+ width = 1.6ex;
+ height = 6.4ex;
+}
+
+QToolBar::handle:vertical
+{
+ border-image: url(:/light/vmovetoolbar.svg);
+ width = 5.4ex;
+ height = 1ex;
+}
+
+QToolBar::separator:horizontal
+{
+ border-image: url(:/light/hsepartoolbar.svg);
+ width = 0.7ex;
+ height = 6.3ex;
+}
+
+QToolBar::separator:vertical
+{
+ border-image: url(:/light/vsepartoolbars.svg);
+ width = 6.3ex;
+ height = 0.7ex;
+}
+
+QPushButton
+{
+ color: #31363B;
+ background-color: qlineargradient(x1: 0.5, y1: 0.5 x2: 0.5, y2: 1, stop: 0 #EFF0F1, stop: 0.5 #eaebec);
+ border-width: 0.1ex;
+ border-color: #BAB9B8;
+ border-style: solid;
+ padding: 0.5ex;
+ border-radius: 0.2ex;
+ outline: none;
+}
+
+QPushButton:disabled
+{
+ background-color: #e0e1e2;
+ border-width: 0.1ex;
+ border-color: #b4b4b4;
+ border-style: solid;
+ padding-top: 0.5ex;
+ padding-bottom: 0.5ex;
+ padding-left: 1ex;
+ padding-right: 1ex;
+ border-radius: 0.2ex;
+ color: #b4b4b4;
+}
+
+QPushButton:focus
+{
+ color: black;
+}
+
+QComboBox
+{
+ selection-background-color: #33A4DF;
+ border-style: solid;
+ border: 0.1ex solid #BAB9B8;
+ border-radius: 0.2ex;
+ padding: 0.5ex;
+ min-width: 7.5ex;
+}
+
+QPushButton:checked
+{
+ background-color: #BAB9B8;
+ border-color: #6A6969;
+}
+
+QComboBox:hover,
+QAbstractSpinBox:hover,
+QLineEdit:hover,
+QTextEdit:hover,
+QPlainTextEdit:hover,
+QAbstractView:hover,
+QTreeView:hover
+{
+ border: 0.1ex solid #33A4DF;
+ color: #31363B;
+}
+
+QComboBox:hover:pressed,
+QPushButton:hover:pressed,
+QAbstractSpinBox:hover:pressed,
+QLineEdit:hover:pressed,
+QTextEdit:hover:pressed,
+QPlainTextEdit:hover:pressed,
+QAbstractView:hover:pressed,
+QTreeView:hover:pressed
+{
+ background-color: #EFF0F1;
+}
+
+QComboBox:on
+{
+ padding-top: 0.3ex;
+ padding-left: 0.4ex;
+ selection-background-color: #4a4a4a;
+}
+
+QComboBox QAbstractItemView
+{
+ background-color: #FCFCFC;
+ border-radius: 0.2ex;
+ border: 0.1ex solid #BAB9B8;
+ selection-background-color: #33A4DF;
+}
+
+QComboBox::drop-down
+{
+ subcontrol-origin: padding;
+ subcontrol-position: top right;
+ width: 1.5ex;
+
+ border-left-width: 0ex;
+ border-left-color: darkgray;
+ border-left-style: solid;
+ border-top-right-radius: 0.3ex;
+ border-bottom-right-radius: 0.3ex;
+}
+
+QComboBox::down-arrow
+{
+ border-image: url(:/light/down_arrow_disabled.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QComboBox::down-arrow:on,
+QComboBox::down-arrow:hover,
+QComboBox::down-arrow:focus
+{
+ border-image: url(:/light/down_arrow.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QAbstractSpinBox
+{
+ padding: 0.5ex;
+ border: 0.1ex solid #BAB9B8;
+ background-color: #D9D8D7;
+ color: #31363B;
+ border-radius: 0.2ex;
+ min-width: 7.5ex;
+}
+
+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
+{
+ border-image: url(:/light/up_arrow_disabled.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QAbstractSpinBox::up-arrow:hover
+{
+ border-image: url(:/light/up_arrow.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QAbstractSpinBox::down-arrow,
+QAbstractSpinBox::down-arrow:disabled,
+QAbstractSpinBox::down-arrow:off
+{
+ border-image: url(:/light/down_arrow_disabled.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QAbstractSpinBox::down-arrow:hover
+{
+ border-image: url(:/light/down_arrow.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QLabel
+{
+ border: 0ex solid black;
+}
+
+QTabWidget{
+ border: 0.1ex solid #BAB9B8;
+}
+
+/* BORDERS */
+QTabWidget::pane
+{
+ padding: 0.5ex;
+ margin: 0.1ex;
+}
+
+QTabWidget::pane:top
+{
+ border: 0.1ex solid #BAB9B8;
+ top: -0.1ex;
+}
+
+QTabWidget::pane:bottom
+{
+ border: 0.1ex solid #BAB9B8;
+ bottom: -0.1ex;
+}
+
+QTabWidget::pane:left
+{
+ border: 0.1ex solid #BAB9B8;
+ right: -0.1ex;
+}
+
+QTabWidget::pane:right
+{
+ border: 0.1ex solid #BAB9B8;
+ left: -0.1ex;
+}
+
+QTabBar
+{
+ qproperty-drawBase: 0;
+ left: 0.5ex; /* move to the right by 0.5ex */
+ border-radius: 0.3ex;
+}
+
+QTabBar:focus
+{
+ border: 0ex transparent black;
+}
+
+QTabBar::close-button
+{
+ border-image: url(:/light/close.svg);
+ width: 1.2ex;
+ height: 1.2ex;
+ background: transparent;
+}
+
+QTabBar::close-button:hover
+{
+ border-image: url(:/light/close-hover.svg);
+ width: 1.2ex;
+ height: 1.2ex;
+ background: transparent;
+}
+
+QTabBar::close-button:pressed
+{
+ border-image: url(:/light/close-pressed.svg);
+ width: 1.2ex;
+ height: 1.2ex;
+ background: transparent;
+}
+
+/* TOP TABS */
+QTabBar::tab:top
+{
+ color: #31363B;
+ border: 0.1ex transparent black;
+ border-left: 0.1ex solid #BAB9B8;
+ border-top: 0.1ex solid #BAB9B8;
+ background-color: #EFF0F1;
+ padding: 0.5ex;
+ min-width: 5ex;
+ border-top-left-radius: 0.2ex;
+ border-top-right-radius: 0.2ex;
+}
+
+QTabBar::tab:top:last,
+QTabBar::tab:top:only-one
+{
+ color: #31363B;
+ border: 0.1ex transparent black;
+ border-left: 0.1ex solid #BAB9B8;
+ border-right: 0.1ex solid #BAB9B8;
+ border-top: 0.1ex solid #BAB9B8;
+ background-color: #EFF0F1;
+ padding: 0.5ex;
+ min-width: 5ex;
+ border-top-left-radius: 0.2ex;
+ border-top-right-radius: 0.2ex;
+}
+
+QTabBar::tab:top:!selected
+{
+ color: #31363B;
+ background-color: #D9D8D7;
+ border: 0.1ex transparent black;
+ border-left: 0.1ex solid #BAB9B8;
+ border-top-left-radius: 0.2ex;
+ border-top-right-radius: 0.2ex;
+}
+
+QTabBar::tab:top:first:!selected
+{
+ color: #31363B;
+ background-color: #D9D8D7;
+ border: 0.1ex transparent black;
+ border-top-left-radius: 0.2ex;
+ border-top-right-radius: 0.2ex;
+}
+
+QTabBar::tab:top:!selected:hover
+{
+ background-color: rgba(61, 173, 232, 0.1);
+ border: 0.1ex rgba(61, 173, 232, 0.1);
+ border-left: 0.1ex solid #BAB9B8;
+}
+
+QTabBar::tab:top:!selected:first:hover
+{
+ background-color: rgba(61, 173, 232, 0.1);
+ border: 0.1ex rgba(61, 173, 232, 0.1);
+}
+
+/* BOTTOM TABS */
+QTabBar::tab:bottom
+{
+ color: #31363B;
+ border: 0.1ex transparent black;
+ border-left: 0.1ex solid #BAB9B8;
+ border-bottom: 0.1ex solid #BAB9B8;
+ background-color: #EFF0F1;
+ padding: 0.5ex;
+ border-bottom-left-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+ min-width: 5ex;
+}
+
+QTabBar::tab:bottom:last,
+QTabBar::tab:bottom:only-one
+{
+ color: #31363B;
+ border: 0.1ex transparent black;
+ border-left: 0.1ex solid #BAB9B8;
+ border-right: 0.1ex solid #BAB9B8;
+ border-bottom: 0.1ex solid #BAB9B8;
+ background-color: #EFF0F1;
+ padding: 0.5ex;
+ border-bottom-left-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+ min-width: 5ex;
+}
+
+QTabBar::tab:bottom:!selected
+{
+ color: #31363B;
+ background-color: #D9D8D7;
+ border: 0.1ex transparent black;
+ border-left: 0.1ex solid #BAB9B8;
+ border-bottom-left-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+}
+
+QTabBar::tab:bottom:first:!selected
+{
+ color: #31363B;
+ background-color: #D9D8D7;
+ border: 0.1ex transparent black;
+ border-bottom-left-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+}
+
+QTabBar::tab:bottom:!selected:hover
+{
+ background-color: rgba(61, 173, 232, 0.1);
+ border: 0.1ex rgba(61, 173, 232, 0.1);
+ border-left: 0.1ex solid #BAB9B8;
+}
+
+QTabBar::tab:bottom:!selected:first:hover
+{
+ background-color: rgba(61, 173, 232, 0.1);
+ border: 0.1ex rgba(61, 173, 232, 0.1);
+}
+
+/* LEFT TABS */
+QTabBar::tab:left
+{
+ color: #31363B;
+ border: 0.1ex transparent black;
+ border-top: 0.1ex solid #BAB9B8;
+ border-right: 0.1ex solid #BAB9B8;
+ background-color: #EFF0F1;
+ padding: 0.5ex;
+ border-top-right-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+ min-height: 5ex;
+}
+
+QTabBar::tab:left:last,
+QTabBar::tab:left:only-one
+{
+ color: #31363B;
+ border: 0.1ex transparent black;
+ border-top: 0.1ex solid #BAB9B8;
+ border-bottom: 0.1ex solid #BAB9B8;
+ border-right: 0.1ex solid #BAB9B8;
+ background-color: #EFF0F1;
+ padding: 0.5ex;
+ border-top-right-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+ min-height: 5ex;
+}
+
+QTabBar::tab:left:!selected
+{
+ color: #31363B;
+ background-color: #D9D8D7;
+ border: 0.1ex transparent black;
+ border-top: 0.1ex solid #BAB9B8;
+ border-top-right-radius: 0.2ex;
+ border-bottom-right-radius: 0.2ex;
+}
+
+QTabBar::tab:left:!selected:hover
+{
+ background-color: rgba(61, 173, 232, 0.1);
+ border: 0.1ex rgba(61, 173, 232, 0.1);
+ border-top: 0.1ex solid #BAB9B8;
+}
+
+QTabBar::tab:left:!selected:first:hover
+{
+ background-color: rgba(61, 173, 232, 0.1);
+ border: 0.1ex rgba(61, 173, 232, 0.1);
+}
+
+/* RIGHT TABS */
+QTabBar::tab:right
+{
+ color: #31363B;
+ border: 0.1ex transparent black;
+ border-top: 0.1ex solid #BAB9B8;
+ border-left: 0.1ex solid #BAB9B8;
+ background-color: #D9D8D7;
+ padding: 0.5ex;
+ border-top-left-radius: 0.2ex;
+ border-bottom-left-radius: 0.2ex;
+ min-height: 5ex;
+}
+
+QTabBar::tab:right:last,
+QTabBar::tab:right:only-one
+{
+ color: #31363B;
+ border: 0.1ex transparent black;
+ border-top: 0.1ex solid #BAB9B8;
+ border-bottom: 0.1ex solid #BAB9B8;
+ border-left: 0.1ex solid #BAB9B8;
+ background-color: #D9D8D7;
+ padding: 0.5ex;
+ border-top-left-radius: 0.2ex;
+ border-bottom-left-radius: 0.2ex;
+ min-height: 5ex;
+}
+
+QTabBar::tab:right:!selected
+{
+ color: #31363B;
+ background-color: #54575B;
+ border: 0.1ex transparent black;
+ border-top: 0.1ex solid #BAB9B8;
+ border-top-left-radius: 0.2ex;
+ border-bottom-left-radius: 0.2ex;
+}
+
+QTabBar::tab:right:!selected:hover
+{
+ background-color: rgba(61, 173, 232, 0.1);
+ border: 0.1ex rgba(61, 173, 232, 0.1);
+ border-top: 0.1ex solid #BAB9B8;
+}
+
+QTabBar::tab:right:!selected:first:hover
+{
+ background-color: rgba(61, 173, 232, 0.1);
+ border: 0.1ex rgba(61, 173, 232, 0.1);
+}
+
+QTabBar QToolButton::right-arrow:enabled
+{
+ border-image: url(:/light/right_arrow.svg);
+}
+
+QTabBar QToolButton::left-arrow:enabled
+{
+ border-image: url(:/light/left_arrow.svg);
+}
+
+QTabBar QToolButton::right-arrow:disabled
+{
+ border-image: url(:/light/right_arrow_disabled.svg);
+}
+
+QTabBar QToolButton::left-arrow:disabled
+{
+ border-image: url(:/light/left_arrow_disabled.svg);
+}
+
+QDockWidget
+{
+ background: #EFF0F1;
+ border: 0.1ex solid #403F3F;
+ titlebar-close-icon: url(:/light/transparent.svg);
+ titlebar-normal-icon: url(:/light/transparent.svg);
+}
+
+QDockWidget::close-button,
+QDockWidget::float-button
+{
+ border: 0.1ex solid transparent;
+ border-radius: 0.2ex;
+ background: transparent;
+}
+
+
+QDockWidget::float-button
+{
+ border-image: url(:/dark/undock.svg);
+}
+
+QDockWidget::float-button:hover
+{
+ border-image: url(:/dark/undock-hover.svg) ;
+}
+
+QDockWidget::close-button
+{
+ border-image: url(:/dark/close.svg) ;
+}
+
+QDockWidget::close-button:hover
+{
+ border-image: url(:/dark/close-hover.svg) ;
+}
+
+QDockWidget::close-button:pressed
+{
+ border-image: url(:/dark/close-pressed.svg) ;
+}
+
+QTreeView,
+QListView
+{
+ border: 0.1ex solid #BAB9B8;
+ background-color: #FCFCFC;
+}
+
+
+QTreeView::branch:has-siblings:!adjoins-item
+{
+ border-image: url(:/light/stylesheet-vline.svg) 0;
+}
+
+QTreeView::branch:has-siblings:adjoins-item
+{
+ border-image: url(:/light/stylesheet-branch-more.svg) 0;
+}
+
+QTreeView::branch:!has-children:!has-siblings:adjoins-item
+{
+ border-image: url(:/light/stylesheet-branch-end.svg) 0;
+}
+
+QTreeView::branch:has-children:!has-siblings:closed,
+QTreeView::branch:closed:has-children:has-siblings
+{
+ border-image: url(:/light/stylesheet-branch-end-closed.svg) 0;
+ image: url(:/light/branch_closed.svg);
+}
+
+QTreeView::branch:open:has-children:!has-siblings,
+QTreeView::branch:open:has-children:has-siblings
+{
+ border-image: url(:/light/stylesheet-branch-end-open.svg) 0;
+ image: url(:/light/branch_open.svg);
+}
+
+QTableView::item,
+QListView::item,
+QTreeView::item
+{
+ padding: 0.3ex;
+}
+
+QTableView::item:!selected:hover,
+QListView::item:!selected:hover,
+QTreeView::item:!selected:hover
+{
+ background-color: rgba(61, 173, 232, 0.1);
+ outline: 0;
+ color: #31363B;
+ padding: 0.3ex;
+}
+
+QSlider::groove:horizontal
+{
+ border: 0.1ex solid #EFF0F1;
+ height: 0.4ex;
+ background: #9CA0A4;
+ margin: 0px;
+ border-radius: 0.2ex;
+}
+
+QSlider::handle:horizontal
+{
+ background: #D9D8D7;
+ border: 0.1ex solid #BABEC2;
+ width: 1.6ex;
+ height: 1.6ex;
+ margin: -0.8ex 0;
+ border-radius: 0.9ex;
+}
+
+QSlider::groove:vertical
+{
+ border: 0.1ex solid #EFF0F1;
+ width: 0.4ex;
+ background: #9CA0A4;
+ margin: 0ex;
+ border-radius: 0.3ex;
+}
+
+QSlider::handle:vertical
+{
+ background: #D9D8D7;
+ border: 0.1ex solid #BABEC2;
+ width: 1.6ex;
+ height: 1.6ex;
+ margin: 0 -0.8ex;
+ border-radius: 0.9ex;
+}
+
+QSlider::handle:horizontal:focus,
+QSlider::handle:vertical:focus
+{
+ border: 0.1ex solid #33A4DF;
+}
+
+QSlider::handle:horizontal:hover,
+QSlider::handle:vertical:hover
+{
+ border: 0.1ex solid #51c2fc;
+}
+
+QSlider::sub-page:horizontal,
+QSlider::add-page:vertical
+{
+ background: #33A4DF;
+ border-radius: 0.3ex;
+}
+
+QSlider::add-page:horizontal,
+QSlider::sub-page:vertical
+{
+ background: #BABEC2;
+ border-radius: 0.3ex;
+}
+
+QToolButton
+{
+ background-color: transparent;
+ border: 0.1ex solid #BAB9B8;
+ border-radius: 0.2ex;
+ margin: 0.3ex;
+ padding: 0.5ex;
+}
+
+QToolButton[popupMode="1"] /* only for MenuButtonPopup */
+{
+ padding-right: 2ex; /* make way for the popup button */
+}
+
+QToolButton[popupMode="2"] /* only for InstantPopup */
+{
+ padding-right: 1ex; /* make way for the popup button */
+}
+
+QToolButton::menu-indicator
+{
+ border-image: url(:/light/down_arrow.svg);
+ top: -0.7ex; left: -0.2ex; /* shift it a bit */
+ width = 0.9ex;
+ height = 0.6ex;
+}
+
+QToolButton::menu-arrow
+{
+ border-image: url(:/light/down_arrow.svg);
+ width = 0.9ex;
+ height = 0.6ex;
+}
+
+QToolButton:hover,
+QToolButton::menu-button:hover
+{
+ background-color: transparent;
+ border: 0.1ex solid #33A4DF;
+}
+
+QToolButton:checked,
+QToolButton:pressed,
+QToolButton::menu-button:pressed
+{
+ background-color: #47b8fc;
+ border: 0.1ex solid #47b8fc;
+ padding: 0.5ex;
+}
+
+QToolButton::menu-button
+{
+ border: 0.1ex solid #BAB9B8;
+ border-top-right-radius: 6px;
+ border-bottom-right-radius: 6px;
+ /* 1ex width + 0.4ex for border + no text = 2ex allocated above */
+ width: 1ex;
+ padding: 0.5ex;
+ outline: none;
+}
+
+QToolButton::menu-arrow:open
+{
+ border: 0.1ex solid #BAB9B8;
+}
+
+QPushButton::menu-indicator
+{
+ subcontrol-origin: padding;
+ subcontrol-position: bottom right;
+ left: 0.8ex;
+}
+
+QTableView
+{
+ border: 0.1ex solid #BAB9B8;
+ gridline-color: #BAB9B8;
+ background-color: #FCFCFC;
+}
+
+
+QTableView,
+QHeaderView
+{
+ border-radius: 0px;
+}
+
+QTableView::item:pressed
+{
+ background: #33A4DF;
+ color: #31363B;
+}
+
+QTableView::item:selected:active
+{
+ background: #33A4DF;
+ color: #31363B;
+}
+
+QTableView::item:selected:hover
+{
+ background-color: #47b8f3;
+ color: #31363B;
+}
+
+QListView::item:pressed,
+QTreeView::item:pressed
+{
+ background: #3daee9;
+ color: #31363B;
+}
+
+QTreeView::item:selected:active,
+QListView::item:selected:active
+{
+ background: #3daee9;
+ color: #31363B;
+}
+
+QListView::item:selected:hover,
+QTreeView::item:selected:hover
+{
+ background-color: #51c2fc;
+ color: #31363B;
+}
+
+
+QHeaderView
+{
+ background-color: #EFF0F1;
+ border: 0.1ex transparent;
+ border-radius: 0px;
+ margin: 0px;
+ padding: 0px;
+
+}
+
+QHeaderView::section
+{
+ background-color: #EFF0F1;
+ color: #31363B;
+ padding: 0.5ex;
+ border: 0.1ex solid #BAB9B8;
+ border-radius: 0px;
+ text-align: center;
+}
+
+QHeaderView::section::vertical::first,
+QHeaderView::section::vertical::only-one
+{
+ border-top: 0.1ex solid #BAB9B8;
+}
+
+QHeaderView::section::vertical
+{
+ border-top: transparent;
+}
+
+QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one
+{
+ border-left: 0.1ex solid #BAB9B8;
+}
+
+QHeaderView::section::horizontal
+{
+ border-left: transparent;
+}
+
+
+QHeaderView::section:checked
+
+ {
+ color: black;
+ background-color: #b9dae7;
+ }
+
+ /* style the sort indicator */
+QHeaderView::down-arrow
+{
+ image: url(:/light/down_arrow.svg);
+}
+
+QHeaderView::up-arrow
+{
+ image: url(:/light/up_arrow.svg);
+}
+
+QTableCornerButton::section
+{
+ background-color: #EFF0F1;
+ border: 0.1ex transparent #BAB9B8;
+ border-radius: 0px;
+}
+
+QToolBox
+{
+ padding: 0.5ex;
+ border: 0.1ex transparent black;
+}
+
+QToolBox:selected
+{
+ background-color: #EFF0F1;
+ border-color: #33A4DF;
+}
+
+QToolBox:hover
+{
+ border-color: #33A4DF;
+}
+
+QStatusBar::item
+{
+ border: 0px transparent dark;
+}
+
+QSplitter::handle
+{
+ border: 0.1ex dashed #BAB9B8;
+}
+
+QSplitter::handle:hover
+{
+ background-color: #787876;
+ border: 0.1ex solid #BAB9B8;
+}
+
+QSplitter::handle:horizontal
+{
+ width: 0.1ex;
+}
+
+QSplitter::handle:vertical
+{
+ height: 0.1ex;
+}
+
+QProgressBar:horizontal
+{
+ background-color: #BABEC2;
+ border: 0.1ex solid #EFF0F1;
+ border-radius: 0.3ex;
+ height: 0.5ex;
+ text-align: right;
+ margin-top: 0.5ex;
+ margin-bottom: 0.5ex;
+ margin-right: 5ex;
+ padding: 0px;
+}
+
+QProgressBar::chunk:horizontal
+{
+ background-color: #33A4DF;
+ border: 0.1ex transparent;
+ border-radius: 0.3ex;
+}
+
+QAbstractSpinBox
+{
+ background-color: #EFF0F1;
+}
+
+QSpinBox,
+QDoubleSpinBox
+{
+ padding-right: 1.5ex;
+}
+
+QSpinBox::up-button,
+QDoubleSpinBox::up-button
+{
+ subcontrol-origin: content;
+ subcontrol-position: right top;
+
+ width: 1.6ex;
+ border-width: 0.1ex;
+}
+
+QSpinBox::up-arrow,
+QDoubleSpinBox::up-arrow
+{
+ border-image: url(:/light/up_arrow.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QSpinBox::up-arrow:hover,
+QSpinBox::up-arrow:pressed,
+QDoubleSpinBox::up-arrow:hover,
+QDoubleSpinBox::up-arrow:pressed
+{
+ border-image: url(:/light/up_arrow-hover.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QSpinBox::up-arrow:disabled,
+QSpinBox::up-arrow:off,
+QDoubleSpinBox::up-arrow:disabled,
+QDoubleSpinBox::up-arrow:off
+{
+ border-image: url(:/light/up_arrow_disabled.svg);
+}
+
+QSpinBox::down-button,
+QDoubleSpinBox::down-button
+{
+ subcontrol-origin: content;
+ subcontrol-position: right bottom;
+
+ width: 1.6ex;
+ border-width: 0.1ex;
+}
+
+QSpinBox::down-arrow,
+QDoubleSpinBox::down-arrow
+{
+ border-image: url(:/light/down_arrow.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QSpinBox::down-arrow:hover,
+QSpinBox::down-arrow:pressed,
+QDoubleSpinBox::down-arrow:hover,
+QDoubleSpinBox::down-arrow:pressed
+{
+ border-image: url(:/light/down_arrow-hover.svg);
+ width: 0.9ex;
+ height: 0.6ex;
+}
+
+QSpinBox::down-arrow:disabled,
+QSpinBox::down-arrow:off,
+QDoubleSpinBox::down-arrow:disabled,
+QDoubleSpinBox::down-arrow:off
+{
+ border-image: url(:/light/down_arrow_disabled.svg);
+}
+
+QPushButton:hover
+{
+ border: 0.1ex solid #3daef3;
+ color: #31363B;
+}
+
+QPushButton:focus
+{
+ background-color: qlineargradient(x1: 0.5, y1: 0.5 x2: 0.5, y2: 1, stop: 0 #4cbdff, stop: 0.5 #33a4e8);
+ color: white;
+}
+
+QPushButton:focus:hover
+{
+ background-color: qlineargradient(x1: 0.5, y1: 0.5 x2: 0.5, y2: 1, stop: 0 #bedfec, stop: 0.5 #b9dae7);
+ color: #31363B;
+}
+
+QPushButton:focus:pressed,
+QPushButton:pressed
+{
+ background-color: qlineargradient(x1: 0.5, y1: 0.5 x2: 0.5, y2: 1, stop: 0 #bedfec, stop: 0.5 #b9dae7);
+ color: #31363B;
+}
+
diff --git a/runtime/light/branch_closed-on.svg b/runtime/light/branch_closed-on.svg
new file mode 100644
index 000000000..23c542188
--- /dev/null
+++ b/runtime/light/branch_closed-on.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/branch_closed.svg b/runtime/light/branch_closed.svg
new file mode 100644
index 000000000..286c1a9e9
--- /dev/null
+++ b/runtime/light/branch_closed.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/branch_open-on.svg b/runtime/light/branch_open-on.svg
new file mode 100644
index 000000000..9e759272b
--- /dev/null
+++ b/runtime/light/branch_open-on.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/branch_open.svg b/runtime/light/branch_open.svg
new file mode 100644
index 000000000..514a3125d
--- /dev/null
+++ b/runtime/light/branch_open.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/checkbox_checked-hover.svg b/runtime/light/checkbox_checked-hover.svg
new file mode 100644
index 000000000..64d666710
--- /dev/null
+++ b/runtime/light/checkbox_checked-hover.svg
@@ -0,0 +1,5 @@
+
diff --git a/runtime/light/checkbox_checked.svg b/runtime/light/checkbox_checked.svg
new file mode 100644
index 000000000..f3acb639c
--- /dev/null
+++ b/runtime/light/checkbox_checked.svg
@@ -0,0 +1,5 @@
+
diff --git a/runtime/light/checkbox_checked_disabled.svg b/runtime/light/checkbox_checked_disabled.svg
new file mode 100644
index 000000000..b7be04b6a
--- /dev/null
+++ b/runtime/light/checkbox_checked_disabled.svg
@@ -0,0 +1,5 @@
+
diff --git a/runtime/light/checkbox_indeterminate-hover.svg b/runtime/light/checkbox_indeterminate-hover.svg
new file mode 100644
index 000000000..def959679
--- /dev/null
+++ b/runtime/light/checkbox_indeterminate-hover.svg
@@ -0,0 +1,7 @@
+
diff --git a/runtime/light/checkbox_indeterminate.svg b/runtime/light/checkbox_indeterminate.svg
new file mode 100644
index 000000000..a619ab03e
--- /dev/null
+++ b/runtime/light/checkbox_indeterminate.svg
@@ -0,0 +1,7 @@
+
diff --git a/runtime/light/checkbox_indeterminate_disabled.svg b/runtime/light/checkbox_indeterminate_disabled.svg
new file mode 100644
index 000000000..74d716860
--- /dev/null
+++ b/runtime/light/checkbox_indeterminate_disabled.svg
@@ -0,0 +1,7 @@
+
diff --git a/runtime/light/checkbox_unchecked-hover.svg b/runtime/light/checkbox_unchecked-hover.svg
new file mode 100644
index 000000000..8f0bb0145
--- /dev/null
+++ b/runtime/light/checkbox_unchecked-hover.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/light/checkbox_unchecked_disabled.svg b/runtime/light/checkbox_unchecked_disabled.svg
new file mode 100644
index 000000000..0ef430079
--- /dev/null
+++ b/runtime/light/checkbox_unchecked_disabled.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/light/close-hover.svg b/runtime/light/close-hover.svg
new file mode 100644
index 000000000..cb44c7811
--- /dev/null
+++ b/runtime/light/close-hover.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/close-pressed.svg b/runtime/light/close-pressed.svg
new file mode 100644
index 000000000..a0dc2496f
--- /dev/null
+++ b/runtime/light/close-pressed.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/close.svg b/runtime/light/close.svg
new file mode 100644
index 000000000..07b50c9e3
--- /dev/null
+++ b/runtime/light/close.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/down_arrow-hover.svg b/runtime/light/down_arrow-hover.svg
new file mode 100644
index 000000000..408397f95
--- /dev/null
+++ b/runtime/light/down_arrow-hover.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/down_arrow.svg b/runtime/light/down_arrow.svg
new file mode 100644
index 000000000..34c5d6a31
--- /dev/null
+++ b/runtime/light/down_arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/down_arrow_disabled.svg b/runtime/light/down_arrow_disabled.svg
new file mode 100644
index 000000000..af74a3075
--- /dev/null
+++ b/runtime/light/down_arrow_disabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/hmovetoolbar.svg b/runtime/light/hmovetoolbar.svg
new file mode 100644
index 000000000..57e54c95a
--- /dev/null
+++ b/runtime/light/hmovetoolbar.svg
@@ -0,0 +1,5 @@
+
+
diff --git a/runtime/light/hsepartoolbar.svg b/runtime/light/hsepartoolbar.svg
new file mode 100644
index 000000000..a44642539
--- /dev/null
+++ b/runtime/light/hsepartoolbar.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/left_arrow.svg b/runtime/light/left_arrow.svg
new file mode 100644
index 000000000..f77acf4cf
--- /dev/null
+++ b/runtime/light/left_arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/left_arrow_disabled.svg b/runtime/light/left_arrow_disabled.svg
new file mode 100644
index 000000000..2d749e725
--- /dev/null
+++ b/runtime/light/left_arrow_disabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/radio_checked-hover.svg b/runtime/light/radio_checked-hover.svg
new file mode 100644
index 000000000..f3d5c9899
--- /dev/null
+++ b/runtime/light/radio_checked-hover.svg
@@ -0,0 +1,5 @@
+
diff --git a/runtime/light/radio_checked.svg b/runtime/light/radio_checked.svg
new file mode 100644
index 000000000..86ff6bfac
--- /dev/null
+++ b/runtime/light/radio_checked.svg
@@ -0,0 +1,5 @@
+
diff --git a/runtime/light/radio_checked_disabled.svg b/runtime/light/radio_checked_disabled.svg
new file mode 100644
index 000000000..269ae12dc
--- /dev/null
+++ b/runtime/light/radio_checked_disabled.svg
@@ -0,0 +1,5 @@
+
diff --git a/runtime/light/radio_unchecked-hover.svg b/runtime/light/radio_unchecked-hover.svg
new file mode 100644
index 000000000..f5fc94389
--- /dev/null
+++ b/runtime/light/radio_unchecked-hover.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/light/radio_unchecked_disabled.svg b/runtime/light/radio_unchecked_disabled.svg
new file mode 100644
index 000000000..41f503d75
--- /dev/null
+++ b/runtime/light/radio_unchecked_disabled.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/light/right_arrow.svg b/runtime/light/right_arrow.svg
new file mode 100644
index 000000000..a43ea2b62
--- /dev/null
+++ b/runtime/light/right_arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/right_arrow_disabled.svg b/runtime/light/right_arrow_disabled.svg
new file mode 100644
index 000000000..4940025ef
--- /dev/null
+++ b/runtime/light/right_arrow_disabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/sizegrip.svg b/runtime/light/sizegrip.svg
new file mode 100644
index 000000000..3388f07dc
--- /dev/null
+++ b/runtime/light/sizegrip.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/spinup_disabled.svg b/runtime/light/spinup_disabled.svg
new file mode 100644
index 000000000..838436d0a
--- /dev/null
+++ b/runtime/light/spinup_disabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/stylesheet-branch-end-closed.svg b/runtime/light/stylesheet-branch-end-closed.svg
new file mode 100644
index 000000000..a31f5c0c1
--- /dev/null
+++ b/runtime/light/stylesheet-branch-end-closed.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/light/stylesheet-branch-end-open.svg b/runtime/light/stylesheet-branch-end-open.svg
new file mode 100644
index 000000000..a31f5c0c1
--- /dev/null
+++ b/runtime/light/stylesheet-branch-end-open.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/light/stylesheet-branch-end.svg b/runtime/light/stylesheet-branch-end.svg
new file mode 100644
index 000000000..a1c0a4281
--- /dev/null
+++ b/runtime/light/stylesheet-branch-end.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/light/stylesheet-branch-more.svg b/runtime/light/stylesheet-branch-more.svg
new file mode 100644
index 000000000..ebef8398a
--- /dev/null
+++ b/runtime/light/stylesheet-branch-more.svg
@@ -0,0 +1,4 @@
+
diff --git a/runtime/light/stylesheet-vline.svg b/runtime/light/stylesheet-vline.svg
new file mode 100644
index 000000000..688177ea7
--- /dev/null
+++ b/runtime/light/stylesheet-vline.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/transparent.svg b/runtime/light/transparent.svg
new file mode 100644
index 000000000..3a8ca5cf6
--- /dev/null
+++ b/runtime/light/transparent.svg
@@ -0,0 +1 @@
+
diff --git a/runtime/light/undock-hover.svg b/runtime/light/undock-hover.svg
new file mode 100644
index 000000000..6bddbd721
--- /dev/null
+++ b/runtime/light/undock-hover.svg
@@ -0,0 +1,5 @@
+
diff --git a/runtime/light/undock.svg b/runtime/light/undock.svg
new file mode 100644
index 000000000..9ab21971c
--- /dev/null
+++ b/runtime/light/undock.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/up_arrow-hover.svg b/runtime/light/up_arrow-hover.svg
new file mode 100644
index 000000000..dd1271a5b
--- /dev/null
+++ b/runtime/light/up_arrow-hover.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/up_arrow.svg b/runtime/light/up_arrow.svg
new file mode 100644
index 000000000..b02bb266b
--- /dev/null
+++ b/runtime/light/up_arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/up_arrow_disabled.svg b/runtime/light/up_arrow_disabled.svg
new file mode 100644
index 000000000..742e1c549
--- /dev/null
+++ b/runtime/light/up_arrow_disabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/runtime/light/vmovetoolbar.svg b/runtime/light/vmovetoolbar.svg
new file mode 100644
index 000000000..0a30d45ef
--- /dev/null
+++ b/runtime/light/vmovetoolbar.svg
@@ -0,0 +1,8 @@
+
diff --git a/runtime/light/vsepartoolbars.svg b/runtime/light/vsepartoolbars.svg
new file mode 100644
index 000000000..00e91ab8d
--- /dev/null
+++ b/runtime/light/vsepartoolbars.svg
@@ -0,0 +1,7 @@
+
diff --git a/runtime/macos.h b/runtime/macos.h
new file mode 100644
index 000000000..437265670
--- /dev/null
+++ b/runtime/macos.h
@@ -0,0 +1,17 @@
+//////////////////////////////////////////////////////////////////////////
+//
+// pgAdmin 4 - PostgreSQL Tools
+//
+// Copyright (C) 2013 - 2020, The pgAdmin Development Team
+// This software is released under the PostgreSQL Licence
+//
+// macos.h - macOS-specific Objective-C/C++ functions
+//
+//////////////////////////////////////////////////////////////////////////
+
+#ifndef MACOS_H
+#define MACOS_H
+
+bool IsDarkMode();
+
+#endif // MACOS_H
diff --git a/runtime/macos.mm b/runtime/macos.mm
new file mode 100644
index 000000000..2067776c8
--- /dev/null
+++ b/runtime/macos.mm
@@ -0,0 +1,22 @@
+//////////////////////////////////////////////////////////////////////////
+//
+// pgAdmin 4 - PostgreSQL Tools
+//
+// Copyright (C) 2013 - 2020, The pgAdmin Development Team
+// This software is released under the PostgreSQL Licence
+//
+// macos.mm - macOS-specific Objective-C/C++ functions
+//
+//////////////////////////////////////////////////////////////////////////
+
+#import
+
+// Detect if we're running in Dark mode
+bool IsDarkMode() {
+ if (@available(macOS 10.14, *)) {
+ NSString *interfaceStyle = [NSUserDefaults.standardUserDefaults valueForKey:@"AppleInterfaceStyle"];
+ return [interfaceStyle isEqualToString:@"Dark"];
+ } else {
+ return NO;
+ }
+}
diff --git a/runtime/pgAdmin4.cpp b/runtime/pgAdmin4.cpp
index 7a1b79801..c2b67c9ae 100644
--- a/runtime/pgAdmin4.cpp
+++ b/runtime/pgAdmin4.cpp
@@ -38,6 +38,10 @@
#include "FloatingWindow.h"
#include "Logger.h"
+#ifdef Q_OS_MAC
+#include "macos.h"
+#endif
+
#include
QString logFileName;
@@ -58,6 +62,42 @@ int main(int argc, char * argv[])
QApplication app(argc, argv);
app.setQuitOnLastWindowClosed(false);
+ // Setup the styling
+#ifndef Q_OS_LINUX
+ QFile stylesheet;
+
+#ifdef Q_OS_WIN32
+ QSettings registry("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", QSettings::Registry64Format);
+ if (registry.value("AppsUseLightTheme", true).toBool())
+ {
+ qDebug( "Windows Light Mode...");
+ stylesheet.setFileName(":/light.qss");
+ }
+ else
+ {
+ qDebug( "Windows Dark Mode..." );
+ stylesheet.setFileName(":/dark.qss");
+ }
+#endif
+
+#ifdef Q_OS_MAC
+ if (IsDarkMode())
+ {
+ qDebug( "macOS Dark Mode...");
+ stylesheet.setFileName(":/dark.qss");
+ }
+ else
+ {
+ qDebug( "macOS Light Mode..." );
+ stylesheet.setFileName(":/light.qss");
+ }
+#endif
+
+ stylesheet.open(QFile::ReadOnly | QFile::Text);
+ QTextStream stream(&stylesheet);
+ app.setStyleSheet(stream.readAll());
+#endif
+
// Setup the settings management
QCoreApplication::setOrganizationName("pgadmin");
QCoreApplication::setOrganizationDomain("pgadmin.org");
diff --git a/runtime/pgAdmin4.pro b/runtime/pgAdmin4.pro
index a752cb9a7..47b679b62 100644
--- a/runtime/pgAdmin4.pro
+++ b/runtime/pgAdmin4.pro
@@ -102,11 +102,18 @@ SOURCES = pgAdmin4.cpp \
MenuActions.cpp \
FloatingWindow.cpp \
Logger.cpp
+
FORMS = ConfigWindow.ui \
LogWindow.ui \
FloatingWindow.ui
ICON = pgAdmin4.icns
QMAKE_INFO_PLIST = Info.plist
-RESOURCES += pgadmin4.qrc
+RESOURCES += pgadmin4.qrc \
+ breeze.qrc
+
+macx {
+ HEADERS += macos.h
+ OBJECTIVE_SOURCES = macos.mm
+}