diff --git a/README.md b/README.md index dc1537f..a60792f 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ About ------- -version 1.8a +version 2.0 QT themes (stylesheet) specially developed for **FreeCAD** (http://www.freecadweb.org/). -It might work with other software that uses QT styling. +They might work with other software that uses QT styling. Dark style example: -![Dark-Green stylesheet](/../multimedia/img/stylesheet_dark.png?raw=true "Dark-Green stylesheet") +![Dark-Blue stylesheet](/../multimedia/img/stylesheet_dark-blue.png?raw=true "Dark-Blue stylesheet") Light style example: -![Dark-Green stylesheet](/../multimedia/img/stylesheet_light.png?raw=true "Dark-Green stylesheet") +![Dark-Blue stylesheet](/../multimedia/img/stylesheet_light-blue.png?raw=true "Dark-Blue stylesheet") Installation ------ @@ -18,47 +18,24 @@ Installation - **WINDOWS** = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - **LINUX** = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ 2. In order to display correctly images that are used inside the stylesheet: - 1. If you use **FreeCAD 0.16** (development builds newer than commit 5b3d50a): that's it, you are done! - 2. If you use **FreeCAD 0.15**: Images used in the theme need full paths to be found by FreeCAD, so you should search the string **qss:images** and replace with the real path of your computer. It should be done with all the .qss files you want to install-use + 1. **FreeCAD 0.16** (development builds newer than commit 5b3d50a): that's it, you are done! + 2. **FreeCAD 0.15**: Images used in the theme need full paths to be found by FreeCAD, so you should search the string **qss:images** and replace with the real path of your computer. It should be done with all the .qss files you want to install-use - **find** = qss:images - **replace** = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images -Customization ------- -If you would like to change the overall look/style of the theme, just find and replace the "palette colors" listed at the start of the file you want to edit: -- background darker -- background dark and slighly darker -- background dark -- background normal and slighly darker -- background normal -- background light -- background ligher -- lists background -- lists background (alternate) -- lists background selection -- foreground -- selection darker -- selection dark -- selection normal -- selection inbetween normal and light -- selection light -- selection lighter - Caveats ------ - **FreeCAD 0.15** * full paths to images are needed, that means all these .qss files should be edited per user * the "Task panel" is not stylable -- in app icons-buttons are designed in svg but are not stylable, that is, it's not possible to change them... I hope it also changes in the near future -Known bugs and To do +Known bugs and TO DOs ------ Please, follow the [link to get updated information](http://forum.freecadweb.org/viewtopic.php?f=10&t=12417&p=99676) License ------ -Copyright (c) 2015 Pablo Gil Fernández. -The stylesheet uses some code from Colin Duquesnoy generic QT stylesheet +Copyright (c) 2016 Pablo Gil Fernández. ![Attribution-ShareAlike 4.0 International](http://i.creativecommons.org/l/by-sa/3.0/88x31.png) This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/). diff --git a/dark-blue.qss b/dark-blue.qss index 2a08f0d..d029309 100644 --- a/dark-blue.qss +++ b/dark-blue.qss @@ -1,1906 +1,1883 @@ -/* -ABOUT -=========================================================== -version 1.8 -QT theme (stylesheet) specially developed for FreeCAD (http://www.freecadweb.org/). -It might work with other software that uses QT styling. - - -LICENSE -=========================================================== -Copyright (c) 2015 Pablo Gil Fernández -The stylesheet barely uses code from Colin Duquesnoy "generic QT stylesheet" - -This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. -To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. - - -INSTALLATION -=========================================================== -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -2) In order to display correctly images that are used inside the stylesheet: - 2.1) If you use FreeCAD 0.16 (development builds newer than commit 5b3d50a): that's it, you are done! - - 2.2) If you use FreeCAD 0.15: Images used in the theme need full paths to be found by FreeCAD, so you should search the string "qss:images" (without "") and replace with the real path of your computer. It should be done with all the .qss files you want to install-use - find = qss:images - replace = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images - - -CUSTOMIZATION -=========================================================== -If you would like to change the overall look/style of the theme, just find and replace following colors in the whole file: - background darker = #4d4e51 - background dark and slightly darker = #5d5e61 - background dark = #6d6e71 - background normal and slightly darker = #797b7f - background normal = #85878a - background light = #9a9b9e - background lighter = #c7c7c9 - - lists background = #bdc1c9 - lists background (alternate) = #b3b8bf - lists backgrounds selection = #abb0b7 - - foreground = white - - selection darker = #1b3774 - selection dark = #3874f2 - selection normal = #5e90fa - selection inbetween normal and light = #6f9efa (used to build SpinBoxes) - selection light = #7cabf9 - selection lighter = #adc5ed - - -CAVEATS -=========================================================== - - FreeCAD 0.15 - - full paths to images are needed, that means all these .qss files should be edited per user - - the "Task panel" is not stylable - - in app icons-buttons are designed in svg but are not stylable, that is, it's not possible to change them... I hope it also changes in the near future - - -KNOWN BUGS and TO DO -=========================================================== - - please, follow the link to get updated information: http://forum.freecadweb.org/viewtopic.php?f=10&t=12417 -*/ - -/* RESET EVERYTHING */ -QAbstractScrollArea,QCheckBox,QColumnView,QComboBox,QDateEdit,QDateTimeEdit,QDialog,QDialogButtonBox,QDockWidget,QDoubleSpinBox,QFrame,QGroupBox,QHeaderView,QLabel,QLineEdit,QListView,QListWidget,QMainWindow,QMenu,QMenuBar,QMessageBox,QProgressBar,QPushButton,QRadioButton,QScrollBar,QSizeGrip,QSlider,QSpinBox,QSplitter,QStatusBar,QTabBar,QTabWidget,QTableView,QTableWidget,QTextEdit,QTimeEdit,QToolBar,QToolButton,QToolBox,QToolTip,QTreeView,QTreeWidget,QWidget { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - background-color: #85878a; /* set with default background color */ -} - -QMdiArea[showImage="true"] { - background-image: url(qss:images/background_freecad.png); - background-position: center; - background-repeat: no-repeat; -} - -QProgressBar, -QProgressBar:horizontal { - background: #bdc1c9; - border: 1px solid #6d6e71; - text-align: center; - padding: 1px; - border-radius: 4px; -} -QProgressBar::chunk, -QProgressBar::chunk:horizontal { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); - border-radius: 3px; -} - -QToolTip { - background-color: #4d4e51; - color: white; - padding: 4px; - border-radius: 4px; - /*opacity: 200;*/ -} - -QWidget { - color: #4d4e51; - background-color: #85878a; - background-clip: border; - border-image: none; - outline: 0; -} - -QWidget:focus { - border: 1px solid #4d4e51; -} - -QWidget:disabled { - color: #9a9b9e; - background-color: #4d4e51; /* same as QMenu background-color */ -} - -QMenuBar { - color: #c7c7c9; - background-color: #797b7f; -} - -QMenuBar::item { - background-color: #797b7f; -} - -QMenuBar::item:selected { - color: #1b3774; - border: 1px solid #5e90fa; - background-color: #5e90fa; -} - -QMenuBar::item:pressed { - color: #1b3774; - border: 1px solid #7cabf9; - background-color: #7cabf9; - margin-bottom:-1px; - padding-bottom:1px; -} - -QMenu { - color: #c7c7c9; - background-color: #4d4e51; - margin: 2px; - border: 1px solid transparent; -} - -QMenu::icon { - margin: 5px; - border-style: none; -} - -QMenu::right-arrow { - image:url(qss:images/right_arrow_light.png); -} - -QMenu::item { - color: #c7c7c9; - background-color: #4d4e51; - padding: 2px 30px 2px 30px; - border: 1px solid #4d4e51; /* reserve space for selection border */ -} - -QMenu::item:selected { - color: #1b3774; - background-color: #7cabf9; -} - -QMenu::separator { - height: 1px; - background-color: #6d6e71; - margin-top: 2px; - margin-bottom: 2px; - margin-left: 6px; - margin-right: 6px; -} - -QMenu::indicator:non-exclusive { - color: #c7c7c9; - background-color: #9a9b9e; - border: 1px solid #4d4e51; - width: 11px; - height: 11px; - border-radius:2px; -} - -QMenu::indicator:non-exclusive:checked { - background-color: #3874f2; - border: 1px solid #1b3774; - image:url(qss:images/checkbox_light.png); -} - -QGroupBox { - color: #4d4e51; - font-weight: bold; - border:1px solid blue; - border-radius: 4px; - margin-top: 20px; - border-color: rgba(0, 0, 0, 20); /* lighter than "QGroupBox" border-color */ - background-color: rgba(255, 255, 255, 15); -} - - - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - padding-left: 10px; - padding-right: 10px; - padding-top: 10px; - background-color: transparent; -} - -QAbstractScrollArea { - border-radius: 2px; - border: 1px solid #3A3939; - background-color: transparent; -} - -QAbstractScrollArea::corner { - border: none; - background-color: #85878a; -} - -QScrollBar:horizontal { - height: 15px; - margin: 3px 15px 3px 15px; - border: 1px transparent #4d4e51; - border-radius: 4px; - background-color: #4d4e51; -} - -QScrollBar::handle:horizontal { - background-color: #6d6e71; - min-width: 5px; - border-radius: 4px; -} - -QScrollBar::add-line:horizontal { - margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/right_arrow_light.png); - width: 6px; - height: 10px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/left_arrow_light.png); - height: 10px; - width: 6px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images/right_arrow_lighter.png); -} - - -QScrollBar::sub-line:horizontal:hover, -QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images/left_arrow_lighter.png); -} - -QScrollBar::up-arrow:horizontal, -QScrollBar::down-arrow:horizontal { - background: none; -} - - -QScrollBar::add-page:horizontal, -QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar:vertical { - background-color: #4d4e51; - width: 15px; - margin: 15px 3px 15px 3px; - border: 1px transparent #4d4e51; - border-radius: 4px; -} - -QScrollBar::handle:vertical { - background-color: #6d6e71; - min-height: 5px; - border-radius: 4px; -} - -QScrollBar::sub-line:vertical { - margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/up_arrow_light.png); - height: 6px; - width: 10px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/down_arrow_light.png); - height: 6px; - width: 10px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, -QScrollBar::sub-line:vertical:on { - border-image: url(qss:images/up_arrow_lighter.png); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images/down_arrow_lighter.png); -} - -QScrollBar::up-arrow:vertical, -QScrollBar::down-arrow:vertical { - background: none; -} - - -QScrollBar::add-page:vertical, -QScrollBar::sub-page:vertical { - background: none; -} - -QTextEdit { - color: #4d4e51; - background-color: #bdc1c9; - border: 1px solid #6d6e71; - padding: 0px; - margin: 0px; -} - -QPlainTextEdit { - color: #4d4e51; - background-color: #bdc1c9; - border-radius: 2px; - border: 1px solid #6d6e71; - padding: 0px; - margin: 0px; -} - -QSizeGrip { - image: url(qss:images/sizegrip_light.png); - width: 16px; - height: 16px; - background-color: transparent; -} - -QRadioButton::indicator:unchecked{ - color: #4d4e51; - background-color: #9a9b9e; - border: 1px solid #4d4e51; -} - -QRadioButton::indicator:checked { - background-color: #3874f2; - border: 1px solid #1b3774; - image:url(qss:images/radiobutton_light.png); -} - -QCheckBox, -QRadioButton, -QCheckBox:disabled, -QRadioButton:disabled { - color: #4d4e51; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: #c7c7c9; - background-color: #9a9b9e; - border: 1px solid #4d4e51; -} - -QCheckBox::indicator { - width: 11px; - height: 11px; - border-radius:2px; -} - -QRadioButton::indicator { - width: 11px; - height: 11px; - border-radius: 6px; -} - -QRadioButton::indicator:pressed, -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed { - border-color: #adc5ed; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #3874f2; - border: 1px solid #1b3774; - image:url(qss:images/checkbox_light.png); -} - -QCheckBox::indicator:disabled, -QRadioButton::indicator:disabled { - border: 1px solid #6d6e71; -} - -QCheckBox:disabled, -QRadioButton::indicator:disabled { - color: #6d6e71; - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled, -QMenu::indicator:non-exclusive:disabled { - background-color: #85878a; -} - -QCheckBox::indicator:indeterminate { - background-color: #3874f2; - border: 1px solid #1b3774; - image: url(qss:images/checkbox_indeterminate_light.png); -} - -QCheckBox:focus, -QRadioButton:focus { - border: none; -} - -QFrame, -QFrame:pressed, -QFrame:focus, -QFrame:on { - border: 1px solid #85878a; - border-radius: 3px; - padding: 0px; - /* background-color: transparent; temporal */ -} - -/* border and background of QComboBox drop-down */ -QComboBox QFrame, -QComboBox QFrame:pressed, -QComboBox QFrame:focus, -QComboBox QFrame:on { - border: 1px solid #4d4e51; - background-color: #4d4e51; - padding: 0px; - margin: 0px; -} - -QFrame[frameShape="0"] { - border-radius: 3px; -} - -/* Separator line */ -QFrame[height="1"], -QFrame[height="2"], -QFrame[height="3"], -QFrame[width="1"], -QFrame[width="2"], -QFrame[width="3"] { - border-width: 1px 0px 0px 0px; - border-style: solid; - border-color: #797b7f; - background-color: transparent; -} - -QPushButton { - color: #c7c7c9; - text-align: center; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #6d6e71, stop:1 #85878a); - border: 1px solid #4d4e51; - padding: 5px 12px 5px 12px; - margin: 4px 8px 4px 8px; - border-radius: 3px; - min-width: 14px; - min-height: 14px; -} - -QPushButton:hover, -QPushButton:focus { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); - border-color: #3874f2; -} - -QPushButton:disabled, -QPushButton:disabled:checked { - color: #6d6e71; - background-color: #85878a; - border-color: #6d6e71; -} - -QPushButton:pressed { - background-color: #3874f2; -} - -QPushButton:checked { - background-color: #5e90fa; - border-color: #3874f2; -} - -/* Color Buttons */ -Gui--ColorButton, -Gui--ColorButton:disabled { - border-color: transparent; - background-color: transparent; - /*width: 60px;*/ - height: 24px; - padding: 0px; - margin: 0px; -} - -Gui--ColorButton:hover { - border-color: #797b7f; - background-color: #797b7f; -} - -/* Buttons inside the toolbar */ -QToolBar QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #797b7f, stop:1 #85878a); - border: 1px solid #6d6e71; - min-width: 22px; - min-height: 22px; - margin-left: 2px; - margin-right: 2px; - margin-bottom: 3px; /*bigger margin to correctly separate buttons inside a vertical toolbar */ - margin-top: 1px; - padding: 1px; -} - -QToolBar QPushButton:hover, -QToolBar QPushButton:focus { - color: #c7c7c9; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #797b7f, stop:1 #85878a); - border: 1px solid #4d4e51; -} - -QToolBar QPushButton:disabled, -QToolBar QPushButton:disabled:checked { - background-color: #85878a; - border-color: #797b7f; -} - -QToolBar QPushButton:pressed { - background-color: #6d6e71; - border-color: #6d6e71; -} - -QToolBar QPushButton:checked { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #7cabf9); - border-color: #5e90fa; -} - -QToolBar QPushButton:checked:hover, -QToolBar QPushButton:checked:focus { - color: #c7c7c9; - border: 1px solid #3874f2; -} - -QToolBar { - border: 1px transparent #393838; - background-color: #85878a; - font-weight: bold; - margin: 0px; - padding: 0px; -} - -QToolBar::handle:horizontal { - background-image: url(qss:images/Hmovetoolbar_dark.png); - width: 10px; - margin: 6px 2px 6px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:vertical { - background-image: url(qss:images/Vmovetoolbar_dark.png); - height: 10px; - margin: 2px 6px 2px 6px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:horizontal { - background-image: url(qss:images/separtoolbar_dark.png); - width: 10px; - margin: 6px 2px 6px 2px; - background-position: center center; - background-repeat: repeat-y; -} - -QToolBar::separator:vertical { - background-image: url(qss:images/separtoolbar_dark.png); - height: 10px; - margin: 2px 6px 2px 6px; - background-position: center center; - background-repeat: repeat-x; -} - -QStackedWidget { - background-color: #85878a; - border: 1px transparent #85878a; -} - -QAbstractSpinBox { - color: #c7c7c9; - border: 1px solid #6d6e71; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - background-color: #6d6e71; - selection-color: white; - selection-background-color: #5e90fa; -} - -QAbstractSpinBox:disabled { - color: #9a9b9e; - background-color: #797b7f; - border-color: #797b7f; -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #6f9efa, stop:1 #7cabf9); - subcontrol-origin: border; - subcontrol-position: top right; - border-top-right-radius: 3px; - width: 20px; -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #6f9efa); - subcontrol-origin: border; - subcontrol-position: bottom right; - border-bottom-right-radius: 3px; - width: 20px; -} - -QAbstractSpinBox:up-button:disabled, -QAbstractSpinBox:down-button:disabled { - background-color: transparent; -} - -QAbstractSpinBox::up-arrow { - image: url(qss:images/up_arrow_light.png); - top: 1px; /* fix simetry between up and down images */ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images/up_arrow_lighter.png); -} - -QAbstractSpinBox::up-arrow:off { - image: url(qss:images/up_arrow_disabled_dark.png); -} - -QAbstractSpinBox::up-arrow:disabled { - image: none; -} - -QAbstractSpinBox::down-arrow { - image: url(qss:images/down_arrow_light.png); - bottom: -1px; /* fix simetry between up and down images */ -} -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images/down_arrow_lighter.png); -} - -QAbstractSpinBox::down-arrow:off { - image: url(qss:images/down_arrow_disabled_dark.png); -} - -QAbstractSpinBox::down-arrow:disabled { - image: none; -} - -QToolBar QAbstractSpinBox { - margin-top: 4px; - margin-bottom: 4px; -} - -QLineEdit { - color: #c7c7c9; - background-color: #6d6e71; - selection-color: white; - selection-background-color: #5e90fa; - /* Padding and margin defined */ - border-style: solid; - border: 1px solid #6d6e71; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - border-radius: 3px; -} - -QAbstractSpinBox:focus, -QLineEdit:focus, -QComboBox:focus { - border-color: #7cabf9; -} - -QComboBox { - color: #c7c7c9; - background-color: #6d6e71; - selection-color: white; - selection-background-color: #5e90fa; - border: 1px solid #6d6e71; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - border-radius: 3px; -} - -QComboBox:on { - color: white; - background-color: #6d6e71; - border-color: #7cabf9; -} - -QComboBox::drop-down { - subcontrol-origin: margin; - subcontrol-position: top right; - width: 20px; - border-left-width: 1px; - border-left-color: transparent; - border-left-style: solid; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #7cabf9); -} - -QComboBox::down-arrow { - image: url(qss:images/down_arrow_light.png); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:hover, -QComboBox::down-arrow:focus { - image: url(qss:images/down_arrow_lighter.png); -} - -QComboBox QAbstractItemView { - color: #c7c7c9; - background-color: #4d4e51; - border-radius: 3px; - margin: 0px; - padding: 0px; - border: none; -} - -/* Common parameters for QAbstractSpinBox, QLineEdit and QComboBox */ -QSpinBox, -QDoubleSpinBox, -QAbstractSpinBox, -QLineEdit, -QComboBox { - border-top-color: #5d5e61; /* Creates an inset effect inside the elements */ - padding: 2px 6px 2px 6px; /* This makes text colour work on QComboBox */ - margin: 0px 2px 0px 2px; - min-width: 70px; /* it was 120 because of QCombobox... */ - border-radius: 3px; -} -/* end Common parameters */ - -QAbstractItemView { - color: #4d4e51; - alternate-background-color: #b3b8bf; /* related with QListView background */ - border: 1px solid #4d4e51; - border-radius: 3px; - padding: 0px; -} - -/* hack to deactivate changing background color when focus (due to QFrame generic transparent color) */ -QAbstractItemView:selected, -QAbstractItemView:on, -QAbstractItemView:focus { - background-color: #bdc1c9; /* same as QTable background color */ -} - -/* hack to hide weird redundant information inside the value of a Placement cell */ -QTreeView QLabel, -QTreeView QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QTreeView QLineEdit { - color: #c7c7c9; - border-color: #6d6e71; - background-color: #6d6e71; - selection-color: white; - selection-background-color: #5e90fa; -} - -/* hack to hide non editable cells inside Property values */ -QTreeView QLineEdit:read-only, -QTreeView QLineEdit:disabled, -QTreeView QAbstractSpinBox:read-only, -QTreeView QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; -} - -/* hack to disable margin inside Property values to following elements */ -QTreeView QSpinBox, -QTreeView QDoubleSpinBox, -QTreeView QAbstractSpinBox, -QTreeView QLineEdit, -QTreeView QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; -} - -/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ -QTreeView QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #6d6e71, stop:1 #85878a); - border-top: none; - border-bottom: none; - border-right: none; - border-left: 1px solid #6d6e71; - border-radius: 0px; - margin: 0px; - padding: 0px; - height: 24px; -} - -/* Color Buttons inside the "Properties window" */ -QAbstractItemView Gui--ColorButton { - padding: 0px; - margin: 0px; - height: 10px; -} - -QAbstractItemView QPushButton:hover { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); - border-color: #3874f2; -} - -QAbstractItemView QPushButton:disabled { - color: transparent; - background-color: transparent; - border-color: transparent; -} - -QLabel { - border: 0px solid #4d4e51; -} - -QTabWidget{ - border: none; -} - -QTabWidget:focus { - border: none; -} - -QTabWidget::pane { - border: none; - padding: 0px; - background-color: #85878a; - position: absolute; - top: -15px; - padding-top: 15px; -} - -QTabWidget::tab-bar { - alignment: center; -} - -QTabBar { - qproperty-drawBase: 0; - left: 5px; - background-color: transparent; -} - -QTabBar:focus { - border: 0px transparent black; -} - -QTabBar::close-button { - padding: 0px; - margin: 0px; - border-radius: 2px; - background-image: url(qss:images/close_dark.png); - background-position: center center; - background-repeat: none; -} - -QTabBar::close-button:hover { - background-color: #7cabf9; -} - -QTabBar::close-button:pressed { - background-color: #adc5ed; -} - -QTabBar::scroller { /* the width of the scroll buttons */ - width: 20px; -} - -/* the scroll buttons are tool buttons */ -QTabBar QToolButton, -QTabBar QToolButton:hover { - margin-top: 4px; - margin-bottom: 4px; - margin-left: 0px; - margin-right: 0px; - padding: 0px; - border: none; - background-color: #85878a; - border-radius: 0px; -} - -QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images/right_arrow_light.png); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images/right_arrow_disabled_dark.png); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images/right_arrow_lighter.png); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images/left_arrow_light.png); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images/left_arrow_disabled_dark.png); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images/left_arrow_lighter.png); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images/up_arrow_light.png); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images/up_arrow_disabled_dark.png); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images/up_arrow_lighter.png); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images/down_arrow_light.png); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images/down_arrow_disabled_dark.png); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images/down_arrow_lighter.png); -} - -/* HORIZONTAL TABS */ -QTabBar::tab:top, -QTabBar::tab:bottom { - color: #c7c7c9; - border: 1px solid #6d6e71; - border-left-color: #85878a; - border-right-width: 0px; - border-bottom: 1px solid #5d5e61; /* shadown effect */ - background-color: #6d6e71; - padding:5px 15px; - margin-top: 4px; - margin-bottom: 4px; - position: center; -} - -QTabBar::tab:top:first, -QTabBar::tab:bottom:first { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} - -QTabBar::tab:top:last, -QTabBar::tab:bottom:last { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; - border-right-width: 1px; -} - -QTabBar::tab:top:selected, -QTabBar::tab:bottom:selected { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); - border-color: #3874f2; - border-bottom: 1px solid #5d5e61; /* shadown effect */ -} - -QTabBar::tab:top:!selected:hover, -QTabBar::tab:bottom:!selected:hover { - color: white; -} - -QTabBar::tab:top:only-one , -QTabBar::tab:bottom:only-one { - border: 1px solid #1b3774; - border-radius: 6px; -} - -/* VERTICAL TABS */ -QTabBar::tab:left, -QTabBar::tab:right { - color: #c7c7c9; - border: 1px solid #6d6e71; - border-top-color: #85878a; - border-bottom-width: 0px; - border-right: 1px solid #5d5e61; /* shadown effect */ - background-color: #6d6e71; - padding: 15px 5px; - margin-left: 4px; - margin-right: 4px; - position: center; -} - -QTabBar::tab:left:first, -QTabBar::tab:right:first { - border-top-left-radius: 6px; - border-top-right-radius: 6px; -} - -QTabBar::tab:left:last, -QTabBar::tab:right:last { - border-bottom-left-radius: 6px; - border-bottom-right-radius: 6px; - border-bottom-width: 1px; -} - -QTabBar::tab:left:selected, -QTabBar::tab:right:selected { - color: white; - background-color: qlineargradient(spread:pad, x1:0.545, y1:1, x2:0, y2:1, stop:0 #3874f2, stop:1 #5e90fa); - border-color: #3874f2; - border-right: 1px solid #5d5e61; /* shadown effect */ -} - -QTabBar::tab:left:!selected:hover, -QTabBar::tab:right:!selected:hover { - color: white; -} - -QTabBar::tab:left:only-one , -QTabBar::tab:right:only-one { - border: 1px solid #1b3774; - border-radius: 6px; -} - -QDockWidget { - color: #4d4e51; - border: 1px solid #85878a; - titlebar-close-icon: url(qss:images/close_dark.png); - titlebar-normal-icon: url(qss:images/undock_dark.png); -} - -QDockWidget::title { - text-align: center; - background-color: #797b7f; - padding: 4px; - border-radius: 4px; -} - -QDockWidget::close-button, -QDockWidget::float-button { - border: 1px transparent #85878a; - border-radius: 2px; - background: transparent; - subcontrol-origin: padding; - subcontrol-position: right center; -} - -QDockWidget::close-button { - right: 4px; -} - -QDockWidget::float-button { - right: 22px; -} - -QDockWidget::close-button:hover, -QDockWidget::float-button:hover { - background: #9a9b9e; -} - -QDockWidget::close-button:pressed, -QDockWidget::float-button:pressed { - /*padding: 1px -1px -1px 1px;*/ - background-color: #797b7f; -} - -QTreeView, -QListView { - color: #4d4e51; - border: 1px solid #85878a; - border-radius: 4px; - background-color: #bdc1c9; /* related with alternate-background-color*/ - selection-color: white; - selection-background-color: #5e90fa; /* should be similar to QListView::item selected background-color */ - show-decoration-selected: 1; /* make the selection span the entire width of the view */ - padding: 0px; - margin: 0px 4px 0px 4px; - min-width: 130px; /* hack to correctly align Preferences icon list */ -} - -QListView, -QListView::item, -QListView QAbstractItemView { - margin: 0px; - icon-size: 20px; /* temporal */ - paint-alternating-row-colors-for-empty-area: 1; - position: absolute; - subcontrol-origin: margin; - subcontrol-position: left top; -} - -/* Control dropdown list margins of QComboBox */ -QComboBox QTreeView, -QComboBox QListView { - margin: 0px; - padding: 0px; -} - -QListView::item { - border: 0px transparent #85878a; - border-radius: 4px; - background-color: transparent; - padding: 0px; - margin: 0px; - display: inline-block; - position: relative; -} - -QListView::item:selected, -QTreeView::item:selected { - color: white; - background-color: #5e90fa; /* should be similar to QListView selection-background-color */ -} - -/* Branch system */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images/branch_vline.png) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images/branch_more.png) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images/branch_end.png) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - image: url(qss:images/branch_closed_dark.png); -} - -QTreeView::branch:has-children:!has-siblings:closed { - image: url(qss:images/branch_closed_dark.png); - border-image: url(qss:images/branch_end.png) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - image: url(qss:images/branch_open_dark.png); - border-image: url(qss:images/branch_more.png) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - image: url(qss:images/branch_open_dark.png); - border-image: url(qss:images/branch_end.png) 0; -} - -QSlider, -QSlider:active, -QSlider:!active { - border: none; - background-color: transparent; -} - -QSlider:horizontal { - padding: 0px 10px; -} - -QSlider:vertical { - padding: 10px 0px; -} - -QSlider::groove:horizontal { - border: 1px solid #6d6e71; - background-color: #6d6e71; - height: 8px; - border-radius: 5px; - margin: 4px 0; -} - -QSlider::groove:vertical { - border: 1px solid #6d6e71; - background-color: #6d6e71; - width: 8px; - border-radius: 5px; - margin: 4px 0; -} - -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #797b7f; - background-color: #797b7f; -} - -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #4d4e51; - border: 1px solid #4d4e51; - width: 14px; - height: 14px; - border-radius: 8px; -} - -QSlider::handle:horizontal { - margin: -4px 0; -} - -QSlider::handle:vertical { - margin: 0 -4px; -} - -QSlider::handle:horizontal:hover, -QSlider::handle:vertical:hover { - border-color: #3874f2; - background-color: #3874f2; -} - -QSlider::handle:horizontal:pressed, -QSlider::handle:vertical:pressed { - border-color: #1b3774; - background-color: #1b3774; -} - -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #6d6e71; - background-color: #85878a; -} - -QToolButton { - color: #c7c7c9; - text-align: center; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #6d6e71, stop:1 #85878a); - border: 1px solid #4d4e51; - padding-top: 5px; - padding-bottom: 5px; - padding-left: 15px; - padding-right: 15px; - margin-top: 5px; - margin-bottom: 5px; - margin-left: 10px; - margin-right: 10px; - border-radius: 3px; - outline: none; - /*min-width: 36px;*/ -} - -QToolButton:hover, -QToolButton:focus { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); - border-color: #3874f2; -} - -QToolButton:disabled, -QToolButton:disabled:checked { - color: #6d6e71; - background-color: #85878a; - border-color: #6d6e71; -} - -QToolButton:pressed { - border-color: #7cabf9; -} - -QToolButton:checked { - background-color: #5e90fa; - border-color: #3874f2; -} - -QToolButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: center right; - right: 4px; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" */ -QToolButton#qt_toolbar_ext_button { - border-radius: 0px; - margin: 0px; - padding: 0px; - /*background-image: url(qss:images/more_dark.png);*/ - image: transparent; - background-repeat: none; - background-position: center left; -} - -QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images/more_light.png);*/ - border-color: #797b7f; - background-color: #797b7f; -} - -QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images/more_light.png);*/ - border-color: #797b7f; - background-color: #797b7f; -} - -/*Buttons inside the Toolbar*/ -QToolBar QToolButton { - color: #4d4e51; - background-color: #85878a; - border: 1px transparent #85878a; - border-radius: 3px; - margin: 0px; - padding: 2px; -} - -QToolBar QToolButton:disabled { - background-color: #85878a; -} - -QToolBar QToolButton:checked { - color: #1b3774; - background-color: #5e90fa; - border: 1px solid #5e90fa; -} - -QToolBar QToolButton:hover { - background-color: #85878a; -} - -QToolBar QToolButton:pressed, -QToolBar QToolButton::menu-button:pressed { - background-color: #797b7f; - border: 1px solid #797b7f; -} - - -QToolBar QToolButton::menu-indicator:hover, -QToolBar QToolButton::menu-indicator:pressed { - background-color: transparent; -} - -/* the subcontrols below are used only in the MenuButtonPopup mode */ -QToolBar QToolButton::menu-button { - border: none; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; -} - -QToolBar QToolButton::menu-button:hover, -QToolBar QToolButton::menu-button:active, -QToolBar QToolButton::menu-button:disabled { - border-color: transparent; - background-color: transparent; -} - -QToolBar QToolButton::menu-arrow { - background-image: url(qss:images/down_arrow_light.png); - background-position: center center; - background-repeat: none; - subcontrol-origin: padding; - subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ -} - -QToolBar QToolButton::menu-arrow:open { - background-image: url(qss:images/down_arrow_lighter.png); -} - -/* If the QToolButton is also a menu: */ -QToolBar QToolButton#qt_toolbutton_menubutton { - padding-right: 20px; - border: 1px solid transparent; -} - -QToolBar QToolButton#qt_toolbutton_menubutton:hover, -QToolBar QToolButton#qt_toolbutton_menubutton:pressed, -QToolBar QToolButton#qt_toolbutton_menubutton:open { - border: 1px solid #7cabf9; -} - -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button { - border: none; /* necessary because it inherits the border from QToolButton#qt_toolbutton_menubutton */ -} - -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:hover, -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:pressed, -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:open { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #7cabf9); -} - -QToolBar:tear { - color: blue; - background-color: red; -} - -QTableView { - color: #4d4e51; - border: 1px solid #6d6e71; - gridline-color: #9a9b9e; - background-color: #bdc1c9; - selection-color: #4d4e51; - selection-background-color: #adc5ed; - border-radius: 3px; - padding: 0px; - margin: 0px; -} - -QTableView::item:hover { - background: #abb0b7; -} - -QTableView::item:disabled { - color: #85878a; -} - -QTableView::item:selected { - color: #1b3774; - background-color: #7cabf9; -} - -/* when editing a cell: */ -QTableView QLineEdit { - color: #4d4e51; - background-color: #b3b8bf; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QHeaderView { - border: none; - background-color: #4d4e51; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - margin: 0px; - padding: 0px; -} - -QHeaderView::section { - background-color: transparent; - color: #c7c7c9; - border: 1px solid transparent; - border-radius: 0px; - text-align: center; -} - -QHeaderView::section::vertical { - padding: 0px 6px 0px 6px; - border-bottom: 1px solid #6d6e71; -} - -QHeaderView::section::vertical:first { - border-top: 1px solid #6d6e71; -} - -QHeaderView::section::vertical:last { - border-bottom: none; -} - -QHeaderView::section::vertical:only-one { - border: none; -} - -QHeaderView::section::horizontal { - padding: 0px 0px 0px 6px; - border-right: 1px solid #6d6e71; -} - -QHeaderView::section::horizontal:first { - border-left: 1px solid #6d6e71; -} - -QHeaderView::section::horizontal:last { - border-left: none; -} - -QHeaderView::section::horizontal:only-one { - border: none; -} - -QDockWidget QHeaderView::section { - border-width: 6px 1px 6px 1px; /* hack to bigger margin for Model Panel table headers */ -} - -QHeaderView::section:checked { - color: #1b3774; - background-color: #7cabf9; -} - - /* style the sort indicator */ -QHeaderView::down-arrow { - image: url(qss:images/down_arrow_light.png); -} - -QHeaderView::up-arrow { - image: url(qss:images/up_arrow_light.png); -} - -QTableCornerButton::section { - background-color: #4d4e51; - border: 1px solid #4d4e51; - border-radius: 0px; -} - -QToolBox { - padding: 3px; - color: #1b3774; - border: none; -} - -QToolBox::tab { /* TODO */ - color: #c7c7c9; - background-color: #6d6e71; - border: 1px transparent #4d4e51; - border-bottom: 1px transparent #6d6e71; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - padding: 5px; -} - -QToolBox::tab:selected { /* italicize selected tabs */ - color: #1b3774; - font: italic; - background-color: #5e90fa; - border-color: #5e90fa; - } - -QStatusBar::item { - color: #c7c7c9; - background-color: #85878a; - border: 1px solid #85878a; - border-radius: 2px; -} - - -QSplitter::handle { - background-color: #85878a; - margin: 0px 11px; - padding: 0px; - border-radius: 3px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images/splitter_horizontal_dark.png); - background-position: center center; - background-repeat: none; - margin: 2px 10px 2px 10px; - height: 2px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images/splitter_horizontal_dark.png); - background-position: center center; - background-repeat: none; - margin: 10px 2px 10px 2px; - width: 2px; -} - -QSplitter::handle:horizontal:hover, -QSplitter::handle:vertical:hover { - background-color: #85878a; -} - -/* Similar to the splitter is the following window separator: */ -QMainWindow::separator { - border: 1px solid #85878a; - background-color: #85878a; - background-position: center center; - background-repeat: none; -} - -QMainWindow::separator:hover { - background-color: #85878a; -} - -QMainWindow::separator:horizontal { - height: 4px; - background-image: url(qss:images/splitter_horizontal_dark.png); -} - -QMainWindow::separator:vertical { - width: 4px; - background-image: url(qss:images/splitter_vertical_dark.png); -} - -QLabel { - padding-top: 3px; - padding-bottom: 3px; - background-color: transparent; -} - -QLabel:disabled { - color: #6d6e71; - background-color: transparent; -} - -/* Action group */ -QFrame[class="panel"] { - border: none; - background-color: #85878a; -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { - border-color: #9a9b9e; -} - -QSint--ActionGroup QFrame[class="header"] { - border: none; - background-color: #4d4e51; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); -} - -QSint--ActionGroup QToolButton[class="header"] { - text-align: left; - font-weight: bold; - color: #c7c7c9; - background-color: transparent; - border: none; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QToolButton[class="header"]:hover { - color: white; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { - background-color: transparent; - background-image: url(qss:images/down_arrow_light.png); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { - background-color: transparent; - background-image: url(qss:images/down_arrow_lighter.png); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images/up_arrow_light.png); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { - background-color: transparent; - background-image: url(qss:images/up_arrow_lighter.png); -} - -QSint--ActionGroup QFrame[class="content"] { - background-color: #bdc1c9; - margin: 0px; - padding: 0px; - border: none; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} - -/* HACK -This might not be the best way to reset the background color: */ -QSint--ActionGroup QFrame[class="content"] QWidget { - background-color: #bdc1c9; -} - -QSint--ActionGroup QFrame[class="content"] QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #6d6e71, stop:1 #85878a); -} - -QSint--ActionGroup QFrame[class="content"] QPushButton:hover, -QSint--ActionGroup QFrame[class="content"] QPushButton:focus { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); -} - -QSint--ActionGroup QFrame[class="content"] QPushButton:disabled, -QSint--ActionGroup QFrame[class="content"] QPushButton:disabled:checked { - color: #bdc1c9; - border-color: #9a9b9e; - background-color: #9a9b9e; -} -QSint--ActionGroup QFrame[class="content"] QPushButton:checked { - background-color: #5e90fa; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox { - background-color: #6d6e71; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox:on { - background-color: #6d6e71; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox QAbstractItemView { - border-color: #4d4e51; - background-color: #4d4e51; -} - -QSint--ActionGroup QFrame[class="content"] QListView { - border-color: #abb0b7; - background-color: #abb0b7; -} - -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox { - background-color: #6d6e71; -} - -QSint--ActionGroup QFrame[class="content"] QLineEdit { - background-color: #6d6e71; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox:disabled, -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox:disabled, -QSint--ActionGroup QFrame[class="content"] QLineEdit:disabled { - color: #bdc1c9; - border-color: #9a9b9e; - background-color: #9a9b9e; -} - -QSint--ActionGroup QFrame[class="content"] QCheckBox:disabled, -QSint--ActionGroup QFrame[class="content"] QRadioButton:disabled { - color: #9a9b9e; - border-color: #9a9b9e; -} - -QSint--ActionGroup QFrame[class="content"] QCheckBox::indicator:disabled, -QSint--ActionGroup QFrame[class="content"] QRadioButton::indicator:disabled { - border-color: #9a9b9e; - background-color: transparent; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView { - border: none; - background-color: #4d4e51; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section { - background-color: transparent; - color: #c7c7c9; - border: 1px solid transparent; - border-radius: 0px; - text-align: center; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal { - padding: 6px 0px 6px 6px; - border-right: 1px solid #6d6e71; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:first { - border-left: 1px solid #85878a; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:last { - border-left: none; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:only-one { - border: none; -} -/* enf of HACK */ - - -QSint--ActionGroup QToolButton[class="action"], -QSint--ActionGroup QToolButton[class="action"]:enabled { - font-weight: bold; - color: #6d6e71; -} - -QSint--ActionGroup QToolButton[class="action"]:hover, -QSint--ActionGroup QToolButton[class="action"]:enabled:hover { - text-decoration: none; - color: #4d4e51; - background-color: #abb0b7; - border-color: #abb0b7; -} - -QSint--ActionGroup QToolButton[class="action"]:disabled { - color: #85878a; - background-color: #abb0b7; - border-color: #abb0b7; -} - -QSint--ActionGroup QToolButton[class="action"]:focus, -QSint--ActionGroup QToolButton[class="action"]:pressed -QSint--ActionGroup QToolButton[class="action"]:enabled:focus, -QSint--ActionGroup QToolButton[class="action"]:enabled:pressed { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); - border-color: #3874f2; -} - -QSint--ActionGroup QToolButton[class="action"]:on { - background-color: red; - color: red; -} - - -/* EXPERIMENTAL -================================================= */ -QDial { - background-color: #85878a; -} - -QLCDNumber { - background-color: #85878a; -} - -QCalendarWidget { - background-color: green; -} - -/* Expressions popup dialog fixes to embed elements */ -QAbstractSpinBox QPushButton { - padding: 0px 15px 0px 15px; - margin: 2px 10px 2px 10px; - border: 1px solid #4d4e51; - border-radius: 3px; -} -QAbstractSpinBox QPushButton:disabled { - color: #9a9b9e; - background-color: #85878a; - border-color: #85878a; -} - -QAbstractSpinBox QFrame, -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox QFrame { - color: #adc5ed; - background-color: #6d6e71; - border-color: #6d6e71; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox QPushButton { - padding: 6px 15px 6px 15px; -} \ No newline at end of file +/* +ABOUT +============================================================================================================ +version 2.0 +QT theme (stylesheet) specially developed for FreeCAD (http://www.freecadweb.org/). +It might work with other software that uses QT styling. + + +LICENSE +============================================================================================================ +Copyright (c) 2016 Pablo Gil Fernández + +This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. +To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. + + +INSTALLATION +============================================================================================================ +1) Place the .qss files and /images/ folder in the path that fits your OS: + OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ + WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/fStylesheets/ + LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ + +2) In order to display correctly images: + 2.1) FreeCAD 0.16 (development builds newer than commit 5b3d50a): that's it, you are done! + + 2.2) FreeCAD 0.15: Images used in the theme need ABSOLUTE paths to be found by FreeCAD, so you should search the string "qss:images" (without "") and replace with the real path of your computer. It should be done with all the .qss files you want to install-use + find = qss:images + replace = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images + + +CUSTOMIZATION +============================================================================================================ +If you would like to change the overall look/style of the theme, just find and replace following colors in the whole file: + BACKGROUND (darker to ligher) + black + #1e1e1e + #3c3c3c + #505050 + #5a5a5a + #646464 + #6e6e6e = main background color + #787878 + #8c8c8c + #a0a0a0 + #b4b4b4 + #bebebe + #c8c8c8 + #d2d2d2 + #e0e0e0 + #f5f5f5 + white + + SELECTION (darker to lighter) + #1b3774 + #2053c0 + #3874f2 + #5e90fa = main selection color + #6f9efa = used to build QSpinBox up and down buttons, it's used as color in the middle + #7cabf9 + #adc5ed + #cbd8e6 + + +KNOWN BUGS and TO DO +============================================================================================================ + - please, follow the link to get updated information: http://forum.freecadweb.org/viewtopic.php?f=10&t=12417 +*/ + + +/*================================================================================================== +Reset elements +==================================================================================================*/ +/* Reseting everything helps to unify styles across different operating systems */ +* { + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; +} + +/* specific reset for elements inside QToolBar */ +QToolBar * { + margin: 0px; + padding: 0px; +} + + +/*================================================================================================== +Main window +==================================================================================================*/ +QMainWindow, +QDialog, +QToolBar { + background-color: #6e6e6e; /* main background color */ +} + +QMdiArea[showImage="true"] { + background-image: url(qss:images/background_freecad.png); + background-position: center; + background-repeat: no-repeat; +} + + +/*================================================================================================== +MENUS +==================================================================================================*/ +QMenuBar, +QMenuBar::item { + color: #e0e0e0; + background-color: #6e6e6e; /* main background color */ +} + +QMenu, +QMenu::item { + color: #e0e0e0; + background-color: #5a5a5a; +} + +QMenuBar::item:selected, +QMenuBar::item:pressed, +QMenu::item:selected, +QMenu::item:pressed { + color: white; + background-color: #5e90fa; +} + +QMenu::right-arrow { + width: 10px; + height: 10px; + image:url(qss:images/right_arrow_dark.png); + margin-right: 2px; +} + +QMenu::right-arrow:selected { + image:url(qss:images/right_arrow_lighter.png); +} + +QMenu::item { + padding: 2px 16px 2px 26px; /* make room for icon at left */ + border: 1px solid transparent; /* reserve space for selection border */ +} + +QMenu::icon { + margin-left: 2px; +} + +QMenu::separator { + height: 1px; + background-color: rgba(255,255,255,30); + margin: 6px 4px; +} + +QMenu::indicator:non-exclusive:checked { + color: white; +} + + +/*================================================================================================== +Tool bar +==================================================================================================*/ +QToolBar { + border: none; + min-width: 32px; /* allows a minimum of space between QToolBar colums */ + min-height: 32px; /* allows a minimum of space between QToolBar rows */ +} + +QToolBar::handle:horizontal { + background-image: url(qss:images/Hmovetoolbar_dark.png); + width: 10px; + margin: 6px 2px 6px 2px; + background-position: top right; + background-repeat: repeat-y; +} + +QToolBar::handle:vertical { + background-image: url(qss:images/Vmovetoolbar_dark.png); + height: 10px; + margin: 2px 6px 2px 6px; + background-position: left bottom; + background-repeat: repeat-x; +} + +QToolBar::separator:horizontal { + background-image: url(qss:images/separtoolbar_dark.png); + width: 10px; + margin: 6px 2px 6px 2px; + background-position: center center; + background-repeat: repeat-y; +} + +QToolBar::separator:vertical { + background-image: url(qss:images/separtoolbar_dark.png); + height: 10px; + margin: 2px 6px 2px 6px; + background-position: center center; + background-repeat: repeat-x; +} + + +/*================================================================================================== +Group box +==================================================================================================*/ +QGroupBox { + color: rgba(0,0,0,120); + border:1px solid rgba(0, 0, 0, 20); /* lighter than its own border-color */; + border-radius: 3px; + margin-top: 10px; + padding: 6px; + background-color: rgba(255, 255, 255, 15); +} + +QGroupBox:title { + top: -8px; + left: 12px; +} + + +/*================================================================================================== +Tooltip +==================================================================================================*/ +QToolTip { + color: #1e1e1e; + background-color: #b4b4b4; + /*opacity: 90%; doesn't correctly work */ + padding: 4px; + border-radius: 3px; /* has no effect */ +} + + +/*================================================================================================== +Dock widget +==================================================================================================*/ +QDockWidget { + color: rgba(0,0,0,120); + titlebar-close-icon: url(qss:images/close_dark.png); + titlebar-normal-icon: url(qss:images/undock_dark.png); +} + +QDockWidget::title { + text-align: center; + background-color: rgba(0,0,0,20); + border: 4px solid #6e6e6e; /* fix to simulate margin between this :title and tabs */ /* same as main background color */ + border-radius: 6px; /* bigger than normal due to previous border fix */ + padding: 4px 0px; /* also needed because of previous border fix */ +} + +QDockWidget::close-button, +QDockWidget::float-button { + border: none; + background: transparent; + border-radius: 3px; + subcontrol-origin: padding; + subcontrol-position: right center; +} + +QDockWidget::close-button { + right: 4px; +} + +QDockWidget::float-button { + right: 22px; +} + +QDockWidget::close-button:hover, +QDockWidget::float-button:hover { + background-color: rgba(255,255,255,15); +} + +QDockWidget::close-button:pressed, +QDockWidget::float-button:pressed { + background-color: rgba(255,255,255,30); +} + +/* fix for Python Console (probably there is a smarter way to arrive to it) */ +QDockWidget > QFrame { + background-color: #c8c8c8; + border: 1px solid #505050; +} + + +/*================================================================================================== +Progress bar +==================================================================================================*/ +QProgressBar, +QProgressBar:horizontal { + color: white; + background-color: rgba(0,0,0,10); + text-align: center; + border: 1px solid rgba(0,0,0,80); + padding: 1px; + border-radius: 3px; +} +QProgressBar::chunk, +QProgressBar::chunk:horizontal { + background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #5e90fa, stop:1 #3874f2); + border-radius: 3px; +} + + +/*================================================================================================== +Scroll +==================================================================================================*/ +QAbstractScrollArea { + border-radius: 2px; + background-color: transparent; +} + +QAbstractScrollArea::corner { + border: none; + background-color: transparent; +} + +QScrollBar:horizontal { + background-color: transparent; + height: 15px; + margin: 0px; +} + +QScrollBar::handle:vertical, +QScrollBar::handle:horizontal { + background-color: rgba(0,0,0,100); +} + +QScrollBar::handle:vertical:hover, +QScrollBar::handle:horizontal:hover { + background-color: #1e1e1e; +} + +QScrollBar::handle:horizontal { + min-width: 5px; + border-radius: 3px; + margin: 4px 15px; +} + +QScrollBar::sub-line:horizontal { + margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/left_arrow_light.png); + width: 6px; + height: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal { + margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/right_arrow_light.png); + width: 6px; + height: 10px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, +QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images/left_arrow_lighter.png); +} + +QScrollBar::add-line:horizontal:hover, +QScrollBar::add-line:horizontal:on { + border-image: url(qss:images/right_arrow_lighter.png); +} + +QScrollBar::up-arrow:horizontal, +QScrollBar::down-arrow:horizontal { + background-color: none; +} + +QScrollBar::add-page:horizontal, +QScrollBar::sub-page:horizontal { + background-color: transparent; +} + +QScrollBar:vertical { + background-color: transparent; + width: 15px; + margin: 0px; +} + +QScrollBar::handle:vertical { + min-height: 5px; + border-radius: 3px; + margin: 15px 4px; +} + +QScrollBar::sub-line:vertical { + margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/up_arrow_light.png); + height: 6px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/down_arrow_light.png); + height: 6px; + width: 10px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, +QScrollBar::sub-line:vertical:on { + border-image: url(qss:images/up_arrow_lighter.png); +} + +QScrollBar::add-line:vertical:hover, +QScrollBar::add-line:vertical:on { + border-image: url(qss:images/down_arrow_lighter.png); +} + +QScrollBar::up-arrow:vertical, +QScrollBar::down-arrow:vertical { + background-color: none; +} + +QScrollBar::add-page:vertical, +QScrollBar::sub-page:vertical { + background-color: transparent; +} + + +/*================================================================================================== +Tab bar +==================================================================================================*/ +QTabWidget::pane { + background-color: transparent; /* temporal (transparent background) */ /* tab content background color */ + position: absolute; +} + +QTabWidget::pane:top { + top: -1px; + border-top: 1px solid #5a5a5a; +} + +QTabWidget::pane:bottom { + bottom: -1px; + border-bottom: 1px solid #5a5a5a; +} + +QTabWidget::pane:left { + right: -1px; + border-right: 1px solid #5a5a5a; +} + +QTabWidget::pane:right { + left: -1px; + border-left: 1px solid #5a5a5a; +} + +QTabWidget::tab-bar:top, +QTabWidget::tab-bar:bottom { + left: 10px; +} + +QTabWidget::tab-bar:left, +QTabWidget::tab-bar:right { + top: 10px; +} + +QTabBar { + qproperty-drawBase: 0; /* important */ + background-color: transparent; +} + +/* Workaround for QTabBars created from docked QDockWidgets which don't draw the border if not set and reseted as follows: */ +QTabBar { + border-top: 1px solid #5a5a5a; /* set color for all QTabBars */ +} +QDockWidget QTabBar { + border-color: transparent; /* set color for all QTabBars but ones created from QDockWidget */ +} +QDialog QTabBar { + border-color: transparent; /* set color for QTabBars inside Preferences dialog */ +} +/* end fix */ + +QTabBar::tab { + background-color: transparent; + border: 1px solid transparent; + padding: 3px; +} + +QTabBar::tab:top, +QTabBar::tab:bottom { + border-top-width: 4px; /* same as selected tab colored border in order to center close-button */ + border-bottom-width: 4px; /* same as selected tab colored border in order to center close-button */ + min-width: 11ex; + margin-left: 2px; + margin-right: 2px; +} + +QTabBar::tab:left, +QTabBar::tab:right { + border-left-width: 4px; /* same as selected tab colored border in order to center close-button */ + border-right-width: 4px; /* same as selected tab colored border in order to center close-button */ + min-height: 14ex; + margin-top: 2px; + margin-bottom: 2px; +} + +QTabBar::tab:selected { + color: #d2d2d2; + background-color: transparent; /* temporal (transparent background) */ + border-color: #5a5a5a; +} + +QTabBar::tab:top:selected { + border-top: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); /* selection color */ + border-bottom-color: #6e6e6e; /* same as tab content background color */ +} + +QTabBar::tab:bottom:selected { + border-bottom: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); /* selection color */ + border-top-color: #6e6e6e; /* same as tab content background color */ +} + +QTabBar::tab:right:selected { + border-left: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #5e90fa, stop:1 #3874f2); /* selection color */ + border-right-color: #6e6e6e; /* same as tab content background color */ +} + +QTabBar::tab:left:selected { + border-right: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #5e90fa, stop:1 #3874f2); /* selection color */ + border-left-color: #6e6e6e; /* same as tab content background color */ +} + +QTabBar::tab:!selected { + color: rgba(0,0,0,120); +} + +QTabBar::tab:!selected:hover { + color: rgba(0,0,0,180); + background-color: rgba(0,0,0,20); +} + +QTabBar::tab:first:selected { + margin-left: 0; /* the first selected tab has nothing to overlap with on the left */ +} + +QTabBar::tab:last:selected { + margin-right: 0; /* the last selected tab has nothing to overlap with on the right */ +} + +QTabBar::tab:only-one { + margin: 0; /* if there is only one tab, we don't want overlapping margins */ +} + +/* hack to access Preference TabBar background */ +QDialog#Gui__Dialog__DlgPreferences > QFrame QFrame { + background-color: transparent; /* main background color (in Windows is #6e6e6e) */ +} + +/* fix for previous hack that broke QTabWidget background on Windows */ +QDialog#Gui__Dialog__DlgPreferences QTabWidget::pane { + background-color: transparent; /* temporal (transparent background) */ +} + +/* hack to correctly align Preferences icon list on OSX */ +QDialog#Gui__Dialog__DlgPreferences > QListView { + min-width: 130px; +} + +/* unique styles for sections inside Preferences */ +QDialog#Gui__Dialog__DlgPreferences > QListView::item { + border-radius: 4px; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { + background-color: #b4b4b4; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { + color: white; + background-color: #5e90fa; + border: 1px solid #3874f2; +} + + +/*================================================================================================== +Tab bar buttons +==================================================================================================*/ +/* Close button */ +QTabBar::close-button { + subcontrol-origin: margin; + subcontrol-position: center right; /* only works for QT 4.6 and newer */; + border-radius: 2px; + background-image: url(qss:images/close_dark.png); + background-position: center center; + background-repeat: none; +} + +QTabBar::close-button:hover { + background-color: rgba(255,255,255,20); +} + +QTabBar::close-button:pressed { + background-color: rgba(255,255,255,30); +} + +/* Fix for lists inside Model tab */ +QDockWidget QTreeView, +QDockWidget QListView, +QDockWidget QTableView { + margin: 6px; + border: 1px solid #505050; /* same as regular QTreeView, QListView and QTableView */ + min-height: 40px; /* neccesary in some areas of FreeCAD */ +} + +/* Buttons to scroll tabs if there is not space to show all of them: */ +QTabBar::scroller { + width: 20px; /* the width of the scroll buttons */ +} + +QTabBar QToolButton, +QTabBar QToolButton:hover { + background-color: #6e6e6e; /* same as main background color */ +} + +QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images/right_arrow_dark.png); +} + +QTabBar QToolButton::right-arrow:disabled, +QTabBar QToolButton::right-arrow:off { + image: url(qss:images/right_arrow_disabled_dark.png); +} + +QTabBar QToolButton::right-arrow:hover { + image: url(qss:images/right_arrow_darker.png); +} + + QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images/left_arrow_dark.png); +} + + QTabBar QToolButton::left-arrow:disabled, + QTabBar QToolButton::left-arrow:off { + image: url(qss:images/left_arrow_disabled_dark.png); +} + + QTabBar QToolButton::left-arrow:hover { + image: url(qss:images/left_arrow_darker.png); +} + + QTabBar QToolButton::up-arrow:enabled { + image: url(qss:images/up_arrow_dark.png); +} + + QTabBar QToolButton::up-arrow:disabled, + QTabBar QToolButton::up-arrow:off { + image: url(qss:images/up_arrow_disabled_dark.png); +} + + QTabBar QToolButton::up-arrow:hover { + image: url(qss:images/up_arrow_darker.png); +} + + QTabBar QToolButton::down-arrow:enabled { + image: url(qss:images/down_arrow_dark.png); +} + + QTabBar QToolButton::down-arrow:disabled, + QTabBar QToolButton::down-arrow:off { + image: url(qss:images/down_arrow_disabled_dark.png); +} + + QTabBar QToolButton::down-arrow:hover { + image: url(qss:images/down_arrow_darker.png); +} + +QTabBar::tear { + /* default OS tear better */ +} + + +/*================================================================================================== +Tree and list views +==================================================================================================*/ +QTreeView, +QListView, +QTableView { + background-color: #c8c8c8; + alternate-background-color: #bebebe; /* related with QListView background */ + border: 1px solid #505050; + selection-color: white; + selection-background-color: #5e90fa; /* should be similar to QListView::item selected background-color */ + show-decoration-selected: 1; /* make the selection span the entire width of the view */ + border-radius: 3px; +} + +QListView::item:selected, +QTreeView::item:selected { + color: white; /* should be similar to QListView selection-color */ + background-color: #5e90fa; /* should be similar to QListView selection-background-color */ + show-decoration-selected: 1; /* make the selection span the entire width of the view */ +} + +/* Property Editor QTreeView (FreeCAD custom widget) */ +Gui--PropertyEditor--PropertyEditor { + gridline-color: #a0a0a0; /* same as Group header background */ +} + +/* fix for column items background when a link is present */ +Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { + background-color: #cbd8e6; /* same as focused background color */ +} + +/* hack to hide weird redundant information inside the value of a Placement cell */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 0px; + margin: 0px; + padding: 0px; +} + +/* hack to hide non editable cells inside Property values */ +Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, +Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { + color: transparent; + border-color: transparent; + background-color: transparent; + selection-color: transparent; + selection-background-color: transparent; +} + +/* hack to disable margin inside Property values to following elements */ +Gui--PropertyEditor--PropertyEditor QSpinBox, +Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, +Gui--PropertyEditor--PropertyEditor QLineEdit, +Gui--PropertyEditor--PropertyEditor QComboBox { + margin-left: 0px; + margin-right: 0px; + padding-top: 0px; + padding-bottom: 0px; +} + +/* set border-radius to 0px inside list views */ +QTreeView > QWidget > QComboBox, +QTreeView > QWidget > QAbstractSpinBox, +QTreeView > QWidget > QSpinBox, +QTreeView > QWidget > QDoubleSpinBox, +QTreeView > QWidget > QLineEdit, +QTreeView > QWidget > QTextEdit, +QTreeView > QWidget > QTimeEdit, +QTreeView > QWidget > QDateEdit, +QTreeView > QWidget > QDateTimeEdit, +QTreeView > QWidget > QComboBox:drop-down, +QTreeView > QWidget > QAbstractSpinBox:up-button, +QTreeView > QWidget > QSpinBox:up-button, +QTreeView > QWidget > QDoubleSpinBox:up-button, +QTreeView > QWidget > QTimeEdit:up-button, +QTreeView > QWidget > QDateEdit:up-button, +QTreeView > QWidget > QDateTimeEdit:up-button, +QTreeView > QWidget > QAbstractSpinBox:down-button, +QTreeView > QWidget > QSpinBox:down-button, +QTreeView > QWidget > QDoubleSpinBox:down-button, +QTreeView > QWidget > QTimeEdit:down-button, +QTreeView > QWidget > QDateEdit:down-button, +QTreeView > QWidget > QDateTimeEdit:down-button, +QTreeView > QWidget > Gui--ColorButton { + border-radius: 0px; +} + +/* set focus colors to best viewing the editable fields */ +QTreeView > QWidget > QComboBox:focus, +QTreeView > QWidget > QAbstractSpinBox:focus, +QTreeView > QWidget > QSpinBox:focus, +QTreeView > QWidget > QDoubleSpinBox:focus, +QTreeView > QWidget > QLineEdit:focus, +QTreeView > QWidget > QTextEdit:focus, +QTreeView > QWidget > QTimeEdit:focus, +QTreeView > QWidget > QDateEdit:focus, +QTreeView > QWidget > QDateTimeEdit:focus { + border-color: #cbd8e6; /* same as focused background color */ + border-bottom-color: #7cabf9; /* same as focused border color */ +} + +QTreeView > QWidget > QAbstractSpinBox:read-only, +QTreeView > QWidget > QSpinBox:read-only, +QTreeView > QWidget > QDoubleSpinBox:read-only, +QTreeView > QWidget > QLineEdit:read-only, +QTreeView > QWidget > QTextEdit:read-only, +QTreeView > QWidget > QTimeEdit:read-only, +QTreeView > QWidget > QDateEdit:read-only, +QTreeView > QWidget > QDateTimeEdit:read-only { + color: transparent; + background-color: transparent; + border-color: transparent; +} + +/* Fix to correctly (not totally) draw QTextEdit on OSX at Page properties: "Page result", "Template" and "Editable Texts" */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget { + min-height: 14px; +} + + +/*================================================================================================== +Header of tree and list views +==================================================================================================*/ +QHeaderView { + color: #c8c8c8; + background-color: #505050; + border-top-left-radius: 2px; /* 1px less than its container */ + border-top-right-radius: 2px; /* 1px less than its container */ + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; +} + +QHeaderView::section { + border:none; + padding: 4px 6px; + background-color: #505050; +} + +QHeaderView::section:horizontal { + padding: 4px 6px; /* left and right value similar to QHeaderView::section */ + border-right: 1px solid rgba(255,255,255,30); +} + +QHeaderView::section:vertical { + border-bottom: 1px solid rgba(255,255,255,30); +} + +QTableCornerButton::section { + background-color: #505050; + border-top: none; + border-left: none; + border-right: 1px solid rgba(255,255,255,30); + border-bottom: 1px solid rgba(255,255,255,30); +} + +QHeaderView::section:last { + border-right: none; +} + +QHeaderView::up-arrow { + image: url(qss:images/up_arrow_light.png); +} + +QHeaderView::up-arrow:hover { + image: url(qss:images/up_arrow_lighter.png); +} + +QHeaderView::down-arrow { + image: url(qss:images/down_arrow_light.png); +} + +QHeaderView::down-arrow:hover { + image: url(qss:images/down_arrow_lighter.png); +} + +/* Group header inside Property Editor (FreeCAD custom widget) */ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: #505050; + qproperty-groupBackground: #8c8c8c; +} + + +/*================================================================================================== +Branch system for QTreeViews +==================================================================================================*/ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images/branch_vline.png) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images/branch_more.png) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images/branch_end.png) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + image: url(qss:images/branch_closed_dark.png); +} + +QTreeView::branch:has-children:!has-siblings:closed { + image: url(qss:images/branch_closed_dark.png); + border-image: url(qss:images/branch_end.png) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + image: url(qss:images/branch_open_dark.png); + border-image: url(qss:images/branch_more.png) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + image: url(qss:images/branch_open_dark.png); + border-image: url(qss:images/branch_end.png) 0; +} + + +/*================================================================================================== +Splitter and windows separator +==================================================================================================*/ +QSplitter::handle { + margin: 0px 11px; + padding: 0px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images/splitter_horizontal_dark.png); + background-position: center center; + background-repeat: none; + margin: 2px 4px 2px 4px; + height: 2px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images/splitter_vertical_dark.png); + background-position: center center; + background-repeat: none; + margin: 4px 2px 4px 2px; + width: 2px; +} + +/* Similar to the splitter is the following window separator: */ +QMainWindow::separator { + background-position: center center; + background-repeat: none; +} + +QMainWindow::separator:horizontal { + height: 2px; + background-image: url(qss:images/splitter_horizontal_dark.png); + margin: 4px 2px 4px 2px; +} + +QMainWindow::separator:vertical { + width: 2px; + background-image: url(qss:images/splitter_vertical_dark.png); + margin: 2px 4px 2px 4px; +} + + +/*================================================================================================== +Tasks panel (custom FreeCAD class) +==================================================================================================*/ +/* Action group */ +QFrame[class="panel"] { + background-color: transparent; /* temporal (transparent background) */ +} + +/* Separator line */ +QSint--ActionGroup QFrame[height="1"], +QSint--ActionGroup QFrame[height="2"], +QSint--ActionGroup QFrame[height="3"], +QSint--ActionGroup QFrame[width="1"], +QSint--ActionGroup QFrame[width="2"], +QSint--ActionGroup QFrame[width="3"] { + border-color: rgba(0,0,0,60); +} + +/* Panel header */ +QSint--ActionGroup QFrame[class="header"] { + border: none; + background-color: #505050; /* Task Panel Header background color */ + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + margin: 0px; + padding: 0px; +} + +QSint--ActionGroup QFrame[class="header"]:hover { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); +} + +QSint--ActionGroup QToolButton[class="header"] { + color: #e0e0e0; /* Task Panel Header text color */ + text-align: left; + font-weight: bold; + border: none; + margin: 0px; + padding: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel { + background-color: transparent; + background-image: url(qss:images/down_arrow_light.png); + background-repeat: none; + background-position: center center; + padding: 0px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel:hover { + background-color: transparent; + background-image: url(qss:images/down_arrow_lighter.png); +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { + background-color: transparent; + background-image: url(qss:images/up_arrow_light.png); + background-repeat: none; + background-position: center center; + padding: 0px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { + background-color: transparent; + background-image: url(qss:images/up_arrow_lighter.png); +} + +QSint--ActionGroup QFrame[class="content"] { + background-color: #8c8c8c; /* Task Panel background color */ + margin: 0px; + padding: 0px; + border: none; + border-top-left-radius: 0px; + border-top-right-radius: 0px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; +} + +QSint--ActionGroup QFrame[class="content"] > QWidget { + background-color: #8c8c8c; /* Task Panel background color */ +} + +/* Fixs for tabs inside Task Panel */ +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { + border-bottom-color: #8c8c8c; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { + border-top-color: #8c8c8c; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { + border-right-color: #8c8c8c; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { + border-left-color: #8c8c8c; /* same as Task Panel background color */ +} + + +/*================================================================================================== +Buttons +==================================================================================================*/ +/* Common */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QLineEdit, +QTextEdit, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + color: #bebebe; + background-color: #5a5a5a; + selection-color: white; + selection-background-color: #3874f2; + border: 1px solid #5a5a5a; + border-radius: 3px; + min-width: 50px; /* it ensures the default value is correctly displayed */ + padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ +} + +/* shifts text/number editable field to the left to make space for the up/down or drop-down buttons */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + padding-right: 20px; +} + +/* when QTextEdit are no editable */ +QTextEdit:!editable { + background-color: #c8c8c8; + border: 1px solid #505050; +} + +QComboBox:focus, +QAbstractSpinBox:focus, +QSpinBox:focus, +QDoubleSpinBox:focus, +QLineEdit:focus, +QTextEdit:focus, +QTimeEdit:focus, +QDateEdit:focus, +QDateTimeEdit:focus { + color: black; + border-color: #7cabf9; + border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #7cabf9); /* same as up/down or drop-down button color */ + background-color: #cbd8e6; +} + +QComboBox:disabled, +QAbstractSpinBox:disabled, +QSpinBox:disabled, +QDoubleSpinBox:disabled, +QLineEdit:disabled, +QTextEdit:disabled, +QTimeEdit:disabled, +QDateEdit:disabled, +QDateTimeEdit:disabled { + color: #787878; + background-color: #5a5a5a; /* same as enabled color */ + border-color: #5a5a5a; /* same as enabled color */ +} + +QAbstractSpinBox:up-button, +QSpinBox:up-button, +QDoubleSpinBox:up-button, +QTimeEdit:up-button, +QDateEdit:up-button, +QDateTimeEdit:up-button, +QAbstractSpinBox:down-button, +QSpinBox:down-button, +QDoubleSpinBox:down-button, +QTimeEdit:down-button, +QDateEdit:down-button, +QDateTimeEdit:down-button { + background-color: #505050; /* same color for QComboBox background-color */ + subcontrol-origin: border; /* important */ + width: 20px; /* same as QComboBox ... QDateTimeEdit padding-right */ +} + +QAbstractSpinBox:up-button, +QSpinBox:up-button, +QDoubleSpinBox:up-button, +QTimeEdit:up-button, +QDateEdit:up-button, +QDateTimeEdit:up-button { + subcontrol-position: top right; + border-top-right-radius: 3px; + height: 12px; /* fix for Ubuntu that doesn't divide the up/down button into the exact middle */ +} + +QAbstractSpinBox:down-button, +QSpinBox:down-button, +QDoubleSpinBox:down-button, +QTimeEdit:down-button, +QDateEdit:down-button, +QDateTimeEdit:down-button { + subcontrol-position: bottom right; + border-bottom-right-radius: 3px; +} + +QAbstractSpinBox:up-button:focus, +QSpinBox:up-button:focus, +QDoubleSpinBox:up-button:focus, +QTimeEdit:up-button:focus, +QDateEdit:up-button:focus, +QDateTimeEdit:up-button:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #6f9efa, stop:1 #7cabf9); +} + +QAbstractSpinBox:down-button:focus, +QSpinBox:down-button:focus, +QDoubleSpinBox:down-button:focus, +QTimeEdit:down-button:focus, +QDateEdit:down-button:focus, +QDateTimeEdit:down-button:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #6f9efa); +} + +QAbstractSpinBox:up-button:disabled, +QSpinBox:up-button:disabled, +QDoubleSpinBox:up-button:disabled, +QTimeEdit:up-button:disabled, +QDateEdit:up-button:disabled, +QDateTimeEdit:up-button:disabled, +QAbstractSpinBox:down-button:disabled, +QSpinBox:down-button:disabled, +QDoubleSpinBox:down-button:disabled, +QTimeEdit:down-button:disabled, +QDateEdit:down-button:disabled, +QDateTimeEdit:down-button:disabled { + background-color: transparent; +} + +QAbstractSpinBox::up-arrow, +QSpinBox::up-arrow, +QDoubleSpinBox::up-arrow, +QTimeEdit::up-arrow, +QDateEdit::up-arrow, +QDateTimeEdit::up-arrow { + image: url(qss:images/up_arrow_light.png); + top: 0px; /* fix simetry between up and down images */ +} + +QAbstractSpinBox::up-arrow:focus, +QSpinBox::up-arrow:focus, +QDoubleSpinBox::up-arrow:focus, +QTimeEdit::up-arrow:focus, +QDateEdit::up-arrow:focus, +QDateTimeEdit::up-arrow:focus { + image: url(qss:images/up_arrow_lighter.png); +} + +QAbstractSpinBox::up-arrow:off, +QSpinBox::up-arrow:off, +QDoubleSpinBox::up-arrow:off, +QTimeEdit::up-arrow:off, +QDateEdit::up-arrow:off, +QDateTimeEdit::up-arrow:off { + image: url(qss:images/up_arrow_disabled_dark.png); +} + +QAbstractSpinBox::up-arrow:disabled, +QSpinBox::up-arrow:disabled, +QDoubleSpinBox::up-arrow:disabled, +QTimeEdit::up-arrow:disabled, +QDateEdit::up-arrow:disabled, +QDateTimeEdit::up-arrow:disabled { + image: url(qss:images/up_arrow_disabled_dark.png); +} + +QAbstractSpinBox::down-arrow, +QSpinBox::down-arrow, +QDoubleSpinBox::down-arrow, +QTimeEdit::down-arrow, +QDateEdit::down-arrow, +QDateTimeEdit::down-arrow { + image: url(qss:images/down_arrow_light.png); + bottom: 0px; /* fix simetry between up and down images */ +} + +QAbstractSpinBox::down-arrow:focus, +QSpinBox::down-arrow:focus, +QDoubleSpinBox::down-arrow:focus, +QTimeEdit::down-arrow:focus, +QDateEdit::down-arrow:focus, +QDateTimeEdit::down-arrow:focus { + image: url(qss:images/down_arrow_lighter.png); +} + +QAbstractSpinBox::down-arrow:off, +QSpinBox::down-arrow:off, +QDoubleSpinBox::down-arrow:off, +QTimeEdit::down-arrow:off, +QDateEdit::down-arrow:off, +QDateTimeEdit::down-arrow:off { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +QAbstractSpinBox::down-arrow:disabled, +QSpinBox::down-arrow:disabled, +QDoubleSpinBox::down-arrow:disabled, +QTimeEdit::down-arrow:disabled, +QDateEdit::down-arrow:disabled, +QDateTimeEdit::down-arrow:disabled { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +/* ComboBox */ +QComboBox::drop-down { + background-color: #505050; /* same color as up/down QSpinBox ... QDateTimeView background-color */ + subcontrol-origin: border; /* important */ + subcontrol-position: top right; + width: 20px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +QComboBox::drop-down:on, +QComboBox::drop-down:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #7cabf9); +} + +QComboBox::down-arrow { + image: url(qss:images/down_arrow_light.png); +} + +QComboBox::down-arrow:on, +QComboBox::down-arrow:focus { + image: url(qss:images/down_arrow_lighter.png); +} + +QComboBox::down-arrow:off, +QComboBox::down-arrow:disabled { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +/* ComboBox menu */ +QComboBox { + selection-color: white; + selection-background-color: #5e90fa; +} + +QComboBox QAbstractItemView { + color: #bebebe; /* same as regular QComboBox color */ + background-color: transparent; + selection-color: white; + selection-background-color: #5e90fa; + border-width: 5px 0px 5px 0px; + border-style: solid; + border-color: transparent; + margin: 0px -1px 0px 0px; /* hack for Mac... try it on Windows and Linux */ +} + + +/*================================================================================================== +Push button +==================================================================================================*/ +QPushButton { + color: #e0e0e0; + text-align: center; + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #6e6e6e, stop:1 #646464); + border: 1px solid #5a5a5a; + border-bottom-color: #505050; /* simulates shadow under the button */ + padding: 4px 22px; + margin: 4px 4px; + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 4px; +} + +QPushButton:hover, +QPushButton:focus { + color: white; + border-color: #3874f2; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); +} + +QPushButton:disabled, +QPushButton:disabled:checked { + color: #787878; + background-color: #5a5a5a; /* same as enabled color */ + border-color: #5a5a5a; /* same as enabled color */ +} + +QPushButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #3874f2, stop:1 #5e90fa); +} + +QPushButton:checked { + background-color: #5e90fa; + border-color: #3874f2; +} + +/* Color Buttons */ +Gui--ColorButton, +Gui--ColorButton:disabled { + padding: 0px; /* reset */ + margin: 0px; /* reset */ +} + +Gui--ColorButton { + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #6e6e6e, stop:1 #646464); + border: 1px solid #5a5a5a; + border-bottom-color: #505050; /* simulates shadow under the button */ +} + +Gui--ColorButton:disabled { + border-color: transparent; + background-color: rgba(0,0,0,10); +} + +Gui--ColorButton:hover, +Gui--ColorButton:focus { + border-color: #3874f2; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); +} + +Gui--ColorButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #3874f2, stop:1 #5e90fa); +} + +/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QPushButton { + background-color: #6e6e6e; + border: 1px solid #5a5a5a; + min-width: 16px; /* reset it due to larger value on regular QPushButton, same or bigger value as regular QPushButton min-height */ + border-radius: 0px; + margin: 0px; /* reset */ + padding: 0px; /* reset */ +} + +/* Fix for Expressions description QFrame that is "broken" with initial reset */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget > QWidget > QFrame { + background-color: #6e6e6e; /* main background color */ + border: 1px solid #5a5a5a; + border-radius: 2px; + padding: 2px 6px; +} + + +/*================================================================================================== +Tool button inside QDialogs that works as QPushButtons +==================================================================================================*/ +/* found under Tools -> Customize -> Macros -> Pixmap "..." button */ +QDialog QToolButton { + color: #e0e0e0; + text-align: center; + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #6e6e6e, stop:1 #646464); + border: 1px solid #5a5a5a; + border-bottom-color: #505050; /* simulates shadow under the button */ + padding: 0px; /* different than regular QPushButton */ + margin: 2px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 4px; +} + +QDialog QToolButton:hover, +QDialog QToolButton:focus { + color: white; + border-color: #3874f2; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); +} + +QDialog QToolButton:disabled, +QDialog QToolButton:disabled:checked { + color: #6e6e6e; + border-color: #5a5a5a; + background-color: #5a5a5a; +} + +QDialog QToolButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #3874f2, stop:1 #5e90fa); +} + +QPushButton:checked { + background-color: #5e90fa; + border-color: #3874f2; +} + + +/*================================================================================================== +Radio button +==================================================================================================*/ +QRadioButton::indicator:unchecked{ + color: black; + background-color: rgba(255,255,255,20); + border: 1px solid #5a5a5a; +} + +QRadioButton::indicator:checked { + background-color: #5e90fa; /* QCheckBox has the same color */ + border: 1px solid #3874f2; /* QCheckBox has the same color */ + image:url(qss:images/radiobutton_light.png); +} + +QRadioButton, +QRadioButton:disabled { + color: black; + padding: 3px; + outline: none; + background-color: transparent; +} + +QRadioButton::indicator { + width: 11px; + height: 11px; + border-radius: 6px; +} + +QRadioButton::indicator:pressed { + border-color: #adc5ed; +} + +QRadioButton::indicator:disabled { + border: 1px solid #f5f5f5; +} + +QRadioButton::indicator:disabled { + color: #f5f5f5; + background-color: transparent; +} + +QRadioButton:focus { + border: none; +} + + +/*================================================================================================== +Checkbox +==================================================================================================*/ +QCheckBox, +QCheckBox:disabled { + color: black; + padding: 3px; + outline: none; + background-color: transparent; +} + +QCheckBox::indicator { + color: black; + background-color: rgba(255,255,255,20); + border: 1px solid #5a5a5a; +} + +QCheckBox::indicator { + width: 11px; + height: 11px; + border-radius:2px; +} + +QCheckBox::indicator:pressed, +QCheckBox::indicator:non-exclusive:checked:pressed, +QCheckBox::indicator:indeterminate:pressed, +QCheckBox::indicator:checked:pressed { + border-color: #adc5ed; +} + +QCheckBox::indicator:checked { + background-color: #5e90fa; /* QRadioButton has the same color */ + border: 1px solid #3874f2; /* QRadioButton has the same color */ + image:url(qss:images/checkbox_light.png); +} + +QCheckBox:disabled { + color: rgba(255,255,255,40); + background-color: transparent; +} + +QCheckBox::indicator:disabled { + background-color: rgba(255,255,255,20); + border: 1px solid rgba(255,255,255,20); +} + +QCheckBox::indicator:indeterminate { + background-color: #5e90fa; + border: 1px solid #3874f2; + image: url(qss:images/checkbox_indeterminate_light.png); +} + +QCheckBox:focus { + border: none; +} + + +/*================================================================================================== +Slider +==================================================================================================*/ +QSlider, +QSlider:active, +QSlider:!active { + border: none; + background-color: transparent; +} + +QSlider:horizontal { + padding: 0px 10px; +} + +QSlider:vertical { + padding: 10px 0px; +} + +QSlider::groove { + background-color: rgba(0,0,0,30); + border: 1px solid rgba(0,0,0,40); + border-radius: 5px; + margin: 4px 0px; +} + +QSlider::groove:horizontal { + height: 8px; +} + +QSlider::groove:vertical { + width: 8px; +} + +QSlider::groove:horizontal:disabled, +QSlider::groove:vertical:disabled { + border-color: #5a5a5a; + background-color: #5a5a5a; +} + +QSlider::handle:horizontal, +QSlider::handle:vertical { + background-color: #505050; + border: 1px solid #505050; + width: 14px; + height: 14px; + border-radius: 8px; +} + +QSlider::handle:horizontal { + margin: -4px 0; +} + +QSlider::handle:vertical { + margin: 0 -4px; +} + +QSlider::handle:horizontal:hover, +QSlider::handle:vertical:hover, +QSlider::handle:horizontal:pressed, +QSlider::handle:vertical:pressed { + border-color: #5e90fa; + background-color: #5e90fa; +} + +QSlider::handle:horizontal:disabled, +QSlider::handle:vertical:disabled { + border-color: #5a5a5a; + background-color: #5a5a5a; +} + + +/*================================================================================================== +Toolbar buttons +==================================================================================================*/ +QToolBar > QToolButton { + margin: 2px; + padding: 2px; +} + +QToolBar > QPushButton, +/*QToolBar > QComboBox, disabled because creates different margins for body and drop-down button */ +QToolBar > QAbstractSpinBox, +QToolBar > QSpinBox, +QToolBar > QDoubleSpinBox, +QToolBar > QLineEdit, +QToolBar > QTextEdit, +QToolBar > QTimeEdit, +QToolBar > QDateEdit, +QToolBar > QDateTimeEdit { + margin: 2px; + padding: 2px; +} + +QToolBar > QPushButton { + border-radius: 4px; /* same as regular QPushButton */ + min-width: 20px; /* reset it due to larger value on regular QPushButton, same or bigger value as regular QPushButton min-height */ +} + +QToolBar > QPushButton:checked { + border: 1px solid #3874f2; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); +} + +QToolBar > QPushButton:!checked { + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #6e6e6e, stop:1 #646464); + border: 1px solid #5a5a5a; + border-bottom-color: #505050; /* simulates shadow under the button */ +} + +QToolBar > QPushButton:checked:hover { + border-color: #2053c0; +} + +QToolBar > QPushButton:!checked:hover { + color: #cbd8e6; + border-color: #505050; +} + +QToolBar > QPushButton:checked:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #3874f2, stop:1 #5e90fa); +} + +QToolBar > QPushButton:!checked:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5a5a5a, stop:1 #6e6e6e); +} + +QToolBar > QPushButton:checked:disabled, +QToolBar > QPushButton:!checked:disabled { + border: none; + background-color: transparent; +} + +/* ToolBar menu buttons (buttons with drop-down menu) */ +QToolBar > QToolButton#qt_toolbutton_menubutton { + padding-right: 20px; /* Hack to add more width to buttons with menu */ + border: 1px solid transparent; + border-radius: 3px; +} + +QToolBar > QToolButton#qt_toolbutton_menubutton:hover, +QToolBar > QToolButton#qt_toolbutton_menubutton:pressed, +QToolBar > QToolButton#qt_toolbutton_menubutton:open { + border: 1px solid #7cabf9; +} + +QToolBar QToolButton::menu-button, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button { + border: none; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + width: 16px; /* 16px width + 4px for border = 20px allocated above */ + outline: none; + background-color: transparent; +} + +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:hover, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:pressed, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:open { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #7cabf9); +} + +QToolBar > QToolButton::menu-arrow { + background-image: url(qss:images/down_arrow_dark.png); + background-position: center center; + background-repeat: none; + subcontrol-origin: padding; + subcontrol-position: bottom right; + height: 10px; /* same as arrow image */ +} + +QToolBar > QToolButton::menu-arrow:hover { + background-image: url(qss:images/down_arrow_lighter.png); +} + +QToolBar > QToolButton::menu-arrow:open { + background-image: url(qss:images/down_arrow_lighter.png); +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" */ +QToolBar QToolButton#qt_toolbar_ext_button { + margin: 0px; + padding: 0px; + /*background-image: url(qss:images/more_dark.png);*/ + image: transparent; + background-repeat: none; + background-position: center left; +} + +QToolBar QToolButton#qt_toolbar_ext_button:hover { + /*background-image: url(qss:images/more_light.png);*/ + border-color: #5a5a5a; + background-color: #5a5a5a; +} + +QToolBar QToolButton#qt_toolbar_ext_button:on { + /*background-image: url(qss:images/more_light.png);*/ + border-color: #5a5a5a; + background-color: #5a5a5a; +} + + +/*================================================================================================== +Tables (spreadsheets) +==================================================================================================*/ +QTableView { + gridline-color: #a0a0a0; + selection-color: #1b3774; + selection-background-color: #cbd8e6; +} + +QTableView::item:hover { + background-color: rgba(0,0,0,10); /* temporal: is it displayed in Linux or Windows? on OSX it isn't */ +} + +QTableView::item:disabled { + color: #8c8c8c; +} + +QTableView::item:selected { + color: #1b3774; + border-color: #cbd8e6; /* same as focused background color */ + border-bottom-color: #7cabf9; /* same as focused border color */ +} + +/* fix for elements inside the cells */ +QTableView QComboBox, +QTableView QAbstractSpinBox, +QTableView QSpinBox, +QTableView QDoubleSpinBox, +QTableView QLineEdit, +QTableView QTextEdit, +QTableView QTimeEdit, +QTableView QDateEdit, +QTableView QDateTimeEdit, +QTableView QComboBox:drop-down, +QTableView QAbstractSpinBox:up-button, +QTableView QSpinBox:up-button, +QTableView QDoubleSpinBox:up-button, +QTableView QTimeEdit:up-button, +QTableView QDateEdit:up-button, +QTableView QDateTimeEdit:up-button, +QTableView QAbstractSpinBox:down-button, +QTableView QSpinBox:down-button, +QTableView QDoubleSpinBox:down-button, +QTableView QTimeEdit:down-button, +QTableView QDateEdit:down-button, +QTableView QDateTimeEdit:down-button, +QTableView Gui--ColorButton { + border-radius: 0px; +} + +QTableView QComboBox, +QTableView QAbstractSpinBox, +QTableView QSpinBox, +QTableView QDoubleSpinBox, +QTableView QLineEdit, +QTableView QTextEdit, +QTableView QTimeEdit, +QTableView QDateEdit, +QTableView QDateTimeEdit { + color: black; + background-color: transparent; + border-color: transparent; +} + +QTableView QComboBox:drop-down, +QTableView QAbstractSpinBox:up-button, +QTableView QSpinBox:up-button, +QTableView QDoubleSpinBox:up-button, +QTableView QTimeEdit:up-button, +QTableView QDateEdit:up-button, +QTableView QDateTimeEdit:up-button, +QTableView QAbstractSpinBox:down-button, +QTableView QSpinBox:down-button, +QTableView QDoubleSpinBox:down-button, +QTableView QTimeEdit:down-button, +QTableView QDateEdit:down-button, +QTableView QDateTimeEdit:down-button, +QTableView Gui--ColorButton { + background-color: rgba(0,0,0,30); +} + +QTableView QComboBox:focus, +QTableView QAbstractSpinBox:focus, +QTableView QSpinBox:focus, +QTableView QDoubleSpinBox:focus, +QTableView QLineEdit:focus, +QTableView QTextEdit:focus, +QTableView QTimeEdit:focus, +QTableView QDateEdit:focus, +QTableView QDateTimeEdit:focus { + color: #1b3774; + selection-color: white; + selection-background-color: #5e90fa; + border-color: #cbd8e6; + background-color: #cbd8e6; +} + +QTableView QComboBox:disabled, +QTableView QAbstractSpinBox:disabled, +QTableView QSpinBox:disabled, +QTableView QDoubleSpinBox:disabled, +QTableView QLineEdit:disabled, +QTableView QTextEdit:disabled, +QTableView QTimeEdit:disabled, +QTableView QDateEdit:disabled, +QTableView QDateTimeEdit:disabled { + color: rgba(0,0,0,120); + background-color: transparent; + border-color: transparent; +} + +QTableView QComboBox:read-only, +QTableView QAbstractSpinBox:read-only, +QTableView QSpinBox:read-only, +QTableView QDoubleSpinBox:read-only, +QTableView QLineEdit:read-only, +QTableView QTextEdit:read-only, +QTableView QTimeEdit:read-only, +QTableView QDateEdit:read-only, +QTableView QDateTimeEdit:read-only { + color: black; + background-color: transparent; + border-color: transparent; +} + + +/*================================================================================================== +EXPERIMENTAL +==================================================================================================*/ + +/* Fix for preventing elements in different rows to accidentaly overlap */ +QDialog QGroupBox QFrame { + margin: 2px 0px; +} + +*[mandatoryField="true"] { background-color: cyan } + + + diff --git a/dark-green.qss b/dark-green.qss index 1f1fe44..62b517c 100644 --- a/dark-green.qss +++ b/dark-green.qss @@ -1,1906 +1,1883 @@ -/* -ABOUT -=========================================================== -version 1.8 -QT theme (stylesheet) specially developed for FreeCAD (http://www.freecadweb.org/). -It might work with other software that uses QT styling. - - -LICENSE -=========================================================== -Copyright (c) 2015 Pablo Gil Fernández -The stylesheet barely uses code from Colin Duquesnoy "generic QT stylesheet" - -This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. -To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. - - -INSTALLATION -=========================================================== -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -2) In order to display correctly images that are used inside the stylesheet: - 2.1) If you use FreeCAD 0.16 (development builds newer than commit 5b3d50a): that's it, you are done! - - 2.2) If you use FreeCAD 0.15: Images used in the theme need full paths to be found by FreeCAD, so you should search the string "qss:images" (without "") and replace with the real path of your computer. It should be done with all the .qss files you want to install-use - find = qss:images - replace = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images - - -CUSTOMIZATION -=========================================================== -If you would like to change the overall look/style of the theme, just find and replace following colors in the whole file: - background darker = #4f514d - background dark and slightly darker = #5f615d - background dark = #6f716d - background normal and slightly darker = #7d7f79 - background normal = #888a85 - background light = #9c9e9a - background lighter = #c8c9c7 - - lists background = #d0d3cd - lists background (alternate) = #cccfc9 - lists backgrounds selection = #c8cbc4 - - foreground = white - - selection darker = #5d7619 - selection dark = #97c029 - selection normal = #b5d757 - selection inbetween normal and light = #c0dd70 (used to build SpinBoxes) - selection light = #cbe389 - selection lighter = #dfefb4 - - -CAVEATS -=========================================================== - - FreeCAD 0.15 - - full paths to images are needed, that means all these .qss files should be edited per user - - the "Task panel" is not stylable - - in app icons-buttons are designed in svg but are not stylable, that is, it's not possible to change them... I hope it also changes in the near future - - -KNOWN BUGS and TO DO -=========================================================== - - please, follow the link to get updated information: http://forum.freecadweb.org/viewtopic.php?f=10&t=12417 -*/ - -/* RESET EVERYTHING */ -QAbstractScrollArea,QCheckBox,QColumnView,QComboBox,QDateEdit,QDateTimeEdit,QDialog,QDialogButtonBox,QDockWidget,QDoubleSpinBox,QFrame,QGroupBox,QHeaderView,QLabel,QLineEdit,QListView,QListWidget,QMainWindow,QMenu,QMenuBar,QMessageBox,QProgressBar,QPushButton,QRadioButton,QScrollBar,QSizeGrip,QSlider,QSpinBox,QSplitter,QStatusBar,QTabBar,QTabWidget,QTableView,QTableWidget,QTextEdit,QTimeEdit,QToolBar,QToolButton,QToolBox,QToolTip,QTreeView,QTreeWidget,QWidget { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - background-color: #888a85; /* set with default background color */ -} - -QMdiArea[showImage="true"] { - background-image: url(qss:images/background_freecad.png); - background-position: center; - background-repeat: no-repeat; -} - -QProgressBar, -QProgressBar:horizontal { - background: #d0d3cd; - border: 1px solid #6f716d; - text-align: center; - padding: 1px; - border-radius: 4px; -} -QProgressBar::chunk, -QProgressBar::chunk:horizontal { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); - border-radius: 3px; -} - -QToolTip { - background-color: #4f514d; - color: white; - padding: 4px; - border-radius: 4px; - /*opacity: 200;*/ -} - -QWidget { - color: #4f514d; - background-color: #888a85; - background-clip: border; - border-image: none; - outline: 0; -} - -QWidget:focus { - border: 1px solid #4f514d; -} - -QWidget:disabled { - color: #9c9e9a; - background-color: #4f514d; /* same as QMenu background-color */ -} - -QMenuBar { - color: #c8c9c7; - background-color: #7d7f79; -} - -QMenuBar::item { - background-color: #7d7f79; -} - -QMenuBar::item:selected { - color: #5d7619; - border: 1px solid #b5d757; - background-color: #b5d757; -} - -QMenuBar::item:pressed { - color: #5d7619; - border: 1px solid #cbe389; - background-color: #cbe389; - margin-bottom:-1px; - padding-bottom:1px; -} - -QMenu { - color: #c8c9c7; - background-color: #4f514d; - margin: 2px; - border: 1px solid transparent; -} - -QMenu::icon { - margin: 5px; - border-style: none; -} - -QMenu::right-arrow { - image:url(qss:images/right_arrow_light.png); -} - -QMenu::item { - color: #c8c9c7; - background-color: #4f514d; - padding: 2px 30px 2px 30px; - border: 1px solid #4f514d; /* reserve space for selection border */ -} - -QMenu::item:selected { - color: #5d7619; - background-color: #cbe389; -} - -QMenu::separator { - height: 1px; - background-color: #6f716d; - margin-top: 2px; - margin-bottom: 2px; - margin-left: 6px; - margin-right: 6px; -} - -QMenu::indicator:non-exclusive { - color: #c8c9c7; - background-color: #9c9e9a; - border: 1px solid #4f514d; - width: 11px; - height: 11px; - border-radius:2px; -} - -QMenu::indicator:non-exclusive:checked { - background-color: #97c029; - border: 1px solid #5d7619; - image:url(qss:images/checkbox_light.png); -} - -QGroupBox { - color: #4f514d; - font-weight: bold; - border:1px solid blue; - border-radius: 4px; - margin-top: 20px; - border-color: rgba(0, 0, 0, 20); /* lighter than "QGroupBox" border-color */ - background-color: rgba(255, 255, 255, 15); -} - - - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - padding-left: 10px; - padding-right: 10px; - padding-top: 10px; - background-color: transparent; -} - -QAbstractScrollArea { - border-radius: 2px; - border: 1px solid #3A3939; - background-color: transparent; -} - -QAbstractScrollArea::corner { - border: none; - background-color: #888a85; -} - -QScrollBar:horizontal { - height: 15px; - margin: 3px 15px 3px 15px; - border: 1px transparent #4f514d; - border-radius: 4px; - background-color: #4f514d; -} - -QScrollBar::handle:horizontal { - background-color: #6f716d; - min-width: 5px; - border-radius: 4px; -} - -QScrollBar::add-line:horizontal { - margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/right_arrow_light.png); - width: 6px; - height: 10px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/left_arrow_light.png); - height: 10px; - width: 6px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images/right_arrow_lighter.png); -} - - -QScrollBar::sub-line:horizontal:hover, -QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images/left_arrow_lighter.png); -} - -QScrollBar::up-arrow:horizontal, -QScrollBar::down-arrow:horizontal { - background: none; -} - - -QScrollBar::add-page:horizontal, -QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar:vertical { - background-color: #4f514d; - width: 15px; - margin: 15px 3px 15px 3px; - border: 1px transparent #4f514d; - border-radius: 4px; -} - -QScrollBar::handle:vertical { - background-color: #6f716d; - min-height: 5px; - border-radius: 4px; -} - -QScrollBar::sub-line:vertical { - margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/up_arrow_light.png); - height: 6px; - width: 10px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/down_arrow_light.png); - height: 6px; - width: 10px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, -QScrollBar::sub-line:vertical:on { - border-image: url(qss:images/up_arrow_lighter.png); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images/down_arrow_lighter.png); -} - -QScrollBar::up-arrow:vertical, -QScrollBar::down-arrow:vertical { - background: none; -} - - -QScrollBar::add-page:vertical, -QScrollBar::sub-page:vertical { - background: none; -} - -QTextEdit { - color: #4f514d; - background-color: #d0d3cd; - border: 1px solid #6f716d; - padding: 0px; - margin: 0px; -} - -QPlainTextEdit { - color: #4f514d; - background-color: #d0d3cd; - border-radius: 2px; - border: 1px solid #6f716d; - padding: 0px; - margin: 0px; -} - -QSizeGrip { - image: url(qss:images/sizegrip_light.png); - width: 16px; - height: 16px; - background-color: transparent; -} - -QRadioButton::indicator:unchecked{ - color: #4f514d; - background-color: #9c9e9a; - border: 1px solid #4f514d; -} - -QRadioButton::indicator:checked { - background-color: #97c029; - border: 1px solid #5d7619; - image:url(qss:images/radiobutton_light.png); -} - -QCheckBox, -QRadioButton, -QCheckBox:disabled, -QRadioButton:disabled { - color: #4f514d; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: #c8c9c7; - background-color: #9c9e9a; - border: 1px solid #4f514d; -} - -QCheckBox::indicator { - width: 11px; - height: 11px; - border-radius:2px; -} - -QRadioButton::indicator { - width: 11px; - height: 11px; - border-radius: 6px; -} - -QRadioButton::indicator:pressed, -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed { - border-color: #dfefb4; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #97c029; - border: 1px solid #5d7619; - image:url(qss:images/checkbox_light.png); -} - -QCheckBox::indicator:disabled, -QRadioButton::indicator:disabled { - border: 1px solid #6f716d; -} - -QCheckBox:disabled, -QRadioButton::indicator:disabled { - color: #6f716d; - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled, -QMenu::indicator:non-exclusive:disabled { - background-color: #888a85; -} - -QCheckBox::indicator:indeterminate { - background-color: #97c029; - border: 1px solid #5d7619; - image: url(qss:images/checkbox_indeterminate_light.png); -} - -QCheckBox:focus, -QRadioButton:focus { - border: none; -} - -QFrame, -QFrame:pressed, -QFrame:focus, -QFrame:on { - border: 1px solid #888a85; - border-radius: 3px; - padding: 0px; - /* background-color: transparent; temporal */ -} - -/* border and background of QComboBox drop-down */ -QComboBox QFrame, -QComboBox QFrame:pressed, -QComboBox QFrame:focus, -QComboBox QFrame:on { - border: 1px solid #4f514d; - background-color: #4f514d; - padding: 0px; - margin: 0px; -} - -QFrame[frameShape="0"] { - border-radius: 3px; -} - -/* Separator line */ -QFrame[height="1"], -QFrame[height="2"], -QFrame[height="3"], -QFrame[width="1"], -QFrame[width="2"], -QFrame[width="3"] { - border-width: 1px 0px 0px 0px; - border-style: solid; - border-color: #7d7f79; - background-color: transparent; -} - -QPushButton { - color: #c8c9c7; - text-align: center; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #6f716d, stop:1 #888a85); - border: 1px solid #4f514d; - padding: 5px 12px 5px 12px; - margin: 4px 8px 4px 8px; - border-radius: 3px; - min-width: 14px; - min-height: 14px; -} - -QPushButton:hover, -QPushButton:focus { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); - border-color: #97c029; -} - -QPushButton:disabled, -QPushButton:disabled:checked { - color: #6f716d; - background-color: #888a85; - border-color: #6f716d; -} - -QPushButton:pressed { - background-color: #97c029; -} - -QPushButton:checked { - background-color: #b5d757; - border-color: #97c029; -} - -/* Color Buttons */ -Gui--ColorButton, -Gui--ColorButton:disabled { - border-color: transparent; - background-color: transparent; - /*width: 60px;*/ - height: 24px; - padding: 0px; - margin: 0px; -} - -Gui--ColorButton:hover { - border-color: #7d7f79; - background-color: #7d7f79; -} - -/* Buttons inside the toolbar */ -QToolBar QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #7d7f79, stop:1 #888a85); - border: 1px solid #6f716d; - min-width: 22px; - min-height: 22px; - margin-left: 2px; - margin-right: 2px; - margin-bottom: 3px; /*bigger margin to correctly separate buttons inside a vertical toolbar */ - margin-top: 1px; - padding: 1px; -} - -QToolBar QPushButton:hover, -QToolBar QPushButton:focus { - color: #c8c9c7; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #7d7f79, stop:1 #888a85); - border: 1px solid #4f514d; -} - -QToolBar QPushButton:disabled, -QToolBar QPushButton:disabled:checked { - background-color: #888a85; - border-color: #7d7f79; -} - -QToolBar QPushButton:pressed { - background-color: #6f716d; - border-color: #6f716d; -} - -QToolBar QPushButton:checked { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #b5d757, stop:1 #cbe389); - border-color: #b5d757; -} - -QToolBar QPushButton:checked:hover, -QToolBar QPushButton:checked:focus { - color: #c8c9c7; - border: 1px solid #97c029; -} - -QToolBar { - border: 1px transparent #393838; - background-color: #888a85; - font-weight: bold; - margin: 0px; - padding: 0px; -} - -QToolBar::handle:horizontal { - background-image: url(qss:images/Hmovetoolbar_dark.png); - width: 10px; - margin: 6px 2px 6px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:vertical { - background-image: url(qss:images/Vmovetoolbar_dark.png); - height: 10px; - margin: 2px 6px 2px 6px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:horizontal { - background-image: url(qss:images/separtoolbar_dark.png); - width: 10px; - margin: 6px 2px 6px 2px; - background-position: center center; - background-repeat: repeat-y; -} - -QToolBar::separator:vertical { - background-image: url(qss:images/separtoolbar_dark.png); - height: 10px; - margin: 2px 6px 2px 6px; - background-position: center center; - background-repeat: repeat-x; -} - -QStackedWidget { - background-color: #888a85; - border: 1px transparent #888a85; -} - -QAbstractSpinBox { - color: #c8c9c7; - border: 1px solid #6f716d; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - background-color: #6f716d; - selection-color: white; - selection-background-color: #b5d757; -} - -QAbstractSpinBox:disabled { - color: #9c9e9a; - background-color: #7d7f79; - border-color: #7d7f79; -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #c0dd70, stop:1 #cbe389); - subcontrol-origin: border; - subcontrol-position: top right; - border-top-right-radius: 3px; - width: 20px; -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #b5d757, stop:1 #c0dd70); - subcontrol-origin: border; - subcontrol-position: bottom right; - border-bottom-right-radius: 3px; - width: 20px; -} - -QAbstractSpinBox:up-button:disabled, -QAbstractSpinBox:down-button:disabled { - background-color: transparent; -} - -QAbstractSpinBox::up-arrow { - image: url(qss:images/up_arrow_light.png); - top: 1px; /* fix simetry between up and down images */ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images/up_arrow_lighter.png); -} - -QAbstractSpinBox::up-arrow:off { - image: url(qss:images/up_arrow_disabled_dark.png); -} - -QAbstractSpinBox::up-arrow:disabled { - image: none; -} - -QAbstractSpinBox::down-arrow { - image: url(qss:images/down_arrow_light.png); - bottom: -1px; /* fix simetry between up and down images */ -} -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images/down_arrow_lighter.png); -} - -QAbstractSpinBox::down-arrow:off { - image: url(qss:images/down_arrow_disabled_dark.png); -} - -QAbstractSpinBox::down-arrow:disabled { - image: none; -} - -QToolBar QAbstractSpinBox { - margin-top: 4px; - margin-bottom: 4px; -} - -QLineEdit { - color: #c8c9c7; - background-color: #6f716d; - selection-color: white; - selection-background-color: #b5d757; - /* Padding and margin defined */ - border-style: solid; - border: 1px solid #6f716d; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - border-radius: 3px; -} - -QAbstractSpinBox:focus, -QLineEdit:focus, -QComboBox:focus { - border-color: #cbe389; -} - -QComboBox { - color: #c8c9c7; - background-color: #6f716d; - selection-color: white; - selection-background-color: #b5d757; - border: 1px solid #6f716d; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - border-radius: 3px; -} - -QComboBox:on { - color: white; - background-color: #6f716d; - border-color: #cbe389; -} - -QComboBox::drop-down { - subcontrol-origin: margin; - subcontrol-position: top right; - width: 20px; - border-left-width: 1px; - border-left-color: transparent; - border-left-style: solid; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #b5d757, stop:1 #cbe389); -} - -QComboBox::down-arrow { - image: url(qss:images/down_arrow_light.png); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:hover, -QComboBox::down-arrow:focus { - image: url(qss:images/down_arrow_lighter.png); -} - -QComboBox QAbstractItemView { - color: #c8c9c7; - background-color: #4f514d; - border-radius: 3px; - margin: 0px; - padding: 0px; - border: none; -} - -/* Common parameters for QAbstractSpinBox, QLineEdit and QComboBox */ -QSpinBox, -QDoubleSpinBox, -QAbstractSpinBox, -QLineEdit, -QComboBox { - border-top-color: #5f615d; /* Creates an inset effect inside the elements */ - padding: 2px 6px 2px 6px; /* This makes text colour work on QComboBox */ - margin: 0px 2px 0px 2px; - min-width: 70px; /* it was 120 because of QCombobox... */ - border-radius: 3px; -} -/* end Common parameters */ - -QAbstractItemView { - color: #4f514d; - alternate-background-color: #cccfc9; /* related with QListView background */ - border: 1px solid #4f514d; - border-radius: 3px; - padding: 0px; -} - -/* hack to deactivate changing background color when focus (due to QFrame generic transparent color) */ -QAbstractItemView:selected, -QAbstractItemView:on, -QAbstractItemView:focus { - background-color: #d0d3cd; /* same as QTable background color */ -} - -/* hack to hide weird redundant information inside the value of a Placement cell */ -QTreeView QLabel, -QTreeView QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QTreeView QLineEdit { - color: #c8c9c7; - border-color: #6f716d; - background-color: #6f716d; - selection-color: white; - selection-background-color: #b5d757; -} - -/* hack to hide non editable cells inside Property values */ -QTreeView QLineEdit:read-only, -QTreeView QLineEdit:disabled, -QTreeView QAbstractSpinBox:read-only, -QTreeView QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; -} - -/* hack to disable margin inside Property values to following elements */ -QTreeView QSpinBox, -QTreeView QDoubleSpinBox, -QTreeView QAbstractSpinBox, -QTreeView QLineEdit, -QTreeView QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; -} - -/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ -QTreeView QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #6f716d, stop:1 #888a85); - border-top: none; - border-bottom: none; - border-right: none; - border-left: 1px solid #6f716d; - border-radius: 0px; - margin: 0px; - padding: 0px; - height: 24px; -} - -/* Color Buttons inside the "Properties window" */ -QAbstractItemView Gui--ColorButton { - padding: 0px; - margin: 0px; - height: 10px; -} - -QAbstractItemView QPushButton:hover { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); - border-color: #97c029; -} - -QAbstractItemView QPushButton:disabled { - color: transparent; - background-color: transparent; - border-color: transparent; -} - -QLabel { - border: 0px solid #4f514d; -} - -QTabWidget{ - border: none; -} - -QTabWidget:focus { - border: none; -} - -QTabWidget::pane { - border: none; - padding: 0px; - background-color: #888a85; - position: absolute; - top: -15px; - padding-top: 15px; -} - -QTabWidget::tab-bar { - alignment: center; -} - -QTabBar { - qproperty-drawBase: 0; - left: 5px; - background-color: transparent; -} - -QTabBar:focus { - border: 0px transparent black; -} - -QTabBar::close-button { - padding: 0px; - margin: 0px; - border-radius: 2px; - background-image: url(qss:images/close_dark.png); - background-position: center center; - background-repeat: none; -} - -QTabBar::close-button:hover { - background-color: #cbe389; -} - -QTabBar::close-button:pressed { - background-color: #dfefb4; -} - -QTabBar::scroller { /* the width of the scroll buttons */ - width: 20px; -} - -/* the scroll buttons are tool buttons */ -QTabBar QToolButton, -QTabBar QToolButton:hover { - margin-top: 4px; - margin-bottom: 4px; - margin-left: 0px; - margin-right: 0px; - padding: 0px; - border: none; - background-color: #888a85; - border-radius: 0px; -} - -QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images/right_arrow_light.png); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images/right_arrow_disabled_dark.png); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images/right_arrow_lighter.png); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images/left_arrow_light.png); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images/left_arrow_disabled_dark.png); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images/left_arrow_lighter.png); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images/up_arrow_light.png); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images/up_arrow_disabled_dark.png); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images/up_arrow_lighter.png); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images/down_arrow_light.png); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images/down_arrow_disabled_dark.png); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images/down_arrow_lighter.png); -} - -/* HORIZONTAL TABS */ -QTabBar::tab:top, -QTabBar::tab:bottom { - color: #c8c9c7; - border: 1px solid #6f716d; - border-left-color: #888a85; - border-right-width: 0px; - border-bottom: 1px solid #5f615d; /* shadown effect */ - background-color: #6f716d; - padding:5px 15px; - margin-top: 4px; - margin-bottom: 4px; - position: center; -} - -QTabBar::tab:top:first, -QTabBar::tab:bottom:first { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} - -QTabBar::tab:top:last, -QTabBar::tab:bottom:last { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; - border-right-width: 1px; -} - -QTabBar::tab:top:selected, -QTabBar::tab:bottom:selected { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); - border-color: #97c029; - border-bottom: 1px solid #5f615d; /* shadown effect */ -} - -QTabBar::tab:top:!selected:hover, -QTabBar::tab:bottom:!selected:hover { - color: white; -} - -QTabBar::tab:top:only-one , -QTabBar::tab:bottom:only-one { - border: 1px solid #5d7619; - border-radius: 6px; -} - -/* VERTICAL TABS */ -QTabBar::tab:left, -QTabBar::tab:right { - color: #c8c9c7; - border: 1px solid #6f716d; - border-top-color: #888a85; - border-bottom-width: 0px; - border-right: 1px solid #5f615d; /* shadown effect */ - background-color: #6f716d; - padding: 15px 5px; - margin-left: 4px; - margin-right: 4px; - position: center; -} - -QTabBar::tab:left:first, -QTabBar::tab:right:first { - border-top-left-radius: 6px; - border-top-right-radius: 6px; -} - -QTabBar::tab:left:last, -QTabBar::tab:right:last { - border-bottom-left-radius: 6px; - border-bottom-right-radius: 6px; - border-bottom-width: 1px; -} - -QTabBar::tab:left:selected, -QTabBar::tab:right:selected { - color: white; - background-color: qlineargradient(spread:pad, x1:0.545, y1:1, x2:0, y2:1, stop:0 #97c029, stop:1 #b5d757); - border-color: #97c029; - border-right: 1px solid #5f615d; /* shadown effect */ -} - -QTabBar::tab:left:!selected:hover, -QTabBar::tab:right:!selected:hover { - color: white; -} - -QTabBar::tab:left:only-one , -QTabBar::tab:right:only-one { - border: 1px solid #5d7619; - border-radius: 6px; -} - -QDockWidget { - color: #4f514d; - border: 1px solid #888a85; - titlebar-close-icon: url(qss:images/close_dark.png); - titlebar-normal-icon: url(qss:images/undock_dark.png); -} - -QDockWidget::title { - text-align: center; - background-color: #7d7f79; - padding: 4px; - border-radius: 4px; -} - -QDockWidget::close-button, -QDockWidget::float-button { - border: 1px transparent #888a85; - border-radius: 2px; - background: transparent; - subcontrol-origin: padding; - subcontrol-position: right center; -} - -QDockWidget::close-button { - right: 4px; -} - -QDockWidget::float-button { - right: 22px; -} - -QDockWidget::close-button:hover, -QDockWidget::float-button:hover { - background: #9c9e9a; -} - -QDockWidget::close-button:pressed, -QDockWidget::float-button:pressed { - /*padding: 1px -1px -1px 1px;*/ - background-color: #7d7f79; -} - -QTreeView, -QListView { - color: #4f514d; - border: 1px solid #888a85; - border-radius: 4px; - background-color: #d0d3cd; /* related with alternate-background-color*/ - selection-color: white; - selection-background-color: #b5d757; /* should be similar to QListView::item selected background-color */ - show-decoration-selected: 1; /* make the selection span the entire width of the view */ - padding: 0px; - margin: 0px 4px 0px 4px; - min-width: 130px; /* hack to correctly align Preferences icon list */ -} - -QListView, -QListView::item, -QListView QAbstractItemView { - margin: 0px; - icon-size: 20px; /* temporal */ - paint-alternating-row-colors-for-empty-area: 1; - position: absolute; - subcontrol-origin: margin; - subcontrol-position: left top; -} - -/* Control dropdown list margins of QComboBox */ -QComboBox QTreeView, -QComboBox QListView { - margin: 0px; - padding: 0px; -} - -QListView::item { - border: 0px transparent #888a85; - border-radius: 4px; - background-color: transparent; - padding: 0px; - margin: 0px; - display: inline-block; - position: relative; -} - -QListView::item:selected, -QTreeView::item:selected { - color: white; - background-color: #b5d757; /* should be similar to QListView selection-background-color */ -} - -/* Branch system */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images/branch_vline.png) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images/branch_more.png) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images/branch_end.png) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - image: url(qss:images/branch_closed_dark.png); -} - -QTreeView::branch:has-children:!has-siblings:closed { - image: url(qss:images/branch_closed_dark.png); - border-image: url(qss:images/branch_end.png) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - image: url(qss:images/branch_open_dark.png); - border-image: url(qss:images/branch_more.png) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - image: url(qss:images/branch_open_dark.png); - border-image: url(qss:images/branch_end.png) 0; -} - -QSlider, -QSlider:active, -QSlider:!active { - border: none; - background-color: transparent; -} - -QSlider:horizontal { - padding: 0px 10px; -} - -QSlider:vertical { - padding: 10px 0px; -} - -QSlider::groove:horizontal { - border: 1px solid #6f716d; - background-color: #6f716d; - height: 8px; - border-radius: 5px; - margin: 4px 0; -} - -QSlider::groove:vertical { - border: 1px solid #6f716d; - background-color: #6f716d; - width: 8px; - border-radius: 5px; - margin: 4px 0; -} - -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #7d7f79; - background-color: #7d7f79; -} - -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #4f514d; - border: 1px solid #4f514d; - width: 14px; - height: 14px; - border-radius: 8px; -} - -QSlider::handle:horizontal { - margin: -4px 0; -} - -QSlider::handle:vertical { - margin: 0 -4px; -} - -QSlider::handle:horizontal:hover, -QSlider::handle:vertical:hover { - border-color: #97c029; - background-color: #97c029; -} - -QSlider::handle:horizontal:pressed, -QSlider::handle:vertical:pressed { - border-color: #5d7619; - background-color: #5d7619; -} - -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #6f716d; - background-color: #888a85; -} - -QToolButton { - color: #c8c9c7; - text-align: center; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #6f716d, stop:1 #888a85); - border: 1px solid #4f514d; - padding-top: 5px; - padding-bottom: 5px; - padding-left: 15px; - padding-right: 15px; - margin-top: 5px; - margin-bottom: 5px; - margin-left: 10px; - margin-right: 10px; - border-radius: 3px; - outline: none; - /*min-width: 36px;*/ -} - -QToolButton:hover, -QToolButton:focus { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); - border-color: #97c029; -} - -QToolButton:disabled, -QToolButton:disabled:checked { - color: #6f716d; - background-color: #888a85; - border-color: #6f716d; -} - -QToolButton:pressed { - border-color: #cbe389; -} - -QToolButton:checked { - background-color: #b5d757; - border-color: #97c029; -} - -QToolButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: center right; - right: 4px; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" */ -QToolButton#qt_toolbar_ext_button { - border-radius: 0px; - margin: 0px; - padding: 0px; - /*background-image: url(qss:images/more_dark.png);*/ - image: transparent; - background-repeat: none; - background-position: center left; -} - -QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images/more_light.png);*/ - border-color: #7d7f79; - background-color: #7d7f79; -} - -QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images/more_light.png);*/ - border-color: #7d7f79; - background-color: #7d7f79; -} - -/*Buttons inside the Toolbar*/ -QToolBar QToolButton { - color: #4f514d; - background-color: #888a85; - border: 1px transparent #888a85; - border-radius: 3px; - margin: 0px; - padding: 2px; -} - -QToolBar QToolButton:disabled { - background-color: #888a85; -} - -QToolBar QToolButton:checked { - color: #5d7619; - background-color: #b5d757; - border: 1px solid #b5d757; -} - -QToolBar QToolButton:hover { - background-color: #888a85; -} - -QToolBar QToolButton:pressed, -QToolBar QToolButton::menu-button:pressed { - background-color: #7d7f79; - border: 1px solid #7d7f79; -} - - -QToolBar QToolButton::menu-indicator:hover, -QToolBar QToolButton::menu-indicator:pressed { - background-color: transparent; -} - -/* the subcontrols below are used only in the MenuButtonPopup mode */ -QToolBar QToolButton::menu-button { - border: none; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; -} - -QToolBar QToolButton::menu-button:hover, -QToolBar QToolButton::menu-button:active, -QToolBar QToolButton::menu-button:disabled { - border-color: transparent; - background-color: transparent; -} - -QToolBar QToolButton::menu-arrow { - background-image: url(qss:images/down_arrow_light.png); - background-position: center center; - background-repeat: none; - subcontrol-origin: padding; - subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ -} - -QToolBar QToolButton::menu-arrow:open { - background-image: url(qss:images/down_arrow_lighter.png); -} - -/* If the QToolButton is also a menu: */ -QToolBar QToolButton#qt_toolbutton_menubutton { - padding-right: 20px; - border: 1px solid transparent; -} - -QToolBar QToolButton#qt_toolbutton_menubutton:hover, -QToolBar QToolButton#qt_toolbutton_menubutton:pressed, -QToolBar QToolButton#qt_toolbutton_menubutton:open { - border: 1px solid #cbe389; -} - -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button { - border: none; /* necessary because it inherits the border from QToolButton#qt_toolbutton_menubutton */ -} - -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:hover, -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:pressed, -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:open { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #b5d757, stop:1 #cbe389); -} - -QToolBar:tear { - color: blue; - background-color: red; -} - -QTableView { - color: #4f514d; - border: 1px solid #6f716d; - gridline-color: #9c9e9a; - background-color: #d0d3cd; - selection-color: #4f514d; - selection-background-color: #dfefb4; - border-radius: 3px; - padding: 0px; - margin: 0px; -} - -QTableView::item:hover { - background: #c8cbc4; -} - -QTableView::item:disabled { - color: #888a85; -} - -QTableView::item:selected { - color: #5d7619; - background-color: #cbe389; -} - -/* when editing a cell: */ -QTableView QLineEdit { - color: #4f514d; - background-color: #cccfc9; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QHeaderView { - border: none; - background-color: #4f514d; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - margin: 0px; - padding: 0px; -} - -QHeaderView::section { - background-color: transparent; - color: #c8c9c7; - border: 1px solid transparent; - border-radius: 0px; - text-align: center; -} - -QHeaderView::section::vertical { - padding: 0px 6px 0px 6px; - border-bottom: 1px solid #6f716d; -} - -QHeaderView::section::vertical:first { - border-top: 1px solid #6f716d; -} - -QHeaderView::section::vertical:last { - border-bottom: none; -} - -QHeaderView::section::vertical:only-one { - border: none; -} - -QHeaderView::section::horizontal { - padding: 0px 0px 0px 6px; - border-right: 1px solid #6f716d; -} - -QHeaderView::section::horizontal:first { - border-left: 1px solid #6f716d; -} - -QHeaderView::section::horizontal:last { - border-left: none; -} - -QHeaderView::section::horizontal:only-one { - border: none; -} - -QDockWidget QHeaderView::section { - border-width: 6px 1px 6px 1px; /* hack to bigger margin for Model Panel table headers */ -} - -QHeaderView::section:checked { - color: #5d7619; - background-color: #cbe389; -} - - /* style the sort indicator */ -QHeaderView::down-arrow { - image: url(qss:images/down_arrow_light.png); -} - -QHeaderView::up-arrow { - image: url(qss:images/up_arrow_light.png); -} - -QTableCornerButton::section { - background-color: #4f514d; - border: 1px solid #4f514d; - border-radius: 0px; -} - -QToolBox { - padding: 3px; - color: #5d7619; - border: none; -} - -QToolBox::tab { /* TODO */ - color: #c8c9c7; - background-color: #6f716d; - border: 1px transparent #4f514d; - border-bottom: 1px transparent #6f716d; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - padding: 5px; -} - -QToolBox::tab:selected { /* italicize selected tabs */ - color: #5d7619; - font: italic; - background-color: #b5d757; - border-color: #b5d757; - } - -QStatusBar::item { - color: #c8c9c7; - background-color: #888a85; - border: 1px solid #888a85; - border-radius: 2px; -} - - -QSplitter::handle { - background-color: #888a85; - margin: 0px 11px; - padding: 0px; - border-radius: 3px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images/splitter_horizontal_dark.png); - background-position: center center; - background-repeat: none; - margin: 2px 10px 2px 10px; - height: 2px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images/splitter_horizontal_dark.png); - background-position: center center; - background-repeat: none; - margin: 10px 2px 10px 2px; - width: 2px; -} - -QSplitter::handle:horizontal:hover, -QSplitter::handle:vertical:hover { - background-color: #888a85; -} - -/* Similar to the splitter is the following window separator: */ -QMainWindow::separator { - border: 1px solid #888a85; - background-color: #888a85; - background-position: center center; - background-repeat: none; -} - -QMainWindow::separator:hover { - background-color: #888a85; -} - -QMainWindow::separator:horizontal { - height: 4px; - background-image: url(qss:images/splitter_horizontal_dark.png); -} - -QMainWindow::separator:vertical { - width: 4px; - background-image: url(qss:images/splitter_vertical_dark.png); -} - -QLabel { - padding-top: 3px; - padding-bottom: 3px; - background-color: transparent; -} - -QLabel:disabled { - color: #6f716d; - background-color: transparent; -} - -/* Action group */ -QFrame[class="panel"] { - border: none; - background-color: #888a85; -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { - border-color: #9c9e9a; -} - -QSint--ActionGroup QFrame[class="header"] { - border: none; - background-color: #4f514d; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); -} - -QSint--ActionGroup QToolButton[class="header"] { - text-align: left; - font-weight: bold; - color: #c8c9c7; - background-color: transparent; - border: none; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QToolButton[class="header"]:hover { - color: white; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { - background-color: transparent; - background-image: url(qss:images/down_arrow_light.png); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { - background-color: transparent; - background-image: url(qss:images/down_arrow_lighter.png); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images/up_arrow_light.png); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { - background-color: transparent; - background-image: url(qss:images/up_arrow_lighter.png); -} - -QSint--ActionGroup QFrame[class="content"] { - background-color: #d0d3cd; - margin: 0px; - padding: 0px; - border: none; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} - -/* HACK -This might not be the best way to reset the background color: */ -QSint--ActionGroup QFrame[class="content"] QWidget { - background-color: #d0d3cd; -} - -QSint--ActionGroup QFrame[class="content"] QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #6f716d, stop:1 #888a85); -} - -QSint--ActionGroup QFrame[class="content"] QPushButton:hover, -QSint--ActionGroup QFrame[class="content"] QPushButton:focus { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); -} - -QSint--ActionGroup QFrame[class="content"] QPushButton:disabled, -QSint--ActionGroup QFrame[class="content"] QPushButton:disabled:checked { - color: #d0d3cd; - border-color: #9c9e9a; - background-color: #9c9e9a; -} -QSint--ActionGroup QFrame[class="content"] QPushButton:checked { - background-color: #b5d757; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox { - background-color: #6f716d; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox:on { - background-color: #6f716d; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox QAbstractItemView { - border-color: #4f514d; - background-color: #4f514d; -} - -QSint--ActionGroup QFrame[class="content"] QListView { - border-color: #c8cbc4; - background-color: #c8cbc4; -} - -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox { - background-color: #6f716d; -} - -QSint--ActionGroup QFrame[class="content"] QLineEdit { - background-color: #6f716d; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox:disabled, -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox:disabled, -QSint--ActionGroup QFrame[class="content"] QLineEdit:disabled { - color: #d0d3cd; - border-color: #9c9e9a; - background-color: #9c9e9a; -} - -QSint--ActionGroup QFrame[class="content"] QCheckBox:disabled, -QSint--ActionGroup QFrame[class="content"] QRadioButton:disabled { - color: #9c9e9a; - border-color: #9c9e9a; -} - -QSint--ActionGroup QFrame[class="content"] QCheckBox::indicator:disabled, -QSint--ActionGroup QFrame[class="content"] QRadioButton::indicator:disabled { - border-color: #9c9e9a; - background-color: transparent; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView { - border: none; - background-color: #4f514d; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section { - background-color: transparent; - color: #c8c9c7; - border: 1px solid transparent; - border-radius: 0px; - text-align: center; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal { - padding: 6px 0px 6px 6px; - border-right: 1px solid #6f716d; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:first { - border-left: 1px solid #888a85; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:last { - border-left: none; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:only-one { - border: none; -} -/* enf of HACK */ - - -QSint--ActionGroup QToolButton[class="action"], -QSint--ActionGroup QToolButton[class="action"]:enabled { - font-weight: bold; - color: #6f716d; -} - -QSint--ActionGroup QToolButton[class="action"]:hover, -QSint--ActionGroup QToolButton[class="action"]:enabled:hover { - text-decoration: none; - color: #4f514d; - background-color: #c8cbc4; - border-color: #c8cbc4; -} - -QSint--ActionGroup QToolButton[class="action"]:disabled { - color: #888a85; - background-color: #c8cbc4; - border-color: #c8cbc4; -} - -QSint--ActionGroup QToolButton[class="action"]:focus, -QSint--ActionGroup QToolButton[class="action"]:pressed -QSint--ActionGroup QToolButton[class="action"]:enabled:focus, -QSint--ActionGroup QToolButton[class="action"]:enabled:pressed { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); - border-color: #97c029; -} - -QSint--ActionGroup QToolButton[class="action"]:on { - background-color: red; - color: red; -} - - -/* EXPERIMENTAL -================================================= */ -QDial { - background-color: #888a85; -} - -QLCDNumber { - background-color: #888a85; -} - -QCalendarWidget { - background-color: green; -} - -/* Expressions popup dialog fixes to embed elements */ -QAbstractSpinBox QPushButton { - padding: 0px 15px 0px 15px; - margin: 2px 10px 2px 10px; - border: 1px solid #4f514d; - border-radius: 3px; -} -QAbstractSpinBox QPushButton:disabled { - color: #9c9e9a; - background-color: #888a85; - border-color: #888a85; -} - -QAbstractSpinBox QFrame, -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox QFrame { - color: #dfefb4; - background-color: #6f716d; - border-color: #6f716d; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox QPushButton { - padding: 6px 15px 6px 15px; -} \ No newline at end of file +/* +ABOUT +============================================================================================================ +version 2.0 +QT theme (stylesheet) specially developed for FreeCAD (http://www.freecadweb.org/). +It might work with other software that uses QT styling. + + +LICENSE +============================================================================================================ +Copyright (c) 2016 Pablo Gil Fernández + +This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. +To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. + + +INSTALLATION +============================================================================================================ +1) Place the .qss files and /images/ folder in the path that fits your OS: + OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ + WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/fStylesheets/ + LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ + +2) In order to display correctly images: + 2.1) FreeCAD 0.16 (development builds newer than commit 5b3d50a): that's it, you are done! + + 2.2) FreeCAD 0.15: Images used in the theme need ABSOLUTE paths to be found by FreeCAD, so you should search the string "qss:images" (without "") and replace with the real path of your computer. It should be done with all the .qss files you want to install-use + find = qss:images + replace = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images + + +CUSTOMIZATION +============================================================================================================ +If you would like to change the overall look/style of the theme, just find and replace following colors in the whole file: + BACKGROUND (darker to ligher) + black + #1e1e1e + #3c3c3c + #505050 + #5a5a5a + #646464 + #6e6e6e = main background color + #787878 + #8c8c8c + #a0a0a0 + #b4b4b4 + #bebebe + #c8c8c8 + #d2d2d2 + #e0e0e0 + #f5f5f5 + white + + SELECTION (darker to lighter) + #566214 + #74831d + #819c0c + #94b30f = main selection color + #9bbc12 = used to build QSpinBox up and down buttons, it's used as color in the middle + #a5c61a + #c5d675 + #dadfc5 + + +KNOWN BUGS and TO DO +============================================================================================================ + - please, follow the link to get updated information: http://forum.freecadweb.org/viewtopic.php?f=10&t=12417 +*/ + + +/*================================================================================================== +Reset elements +==================================================================================================*/ +/* Reseting everything helps to unify styles across different operating systems */ +* { + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; +} + +/* specific reset for elements inside QToolBar */ +QToolBar * { + margin: 0px; + padding: 0px; +} + + +/*================================================================================================== +Main window +==================================================================================================*/ +QMainWindow, +QDialog, +QToolBar { + background-color: #6e6e6e; /* main background color */ +} + +QMdiArea[showImage="true"] { + background-image: url(qss:images/background_freecad.png); + background-position: center; + background-repeat: no-repeat; +} + + +/*================================================================================================== +MENUS +==================================================================================================*/ +QMenuBar, +QMenuBar::item { + color: #e0e0e0; + background-color: #6e6e6e; /* main background color */ +} + +QMenu, +QMenu::item { + color: #e0e0e0; + background-color: #5a5a5a; +} + +QMenuBar::item:selected, +QMenuBar::item:pressed, +QMenu::item:selected, +QMenu::item:pressed { + color: white; + background-color: #94b30f; +} + +QMenu::right-arrow { + width: 10px; + height: 10px; + image:url(qss:images/right_arrow_dark.png); + margin-right: 2px; +} + +QMenu::right-arrow:selected { + image:url(qss:images/right_arrow_lighter.png); +} + +QMenu::item { + padding: 2px 16px 2px 26px; /* make room for icon at left */ + border: 1px solid transparent; /* reserve space for selection border */ +} + +QMenu::icon { + margin-left: 2px; +} + +QMenu::separator { + height: 1px; + background-color: rgba(255,255,255,30); + margin: 6px 4px; +} + +QMenu::indicator:non-exclusive:checked { + color: white; +} + + +/*================================================================================================== +Tool bar +==================================================================================================*/ +QToolBar { + border: none; + min-width: 32px; /* allows a minimum of space between QToolBar colums */ + min-height: 32px; /* allows a minimum of space between QToolBar rows */ +} + +QToolBar::handle:horizontal { + background-image: url(qss:images/Hmovetoolbar_dark.png); + width: 10px; + margin: 6px 2px 6px 2px; + background-position: top right; + background-repeat: repeat-y; +} + +QToolBar::handle:vertical { + background-image: url(qss:images/Vmovetoolbar_dark.png); + height: 10px; + margin: 2px 6px 2px 6px; + background-position: left bottom; + background-repeat: repeat-x; +} + +QToolBar::separator:horizontal { + background-image: url(qss:images/separtoolbar_dark.png); + width: 10px; + margin: 6px 2px 6px 2px; + background-position: center center; + background-repeat: repeat-y; +} + +QToolBar::separator:vertical { + background-image: url(qss:images/separtoolbar_dark.png); + height: 10px; + margin: 2px 6px 2px 6px; + background-position: center center; + background-repeat: repeat-x; +} + + +/*================================================================================================== +Group box +==================================================================================================*/ +QGroupBox { + color: rgba(0,0,0,120); + border:1px solid rgba(0, 0, 0, 20); /* lighter than its own border-color */; + border-radius: 3px; + margin-top: 10px; + padding: 6px; + background-color: rgba(255, 255, 255, 15); +} + +QGroupBox:title { + top: -8px; + left: 12px; +} + + +/*================================================================================================== +Tooltip +==================================================================================================*/ +QToolTip { + color: #1e1e1e; + background-color: #b4b4b4; + /*opacity: 90%; doesn't correctly work */ + padding: 4px; + border-radius: 3px; /* has no effect */ +} + + +/*================================================================================================== +Dock widget +==================================================================================================*/ +QDockWidget { + color: rgba(0,0,0,120); + titlebar-close-icon: url(qss:images/close_dark.png); + titlebar-normal-icon: url(qss:images/undock_dark.png); +} + +QDockWidget::title { + text-align: center; + background-color: rgba(0,0,0,20); + border: 4px solid #6e6e6e; /* fix to simulate margin between this :title and tabs */ /* same as main background color */ + border-radius: 6px; /* bigger than normal due to previous border fix */ + padding: 4px 0px; /* also needed because of previous border fix */ +} + +QDockWidget::close-button, +QDockWidget::float-button { + border: none; + background: transparent; + border-radius: 3px; + subcontrol-origin: padding; + subcontrol-position: right center; +} + +QDockWidget::close-button { + right: 4px; +} + +QDockWidget::float-button { + right: 22px; +} + +QDockWidget::close-button:hover, +QDockWidget::float-button:hover { + background-color: rgba(255,255,255,15); +} + +QDockWidget::close-button:pressed, +QDockWidget::float-button:pressed { + background-color: rgba(255,255,255,30); +} + +/* fix for Python Console (probably there is a smarter way to arrive to it) */ +QDockWidget > QFrame { + background-color: #c8c8c8; + border: 1px solid #505050; +} + + +/*================================================================================================== +Progress bar +==================================================================================================*/ +QProgressBar, +QProgressBar:horizontal { + color: white; + background-color: rgba(0,0,0,10); + text-align: center; + border: 1px solid rgba(0,0,0,80); + padding: 1px; + border-radius: 3px; +} +QProgressBar::chunk, +QProgressBar::chunk:horizontal { + background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #94b30f, stop:1 #819c0c); + border-radius: 3px; +} + + +/*================================================================================================== +Scroll +==================================================================================================*/ +QAbstractScrollArea { + border-radius: 2px; + background-color: transparent; +} + +QAbstractScrollArea::corner { + border: none; + background-color: transparent; +} + +QScrollBar:horizontal { + background-color: transparent; + height: 15px; + margin: 0px; +} + +QScrollBar::handle:vertical, +QScrollBar::handle:horizontal { + background-color: rgba(0,0,0,100); +} + +QScrollBar::handle:vertical:hover, +QScrollBar::handle:horizontal:hover { + background-color: #1e1e1e; +} + +QScrollBar::handle:horizontal { + min-width: 5px; + border-radius: 3px; + margin: 4px 15px; +} + +QScrollBar::sub-line:horizontal { + margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/left_arrow_light.png); + width: 6px; + height: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal { + margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/right_arrow_light.png); + width: 6px; + height: 10px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, +QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images/left_arrow_lighter.png); +} + +QScrollBar::add-line:horizontal:hover, +QScrollBar::add-line:horizontal:on { + border-image: url(qss:images/right_arrow_lighter.png); +} + +QScrollBar::up-arrow:horizontal, +QScrollBar::down-arrow:horizontal { + background-color: none; +} + +QScrollBar::add-page:horizontal, +QScrollBar::sub-page:horizontal { + background-color: transparent; +} + +QScrollBar:vertical { + background-color: transparent; + width: 15px; + margin: 0px; +} + +QScrollBar::handle:vertical { + min-height: 5px; + border-radius: 3px; + margin: 15px 4px; +} + +QScrollBar::sub-line:vertical { + margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/up_arrow_light.png); + height: 6px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/down_arrow_light.png); + height: 6px; + width: 10px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, +QScrollBar::sub-line:vertical:on { + border-image: url(qss:images/up_arrow_lighter.png); +} + +QScrollBar::add-line:vertical:hover, +QScrollBar::add-line:vertical:on { + border-image: url(qss:images/down_arrow_lighter.png); +} + +QScrollBar::up-arrow:vertical, +QScrollBar::down-arrow:vertical { + background-color: none; +} + +QScrollBar::add-page:vertical, +QScrollBar::sub-page:vertical { + background-color: transparent; +} + + +/*================================================================================================== +Tab bar +==================================================================================================*/ +QTabWidget::pane { + background-color: transparent; /* temporal (transparent background) */ /* tab content background color */ + position: absolute; +} + +QTabWidget::pane:top { + top: -1px; + border-top: 1px solid #5a5a5a; +} + +QTabWidget::pane:bottom { + bottom: -1px; + border-bottom: 1px solid #5a5a5a; +} + +QTabWidget::pane:left { + right: -1px; + border-right: 1px solid #5a5a5a; +} + +QTabWidget::pane:right { + left: -1px; + border-left: 1px solid #5a5a5a; +} + +QTabWidget::tab-bar:top, +QTabWidget::tab-bar:bottom { + left: 10px; +} + +QTabWidget::tab-bar:left, +QTabWidget::tab-bar:right { + top: 10px; +} + +QTabBar { + qproperty-drawBase: 0; /* important */ + background-color: transparent; +} + +/* Workaround for QTabBars created from docked QDockWidgets which don't draw the border if not set and reseted as follows: */ +QTabBar { + border-top: 1px solid #5a5a5a; /* set color for all QTabBars */ +} +QDockWidget QTabBar { + border-color: transparent; /* set color for all QTabBars but ones created from QDockWidget */ +} +QDialog QTabBar { + border-color: transparent; /* set color for QTabBars inside Preferences dialog */ +} +/* end fix */ + +QTabBar::tab { + background-color: transparent; + border: 1px solid transparent; + padding: 3px; +} + +QTabBar::tab:top, +QTabBar::tab:bottom { + border-top-width: 4px; /* same as selected tab colored border in order to center close-button */ + border-bottom-width: 4px; /* same as selected tab colored border in order to center close-button */ + min-width: 11ex; + margin-left: 2px; + margin-right: 2px; +} + +QTabBar::tab:left, +QTabBar::tab:right { + border-left-width: 4px; /* same as selected tab colored border in order to center close-button */ + border-right-width: 4px; /* same as selected tab colored border in order to center close-button */ + min-height: 14ex; + margin-top: 2px; + margin-bottom: 2px; +} + +QTabBar::tab:selected { + color: #d2d2d2; + background-color: transparent; /* temporal (transparent background) */ + border-color: #5a5a5a; +} + +QTabBar::tab:top:selected { + border-top: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); /* selection color */ + border-bottom-color: #6e6e6e; /* same as tab content background color */ +} + +QTabBar::tab:bottom:selected { + border-bottom: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); /* selection color */ + border-top-color: #6e6e6e; /* same as tab content background color */ +} + +QTabBar::tab:right:selected { + border-left: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #94b30f, stop:1 #819c0c); /* selection color */ + border-right-color: #6e6e6e; /* same as tab content background color */ +} + +QTabBar::tab:left:selected { + border-right: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #94b30f, stop:1 #819c0c); /* selection color */ + border-left-color: #6e6e6e; /* same as tab content background color */ +} + +QTabBar::tab:!selected { + color: rgba(0,0,0,120); +} + +QTabBar::tab:!selected:hover { + color: rgba(0,0,0,180); + background-color: rgba(0,0,0,20); +} + +QTabBar::tab:first:selected { + margin-left: 0; /* the first selected tab has nothing to overlap with on the left */ +} + +QTabBar::tab:last:selected { + margin-right: 0; /* the last selected tab has nothing to overlap with on the right */ +} + +QTabBar::tab:only-one { + margin: 0; /* if there is only one tab, we don't want overlapping margins */ +} + +/* hack to access Preference TabBar background */ +QDialog#Gui__Dialog__DlgPreferences > QFrame QFrame { + background-color: transparent; /* main background color (in Windows is #6e6e6e) */ +} + +/* fix for previous hack that broke QTabWidget background on Windows */ +QDialog#Gui__Dialog__DlgPreferences QTabWidget::pane { + background-color: transparent; /* temporal (transparent background) */ +} + +/* hack to correctly align Preferences icon list on OSX */ +QDialog#Gui__Dialog__DlgPreferences > QListView { + min-width: 130px; +} + +/* unique styles for sections inside Preferences */ +QDialog#Gui__Dialog__DlgPreferences > QListView::item { + border-radius: 4px; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { + background-color: #b4b4b4; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { + color: white; + background-color: #94b30f; + border: 1px solid #819c0c; +} + + +/*================================================================================================== +Tab bar buttons +==================================================================================================*/ +/* Close button */ +QTabBar::close-button { + subcontrol-origin: margin; + subcontrol-position: center right; /* only works for QT 4.6 and newer */; + border-radius: 2px; + background-image: url(qss:images/close_dark.png); + background-position: center center; + background-repeat: none; +} + +QTabBar::close-button:hover { + background-color: rgba(255,255,255,20); +} + +QTabBar::close-button:pressed { + background-color: rgba(255,255,255,30); +} + +/* Fix for lists inside Model tab */ +QDockWidget QTreeView, +QDockWidget QListView, +QDockWidget QTableView { + margin: 6px; + border: 1px solid #505050; /* same as regular QTreeView, QListView and QTableView */ + min-height: 40px; /* neccesary in some areas of FreeCAD */ +} + +/* Buttons to scroll tabs if there is not space to show all of them: */ +QTabBar::scroller { + width: 20px; /* the width of the scroll buttons */ +} + +QTabBar QToolButton, +QTabBar QToolButton:hover { + background-color: #6e6e6e; /* same as main background color */ +} + +QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images/right_arrow_dark.png); +} + +QTabBar QToolButton::right-arrow:disabled, +QTabBar QToolButton::right-arrow:off { + image: url(qss:images/right_arrow_disabled_dark.png); +} + +QTabBar QToolButton::right-arrow:hover { + image: url(qss:images/right_arrow_darker.png); +} + + QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images/left_arrow_dark.png); +} + + QTabBar QToolButton::left-arrow:disabled, + QTabBar QToolButton::left-arrow:off { + image: url(qss:images/left_arrow_disabled_dark.png); +} + + QTabBar QToolButton::left-arrow:hover { + image: url(qss:images/left_arrow_darker.png); +} + + QTabBar QToolButton::up-arrow:enabled { + image: url(qss:images/up_arrow_dark.png); +} + + QTabBar QToolButton::up-arrow:disabled, + QTabBar QToolButton::up-arrow:off { + image: url(qss:images/up_arrow_disabled_dark.png); +} + + QTabBar QToolButton::up-arrow:hover { + image: url(qss:images/up_arrow_darker.png); +} + + QTabBar QToolButton::down-arrow:enabled { + image: url(qss:images/down_arrow_dark.png); +} + + QTabBar QToolButton::down-arrow:disabled, + QTabBar QToolButton::down-arrow:off { + image: url(qss:images/down_arrow_disabled_dark.png); +} + + QTabBar QToolButton::down-arrow:hover { + image: url(qss:images/down_arrow_darker.png); +} + +QTabBar::tear { + /* default OS tear better */ +} + + +/*================================================================================================== +Tree and list views +==================================================================================================*/ +QTreeView, +QListView, +QTableView { + background-color: #c8c8c8; + alternate-background-color: #bebebe; /* related with QListView background */ + border: 1px solid #505050; + selection-color: white; + selection-background-color: #94b30f; /* should be similar to QListView::item selected background-color */ + show-decoration-selected: 1; /* make the selection span the entire width of the view */ + border-radius: 3px; +} + +QListView::item:selected, +QTreeView::item:selected { + color: white; /* should be similar to QListView selection-color */ + background-color: #94b30f; /* should be similar to QListView selection-background-color */ + show-decoration-selected: 1; /* make the selection span the entire width of the view */ +} + +/* Property Editor QTreeView (FreeCAD custom widget) */ +Gui--PropertyEditor--PropertyEditor { + gridline-color: #a0a0a0; /* same as Group header background */ +} + +/* fix for column items background when a link is present */ +Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { + background-color: #dadfc5; /* same as focused background color */ +} + +/* hack to hide weird redundant information inside the value of a Placement cell */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 0px; + margin: 0px; + padding: 0px; +} + +/* hack to hide non editable cells inside Property values */ +Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, +Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { + color: transparent; + border-color: transparent; + background-color: transparent; + selection-color: transparent; + selection-background-color: transparent; +} + +/* hack to disable margin inside Property values to following elements */ +Gui--PropertyEditor--PropertyEditor QSpinBox, +Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, +Gui--PropertyEditor--PropertyEditor QLineEdit, +Gui--PropertyEditor--PropertyEditor QComboBox { + margin-left: 0px; + margin-right: 0px; + padding-top: 0px; + padding-bottom: 0px; +} + +/* set border-radius to 0px inside list views */ +QTreeView > QWidget > QComboBox, +QTreeView > QWidget > QAbstractSpinBox, +QTreeView > QWidget > QSpinBox, +QTreeView > QWidget > QDoubleSpinBox, +QTreeView > QWidget > QLineEdit, +QTreeView > QWidget > QTextEdit, +QTreeView > QWidget > QTimeEdit, +QTreeView > QWidget > QDateEdit, +QTreeView > QWidget > QDateTimeEdit, +QTreeView > QWidget > QComboBox:drop-down, +QTreeView > QWidget > QAbstractSpinBox:up-button, +QTreeView > QWidget > QSpinBox:up-button, +QTreeView > QWidget > QDoubleSpinBox:up-button, +QTreeView > QWidget > QTimeEdit:up-button, +QTreeView > QWidget > QDateEdit:up-button, +QTreeView > QWidget > QDateTimeEdit:up-button, +QTreeView > QWidget > QAbstractSpinBox:down-button, +QTreeView > QWidget > QSpinBox:down-button, +QTreeView > QWidget > QDoubleSpinBox:down-button, +QTreeView > QWidget > QTimeEdit:down-button, +QTreeView > QWidget > QDateEdit:down-button, +QTreeView > QWidget > QDateTimeEdit:down-button, +QTreeView > QWidget > Gui--ColorButton { + border-radius: 0px; +} + +/* set focus colors to best viewing the editable fields */ +QTreeView > QWidget > QComboBox:focus, +QTreeView > QWidget > QAbstractSpinBox:focus, +QTreeView > QWidget > QSpinBox:focus, +QTreeView > QWidget > QDoubleSpinBox:focus, +QTreeView > QWidget > QLineEdit:focus, +QTreeView > QWidget > QTextEdit:focus, +QTreeView > QWidget > QTimeEdit:focus, +QTreeView > QWidget > QDateEdit:focus, +QTreeView > QWidget > QDateTimeEdit:focus { + border-color: #dadfc5; /* same as focused background color */ + border-bottom-color: #a5c61a; /* same as focused border color */ +} + +QTreeView > QWidget > QAbstractSpinBox:read-only, +QTreeView > QWidget > QSpinBox:read-only, +QTreeView > QWidget > QDoubleSpinBox:read-only, +QTreeView > QWidget > QLineEdit:read-only, +QTreeView > QWidget > QTextEdit:read-only, +QTreeView > QWidget > QTimeEdit:read-only, +QTreeView > QWidget > QDateEdit:read-only, +QTreeView > QWidget > QDateTimeEdit:read-only { + color: transparent; + background-color: transparent; + border-color: transparent; +} + +/* Fix to correctly (not totally) draw QTextEdit on OSX at Page properties: "Page result", "Template" and "Editable Texts" */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget { + min-height: 14px; +} + + +/*================================================================================================== +Header of tree and list views +==================================================================================================*/ +QHeaderView { + color: #c8c8c8; + background-color: #505050; + border-top-left-radius: 2px; /* 1px less than its container */ + border-top-right-radius: 2px; /* 1px less than its container */ + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; +} + +QHeaderView::section { + border:none; + padding: 4px 6px; + background-color: #505050; +} + +QHeaderView::section:horizontal { + padding: 4px 6px; /* left and right value similar to QHeaderView::section */ + border-right: 1px solid rgba(255,255,255,30); +} + +QHeaderView::section:vertical { + border-bottom: 1px solid rgba(255,255,255,30); +} + +QTableCornerButton::section { + background-color: #505050; + border-top: none; + border-left: none; + border-right: 1px solid rgba(255,255,255,30); + border-bottom: 1px solid rgba(255,255,255,30); +} + +QHeaderView::section:last { + border-right: none; +} + +QHeaderView::up-arrow { + image: url(qss:images/up_arrow_light.png); +} + +QHeaderView::up-arrow:hover { + image: url(qss:images/up_arrow_lighter.png); +} + +QHeaderView::down-arrow { + image: url(qss:images/down_arrow_light.png); +} + +QHeaderView::down-arrow:hover { + image: url(qss:images/down_arrow_lighter.png); +} + +/* Group header inside Property Editor (FreeCAD custom widget) */ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: #505050; + qproperty-groupBackground: #8c8c8c; +} + + +/*================================================================================================== +Branch system for QTreeViews +==================================================================================================*/ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images/branch_vline.png) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images/branch_more.png) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images/branch_end.png) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + image: url(qss:images/branch_closed_dark.png); +} + +QTreeView::branch:has-children:!has-siblings:closed { + image: url(qss:images/branch_closed_dark.png); + border-image: url(qss:images/branch_end.png) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + image: url(qss:images/branch_open_dark.png); + border-image: url(qss:images/branch_more.png) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + image: url(qss:images/branch_open_dark.png); + border-image: url(qss:images/branch_end.png) 0; +} + + +/*================================================================================================== +Splitter and windows separator +==================================================================================================*/ +QSplitter::handle { + margin: 0px 11px; + padding: 0px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images/splitter_horizontal_dark.png); + background-position: center center; + background-repeat: none; + margin: 2px 4px 2px 4px; + height: 2px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images/splitter_vertical_dark.png); + background-position: center center; + background-repeat: none; + margin: 4px 2px 4px 2px; + width: 2px; +} + +/* Similar to the splitter is the following window separator: */ +QMainWindow::separator { + background-position: center center; + background-repeat: none; +} + +QMainWindow::separator:horizontal { + height: 2px; + background-image: url(qss:images/splitter_horizontal_dark.png); + margin: 4px 2px 4px 2px; +} + +QMainWindow::separator:vertical { + width: 2px; + background-image: url(qss:images/splitter_vertical_dark.png); + margin: 2px 4px 2px 4px; +} + + +/*================================================================================================== +Tasks panel (custom FreeCAD class) +==================================================================================================*/ +/* Action group */ +QFrame[class="panel"] { + background-color: transparent; /* temporal (transparent background) */ +} + +/* Separator line */ +QSint--ActionGroup QFrame[height="1"], +QSint--ActionGroup QFrame[height="2"], +QSint--ActionGroup QFrame[height="3"], +QSint--ActionGroup QFrame[width="1"], +QSint--ActionGroup QFrame[width="2"], +QSint--ActionGroup QFrame[width="3"] { + border-color: rgba(0,0,0,60); +} + +/* Panel header */ +QSint--ActionGroup QFrame[class="header"] { + border: none; + background-color: #505050; /* Task Panel Header background color */ + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + margin: 0px; + padding: 0px; +} + +QSint--ActionGroup QFrame[class="header"]:hover { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); +} + +QSint--ActionGroup QToolButton[class="header"] { + color: #e0e0e0; /* Task Panel Header text color */ + text-align: left; + font-weight: bold; + border: none; + margin: 0px; + padding: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel { + background-color: transparent; + background-image: url(qss:images/down_arrow_light.png); + background-repeat: none; + background-position: center center; + padding: 0px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel:hover { + background-color: transparent; + background-image: url(qss:images/down_arrow_lighter.png); +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { + background-color: transparent; + background-image: url(qss:images/up_arrow_light.png); + background-repeat: none; + background-position: center center; + padding: 0px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { + background-color: transparent; + background-image: url(qss:images/up_arrow_lighter.png); +} + +QSint--ActionGroup QFrame[class="content"] { + background-color: #8c8c8c; /* Task Panel background color */ + margin: 0px; + padding: 0px; + border: none; + border-top-left-radius: 0px; + border-top-right-radius: 0px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; +} + +QSint--ActionGroup QFrame[class="content"] > QWidget { + background-color: #8c8c8c; /* Task Panel background color */ +} + +/* Fixs for tabs inside Task Panel */ +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { + border-bottom-color: #8c8c8c; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { + border-top-color: #8c8c8c; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { + border-right-color: #8c8c8c; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { + border-left-color: #8c8c8c; /* same as Task Panel background color */ +} + + +/*================================================================================================== +Buttons +==================================================================================================*/ +/* Common */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QLineEdit, +QTextEdit, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + color: #bebebe; + background-color: #5a5a5a; + selection-color: white; + selection-background-color: #819c0c; + border: 1px solid #5a5a5a; + border-radius: 3px; + min-width: 50px; /* it ensures the default value is correctly displayed */ + padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ +} + +/* shifts text/number editable field to the left to make space for the up/down or drop-down buttons */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + padding-right: 20px; +} + +/* when QTextEdit are no editable */ +QTextEdit:!editable { + background-color: #c8c8c8; + border: 1px solid #505050; +} + +QComboBox:focus, +QAbstractSpinBox:focus, +QSpinBox:focus, +QDoubleSpinBox:focus, +QLineEdit:focus, +QTextEdit:focus, +QTimeEdit:focus, +QDateEdit:focus, +QDateTimeEdit:focus { + color: black; + border-color: #a5c61a; + border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #94b30f, stop:1 #a5c61a); /* same as up/down or drop-down button color */ + background-color: #dadfc5; +} + +QComboBox:disabled, +QAbstractSpinBox:disabled, +QSpinBox:disabled, +QDoubleSpinBox:disabled, +QLineEdit:disabled, +QTextEdit:disabled, +QTimeEdit:disabled, +QDateEdit:disabled, +QDateTimeEdit:disabled { + color: #787878; + background-color: #5a5a5a; /* same as enabled color */ + border-color: #5a5a5a; /* same as enabled color */ +} + +QAbstractSpinBox:up-button, +QSpinBox:up-button, +QDoubleSpinBox:up-button, +QTimeEdit:up-button, +QDateEdit:up-button, +QDateTimeEdit:up-button, +QAbstractSpinBox:down-button, +QSpinBox:down-button, +QDoubleSpinBox:down-button, +QTimeEdit:down-button, +QDateEdit:down-button, +QDateTimeEdit:down-button { + background-color: #505050; /* same color for QComboBox background-color */ + subcontrol-origin: border; /* important */ + width: 20px; /* same as QComboBox ... QDateTimeEdit padding-right */ +} + +QAbstractSpinBox:up-button, +QSpinBox:up-button, +QDoubleSpinBox:up-button, +QTimeEdit:up-button, +QDateEdit:up-button, +QDateTimeEdit:up-button { + subcontrol-position: top right; + border-top-right-radius: 3px; + height: 12px; /* fix for Ubuntu that doesn't divide the up/down button into the exact middle */ +} + +QAbstractSpinBox:down-button, +QSpinBox:down-button, +QDoubleSpinBox:down-button, +QTimeEdit:down-button, +QDateEdit:down-button, +QDateTimeEdit:down-button { + subcontrol-position: bottom right; + border-bottom-right-radius: 3px; +} + +QAbstractSpinBox:up-button:focus, +QSpinBox:up-button:focus, +QDoubleSpinBox:up-button:focus, +QTimeEdit:up-button:focus, +QDateEdit:up-button:focus, +QDateTimeEdit:up-button:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #9bbc12, stop:1 #a5c61a); +} + +QAbstractSpinBox:down-button:focus, +QSpinBox:down-button:focus, +QDoubleSpinBox:down-button:focus, +QTimeEdit:down-button:focus, +QDateEdit:down-button:focus, +QDateTimeEdit:down-button:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #94b30f, stop:1 #9bbc12); +} + +QAbstractSpinBox:up-button:disabled, +QSpinBox:up-button:disabled, +QDoubleSpinBox:up-button:disabled, +QTimeEdit:up-button:disabled, +QDateEdit:up-button:disabled, +QDateTimeEdit:up-button:disabled, +QAbstractSpinBox:down-button:disabled, +QSpinBox:down-button:disabled, +QDoubleSpinBox:down-button:disabled, +QTimeEdit:down-button:disabled, +QDateEdit:down-button:disabled, +QDateTimeEdit:down-button:disabled { + background-color: transparent; +} + +QAbstractSpinBox::up-arrow, +QSpinBox::up-arrow, +QDoubleSpinBox::up-arrow, +QTimeEdit::up-arrow, +QDateEdit::up-arrow, +QDateTimeEdit::up-arrow { + image: url(qss:images/up_arrow_light.png); + top: 0px; /* fix simetry between up and down images */ +} + +QAbstractSpinBox::up-arrow:focus, +QSpinBox::up-arrow:focus, +QDoubleSpinBox::up-arrow:focus, +QTimeEdit::up-arrow:focus, +QDateEdit::up-arrow:focus, +QDateTimeEdit::up-arrow:focus { + image: url(qss:images/up_arrow_lighter.png); +} + +QAbstractSpinBox::up-arrow:off, +QSpinBox::up-arrow:off, +QDoubleSpinBox::up-arrow:off, +QTimeEdit::up-arrow:off, +QDateEdit::up-arrow:off, +QDateTimeEdit::up-arrow:off { + image: url(qss:images/up_arrow_disabled_dark.png); +} + +QAbstractSpinBox::up-arrow:disabled, +QSpinBox::up-arrow:disabled, +QDoubleSpinBox::up-arrow:disabled, +QTimeEdit::up-arrow:disabled, +QDateEdit::up-arrow:disabled, +QDateTimeEdit::up-arrow:disabled { + image: url(qss:images/up_arrow_disabled_dark.png); +} + +QAbstractSpinBox::down-arrow, +QSpinBox::down-arrow, +QDoubleSpinBox::down-arrow, +QTimeEdit::down-arrow, +QDateEdit::down-arrow, +QDateTimeEdit::down-arrow { + image: url(qss:images/down_arrow_light.png); + bottom: 0px; /* fix simetry between up and down images */ +} + +QAbstractSpinBox::down-arrow:focus, +QSpinBox::down-arrow:focus, +QDoubleSpinBox::down-arrow:focus, +QTimeEdit::down-arrow:focus, +QDateEdit::down-arrow:focus, +QDateTimeEdit::down-arrow:focus { + image: url(qss:images/down_arrow_lighter.png); +} + +QAbstractSpinBox::down-arrow:off, +QSpinBox::down-arrow:off, +QDoubleSpinBox::down-arrow:off, +QTimeEdit::down-arrow:off, +QDateEdit::down-arrow:off, +QDateTimeEdit::down-arrow:off { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +QAbstractSpinBox::down-arrow:disabled, +QSpinBox::down-arrow:disabled, +QDoubleSpinBox::down-arrow:disabled, +QTimeEdit::down-arrow:disabled, +QDateEdit::down-arrow:disabled, +QDateTimeEdit::down-arrow:disabled { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +/* ComboBox */ +QComboBox::drop-down { + background-color: #505050; /* same color as up/down QSpinBox ... QDateTimeView background-color */ + subcontrol-origin: border; /* important */ + subcontrol-position: top right; + width: 20px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +QComboBox::drop-down:on, +QComboBox::drop-down:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #94b30f, stop:1 #a5c61a); +} + +QComboBox::down-arrow { + image: url(qss:images/down_arrow_light.png); +} + +QComboBox::down-arrow:on, +QComboBox::down-arrow:focus { + image: url(qss:images/down_arrow_lighter.png); +} + +QComboBox::down-arrow:off, +QComboBox::down-arrow:disabled { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +/* ComboBox menu */ +QComboBox { + selection-color: white; + selection-background-color: #94b30f; +} + +QComboBox QAbstractItemView { + color: #bebebe; /* same as regular QComboBox color */ + background-color: transparent; + selection-color: white; + selection-background-color: #94b30f; + border-width: 5px 0px 5px 0px; + border-style: solid; + border-color: transparent; + margin: 0px -1px 0px 0px; /* hack for Mac... try it on Windows and Linux */ +} + + +/*================================================================================================== +Push button +==================================================================================================*/ +QPushButton { + color: #e0e0e0; + text-align: center; + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #6e6e6e, stop:1 #646464); + border: 1px solid #5a5a5a; + border-bottom-color: #505050; /* simulates shadow under the button */ + padding: 4px 22px; + margin: 4px 4px; + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 4px; +} + +QPushButton:hover, +QPushButton:focus { + color: white; + border-color: #819c0c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); +} + +QPushButton:disabled, +QPushButton:disabled:checked { + color: #787878; + background-color: #5a5a5a; /* same as enabled color */ + border-color: #5a5a5a; /* same as enabled color */ +} + +QPushButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #819c0c, stop:1 #94b30f); +} + +QPushButton:checked { + background-color: #94b30f; + border-color: #819c0c; +} + +/* Color Buttons */ +Gui--ColorButton, +Gui--ColorButton:disabled { + padding: 0px; /* reset */ + margin: 0px; /* reset */ +} + +Gui--ColorButton { + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #6e6e6e, stop:1 #646464); + border: 1px solid #5a5a5a; + border-bottom-color: #505050; /* simulates shadow under the button */ +} + +Gui--ColorButton:disabled { + border-color: transparent; + background-color: rgba(0,0,0,10); +} + +Gui--ColorButton:hover, +Gui--ColorButton:focus { + border-color: #819c0c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); +} + +Gui--ColorButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #819c0c, stop:1 #94b30f); +} + +/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QPushButton { + background-color: #6e6e6e; + border: 1px solid #5a5a5a; + min-width: 16px; /* reset it due to larger value on regular QPushButton, same or bigger value as regular QPushButton min-height */ + border-radius: 0px; + margin: 0px; /* reset */ + padding: 0px; /* reset */ +} + +/* Fix for Expressions description QFrame that is "broken" with initial reset */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget > QWidget > QFrame { + background-color: #6e6e6e; /* main background color */ + border: 1px solid #5a5a5a; + border-radius: 2px; + padding: 2px 6px; +} + + +/*================================================================================================== +Tool button inside QDialogs that works as QPushButtons +==================================================================================================*/ +/* found under Tools -> Customize -> Macros -> Pixmap "..." button */ +QDialog QToolButton { + color: #e0e0e0; + text-align: center; + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #6e6e6e, stop:1 #646464); + border: 1px solid #5a5a5a; + border-bottom-color: #505050; /* simulates shadow under the button */ + padding: 0px; /* different than regular QPushButton */ + margin: 2px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 4px; +} + +QDialog QToolButton:hover, +QDialog QToolButton:focus { + color: white; + border-color: #819c0c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); +} + +QDialog QToolButton:disabled, +QDialog QToolButton:disabled:checked { + color: #6e6e6e; + border-color: #5a5a5a; + background-color: #5a5a5a; +} + +QDialog QToolButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #819c0c, stop:1 #94b30f); +} + +QPushButton:checked { + background-color: #94b30f; + border-color: #819c0c; +} + + +/*================================================================================================== +Radio button +==================================================================================================*/ +QRadioButton::indicator:unchecked{ + color: black; + background-color: rgba(255,255,255,20); + border: 1px solid #5a5a5a; +} + +QRadioButton::indicator:checked { + background-color: #94b30f; /* QCheckBox has the same color */ + border: 1px solid #819c0c; /* QCheckBox has the same color */ + image:url(qss:images/radiobutton_light.png); +} + +QRadioButton, +QRadioButton:disabled { + color: black; + padding: 3px; + outline: none; + background-color: transparent; +} + +QRadioButton::indicator { + width: 11px; + height: 11px; + border-radius: 6px; +} + +QRadioButton::indicator:pressed { + border-color: #c5d675; +} + +QRadioButton::indicator:disabled { + border: 1px solid #f5f5f5; +} + +QRadioButton::indicator:disabled { + color: #f5f5f5; + background-color: transparent; +} + +QRadioButton:focus { + border: none; +} + + +/*================================================================================================== +Checkbox +==================================================================================================*/ +QCheckBox, +QCheckBox:disabled { + color: black; + padding: 3px; + outline: none; + background-color: transparent; +} + +QCheckBox::indicator { + color: black; + background-color: rgba(255,255,255,20); + border: 1px solid #5a5a5a; +} + +QCheckBox::indicator { + width: 11px; + height: 11px; + border-radius:2px; +} + +QCheckBox::indicator:pressed, +QCheckBox::indicator:non-exclusive:checked:pressed, +QCheckBox::indicator:indeterminate:pressed, +QCheckBox::indicator:checked:pressed { + border-color: #c5d675; +} + +QCheckBox::indicator:checked { + background-color: #94b30f; /* QRadioButton has the same color */ + border: 1px solid #819c0c; /* QRadioButton has the same color */ + image:url(qss:images/checkbox_light.png); +} + +QCheckBox:disabled { + color: rgba(255,255,255,40); + background-color: transparent; +} + +QCheckBox::indicator:disabled { + background-color: rgba(255,255,255,20); + border: 1px solid rgba(255,255,255,20); +} + +QCheckBox::indicator:indeterminate { + background-color: #94b30f; + border: 1px solid #819c0c; + image: url(qss:images/checkbox_indeterminate_light.png); +} + +QCheckBox:focus { + border: none; +} + + +/*================================================================================================== +Slider +==================================================================================================*/ +QSlider, +QSlider:active, +QSlider:!active { + border: none; + background-color: transparent; +} + +QSlider:horizontal { + padding: 0px 10px; +} + +QSlider:vertical { + padding: 10px 0px; +} + +QSlider::groove { + background-color: rgba(0,0,0,30); + border: 1px solid rgba(0,0,0,40); + border-radius: 5px; + margin: 4px 0px; +} + +QSlider::groove:horizontal { + height: 8px; +} + +QSlider::groove:vertical { + width: 8px; +} + +QSlider::groove:horizontal:disabled, +QSlider::groove:vertical:disabled { + border-color: #5a5a5a; + background-color: #5a5a5a; +} + +QSlider::handle:horizontal, +QSlider::handle:vertical { + background-color: #505050; + border: 1px solid #505050; + width: 14px; + height: 14px; + border-radius: 8px; +} + +QSlider::handle:horizontal { + margin: -4px 0; +} + +QSlider::handle:vertical { + margin: 0 -4px; +} + +QSlider::handle:horizontal:hover, +QSlider::handle:vertical:hover, +QSlider::handle:horizontal:pressed, +QSlider::handle:vertical:pressed { + border-color: #94b30f; + background-color: #94b30f; +} + +QSlider::handle:horizontal:disabled, +QSlider::handle:vertical:disabled { + border-color: #5a5a5a; + background-color: #5a5a5a; +} + + +/*================================================================================================== +Toolbar buttons +==================================================================================================*/ +QToolBar > QToolButton { + margin: 2px; + padding: 2px; +} + +QToolBar > QPushButton, +/*QToolBar > QComboBox, disabled because creates different margins for body and drop-down button */ +QToolBar > QAbstractSpinBox, +QToolBar > QSpinBox, +QToolBar > QDoubleSpinBox, +QToolBar > QLineEdit, +QToolBar > QTextEdit, +QToolBar > QTimeEdit, +QToolBar > QDateEdit, +QToolBar > QDateTimeEdit { + margin: 2px; + padding: 2px; +} + +QToolBar > QPushButton { + border-radius: 4px; /* same as regular QPushButton */ + min-width: 20px; /* reset it due to larger value on regular QPushButton, same or bigger value as regular QPushButton min-height */ +} + +QToolBar > QPushButton:checked { + border: 1px solid #819c0c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); +} + +QToolBar > QPushButton:!checked { + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #6e6e6e, stop:1 #646464); + border: 1px solid #5a5a5a; + border-bottom-color: #505050; /* simulates shadow under the button */ +} + +QToolBar > QPushButton:checked:hover { + border-color: #74831d; +} + +QToolBar > QPushButton:!checked:hover { + color: #dadfc5; + border-color: #505050; +} + +QToolBar > QPushButton:checked:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #819c0c, stop:1 #94b30f); +} + +QToolBar > QPushButton:!checked:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5a5a5a, stop:1 #6e6e6e); +} + +QToolBar > QPushButton:checked:disabled, +QToolBar > QPushButton:!checked:disabled { + border: none; + background-color: transparent; +} + +/* ToolBar menu buttons (buttons with drop-down menu) */ +QToolBar > QToolButton#qt_toolbutton_menubutton { + padding-right: 20px; /* Hack to add more width to buttons with menu */ + border: 1px solid transparent; + border-radius: 3px; +} + +QToolBar > QToolButton#qt_toolbutton_menubutton:hover, +QToolBar > QToolButton#qt_toolbutton_menubutton:pressed, +QToolBar > QToolButton#qt_toolbutton_menubutton:open { + border: 1px solid #a5c61a; +} + +QToolBar QToolButton::menu-button, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button { + border: none; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + width: 16px; /* 16px width + 4px for border = 20px allocated above */ + outline: none; + background-color: transparent; +} + +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:hover, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:pressed, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:open { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #94b30f, stop:1 #a5c61a); +} + +QToolBar > QToolButton::menu-arrow { + background-image: url(qss:images/down_arrow_dark.png); + background-position: center center; + background-repeat: none; + subcontrol-origin: padding; + subcontrol-position: bottom right; + height: 10px; /* same as arrow image */ +} + +QToolBar > QToolButton::menu-arrow:hover { + background-image: url(qss:images/down_arrow_lighter.png); +} + +QToolBar > QToolButton::menu-arrow:open { + background-image: url(qss:images/down_arrow_lighter.png); +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" */ +QToolBar QToolButton#qt_toolbar_ext_button { + margin: 0px; + padding: 0px; + /*background-image: url(qss:images/more_dark.png);*/ + image: transparent; + background-repeat: none; + background-position: center left; +} + +QToolBar QToolButton#qt_toolbar_ext_button:hover { + /*background-image: url(qss:images/more_light.png);*/ + border-color: #5a5a5a; + background-color: #5a5a5a; +} + +QToolBar QToolButton#qt_toolbar_ext_button:on { + /*background-image: url(qss:images/more_light.png);*/ + border-color: #5a5a5a; + background-color: #5a5a5a; +} + + +/*================================================================================================== +Tables (spreadsheets) +==================================================================================================*/ +QTableView { + gridline-color: #a0a0a0; + selection-color: #566214; + selection-background-color: #dadfc5; +} + +QTableView::item:hover { + background-color: rgba(0,0,0,10); /* temporal: is it displayed in Linux or Windows? on OSX it isn't */ +} + +QTableView::item:disabled { + color: #8c8c8c; +} + +QTableView::item:selected { + color: #566214; + border-color: #dadfc5; /* same as focused background color */ + border-bottom-color: #a5c61a; /* same as focused border color */ +} + +/* fix for elements inside the cells */ +QTableView QComboBox, +QTableView QAbstractSpinBox, +QTableView QSpinBox, +QTableView QDoubleSpinBox, +QTableView QLineEdit, +QTableView QTextEdit, +QTableView QTimeEdit, +QTableView QDateEdit, +QTableView QDateTimeEdit, +QTableView QComboBox:drop-down, +QTableView QAbstractSpinBox:up-button, +QTableView QSpinBox:up-button, +QTableView QDoubleSpinBox:up-button, +QTableView QTimeEdit:up-button, +QTableView QDateEdit:up-button, +QTableView QDateTimeEdit:up-button, +QTableView QAbstractSpinBox:down-button, +QTableView QSpinBox:down-button, +QTableView QDoubleSpinBox:down-button, +QTableView QTimeEdit:down-button, +QTableView QDateEdit:down-button, +QTableView QDateTimeEdit:down-button, +QTableView Gui--ColorButton { + border-radius: 0px; +} + +QTableView QComboBox, +QTableView QAbstractSpinBox, +QTableView QSpinBox, +QTableView QDoubleSpinBox, +QTableView QLineEdit, +QTableView QTextEdit, +QTableView QTimeEdit, +QTableView QDateEdit, +QTableView QDateTimeEdit { + color: black; + background-color: transparent; + border-color: transparent; +} + +QTableView QComboBox:drop-down, +QTableView QAbstractSpinBox:up-button, +QTableView QSpinBox:up-button, +QTableView QDoubleSpinBox:up-button, +QTableView QTimeEdit:up-button, +QTableView QDateEdit:up-button, +QTableView QDateTimeEdit:up-button, +QTableView QAbstractSpinBox:down-button, +QTableView QSpinBox:down-button, +QTableView QDoubleSpinBox:down-button, +QTableView QTimeEdit:down-button, +QTableView QDateEdit:down-button, +QTableView QDateTimeEdit:down-button, +QTableView Gui--ColorButton { + background-color: rgba(0,0,0,30); +} + +QTableView QComboBox:focus, +QTableView QAbstractSpinBox:focus, +QTableView QSpinBox:focus, +QTableView QDoubleSpinBox:focus, +QTableView QLineEdit:focus, +QTableView QTextEdit:focus, +QTableView QTimeEdit:focus, +QTableView QDateEdit:focus, +QTableView QDateTimeEdit:focus { + color: #566214; + selection-color: white; + selection-background-color: #94b30f; + border-color: #dadfc5; + background-color: #dadfc5; +} + +QTableView QComboBox:disabled, +QTableView QAbstractSpinBox:disabled, +QTableView QSpinBox:disabled, +QTableView QDoubleSpinBox:disabled, +QTableView QLineEdit:disabled, +QTableView QTextEdit:disabled, +QTableView QTimeEdit:disabled, +QTableView QDateEdit:disabled, +QTableView QDateTimeEdit:disabled { + color: rgba(0,0,0,120); + background-color: transparent; + border-color: transparent; +} + +QTableView QComboBox:read-only, +QTableView QAbstractSpinBox:read-only, +QTableView QSpinBox:read-only, +QTableView QDoubleSpinBox:read-only, +QTableView QLineEdit:read-only, +QTableView QTextEdit:read-only, +QTableView QTimeEdit:read-only, +QTableView QDateEdit:read-only, +QTableView QDateTimeEdit:read-only { + color: black; + background-color: transparent; + border-color: transparent; +} + + +/*================================================================================================== +EXPERIMENTAL +==================================================================================================*/ + +/* Fix for preventing elements in different rows to accidentaly overlap */ +QDialog QGroupBox QFrame { + margin: 2px 0px; +} + +*[mandatoryField="true"] { background-color: cyan } + + + diff --git a/dark-orange.qss b/dark-orange.qss index fbfb6e9..5c699e0 100644 --- a/dark-orange.qss +++ b/dark-orange.qss @@ -1,1906 +1,1883 @@ -/* -ABOUT -=========================================================== -version 1.8 -QT theme (stylesheet) specially developed for FreeCAD (http://www.freecadweb.org/). -It might work with other software that uses QT styling. - - -LICENSE -=========================================================== -Copyright (c) 2015 Pablo Gil Fernández -The stylesheet barely uses code from Colin Duquesnoy "generic QT stylesheet" - -This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. -To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. - - -INSTALLATION -=========================================================== -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -2) In order to display correctly images that are used inside the stylesheet: - 2.1) If you use FreeCAD 0.16 (development builds newer than commit 5b3d50a): that's it, you are done! - - 2.2) If you use FreeCAD 0.15: Images used in the theme need full paths to be found by FreeCAD, so you should search the string "qss:images" (without "") and replace with the real path of your computer. It should be done with all the .qss files you want to install-use - find = qss:images - replace = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images - - -CUSTOMIZATION -=========================================================== -If you would like to change the overall look/style of the theme, just find and replace following colors in the whole file: - background darker = #51504d - background dark and slightly darker = #61605d - background dark = #71706d - background normal and slightly darker = #7f7d79 - background normal = #8a8985 - background light = #9e9d9a - background lighter = #c9c8c7 - - lists background = #d3d1cd - lists background (alternate) = #cfcdc9 - lists backgrounds selection = #cbc9c4 - - foreground = white - - selection darker = #9d7106 - selection dark = #e0a108 - selection normal = #f8bf36 - selection inbetween normal and light = #f9ca58 (used to build SpinBoxes) - selection light = #fad57a - selection lighter = #fce6b1 - - -CAVEATS -=========================================================== - - FreeCAD 0.15 - - full paths to images are needed, that means all these .qss files should be edited per user - - the "Task panel" is not stylable - - in app icons-buttons are designed in svg but are not stylable, that is, it's not possible to change them... I hope it also changes in the near future - - -KNOWN BUGS and TO DO -=========================================================== - - please, follow the link to get updated information: http://forum.freecadweb.org/viewtopic.php?f=10&t=12417 -*/ - -/* RESET EVERYTHING */ -QAbstractScrollArea,QCheckBox,QColumnView,QComboBox,QDateEdit,QDateTimeEdit,QDialog,QDialogButtonBox,QDockWidget,QDoubleSpinBox,QFrame,QGroupBox,QHeaderView,QLabel,QLineEdit,QListView,QListWidget,QMainWindow,QMenu,QMenuBar,QMessageBox,QProgressBar,QPushButton,QRadioButton,QScrollBar,QSizeGrip,QSlider,QSpinBox,QSplitter,QStatusBar,QTabBar,QTabWidget,QTableView,QTableWidget,QTextEdit,QTimeEdit,QToolBar,QToolButton,QToolBox,QToolTip,QTreeView,QTreeWidget,QWidget { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - background-color: #8a8985; /* set with default background color */ -} - -QMdiArea[showImage="true"] { - background-image: url(qss:images/background_freecad.png); - background-position: center; - background-repeat: no-repeat; -} - -QProgressBar, -QProgressBar:horizontal { - background: #d3d1cd; - border: 1px solid #71706d; - text-align: center; - padding: 1px; - border-radius: 4px; -} -QProgressBar::chunk, -QProgressBar::chunk:horizontal { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); - border-radius: 3px; -} - -QToolTip { - background-color: #51504d; - color: white; - padding: 4px; - border-radius: 4px; - /*opacity: 200;*/ -} - -QWidget { - color: #51504d; - background-color: #8a8985; - background-clip: border; - border-image: none; - outline: 0; -} - -QWidget:focus { - border: 1px solid #51504d; -} - -QWidget:disabled { - color: #9e9d9a; - background-color: #51504d; /* same as QMenu background-color */ -} - -QMenuBar { - color: #c9c8c7; - background-color: #7f7d79; -} - -QMenuBar::item { - background-color: #7f7d79; -} - -QMenuBar::item:selected { - color: #9d7106; - border: 1px solid #f8bf36; - background-color: #f8bf36; -} - -QMenuBar::item:pressed { - color: #9d7106; - border: 1px solid #fad57a; - background-color: #fad57a; - margin-bottom:-1px; - padding-bottom:1px; -} - -QMenu { - color: #c9c8c7; - background-color: #51504d; - margin: 2px; - border: 1px solid transparent; -} - -QMenu::icon { - margin: 5px; - border-style: none; -} - -QMenu::right-arrow { - image:url(qss:images/right_arrow_light.png); -} - -QMenu::item { - color: #c9c8c7; - background-color: #51504d; - padding: 2px 30px 2px 30px; - border: 1px solid #51504d; /* reserve space for selection border */ -} - -QMenu::item:selected { - color: #9d7106; - background-color: #fad57a; -} - -QMenu::separator { - height: 1px; - background-color: #71706d; - margin-top: 2px; - margin-bottom: 2px; - margin-left: 6px; - margin-right: 6px; -} - -QMenu::indicator:non-exclusive { - color: #c9c8c7; - background-color: #9e9d9a; - border: 1px solid #51504d; - width: 11px; - height: 11px; - border-radius:2px; -} - -QMenu::indicator:non-exclusive:checked { - background-color: #e0a108; - border: 1px solid #9d7106; - image:url(qss:images/checkbox_light.png); -} - -QGroupBox { - color: #51504d; - font-weight: bold; - border:1px solid blue; - border-radius: 4px; - margin-top: 20px; - border-color: rgba(0, 0, 0, 20); /* lighter than "QGroupBox" border-color */ - background-color: rgba(255, 255, 255, 15); -} - - - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - padding-left: 10px; - padding-right: 10px; - padding-top: 10px; - background-color: transparent; -} - -QAbstractScrollArea { - border-radius: 2px; - border: 1px solid #3A3939; - background-color: transparent; -} - -QAbstractScrollArea::corner { - border: none; - background-color: #8a8985; -} - -QScrollBar:horizontal { - height: 15px; - margin: 3px 15px 3px 15px; - border: 1px transparent #51504d; - border-radius: 4px; - background-color: #51504d; -} - -QScrollBar::handle:horizontal { - background-color: #71706d; - min-width: 5px; - border-radius: 4px; -} - -QScrollBar::add-line:horizontal { - margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/right_arrow_light.png); - width: 6px; - height: 10px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/left_arrow_light.png); - height: 10px; - width: 6px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images/right_arrow_lighter.png); -} - - -QScrollBar::sub-line:horizontal:hover, -QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images/left_arrow_lighter.png); -} - -QScrollBar::up-arrow:horizontal, -QScrollBar::down-arrow:horizontal { - background: none; -} - - -QScrollBar::add-page:horizontal, -QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar:vertical { - background-color: #51504d; - width: 15px; - margin: 15px 3px 15px 3px; - border: 1px transparent #51504d; - border-radius: 4px; -} - -QScrollBar::handle:vertical { - background-color: #71706d; - min-height: 5px; - border-radius: 4px; -} - -QScrollBar::sub-line:vertical { - margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/up_arrow_light.png); - height: 6px; - width: 10px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/down_arrow_light.png); - height: 6px; - width: 10px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, -QScrollBar::sub-line:vertical:on { - border-image: url(qss:images/up_arrow_lighter.png); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images/down_arrow_lighter.png); -} - -QScrollBar::up-arrow:vertical, -QScrollBar::down-arrow:vertical { - background: none; -} - - -QScrollBar::add-page:vertical, -QScrollBar::sub-page:vertical { - background: none; -} - -QTextEdit { - color: #51504d; - background-color: #d3d1cd; - border: 1px solid #71706d; - padding: 0px; - margin: 0px; -} - -QPlainTextEdit { - color: #51504d; - background-color: #d3d1cd; - border-radius: 2px; - border: 1px solid #71706d; - padding: 0px; - margin: 0px; -} - -QSizeGrip { - image: url(qss:images/sizegrip_light.png); - width: 16px; - height: 16px; - background-color: transparent; -} - -QRadioButton::indicator:unchecked{ - color: #51504d; - background-color: #9e9d9a; - border: 1px solid #51504d; -} - -QRadioButton::indicator:checked { - background-color: #e0a108; - border: 1px solid #9d7106; - image:url(qss:images/radiobutton_light.png); -} - -QCheckBox, -QRadioButton, -QCheckBox:disabled, -QRadioButton:disabled { - color: #51504d; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: #c9c8c7; - background-color: #9e9d9a; - border: 1px solid #51504d; -} - -QCheckBox::indicator { - width: 11px; - height: 11px; - border-radius:2px; -} - -QRadioButton::indicator { - width: 11px; - height: 11px; - border-radius: 6px; -} - -QRadioButton::indicator:pressed, -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed { - border-color: #fce6b1; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #e0a108; - border: 1px solid #9d7106; - image:url(qss:images/checkbox_light.png); -} - -QCheckBox::indicator:disabled, -QRadioButton::indicator:disabled { - border: 1px solid #71706d; -} - -QCheckBox:disabled, -QRadioButton::indicator:disabled { - color: #71706d; - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled, -QMenu::indicator:non-exclusive:disabled { - background-color: #8a8985; -} - -QCheckBox::indicator:indeterminate { - background-color: #e0a108; - border: 1px solid #9d7106; - image: url(qss:images/checkbox_indeterminate_light.png); -} - -QCheckBox:focus, -QRadioButton:focus { - border: none; -} - -QFrame, -QFrame:pressed, -QFrame:focus, -QFrame:on { - border: 1px solid #8a8985; - border-radius: 3px; - padding: 0px; - /* background-color: transparent; temporal */ -} - -/* border and background of QComboBox drop-down */ -QComboBox QFrame, -QComboBox QFrame:pressed, -QComboBox QFrame:focus, -QComboBox QFrame:on { - border: 1px solid #51504d; - background-color: #51504d; - padding: 0px; - margin: 0px; -} - -QFrame[frameShape="0"] { - border-radius: 3px; -} - -/* Separator line */ -QFrame[height="1"], -QFrame[height="2"], -QFrame[height="3"], -QFrame[width="1"], -QFrame[width="2"], -QFrame[width="3"] { - border-width: 1px 0px 0px 0px; - border-style: solid; - border-color: #7f7d79; - background-color: transparent; -} - -QPushButton { - color: #c9c8c7; - text-align: center; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #71706d, stop:1 #8a8985); - border: 1px solid #51504d; - padding: 5px 12px 5px 12px; - margin: 4px 8px 4px 8px; - border-radius: 3px; - min-width: 14px; - min-height: 14px; -} - -QPushButton:hover, -QPushButton:focus { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); - border-color: #e0a108; -} - -QPushButton:disabled, -QPushButton:disabled:checked { - color: #71706d; - background-color: #8a8985; - border-color: #71706d; -} - -QPushButton:pressed { - background-color: #e0a108; -} - -QPushButton:checked { - background-color: #f8bf36; - border-color: #e0a108; -} - -/* Color Buttons */ -Gui--ColorButton, -Gui--ColorButton:disabled { - border-color: transparent; - background-color: transparent; - /*width: 60px;*/ - height: 24px; - padding: 0px; - margin: 0px; -} - -Gui--ColorButton:hover { - border-color: #7f7d79; - background-color: #7f7d79; -} - -/* Buttons inside the toolbar */ -QToolBar QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #7f7d79, stop:1 #8a8985); - border: 1px solid #71706d; - min-width: 22px; - min-height: 22px; - margin-left: 2px; - margin-right: 2px; - margin-bottom: 3px; /*bigger margin to correctly separate buttons inside a vertical toolbar */ - margin-top: 1px; - padding: 1px; -} - -QToolBar QPushButton:hover, -QToolBar QPushButton:focus { - color: #c9c8c7; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #7f7d79, stop:1 #8a8985); - border: 1px solid #51504d; -} - -QToolBar QPushButton:disabled, -QToolBar QPushButton:disabled:checked { - background-color: #8a8985; - border-color: #7f7d79; -} - -QToolBar QPushButton:pressed { - background-color: #71706d; - border-color: #71706d; -} - -QToolBar QPushButton:checked { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #f8bf36, stop:1 #fad57a); - border-color: #f8bf36; -} - -QToolBar QPushButton:checked:hover, -QToolBar QPushButton:checked:focus { - color: #c9c8c7; - border: 1px solid #e0a108; -} - -QToolBar { - border: 1px transparent #393838; - background-color: #8a8985; - font-weight: bold; - margin: 0px; - padding: 0px; -} - -QToolBar::handle:horizontal { - background-image: url(qss:images/Hmovetoolbar_dark.png); - width: 10px; - margin: 6px 2px 6px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:vertical { - background-image: url(qss:images/Vmovetoolbar_dark.png); - height: 10px; - margin: 2px 6px 2px 6px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:horizontal { - background-image: url(qss:images/separtoolbar_dark.png); - width: 10px; - margin: 6px 2px 6px 2px; - background-position: center center; - background-repeat: repeat-y; -} - -QToolBar::separator:vertical { - background-image: url(qss:images/separtoolbar_dark.png); - height: 10px; - margin: 2px 6px 2px 6px; - background-position: center center; - background-repeat: repeat-x; -} - -QStackedWidget { - background-color: #8a8985; - border: 1px transparent #8a8985; -} - -QAbstractSpinBox { - color: #c9c8c7; - border: 1px solid #71706d; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - background-color: #71706d; - selection-color: white; - selection-background-color: #f8bf36; -} - -QAbstractSpinBox:disabled { - color: #9e9d9a; - background-color: #7f7d79; - border-color: #7f7d79; -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #f9ca58, stop:1 #fad57a); - subcontrol-origin: border; - subcontrol-position: top right; - border-top-right-radius: 3px; - width: 20px; -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #f8bf36, stop:1 #f9ca58); - subcontrol-origin: border; - subcontrol-position: bottom right; - border-bottom-right-radius: 3px; - width: 20px; -} - -QAbstractSpinBox:up-button:disabled, -QAbstractSpinBox:down-button:disabled { - background-color: transparent; -} - -QAbstractSpinBox::up-arrow { - image: url(qss:images/up_arrow_light.png); - top: 1px; /* fix simetry between up and down images */ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images/up_arrow_lighter.png); -} - -QAbstractSpinBox::up-arrow:off { - image: url(qss:images/up_arrow_disabled_dark.png); -} - -QAbstractSpinBox::up-arrow:disabled { - image: none; -} - -QAbstractSpinBox::down-arrow { - image: url(qss:images/down_arrow_light.png); - bottom: -1px; /* fix simetry between up and down images */ -} -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images/down_arrow_lighter.png); -} - -QAbstractSpinBox::down-arrow:off { - image: url(qss:images/down_arrow_disabled_dark.png); -} - -QAbstractSpinBox::down-arrow:disabled { - image: none; -} - -QToolBar QAbstractSpinBox { - margin-top: 4px; - margin-bottom: 4px; -} - -QLineEdit { - color: #c9c8c7; - background-color: #71706d; - selection-color: white; - selection-background-color: #f8bf36; - /* Padding and margin defined */ - border-style: solid; - border: 1px solid #71706d; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - border-radius: 3px; -} - -QAbstractSpinBox:focus, -QLineEdit:focus, -QComboBox:focus { - border-color: #fad57a; -} - -QComboBox { - color: #c9c8c7; - background-color: #71706d; - selection-color: white; - selection-background-color: #f8bf36; - border: 1px solid #71706d; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - border-radius: 3px; -} - -QComboBox:on { - color: white; - background-color: #71706d; - border-color: #fad57a; -} - -QComboBox::drop-down { - subcontrol-origin: margin; - subcontrol-position: top right; - width: 20px; - border-left-width: 1px; - border-left-color: transparent; - border-left-style: solid; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #f8bf36, stop:1 #fad57a); -} - -QComboBox::down-arrow { - image: url(qss:images/down_arrow_light.png); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:hover, -QComboBox::down-arrow:focus { - image: url(qss:images/down_arrow_lighter.png); -} - -QComboBox QAbstractItemView { - color: #c9c8c7; - background-color: #51504d; - border-radius: 3px; - margin: 0px; - padding: 0px; - border: none; -} - -/* Common parameters for QAbstractSpinBox, QLineEdit and QComboBox */ -QSpinBox, -QDoubleSpinBox, -QAbstractSpinBox, -QLineEdit, -QComboBox { - border-top-color: #61605d; /* Creates an inset effect inside the elements */ - padding: 2px 6px 2px 6px; /* This makes text colour work on QComboBox */ - margin: 0px 2px 0px 2px; - min-width: 70px; /* it was 120 because of QCombobox... */ - border-radius: 3px; -} -/* end Common parameters */ - -QAbstractItemView { - color: #51504d; - alternate-background-color: #cfcdc9; /* related with QListView background */ - border: 1px solid #51504d; - border-radius: 3px; - padding: 0px; -} - -/* hack to deactivate changing background color when focus (due to QFrame generic transparent color) */ -QAbstractItemView:selected, -QAbstractItemView:on, -QAbstractItemView:focus { - background-color: #d3d1cd; /* same as QTable background color */ -} - -/* hack to hide weird redundant information inside the value of a Placement cell */ -QTreeView QLabel, -QTreeView QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QTreeView QLineEdit { - color: #c9c8c7; - border-color: #71706d; - background-color: #71706d; - selection-color: white; - selection-background-color: #f8bf36; -} - -/* hack to hide non editable cells inside Property values */ -QTreeView QLineEdit:read-only, -QTreeView QLineEdit:disabled, -QTreeView QAbstractSpinBox:read-only, -QTreeView QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; -} - -/* hack to disable margin inside Property values to following elements */ -QTreeView QSpinBox, -QTreeView QDoubleSpinBox, -QTreeView QAbstractSpinBox, -QTreeView QLineEdit, -QTreeView QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; -} - -/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ -QTreeView QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #71706d, stop:1 #8a8985); - border-top: none; - border-bottom: none; - border-right: none; - border-left: 1px solid #71706d; - border-radius: 0px; - margin: 0px; - padding: 0px; - height: 24px; -} - -/* Color Buttons inside the "Properties window" */ -QAbstractItemView Gui--ColorButton { - padding: 0px; - margin: 0px; - height: 10px; -} - -QAbstractItemView QPushButton:hover { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); - border-color: #e0a108; -} - -QAbstractItemView QPushButton:disabled { - color: transparent; - background-color: transparent; - border-color: transparent; -} - -QLabel { - border: 0px solid #51504d; -} - -QTabWidget{ - border: none; -} - -QTabWidget:focus { - border: none; -} - -QTabWidget::pane { - border: none; - padding: 0px; - background-color: #8a8985; - position: absolute; - top: -15px; - padding-top: 15px; -} - -QTabWidget::tab-bar { - alignment: center; -} - -QTabBar { - qproperty-drawBase: 0; - left: 5px; - background-color: transparent; -} - -QTabBar:focus { - border: 0px transparent black; -} - -QTabBar::close-button { - padding: 0px; - margin: 0px; - border-radius: 2px; - background-image: url(qss:images/close_dark.png); - background-position: center center; - background-repeat: none; -} - -QTabBar::close-button:hover { - background-color: #fad57a; -} - -QTabBar::close-button:pressed { - background-color: #fce6b1; -} - -QTabBar::scroller { /* the width of the scroll buttons */ - width: 20px; -} - -/* the scroll buttons are tool buttons */ -QTabBar QToolButton, -QTabBar QToolButton:hover { - margin-top: 4px; - margin-bottom: 4px; - margin-left: 0px; - margin-right: 0px; - padding: 0px; - border: none; - background-color: #8a8985; - border-radius: 0px; -} - -QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images/right_arrow_light.png); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images/right_arrow_disabled_dark.png); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images/right_arrow_lighter.png); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images/left_arrow_light.png); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images/left_arrow_disabled_dark.png); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images/left_arrow_lighter.png); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images/up_arrow_light.png); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images/up_arrow_disabled_dark.png); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images/up_arrow_lighter.png); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images/down_arrow_light.png); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images/down_arrow_disabled_dark.png); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images/down_arrow_lighter.png); -} - -/* HORIZONTAL TABS */ -QTabBar::tab:top, -QTabBar::tab:bottom { - color: #c9c8c7; - border: 1px solid #71706d; - border-left-color: #8a8985; - border-right-width: 0px; - border-bottom: 1px solid #61605d; /* shadown effect */ - background-color: #71706d; - padding:5px 15px; - margin-top: 4px; - margin-bottom: 4px; - position: center; -} - -QTabBar::tab:top:first, -QTabBar::tab:bottom:first { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} - -QTabBar::tab:top:last, -QTabBar::tab:bottom:last { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; - border-right-width: 1px; -} - -QTabBar::tab:top:selected, -QTabBar::tab:bottom:selected { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); - border-color: #e0a108; - border-bottom: 1px solid #61605d; /* shadown effect */ -} - -QTabBar::tab:top:!selected:hover, -QTabBar::tab:bottom:!selected:hover { - color: white; -} - -QTabBar::tab:top:only-one , -QTabBar::tab:bottom:only-one { - border: 1px solid #9d7106; - border-radius: 6px; -} - -/* VERTICAL TABS */ -QTabBar::tab:left, -QTabBar::tab:right { - color: #c9c8c7; - border: 1px solid #71706d; - border-top-color: #8a8985; - border-bottom-width: 0px; - border-right: 1px solid #61605d; /* shadown effect */ - background-color: #71706d; - padding: 15px 5px; - margin-left: 4px; - margin-right: 4px; - position: center; -} - -QTabBar::tab:left:first, -QTabBar::tab:right:first { - border-top-left-radius: 6px; - border-top-right-radius: 6px; -} - -QTabBar::tab:left:last, -QTabBar::tab:right:last { - border-bottom-left-radius: 6px; - border-bottom-right-radius: 6px; - border-bottom-width: 1px; -} - -QTabBar::tab:left:selected, -QTabBar::tab:right:selected { - color: white; - background-color: qlineargradient(spread:pad, x1:0.545, y1:1, x2:0, y2:1, stop:0 #e0a108, stop:1 #f8bf36); - border-color: #e0a108; - border-right: 1px solid #61605d; /* shadown effect */ -} - -QTabBar::tab:left:!selected:hover, -QTabBar::tab:right:!selected:hover { - color: white; -} - -QTabBar::tab:left:only-one , -QTabBar::tab:right:only-one { - border: 1px solid #9d7106; - border-radius: 6px; -} - -QDockWidget { - color: #51504d; - border: 1px solid #8a8985; - titlebar-close-icon: url(qss:images/close_dark.png); - titlebar-normal-icon: url(qss:images/undock_dark.png); -} - -QDockWidget::title { - text-align: center; - background-color: #7f7d79; - padding: 4px; - border-radius: 4px; -} - -QDockWidget::close-button, -QDockWidget::float-button { - border: 1px transparent #8a8985; - border-radius: 2px; - background: transparent; - subcontrol-origin: padding; - subcontrol-position: right center; -} - -QDockWidget::close-button { - right: 4px; -} - -QDockWidget::float-button { - right: 22px; -} - -QDockWidget::close-button:hover, -QDockWidget::float-button:hover { - background: #9e9d9a; -} - -QDockWidget::close-button:pressed, -QDockWidget::float-button:pressed { - /*padding: 1px -1px -1px 1px;*/ - background-color: #7f7d79; -} - -QTreeView, -QListView { - color: #51504d; - border: 1px solid #8a8985; - border-radius: 4px; - background-color: #d3d1cd; /* related with alternate-background-color*/ - selection-color: white; - selection-background-color: #f8bf36; /* should be similar to QListView::item selected background-color */ - show-decoration-selected: 1; /* make the selection span the entire width of the view */ - padding: 0px; - margin: 0px 4px 0px 4px; - min-width: 130px; /* hack to correctly align Preferences icon list */ -} - -QListView, -QListView::item, -QListView QAbstractItemView { - margin: 0px; - icon-size: 20px; /* temporal */ - paint-alternating-row-colors-for-empty-area: 1; - position: absolute; - subcontrol-origin: margin; - subcontrol-position: left top; -} - -/* Control dropdown list margins of QComboBox */ -QComboBox QTreeView, -QComboBox QListView { - margin: 0px; - padding: 0px; -} - -QListView::item { - border: 0px transparent #8a8985; - border-radius: 4px; - background-color: transparent; - padding: 0px; - margin: 0px; - display: inline-block; - position: relative; -} - -QListView::item:selected, -QTreeView::item:selected { - color: white; - background-color: #f8bf36; /* should be similar to QListView selection-background-color */ -} - -/* Branch system */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images/branch_vline.png) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images/branch_more.png) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images/branch_end.png) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - image: url(qss:images/branch_closed_dark.png); -} - -QTreeView::branch:has-children:!has-siblings:closed { - image: url(qss:images/branch_closed_dark.png); - border-image: url(qss:images/branch_end.png) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - image: url(qss:images/branch_open_dark.png); - border-image: url(qss:images/branch_more.png) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - image: url(qss:images/branch_open_dark.png); - border-image: url(qss:images/branch_end.png) 0; -} - -QSlider, -QSlider:active, -QSlider:!active { - border: none; - background-color: transparent; -} - -QSlider:horizontal { - padding: 0px 10px; -} - -QSlider:vertical { - padding: 10px 0px; -} - -QSlider::groove:horizontal { - border: 1px solid #71706d; - background-color: #71706d; - height: 8px; - border-radius: 5px; - margin: 4px 0; -} - -QSlider::groove:vertical { - border: 1px solid #71706d; - background-color: #71706d; - width: 8px; - border-radius: 5px; - margin: 4px 0; -} - -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #7f7d79; - background-color: #7f7d79; -} - -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #51504d; - border: 1px solid #51504d; - width: 14px; - height: 14px; - border-radius: 8px; -} - -QSlider::handle:horizontal { - margin: -4px 0; -} - -QSlider::handle:vertical { - margin: 0 -4px; -} - -QSlider::handle:horizontal:hover, -QSlider::handle:vertical:hover { - border-color: #e0a108; - background-color: #e0a108; -} - -QSlider::handle:horizontal:pressed, -QSlider::handle:vertical:pressed { - border-color: #9d7106; - background-color: #9d7106; -} - -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #71706d; - background-color: #8a8985; -} - -QToolButton { - color: #c9c8c7; - text-align: center; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #71706d, stop:1 #8a8985); - border: 1px solid #51504d; - padding-top: 5px; - padding-bottom: 5px; - padding-left: 15px; - padding-right: 15px; - margin-top: 5px; - margin-bottom: 5px; - margin-left: 10px; - margin-right: 10px; - border-radius: 3px; - outline: none; - /*min-width: 36px;*/ -} - -QToolButton:hover, -QToolButton:focus { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); - border-color: #e0a108; -} - -QToolButton:disabled, -QToolButton:disabled:checked { - color: #71706d; - background-color: #8a8985; - border-color: #71706d; -} - -QToolButton:pressed { - border-color: #fad57a; -} - -QToolButton:checked { - background-color: #f8bf36; - border-color: #e0a108; -} - -QToolButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: center right; - right: 4px; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" */ -QToolButton#qt_toolbar_ext_button { - border-radius: 0px; - margin: 0px; - padding: 0px; - /*background-image: url(qss:images/more_dark.png);*/ - image: transparent; - background-repeat: none; - background-position: center left; -} - -QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images/more_light.png);*/ - border-color: #7f7d79; - background-color: #7f7d79; -} - -QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images/more_light.png);*/ - border-color: #7f7d79; - background-color: #7f7d79; -} - -/*Buttons inside the Toolbar*/ -QToolBar QToolButton { - color: #51504d; - background-color: #8a8985; - border: 1px transparent #8a8985; - border-radius: 3px; - margin: 0px; - padding: 2px; -} - -QToolBar QToolButton:disabled { - background-color: #8a8985; -} - -QToolBar QToolButton:checked { - color: #9d7106; - background-color: #f8bf36; - border: 1px solid #f8bf36; -} - -QToolBar QToolButton:hover { - background-color: #8a8985; -} - -QToolBar QToolButton:pressed, -QToolBar QToolButton::menu-button:pressed { - background-color: #7f7d79; - border: 1px solid #7f7d79; -} - - -QToolBar QToolButton::menu-indicator:hover, -QToolBar QToolButton::menu-indicator:pressed { - background-color: transparent; -} - -/* the subcontrols below are used only in the MenuButtonPopup mode */ -QToolBar QToolButton::menu-button { - border: none; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; -} - -QToolBar QToolButton::menu-button:hover, -QToolBar QToolButton::menu-button:active, -QToolBar QToolButton::menu-button:disabled { - border-color: transparent; - background-color: transparent; -} - -QToolBar QToolButton::menu-arrow { - background-image: url(qss:images/down_arrow_light.png); - background-position: center center; - background-repeat: none; - subcontrol-origin: padding; - subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ -} - -QToolBar QToolButton::menu-arrow:open { - background-image: url(qss:images/down_arrow_lighter.png); -} - -/* If the QToolButton is also a menu: */ -QToolBar QToolButton#qt_toolbutton_menubutton { - padding-right: 20px; - border: 1px solid transparent; -} - -QToolBar QToolButton#qt_toolbutton_menubutton:hover, -QToolBar QToolButton#qt_toolbutton_menubutton:pressed, -QToolBar QToolButton#qt_toolbutton_menubutton:open { - border: 1px solid #fad57a; -} - -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button { - border: none; /* necessary because it inherits the border from QToolButton#qt_toolbutton_menubutton */ -} - -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:hover, -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:pressed, -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:open { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #f8bf36, stop:1 #fad57a); -} - -QToolBar:tear { - color: blue; - background-color: red; -} - -QTableView { - color: #51504d; - border: 1px solid #71706d; - gridline-color: #9e9d9a; - background-color: #d3d1cd; - selection-color: #51504d; - selection-background-color: #fce6b1; - border-radius: 3px; - padding: 0px; - margin: 0px; -} - -QTableView::item:hover { - background: #cbc9c4; -} - -QTableView::item:disabled { - color: #8a8985; -} - -QTableView::item:selected { - color: #9d7106; - background-color: #fad57a; -} - -/* when editing a cell: */ -QTableView QLineEdit { - color: #51504d; - background-color: #cfcdc9; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QHeaderView { - border: none; - background-color: #51504d; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - margin: 0px; - padding: 0px; -} - -QHeaderView::section { - background-color: transparent; - color: #c9c8c7; - border: 1px solid transparent; - border-radius: 0px; - text-align: center; -} - -QHeaderView::section::vertical { - padding: 0px 6px 0px 6px; - border-bottom: 1px solid #71706d; -} - -QHeaderView::section::vertical:first { - border-top: 1px solid #71706d; -} - -QHeaderView::section::vertical:last { - border-bottom: none; -} - -QHeaderView::section::vertical:only-one { - border: none; -} - -QHeaderView::section::horizontal { - padding: 0px 0px 0px 6px; - border-right: 1px solid #71706d; -} - -QHeaderView::section::horizontal:first { - border-left: 1px solid #71706d; -} - -QHeaderView::section::horizontal:last { - border-left: none; -} - -QHeaderView::section::horizontal:only-one { - border: none; -} - -QDockWidget QHeaderView::section { - border-width: 6px 1px 6px 1px; /* hack to bigger margin for Model Panel table headers */ -} - -QHeaderView::section:checked { - color: #9d7106; - background-color: #fad57a; -} - - /* style the sort indicator */ -QHeaderView::down-arrow { - image: url(qss:images/down_arrow_light.png); -} - -QHeaderView::up-arrow { - image: url(qss:images/up_arrow_light.png); -} - -QTableCornerButton::section { - background-color: #51504d; - border: 1px solid #51504d; - border-radius: 0px; -} - -QToolBox { - padding: 3px; - color: #9d7106; - border: none; -} - -QToolBox::tab { /* TODO */ - color: #c9c8c7; - background-color: #71706d; - border: 1px transparent #51504d; - border-bottom: 1px transparent #71706d; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - padding: 5px; -} - -QToolBox::tab:selected { /* italicize selected tabs */ - color: #9d7106; - font: italic; - background-color: #f8bf36; - border-color: #f8bf36; - } - -QStatusBar::item { - color: #c9c8c7; - background-color: #8a8985; - border: 1px solid #8a8985; - border-radius: 2px; -} - - -QSplitter::handle { - background-color: #8a8985; - margin: 0px 11px; - padding: 0px; - border-radius: 3px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images/splitter_horizontal_dark.png); - background-position: center center; - background-repeat: none; - margin: 2px 10px 2px 10px; - height: 2px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images/splitter_horizontal_dark.png); - background-position: center center; - background-repeat: none; - margin: 10px 2px 10px 2px; - width: 2px; -} - -QSplitter::handle:horizontal:hover, -QSplitter::handle:vertical:hover { - background-color: #8a8985; -} - -/* Similar to the splitter is the following window separator: */ -QMainWindow::separator { - border: 1px solid #8a8985; - background-color: #8a8985; - background-position: center center; - background-repeat: none; -} - -QMainWindow::separator:hover { - background-color: #8a8985; -} - -QMainWindow::separator:horizontal { - height: 4px; - background-image: url(qss:images/splitter_horizontal_dark.png); -} - -QMainWindow::separator:vertical { - width: 4px; - background-image: url(qss:images/splitter_vertical_dark.png); -} - -QLabel { - padding-top: 3px; - padding-bottom: 3px; - background-color: transparent; -} - -QLabel:disabled { - color: #71706d; - background-color: transparent; -} - -/* Action group */ -QFrame[class="panel"] { - border: none; - background-color: #8a8985; -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { - border-color: #9e9d9a; -} - -QSint--ActionGroup QFrame[class="header"] { - border: none; - background-color: #51504d; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); -} - -QSint--ActionGroup QToolButton[class="header"] { - text-align: left; - font-weight: bold; - color: #c9c8c7; - background-color: transparent; - border: none; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QToolButton[class="header"]:hover { - color: white; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { - background-color: transparent; - background-image: url(qss:images/down_arrow_light.png); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { - background-color: transparent; - background-image: url(qss:images/down_arrow_lighter.png); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images/up_arrow_light.png); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { - background-color: transparent; - background-image: url(qss:images/up_arrow_lighter.png); -} - -QSint--ActionGroup QFrame[class="content"] { - background-color: #d3d1cd; - margin: 0px; - padding: 0px; - border: none; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} - -/* HACK -This might not be the best way to reset the background color: */ -QSint--ActionGroup QFrame[class="content"] QWidget { - background-color: #d3d1cd; -} - -QSint--ActionGroup QFrame[class="content"] QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #71706d, stop:1 #8a8985); -} - -QSint--ActionGroup QFrame[class="content"] QPushButton:hover, -QSint--ActionGroup QFrame[class="content"] QPushButton:focus { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); -} - -QSint--ActionGroup QFrame[class="content"] QPushButton:disabled, -QSint--ActionGroup QFrame[class="content"] QPushButton:disabled:checked { - color: #d3d1cd; - border-color: #9e9d9a; - background-color: #9e9d9a; -} -QSint--ActionGroup QFrame[class="content"] QPushButton:checked { - background-color: #f8bf36; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox { - background-color: #71706d; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox:on { - background-color: #71706d; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox QAbstractItemView { - border-color: #51504d; - background-color: #51504d; -} - -QSint--ActionGroup QFrame[class="content"] QListView { - border-color: #cbc9c4; - background-color: #cbc9c4; -} - -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox { - background-color: #71706d; -} - -QSint--ActionGroup QFrame[class="content"] QLineEdit { - background-color: #71706d; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox:disabled, -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox:disabled, -QSint--ActionGroup QFrame[class="content"] QLineEdit:disabled { - color: #d3d1cd; - border-color: #9e9d9a; - background-color: #9e9d9a; -} - -QSint--ActionGroup QFrame[class="content"] QCheckBox:disabled, -QSint--ActionGroup QFrame[class="content"] QRadioButton:disabled { - color: #9e9d9a; - border-color: #9e9d9a; -} - -QSint--ActionGroup QFrame[class="content"] QCheckBox::indicator:disabled, -QSint--ActionGroup QFrame[class="content"] QRadioButton::indicator:disabled { - border-color: #9e9d9a; - background-color: transparent; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView { - border: none; - background-color: #51504d; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section { - background-color: transparent; - color: #c9c8c7; - border: 1px solid transparent; - border-radius: 0px; - text-align: center; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal { - padding: 6px 0px 6px 6px; - border-right: 1px solid #71706d; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:first { - border-left: 1px solid #8a8985; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:last { - border-left: none; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:only-one { - border: none; -} -/* enf of HACK */ - - -QSint--ActionGroup QToolButton[class="action"], -QSint--ActionGroup QToolButton[class="action"]:enabled { - font-weight: bold; - color: #71706d; -} - -QSint--ActionGroup QToolButton[class="action"]:hover, -QSint--ActionGroup QToolButton[class="action"]:enabled:hover { - text-decoration: none; - color: #51504d; - background-color: #cbc9c4; - border-color: #cbc9c4; -} - -QSint--ActionGroup QToolButton[class="action"]:disabled { - color: #8a8985; - background-color: #cbc9c4; - border-color: #cbc9c4; -} - -QSint--ActionGroup QToolButton[class="action"]:focus, -QSint--ActionGroup QToolButton[class="action"]:pressed -QSint--ActionGroup QToolButton[class="action"]:enabled:focus, -QSint--ActionGroup QToolButton[class="action"]:enabled:pressed { - color: white; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); - border-color: #e0a108; -} - -QSint--ActionGroup QToolButton[class="action"]:on { - background-color: red; - color: red; -} - - -/* EXPERIMENTAL -================================================= */ -QDial { - background-color: #8a8985; -} - -QLCDNumber { - background-color: #8a8985; -} - -QCalendarWidget { - background-color: green; -} - -/* Expressions popup dialog fixes to embed elements */ -QAbstractSpinBox QPushButton { - padding: 0px 15px 0px 15px; - margin: 2px 10px 2px 10px; - border: 1px solid #51504d; - border-radius: 3px; -} -QAbstractSpinBox QPushButton:disabled { - color: #9e9d9a; - background-color: #8a8985; - border-color: #8a8985; -} - -QAbstractSpinBox QFrame, -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox QFrame { - color: #fce6b1; - background-color: #71706d; - border-color: #71706d; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox QPushButton { - padding: 6px 15px 6px 15px; -} \ No newline at end of file +/* +ABOUT +============================================================================================================ +version 2.0 +QT theme (stylesheet) specially developed for FreeCAD (http://www.freecadweb.org/). +It might work with other software that uses QT styling. + + +LICENSE +============================================================================================================ +Copyright (c) 2016 Pablo Gil Fernández + +This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. +To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. + + +INSTALLATION +============================================================================================================ +1) Place the .qss files and /images/ folder in the path that fits your OS: + OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ + WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/fStylesheets/ + LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ + +2) In order to display correctly images: + 2.1) FreeCAD 0.16 (development builds newer than commit 5b3d50a): that's it, you are done! + + 2.2) FreeCAD 0.15: Images used in the theme need ABSOLUTE paths to be found by FreeCAD, so you should search the string "qss:images" (without "") and replace with the real path of your computer. It should be done with all the .qss files you want to install-use + find = qss:images + replace = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images + + +CUSTOMIZATION +============================================================================================================ +If you would like to change the overall look/style of the theme, just find and replace following colors in the whole file: + BACKGROUND (darker to ligher) + black + #1e1e1e + #3c3c3c + #505050 + #5a5a5a + #646464 + #6e6e6e = main background color + #787878 + #8c8c8c + #a0a0a0 + #b4b4b4 + #bebebe + #c8c8c8 + #d2d2d2 + #e0e0e0 + #f5f5f5 + white + + SELECTION (darker to lighter) + #624b14 + #b28416 + #d0970c + #daa116 = main selection color + #e2ac2a = used to build QSpinBox up and down buttons, it's used as color in the middle + #e3b64d + #e0c992 + #e3d8b9 + + +KNOWN BUGS and TO DO +============================================================================================================ + - please, follow the link to get updated information: http://forum.freecadweb.org/viewtopic.php?f=10&t=12417 +*/ + + +/*================================================================================================== +Reset elements +==================================================================================================*/ +/* Reseting everything helps to unify styles across different operating systems */ +* { + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; +} + +/* specific reset for elements inside QToolBar */ +QToolBar * { + margin: 0px; + padding: 0px; +} + + +/*================================================================================================== +Main window +==================================================================================================*/ +QMainWindow, +QDialog, +QToolBar { + background-color: #6e6e6e; /* main background color */ +} + +QMdiArea[showImage="true"] { + background-image: url(qss:images/background_freecad.png); + background-position: center; + background-repeat: no-repeat; +} + + +/*================================================================================================== +MENUS +==================================================================================================*/ +QMenuBar, +QMenuBar::item { + color: #e0e0e0; + background-color: #6e6e6e; /* main background color */ +} + +QMenu, +QMenu::item { + color: #e0e0e0; + background-color: #5a5a5a; +} + +QMenuBar::item:selected, +QMenuBar::item:pressed, +QMenu::item:selected, +QMenu::item:pressed { + color: white; + background-color: #daa116; +} + +QMenu::right-arrow { + width: 10px; + height: 10px; + image:url(qss:images/right_arrow_dark.png); + margin-right: 2px; +} + +QMenu::right-arrow:selected { + image:url(qss:images/right_arrow_lighter.png); +} + +QMenu::item { + padding: 2px 16px 2px 26px; /* make room for icon at left */ + border: 1px solid transparent; /* reserve space for selection border */ +} + +QMenu::icon { + margin-left: 2px; +} + +QMenu::separator { + height: 1px; + background-color: rgba(255,255,255,30); + margin: 6px 4px; +} + +QMenu::indicator:non-exclusive:checked { + color: white; +} + + +/*================================================================================================== +Tool bar +==================================================================================================*/ +QToolBar { + border: none; + min-width: 32px; /* allows a minimum of space between QToolBar colums */ + min-height: 32px; /* allows a minimum of space between QToolBar rows */ +} + +QToolBar::handle:horizontal { + background-image: url(qss:images/Hmovetoolbar_dark.png); + width: 10px; + margin: 6px 2px 6px 2px; + background-position: top right; + background-repeat: repeat-y; +} + +QToolBar::handle:vertical { + background-image: url(qss:images/Vmovetoolbar_dark.png); + height: 10px; + margin: 2px 6px 2px 6px; + background-position: left bottom; + background-repeat: repeat-x; +} + +QToolBar::separator:horizontal { + background-image: url(qss:images/separtoolbar_dark.png); + width: 10px; + margin: 6px 2px 6px 2px; + background-position: center center; + background-repeat: repeat-y; +} + +QToolBar::separator:vertical { + background-image: url(qss:images/separtoolbar_dark.png); + height: 10px; + margin: 2px 6px 2px 6px; + background-position: center center; + background-repeat: repeat-x; +} + + +/*================================================================================================== +Group box +==================================================================================================*/ +QGroupBox { + color: rgba(0,0,0,120); + border:1px solid rgba(0, 0, 0, 20); /* lighter than its own border-color */; + border-radius: 3px; + margin-top: 10px; + padding: 6px; + background-color: rgba(255, 255, 255, 15); +} + +QGroupBox:title { + top: -8px; + left: 12px; +} + + +/*================================================================================================== +Tooltip +==================================================================================================*/ +QToolTip { + color: #1e1e1e; + background-color: #b4b4b4; + /*opacity: 90%; doesn't correctly work */ + padding: 4px; + border-radius: 3px; /* has no effect */ +} + + +/*================================================================================================== +Dock widget +==================================================================================================*/ +QDockWidget { + color: rgba(0,0,0,120); + titlebar-close-icon: url(qss:images/close_dark.png); + titlebar-normal-icon: url(qss:images/undock_dark.png); +} + +QDockWidget::title { + text-align: center; + background-color: rgba(0,0,0,20); + border: 4px solid #6e6e6e; /* fix to simulate margin between this :title and tabs */ /* same as main background color */ + border-radius: 6px; /* bigger than normal due to previous border fix */ + padding: 4px 0px; /* also needed because of previous border fix */ +} + +QDockWidget::close-button, +QDockWidget::float-button { + border: none; + background: transparent; + border-radius: 3px; + subcontrol-origin: padding; + subcontrol-position: right center; +} + +QDockWidget::close-button { + right: 4px; +} + +QDockWidget::float-button { + right: 22px; +} + +QDockWidget::close-button:hover, +QDockWidget::float-button:hover { + background-color: rgba(255,255,255,15); +} + +QDockWidget::close-button:pressed, +QDockWidget::float-button:pressed { + background-color: rgba(255,255,255,30); +} + +/* fix for Python Console (probably there is a smarter way to arrive to it) */ +QDockWidget > QFrame { + background-color: #c8c8c8; + border: 1px solid #505050; +} + + +/*================================================================================================== +Progress bar +==================================================================================================*/ +QProgressBar, +QProgressBar:horizontal { + color: white; + background-color: rgba(0,0,0,10); + text-align: center; + border: 1px solid rgba(0,0,0,80); + padding: 1px; + border-radius: 3px; +} +QProgressBar::chunk, +QProgressBar::chunk:horizontal { + background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #daa116, stop:1 #d0970c); + border-radius: 3px; +} + + +/*================================================================================================== +Scroll +==================================================================================================*/ +QAbstractScrollArea { + border-radius: 2px; + background-color: transparent; +} + +QAbstractScrollArea::corner { + border: none; + background-color: transparent; +} + +QScrollBar:horizontal { + background-color: transparent; + height: 15px; + margin: 0px; +} + +QScrollBar::handle:vertical, +QScrollBar::handle:horizontal { + background-color: rgba(0,0,0,100); +} + +QScrollBar::handle:vertical:hover, +QScrollBar::handle:horizontal:hover { + background-color: #1e1e1e; +} + +QScrollBar::handle:horizontal { + min-width: 5px; + border-radius: 3px; + margin: 4px 15px; +} + +QScrollBar::sub-line:horizontal { + margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/left_arrow_light.png); + width: 6px; + height: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal { + margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/right_arrow_light.png); + width: 6px; + height: 10px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, +QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images/left_arrow_lighter.png); +} + +QScrollBar::add-line:horizontal:hover, +QScrollBar::add-line:horizontal:on { + border-image: url(qss:images/right_arrow_lighter.png); +} + +QScrollBar::up-arrow:horizontal, +QScrollBar::down-arrow:horizontal { + background-color: none; +} + +QScrollBar::add-page:horizontal, +QScrollBar::sub-page:horizontal { + background-color: transparent; +} + +QScrollBar:vertical { + background-color: transparent; + width: 15px; + margin: 0px; +} + +QScrollBar::handle:vertical { + min-height: 5px; + border-radius: 3px; + margin: 15px 4px; +} + +QScrollBar::sub-line:vertical { + margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/up_arrow_light.png); + height: 6px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/down_arrow_light.png); + height: 6px; + width: 10px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, +QScrollBar::sub-line:vertical:on { + border-image: url(qss:images/up_arrow_lighter.png); +} + +QScrollBar::add-line:vertical:hover, +QScrollBar::add-line:vertical:on { + border-image: url(qss:images/down_arrow_lighter.png); +} + +QScrollBar::up-arrow:vertical, +QScrollBar::down-arrow:vertical { + background-color: none; +} + +QScrollBar::add-page:vertical, +QScrollBar::sub-page:vertical { + background-color: transparent; +} + + +/*================================================================================================== +Tab bar +==================================================================================================*/ +QTabWidget::pane { + background-color: transparent; /* temporal (transparent background) */ /* tab content background color */ + position: absolute; +} + +QTabWidget::pane:top { + top: -1px; + border-top: 1px solid #5a5a5a; +} + +QTabWidget::pane:bottom { + bottom: -1px; + border-bottom: 1px solid #5a5a5a; +} + +QTabWidget::pane:left { + right: -1px; + border-right: 1px solid #5a5a5a; +} + +QTabWidget::pane:right { + left: -1px; + border-left: 1px solid #5a5a5a; +} + +QTabWidget::tab-bar:top, +QTabWidget::tab-bar:bottom { + left: 10px; +} + +QTabWidget::tab-bar:left, +QTabWidget::tab-bar:right { + top: 10px; +} + +QTabBar { + qproperty-drawBase: 0; /* important */ + background-color: transparent; +} + +/* Workaround for QTabBars created from docked QDockWidgets which don't draw the border if not set and reseted as follows: */ +QTabBar { + border-top: 1px solid #5a5a5a; /* set color for all QTabBars */ +} +QDockWidget QTabBar { + border-color: transparent; /* set color for all QTabBars but ones created from QDockWidget */ +} +QDialog QTabBar { + border-color: transparent; /* set color for QTabBars inside Preferences dialog */ +} +/* end fix */ + +QTabBar::tab { + background-color: transparent; + border: 1px solid transparent; + padding: 3px; +} + +QTabBar::tab:top, +QTabBar::tab:bottom { + border-top-width: 4px; /* same as selected tab colored border in order to center close-button */ + border-bottom-width: 4px; /* same as selected tab colored border in order to center close-button */ + min-width: 11ex; + margin-left: 2px; + margin-right: 2px; +} + +QTabBar::tab:left, +QTabBar::tab:right { + border-left-width: 4px; /* same as selected tab colored border in order to center close-button */ + border-right-width: 4px; /* same as selected tab colored border in order to center close-button */ + min-height: 14ex; + margin-top: 2px; + margin-bottom: 2px; +} + +QTabBar::tab:selected { + color: #d2d2d2; + background-color: transparent; /* temporal (transparent background) */ + border-color: #5a5a5a; +} + +QTabBar::tab:top:selected { + border-top: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); /* selection color */ + border-bottom-color: #6e6e6e; /* same as tab content background color */ +} + +QTabBar::tab:bottom:selected { + border-bottom: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); /* selection color */ + border-top-color: #6e6e6e; /* same as tab content background color */ +} + +QTabBar::tab:right:selected { + border-left: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #daa116, stop:1 #d0970c); /* selection color */ + border-right-color: #6e6e6e; /* same as tab content background color */ +} + +QTabBar::tab:left:selected { + border-right: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #daa116, stop:1 #d0970c); /* selection color */ + border-left-color: #6e6e6e; /* same as tab content background color */ +} + +QTabBar::tab:!selected { + color: rgba(0,0,0,120); +} + +QTabBar::tab:!selected:hover { + color: rgba(0,0,0,180); + background-color: rgba(0,0,0,20); +} + +QTabBar::tab:first:selected { + margin-left: 0; /* the first selected tab has nothing to overlap with on the left */ +} + +QTabBar::tab:last:selected { + margin-right: 0; /* the last selected tab has nothing to overlap with on the right */ +} + +QTabBar::tab:only-one { + margin: 0; /* if there is only one tab, we don't want overlapping margins */ +} + +/* hack to access Preference TabBar background */ +QDialog#Gui__Dialog__DlgPreferences > QFrame QFrame { + background-color: transparent; /* main background color (in Windows is #6e6e6e) */ +} + +/* fix for previous hack that broke QTabWidget background on Windows */ +QDialog#Gui__Dialog__DlgPreferences QTabWidget::pane { + background-color: transparent; /* temporal (transparent background) */ +} + +/* hack to correctly align Preferences icon list on OSX */ +QDialog#Gui__Dialog__DlgPreferences > QListView { + min-width: 130px; +} + +/* unique styles for sections inside Preferences */ +QDialog#Gui__Dialog__DlgPreferences > QListView::item { + border-radius: 4px; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { + background-color: #b4b4b4; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { + color: white; + background-color: #daa116; + border: 1px solid #d0970c; +} + + +/*================================================================================================== +Tab bar buttons +==================================================================================================*/ +/* Close button */ +QTabBar::close-button { + subcontrol-origin: margin; + subcontrol-position: center right; /* only works for QT 4.6 and newer */; + border-radius: 2px; + background-image: url(qss:images/close_dark.png); + background-position: center center; + background-repeat: none; +} + +QTabBar::close-button:hover { + background-color: rgba(255,255,255,20); +} + +QTabBar::close-button:pressed { + background-color: rgba(255,255,255,30); +} + +/* Fix for lists inside Model tab */ +QDockWidget QTreeView, +QDockWidget QListView, +QDockWidget QTableView { + margin: 6px; + border: 1px solid #505050; /* same as regular QTreeView, QListView and QTableView */ + min-height: 40px; /* neccesary in some areas of FreeCAD */ +} + +/* Buttons to scroll tabs if there is not space to show all of them: */ +QTabBar::scroller { + width: 20px; /* the width of the scroll buttons */ +} + +QTabBar QToolButton, +QTabBar QToolButton:hover { + background-color: #6e6e6e; /* same as main background color */ +} + +QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images/right_arrow_dark.png); +} + +QTabBar QToolButton::right-arrow:disabled, +QTabBar QToolButton::right-arrow:off { + image: url(qss:images/right_arrow_disabled_dark.png); +} + +QTabBar QToolButton::right-arrow:hover { + image: url(qss:images/right_arrow_darker.png); +} + + QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images/left_arrow_dark.png); +} + + QTabBar QToolButton::left-arrow:disabled, + QTabBar QToolButton::left-arrow:off { + image: url(qss:images/left_arrow_disabled_dark.png); +} + + QTabBar QToolButton::left-arrow:hover { + image: url(qss:images/left_arrow_darker.png); +} + + QTabBar QToolButton::up-arrow:enabled { + image: url(qss:images/up_arrow_dark.png); +} + + QTabBar QToolButton::up-arrow:disabled, + QTabBar QToolButton::up-arrow:off { + image: url(qss:images/up_arrow_disabled_dark.png); +} + + QTabBar QToolButton::up-arrow:hover { + image: url(qss:images/up_arrow_darker.png); +} + + QTabBar QToolButton::down-arrow:enabled { + image: url(qss:images/down_arrow_dark.png); +} + + QTabBar QToolButton::down-arrow:disabled, + QTabBar QToolButton::down-arrow:off { + image: url(qss:images/down_arrow_disabled_dark.png); +} + + QTabBar QToolButton::down-arrow:hover { + image: url(qss:images/down_arrow_darker.png); +} + +QTabBar::tear { + /* default OS tear better */ +} + + +/*================================================================================================== +Tree and list views +==================================================================================================*/ +QTreeView, +QListView, +QTableView { + background-color: #c8c8c8; + alternate-background-color: #bebebe; /* related with QListView background */ + border: 1px solid #505050; + selection-color: white; + selection-background-color: #daa116; /* should be similar to QListView::item selected background-color */ + show-decoration-selected: 1; /* make the selection span the entire width of the view */ + border-radius: 3px; +} + +QListView::item:selected, +QTreeView::item:selected { + color: white; /* should be similar to QListView selection-color */ + background-color: #daa116; /* should be similar to QListView selection-background-color */ + show-decoration-selected: 1; /* make the selection span the entire width of the view */ +} + +/* Property Editor QTreeView (FreeCAD custom widget) */ +Gui--PropertyEditor--PropertyEditor { + gridline-color: #a0a0a0; /* same as Group header background */ +} + +/* fix for column items background when a link is present */ +Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { + background-color: #e3d8b9; /* same as focused background color */ +} + +/* hack to hide weird redundant information inside the value of a Placement cell */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 0px; + margin: 0px; + padding: 0px; +} + +/* hack to hide non editable cells inside Property values */ +Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, +Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { + color: transparent; + border-color: transparent; + background-color: transparent; + selection-color: transparent; + selection-background-color: transparent; +} + +/* hack to disable margin inside Property values to following elements */ +Gui--PropertyEditor--PropertyEditor QSpinBox, +Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, +Gui--PropertyEditor--PropertyEditor QLineEdit, +Gui--PropertyEditor--PropertyEditor QComboBox { + margin-left: 0px; + margin-right: 0px; + padding-top: 0px; + padding-bottom: 0px; +} + +/* set border-radius to 0px inside list views */ +QTreeView > QWidget > QComboBox, +QTreeView > QWidget > QAbstractSpinBox, +QTreeView > QWidget > QSpinBox, +QTreeView > QWidget > QDoubleSpinBox, +QTreeView > QWidget > QLineEdit, +QTreeView > QWidget > QTextEdit, +QTreeView > QWidget > QTimeEdit, +QTreeView > QWidget > QDateEdit, +QTreeView > QWidget > QDateTimeEdit, +QTreeView > QWidget > QComboBox:drop-down, +QTreeView > QWidget > QAbstractSpinBox:up-button, +QTreeView > QWidget > QSpinBox:up-button, +QTreeView > QWidget > QDoubleSpinBox:up-button, +QTreeView > QWidget > QTimeEdit:up-button, +QTreeView > QWidget > QDateEdit:up-button, +QTreeView > QWidget > QDateTimeEdit:up-button, +QTreeView > QWidget > QAbstractSpinBox:down-button, +QTreeView > QWidget > QSpinBox:down-button, +QTreeView > QWidget > QDoubleSpinBox:down-button, +QTreeView > QWidget > QTimeEdit:down-button, +QTreeView > QWidget > QDateEdit:down-button, +QTreeView > QWidget > QDateTimeEdit:down-button, +QTreeView > QWidget > Gui--ColorButton { + border-radius: 0px; +} + +/* set focus colors to best viewing the editable fields */ +QTreeView > QWidget > QComboBox:focus, +QTreeView > QWidget > QAbstractSpinBox:focus, +QTreeView > QWidget > QSpinBox:focus, +QTreeView > QWidget > QDoubleSpinBox:focus, +QTreeView > QWidget > QLineEdit:focus, +QTreeView > QWidget > QTextEdit:focus, +QTreeView > QWidget > QTimeEdit:focus, +QTreeView > QWidget > QDateEdit:focus, +QTreeView > QWidget > QDateTimeEdit:focus { + border-color: #e3d8b9; /* same as focused background color */ + border-bottom-color: #e3b64d; /* same as focused border color */ +} + +QTreeView > QWidget > QAbstractSpinBox:read-only, +QTreeView > QWidget > QSpinBox:read-only, +QTreeView > QWidget > QDoubleSpinBox:read-only, +QTreeView > QWidget > QLineEdit:read-only, +QTreeView > QWidget > QTextEdit:read-only, +QTreeView > QWidget > QTimeEdit:read-only, +QTreeView > QWidget > QDateEdit:read-only, +QTreeView > QWidget > QDateTimeEdit:read-only { + color: transparent; + background-color: transparent; + border-color: transparent; +} + +/* Fix to correctly (not totally) draw QTextEdit on OSX at Page properties: "Page result", "Template" and "Editable Texts" */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget { + min-height: 14px; +} + + +/*================================================================================================== +Header of tree and list views +==================================================================================================*/ +QHeaderView { + color: #c8c8c8; + background-color: #505050; + border-top-left-radius: 2px; /* 1px less than its container */ + border-top-right-radius: 2px; /* 1px less than its container */ + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; +} + +QHeaderView::section { + border:none; + padding: 4px 6px; + background-color: #505050; +} + +QHeaderView::section:horizontal { + padding: 4px 6px; /* left and right value similar to QHeaderView::section */ + border-right: 1px solid rgba(255,255,255,30); +} + +QHeaderView::section:vertical { + border-bottom: 1px solid rgba(255,255,255,30); +} + +QTableCornerButton::section { + background-color: #505050; + border-top: none; + border-left: none; + border-right: 1px solid rgba(255,255,255,30); + border-bottom: 1px solid rgba(255,255,255,30); +} + +QHeaderView::section:last { + border-right: none; +} + +QHeaderView::up-arrow { + image: url(qss:images/up_arrow_light.png); +} + +QHeaderView::up-arrow:hover { + image: url(qss:images/up_arrow_lighter.png); +} + +QHeaderView::down-arrow { + image: url(qss:images/down_arrow_light.png); +} + +QHeaderView::down-arrow:hover { + image: url(qss:images/down_arrow_lighter.png); +} + +/* Group header inside Property Editor (FreeCAD custom widget) */ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: #505050; + qproperty-groupBackground: #8c8c8c; +} + + +/*================================================================================================== +Branch system for QTreeViews +==================================================================================================*/ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images/branch_vline.png) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images/branch_more.png) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images/branch_end.png) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + image: url(qss:images/branch_closed_dark.png); +} + +QTreeView::branch:has-children:!has-siblings:closed { + image: url(qss:images/branch_closed_dark.png); + border-image: url(qss:images/branch_end.png) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + image: url(qss:images/branch_open_dark.png); + border-image: url(qss:images/branch_more.png) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + image: url(qss:images/branch_open_dark.png); + border-image: url(qss:images/branch_end.png) 0; +} + + +/*================================================================================================== +Splitter and windows separator +==================================================================================================*/ +QSplitter::handle { + margin: 0px 11px; + padding: 0px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images/splitter_horizontal_dark.png); + background-position: center center; + background-repeat: none; + margin: 2px 4px 2px 4px; + height: 2px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images/splitter_vertical_dark.png); + background-position: center center; + background-repeat: none; + margin: 4px 2px 4px 2px; + width: 2px; +} + +/* Similar to the splitter is the following window separator: */ +QMainWindow::separator { + background-position: center center; + background-repeat: none; +} + +QMainWindow::separator:horizontal { + height: 2px; + background-image: url(qss:images/splitter_horizontal_dark.png); + margin: 4px 2px 4px 2px; +} + +QMainWindow::separator:vertical { + width: 2px; + background-image: url(qss:images/splitter_vertical_dark.png); + margin: 2px 4px 2px 4px; +} + + +/*================================================================================================== +Tasks panel (custom FreeCAD class) +==================================================================================================*/ +/* Action group */ +QFrame[class="panel"] { + background-color: transparent; /* temporal (transparent background) */ +} + +/* Separator line */ +QSint--ActionGroup QFrame[height="1"], +QSint--ActionGroup QFrame[height="2"], +QSint--ActionGroup QFrame[height="3"], +QSint--ActionGroup QFrame[width="1"], +QSint--ActionGroup QFrame[width="2"], +QSint--ActionGroup QFrame[width="3"] { + border-color: rgba(0,0,0,60); +} + +/* Panel header */ +QSint--ActionGroup QFrame[class="header"] { + border: none; + background-color: #505050; /* Task Panel Header background color */ + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + margin: 0px; + padding: 0px; +} + +QSint--ActionGroup QFrame[class="header"]:hover { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); +} + +QSint--ActionGroup QToolButton[class="header"] { + color: #e0e0e0; /* Task Panel Header text color */ + text-align: left; + font-weight: bold; + border: none; + margin: 0px; + padding: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel { + background-color: transparent; + background-image: url(qss:images/down_arrow_light.png); + background-repeat: none; + background-position: center center; + padding: 0px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel:hover { + background-color: transparent; + background-image: url(qss:images/down_arrow_lighter.png); +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { + background-color: transparent; + background-image: url(qss:images/up_arrow_light.png); + background-repeat: none; + background-position: center center; + padding: 0px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { + background-color: transparent; + background-image: url(qss:images/up_arrow_lighter.png); +} + +QSint--ActionGroup QFrame[class="content"] { + background-color: #8c8c8c; /* Task Panel background color */ + margin: 0px; + padding: 0px; + border: none; + border-top-left-radius: 0px; + border-top-right-radius: 0px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; +} + +QSint--ActionGroup QFrame[class="content"] > QWidget { + background-color: #8c8c8c; /* Task Panel background color */ +} + +/* Fixs for tabs inside Task Panel */ +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { + border-bottom-color: #8c8c8c; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { + border-top-color: #8c8c8c; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { + border-right-color: #8c8c8c; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { + border-left-color: #8c8c8c; /* same as Task Panel background color */ +} + + +/*================================================================================================== +Buttons +==================================================================================================*/ +/* Common */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QLineEdit, +QTextEdit, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + color: #bebebe; + background-color: #5a5a5a; + selection-color: white; + selection-background-color: #d0970c; + border: 1px solid #5a5a5a; + border-radius: 3px; + min-width: 50px; /* it ensures the default value is correctly displayed */ + padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ +} + +/* shifts text/number editable field to the left to make space for the up/down or drop-down buttons */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + padding-right: 20px; +} + +/* when QTextEdit are no editable */ +QTextEdit:!editable { + background-color: #c8c8c8; + border: 1px solid #505050; +} + +QComboBox:focus, +QAbstractSpinBox:focus, +QSpinBox:focus, +QDoubleSpinBox:focus, +QLineEdit:focus, +QTextEdit:focus, +QTimeEdit:focus, +QDateEdit:focus, +QDateTimeEdit:focus { + color: black; + border-color: #e3b64d; + border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #daa116, stop:1 #e3b64d); /* same as up/down or drop-down button color */ + background-color: #e3d8b9; +} + +QComboBox:disabled, +QAbstractSpinBox:disabled, +QSpinBox:disabled, +QDoubleSpinBox:disabled, +QLineEdit:disabled, +QTextEdit:disabled, +QTimeEdit:disabled, +QDateEdit:disabled, +QDateTimeEdit:disabled { + color: #787878; + background-color: #5a5a5a; /* same as enabled color */ + border-color: #5a5a5a; /* same as enabled color */ +} + +QAbstractSpinBox:up-button, +QSpinBox:up-button, +QDoubleSpinBox:up-button, +QTimeEdit:up-button, +QDateEdit:up-button, +QDateTimeEdit:up-button, +QAbstractSpinBox:down-button, +QSpinBox:down-button, +QDoubleSpinBox:down-button, +QTimeEdit:down-button, +QDateEdit:down-button, +QDateTimeEdit:down-button { + background-color: #505050; /* same color for QComboBox background-color */ + subcontrol-origin: border; /* important */ + width: 20px; /* same as QComboBox ... QDateTimeEdit padding-right */ +} + +QAbstractSpinBox:up-button, +QSpinBox:up-button, +QDoubleSpinBox:up-button, +QTimeEdit:up-button, +QDateEdit:up-button, +QDateTimeEdit:up-button { + subcontrol-position: top right; + border-top-right-radius: 3px; + height: 12px; /* fix for Ubuntu that doesn't divide the up/down button into the exact middle */ +} + +QAbstractSpinBox:down-button, +QSpinBox:down-button, +QDoubleSpinBox:down-button, +QTimeEdit:down-button, +QDateEdit:down-button, +QDateTimeEdit:down-button { + subcontrol-position: bottom right; + border-bottom-right-radius: 3px; +} + +QAbstractSpinBox:up-button:focus, +QSpinBox:up-button:focus, +QDoubleSpinBox:up-button:focus, +QTimeEdit:up-button:focus, +QDateEdit:up-button:focus, +QDateTimeEdit:up-button:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #e2ac2a, stop:1 #e3b64d); +} + +QAbstractSpinBox:down-button:focus, +QSpinBox:down-button:focus, +QDoubleSpinBox:down-button:focus, +QTimeEdit:down-button:focus, +QDateEdit:down-button:focus, +QDateTimeEdit:down-button:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #daa116, stop:1 #e2ac2a); +} + +QAbstractSpinBox:up-button:disabled, +QSpinBox:up-button:disabled, +QDoubleSpinBox:up-button:disabled, +QTimeEdit:up-button:disabled, +QDateEdit:up-button:disabled, +QDateTimeEdit:up-button:disabled, +QAbstractSpinBox:down-button:disabled, +QSpinBox:down-button:disabled, +QDoubleSpinBox:down-button:disabled, +QTimeEdit:down-button:disabled, +QDateEdit:down-button:disabled, +QDateTimeEdit:down-button:disabled { + background-color: transparent; +} + +QAbstractSpinBox::up-arrow, +QSpinBox::up-arrow, +QDoubleSpinBox::up-arrow, +QTimeEdit::up-arrow, +QDateEdit::up-arrow, +QDateTimeEdit::up-arrow { + image: url(qss:images/up_arrow_light.png); + top: 0px; /* fix simetry between up and down images */ +} + +QAbstractSpinBox::up-arrow:focus, +QSpinBox::up-arrow:focus, +QDoubleSpinBox::up-arrow:focus, +QTimeEdit::up-arrow:focus, +QDateEdit::up-arrow:focus, +QDateTimeEdit::up-arrow:focus { + image: url(qss:images/up_arrow_lighter.png); +} + +QAbstractSpinBox::up-arrow:off, +QSpinBox::up-arrow:off, +QDoubleSpinBox::up-arrow:off, +QTimeEdit::up-arrow:off, +QDateEdit::up-arrow:off, +QDateTimeEdit::up-arrow:off { + image: url(qss:images/up_arrow_disabled_dark.png); +} + +QAbstractSpinBox::up-arrow:disabled, +QSpinBox::up-arrow:disabled, +QDoubleSpinBox::up-arrow:disabled, +QTimeEdit::up-arrow:disabled, +QDateEdit::up-arrow:disabled, +QDateTimeEdit::up-arrow:disabled { + image: url(qss:images/up_arrow_disabled_dark.png); +} + +QAbstractSpinBox::down-arrow, +QSpinBox::down-arrow, +QDoubleSpinBox::down-arrow, +QTimeEdit::down-arrow, +QDateEdit::down-arrow, +QDateTimeEdit::down-arrow { + image: url(qss:images/down_arrow_light.png); + bottom: 0px; /* fix simetry between up and down images */ +} + +QAbstractSpinBox::down-arrow:focus, +QSpinBox::down-arrow:focus, +QDoubleSpinBox::down-arrow:focus, +QTimeEdit::down-arrow:focus, +QDateEdit::down-arrow:focus, +QDateTimeEdit::down-arrow:focus { + image: url(qss:images/down_arrow_lighter.png); +} + +QAbstractSpinBox::down-arrow:off, +QSpinBox::down-arrow:off, +QDoubleSpinBox::down-arrow:off, +QTimeEdit::down-arrow:off, +QDateEdit::down-arrow:off, +QDateTimeEdit::down-arrow:off { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +QAbstractSpinBox::down-arrow:disabled, +QSpinBox::down-arrow:disabled, +QDoubleSpinBox::down-arrow:disabled, +QTimeEdit::down-arrow:disabled, +QDateEdit::down-arrow:disabled, +QDateTimeEdit::down-arrow:disabled { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +/* ComboBox */ +QComboBox::drop-down { + background-color: #505050; /* same color as up/down QSpinBox ... QDateTimeView background-color */ + subcontrol-origin: border; /* important */ + subcontrol-position: top right; + width: 20px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +QComboBox::drop-down:on, +QComboBox::drop-down:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #daa116, stop:1 #e3b64d); +} + +QComboBox::down-arrow { + image: url(qss:images/down_arrow_light.png); +} + +QComboBox::down-arrow:on, +QComboBox::down-arrow:focus { + image: url(qss:images/down_arrow_lighter.png); +} + +QComboBox::down-arrow:off, +QComboBox::down-arrow:disabled { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +/* ComboBox menu */ +QComboBox { + selection-color: white; + selection-background-color: #daa116; +} + +QComboBox QAbstractItemView { + color: #bebebe; /* same as regular QComboBox color */ + background-color: transparent; + selection-color: white; + selection-background-color: #daa116; + border-width: 5px 0px 5px 0px; + border-style: solid; + border-color: transparent; + margin: 0px -1px 0px 0px; /* hack for Mac... try it on Windows and Linux */ +} + + +/*================================================================================================== +Push button +==================================================================================================*/ +QPushButton { + color: #e0e0e0; + text-align: center; + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #6e6e6e, stop:1 #646464); + border: 1px solid #5a5a5a; + border-bottom-color: #505050; /* simulates shadow under the button */ + padding: 4px 22px; + margin: 4px 4px; + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 4px; +} + +QPushButton:hover, +QPushButton:focus { + color: white; + border-color: #d0970c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); +} + +QPushButton:disabled, +QPushButton:disabled:checked { + color: #787878; + background-color: #5a5a5a; /* same as enabled color */ + border-color: #5a5a5a; /* same as enabled color */ +} + +QPushButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #d0970c, stop:1 #daa116); +} + +QPushButton:checked { + background-color: #daa116; + border-color: #d0970c; +} + +/* Color Buttons */ +Gui--ColorButton, +Gui--ColorButton:disabled { + padding: 0px; /* reset */ + margin: 0px; /* reset */ +} + +Gui--ColorButton { + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #6e6e6e, stop:1 #646464); + border: 1px solid #5a5a5a; + border-bottom-color: #505050; /* simulates shadow under the button */ +} + +Gui--ColorButton:disabled { + border-color: transparent; + background-color: rgba(0,0,0,10); +} + +Gui--ColorButton:hover, +Gui--ColorButton:focus { + border-color: #d0970c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); +} + +Gui--ColorButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #d0970c, stop:1 #daa116); +} + +/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QPushButton { + background-color: #6e6e6e; + border: 1px solid #5a5a5a; + min-width: 16px; /* reset it due to larger value on regular QPushButton, same or bigger value as regular QPushButton min-height */ + border-radius: 0px; + margin: 0px; /* reset */ + padding: 0px; /* reset */ +} + +/* Fix for Expressions description QFrame that is "broken" with initial reset */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget > QWidget > QFrame { + background-color: #6e6e6e; /* main background color */ + border: 1px solid #5a5a5a; + border-radius: 2px; + padding: 2px 6px; +} + + +/*================================================================================================== +Tool button inside QDialogs that works as QPushButtons +==================================================================================================*/ +/* found under Tools -> Customize -> Macros -> Pixmap "..." button */ +QDialog QToolButton { + color: #e0e0e0; + text-align: center; + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #6e6e6e, stop:1 #646464); + border: 1px solid #5a5a5a; + border-bottom-color: #505050; /* simulates shadow under the button */ + padding: 0px; /* different than regular QPushButton */ + margin: 2px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 4px; +} + +QDialog QToolButton:hover, +QDialog QToolButton:focus { + color: white; + border-color: #d0970c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); +} + +QDialog QToolButton:disabled, +QDialog QToolButton:disabled:checked { + color: #6e6e6e; + border-color: #5a5a5a; + background-color: #5a5a5a; +} + +QDialog QToolButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #d0970c, stop:1 #daa116); +} + +QPushButton:checked { + background-color: #daa116; + border-color: #d0970c; +} + + +/*================================================================================================== +Radio button +==================================================================================================*/ +QRadioButton::indicator:unchecked{ + color: black; + background-color: rgba(255,255,255,20); + border: 1px solid #5a5a5a; +} + +QRadioButton::indicator:checked { + background-color: #daa116; /* QCheckBox has the same color */ + border: 1px solid #d0970c; /* QCheckBox has the same color */ + image:url(qss:images/radiobutton_light.png); +} + +QRadioButton, +QRadioButton:disabled { + color: black; + padding: 3px; + outline: none; + background-color: transparent; +} + +QRadioButton::indicator { + width: 11px; + height: 11px; + border-radius: 6px; +} + +QRadioButton::indicator:pressed { + border-color: #e0c992; +} + +QRadioButton::indicator:disabled { + border: 1px solid #f5f5f5; +} + +QRadioButton::indicator:disabled { + color: #f5f5f5; + background-color: transparent; +} + +QRadioButton:focus { + border: none; +} + + +/*================================================================================================== +Checkbox +==================================================================================================*/ +QCheckBox, +QCheckBox:disabled { + color: black; + padding: 3px; + outline: none; + background-color: transparent; +} + +QCheckBox::indicator { + color: black; + background-color: rgba(255,255,255,20); + border: 1px solid #5a5a5a; +} + +QCheckBox::indicator { + width: 11px; + height: 11px; + border-radius:2px; +} + +QCheckBox::indicator:pressed, +QCheckBox::indicator:non-exclusive:checked:pressed, +QCheckBox::indicator:indeterminate:pressed, +QCheckBox::indicator:checked:pressed { + border-color: #e0c992; +} + +QCheckBox::indicator:checked { + background-color: #daa116; /* QRadioButton has the same color */ + border: 1px solid #d0970c; /* QRadioButton has the same color */ + image:url(qss:images/checkbox_light.png); +} + +QCheckBox:disabled { + color: rgba(255,255,255,40); + background-color: transparent; +} + +QCheckBox::indicator:disabled { + background-color: rgba(255,255,255,20); + border: 1px solid rgba(255,255,255,20); +} + +QCheckBox::indicator:indeterminate { + background-color: #daa116; + border: 1px solid #d0970c; + image: url(qss:images/checkbox_indeterminate_light.png); +} + +QCheckBox:focus { + border: none; +} + + +/*================================================================================================== +Slider +==================================================================================================*/ +QSlider, +QSlider:active, +QSlider:!active { + border: none; + background-color: transparent; +} + +QSlider:horizontal { + padding: 0px 10px; +} + +QSlider:vertical { + padding: 10px 0px; +} + +QSlider::groove { + background-color: rgba(0,0,0,30); + border: 1px solid rgba(0,0,0,40); + border-radius: 5px; + margin: 4px 0px; +} + +QSlider::groove:horizontal { + height: 8px; +} + +QSlider::groove:vertical { + width: 8px; +} + +QSlider::groove:horizontal:disabled, +QSlider::groove:vertical:disabled { + border-color: #5a5a5a; + background-color: #5a5a5a; +} + +QSlider::handle:horizontal, +QSlider::handle:vertical { + background-color: #505050; + border: 1px solid #505050; + width: 14px; + height: 14px; + border-radius: 8px; +} + +QSlider::handle:horizontal { + margin: -4px 0; +} + +QSlider::handle:vertical { + margin: 0 -4px; +} + +QSlider::handle:horizontal:hover, +QSlider::handle:vertical:hover, +QSlider::handle:horizontal:pressed, +QSlider::handle:vertical:pressed { + border-color: #daa116; + background-color: #daa116; +} + +QSlider::handle:horizontal:disabled, +QSlider::handle:vertical:disabled { + border-color: #5a5a5a; + background-color: #5a5a5a; +} + + +/*================================================================================================== +Toolbar buttons +==================================================================================================*/ +QToolBar > QToolButton { + margin: 2px; + padding: 2px; +} + +QToolBar > QPushButton, +/*QToolBar > QComboBox, disabled because creates different margins for body and drop-down button */ +QToolBar > QAbstractSpinBox, +QToolBar > QSpinBox, +QToolBar > QDoubleSpinBox, +QToolBar > QLineEdit, +QToolBar > QTextEdit, +QToolBar > QTimeEdit, +QToolBar > QDateEdit, +QToolBar > QDateTimeEdit { + margin: 2px; + padding: 2px; +} + +QToolBar > QPushButton { + border-radius: 4px; /* same as regular QPushButton */ + min-width: 20px; /* reset it due to larger value on regular QPushButton, same or bigger value as regular QPushButton min-height */ +} + +QToolBar > QPushButton:checked { + border: 1px solid #d0970c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); +} + +QToolBar > QPushButton:!checked { + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #6e6e6e, stop:1 #646464); + border: 1px solid #5a5a5a; + border-bottom-color: #505050; /* simulates shadow under the button */ +} + +QToolBar > QPushButton:checked:hover { + border-color: #b28416; +} + +QToolBar > QPushButton:!checked:hover { + color: #e3d8b9; + border-color: #505050; +} + +QToolBar > QPushButton:checked:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #d0970c, stop:1 #daa116); +} + +QToolBar > QPushButton:!checked:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5a5a5a, stop:1 #6e6e6e); +} + +QToolBar > QPushButton:checked:disabled, +QToolBar > QPushButton:!checked:disabled { + border: none; + background-color: transparent; +} + +/* ToolBar menu buttons (buttons with drop-down menu) */ +QToolBar > QToolButton#qt_toolbutton_menubutton { + padding-right: 20px; /* Hack to add more width to buttons with menu */ + border: 1px solid transparent; + border-radius: 3px; +} + +QToolBar > QToolButton#qt_toolbutton_menubutton:hover, +QToolBar > QToolButton#qt_toolbutton_menubutton:pressed, +QToolBar > QToolButton#qt_toolbutton_menubutton:open { + border: 1px solid #e3b64d; +} + +QToolBar QToolButton::menu-button, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button { + border: none; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + width: 16px; /* 16px width + 4px for border = 20px allocated above */ + outline: none; + background-color: transparent; +} + +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:hover, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:pressed, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:open { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #daa116, stop:1 #e3b64d); +} + +QToolBar > QToolButton::menu-arrow { + background-image: url(qss:images/down_arrow_dark.png); + background-position: center center; + background-repeat: none; + subcontrol-origin: padding; + subcontrol-position: bottom right; + height: 10px; /* same as arrow image */ +} + +QToolBar > QToolButton::menu-arrow:hover { + background-image: url(qss:images/down_arrow_lighter.png); +} + +QToolBar > QToolButton::menu-arrow:open { + background-image: url(qss:images/down_arrow_lighter.png); +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" */ +QToolBar QToolButton#qt_toolbar_ext_button { + margin: 0px; + padding: 0px; + /*background-image: url(qss:images/more_dark.png);*/ + image: transparent; + background-repeat: none; + background-position: center left; +} + +QToolBar QToolButton#qt_toolbar_ext_button:hover { + /*background-image: url(qss:images/more_light.png);*/ + border-color: #5a5a5a; + background-color: #5a5a5a; +} + +QToolBar QToolButton#qt_toolbar_ext_button:on { + /*background-image: url(qss:images/more_light.png);*/ + border-color: #5a5a5a; + background-color: #5a5a5a; +} + + +/*================================================================================================== +Tables (spreadsheets) +==================================================================================================*/ +QTableView { + gridline-color: #a0a0a0; + selection-color: #624b14; + selection-background-color: #e3d8b9; +} + +QTableView::item:hover { + background-color: rgba(0,0,0,10); /* temporal: is it displayed in Linux or Windows? on OSX it isn't */ +} + +QTableView::item:disabled { + color: #8c8c8c; +} + +QTableView::item:selected { + color: #624b14; + border-color: #e3d8b9; /* same as focused background color */ + border-bottom-color: #e3b64d; /* same as focused border color */ +} + +/* fix for elements inside the cells */ +QTableView QComboBox, +QTableView QAbstractSpinBox, +QTableView QSpinBox, +QTableView QDoubleSpinBox, +QTableView QLineEdit, +QTableView QTextEdit, +QTableView QTimeEdit, +QTableView QDateEdit, +QTableView QDateTimeEdit, +QTableView QComboBox:drop-down, +QTableView QAbstractSpinBox:up-button, +QTableView QSpinBox:up-button, +QTableView QDoubleSpinBox:up-button, +QTableView QTimeEdit:up-button, +QTableView QDateEdit:up-button, +QTableView QDateTimeEdit:up-button, +QTableView QAbstractSpinBox:down-button, +QTableView QSpinBox:down-button, +QTableView QDoubleSpinBox:down-button, +QTableView QTimeEdit:down-button, +QTableView QDateEdit:down-button, +QTableView QDateTimeEdit:down-button, +QTableView Gui--ColorButton { + border-radius: 0px; +} + +QTableView QComboBox, +QTableView QAbstractSpinBox, +QTableView QSpinBox, +QTableView QDoubleSpinBox, +QTableView QLineEdit, +QTableView QTextEdit, +QTableView QTimeEdit, +QTableView QDateEdit, +QTableView QDateTimeEdit { + color: black; + background-color: transparent; + border-color: transparent; +} + +QTableView QComboBox:drop-down, +QTableView QAbstractSpinBox:up-button, +QTableView QSpinBox:up-button, +QTableView QDoubleSpinBox:up-button, +QTableView QTimeEdit:up-button, +QTableView QDateEdit:up-button, +QTableView QDateTimeEdit:up-button, +QTableView QAbstractSpinBox:down-button, +QTableView QSpinBox:down-button, +QTableView QDoubleSpinBox:down-button, +QTableView QTimeEdit:down-button, +QTableView QDateEdit:down-button, +QTableView QDateTimeEdit:down-button, +QTableView Gui--ColorButton { + background-color: rgba(0,0,0,30); +} + +QTableView QComboBox:focus, +QTableView QAbstractSpinBox:focus, +QTableView QSpinBox:focus, +QTableView QDoubleSpinBox:focus, +QTableView QLineEdit:focus, +QTableView QTextEdit:focus, +QTableView QTimeEdit:focus, +QTableView QDateEdit:focus, +QTableView QDateTimeEdit:focus { + color: #624b14; + selection-color: white; + selection-background-color: #daa116; + border-color: #e3d8b9; + background-color: #e3d8b9; +} + +QTableView QComboBox:disabled, +QTableView QAbstractSpinBox:disabled, +QTableView QSpinBox:disabled, +QTableView QDoubleSpinBox:disabled, +QTableView QLineEdit:disabled, +QTableView QTextEdit:disabled, +QTableView QTimeEdit:disabled, +QTableView QDateEdit:disabled, +QTableView QDateTimeEdit:disabled { + color: rgba(0,0,0,120); + background-color: transparent; + border-color: transparent; +} + +QTableView QComboBox:read-only, +QTableView QAbstractSpinBox:read-only, +QTableView QSpinBox:read-only, +QTableView QDoubleSpinBox:read-only, +QTableView QLineEdit:read-only, +QTableView QTextEdit:read-only, +QTableView QTimeEdit:read-only, +QTableView QDateEdit:read-only, +QTableView QDateTimeEdit:read-only { + color: black; + background-color: transparent; + border-color: transparent; +} + + +/*================================================================================================== +EXPERIMENTAL +==================================================================================================*/ + +/* Fix for preventing elements in different rows to accidentaly overlap */ +QDialog QGroupBox QFrame { + margin: 2px 0px; +} + +*[mandatoryField="true"] { background-color: cyan } + + + diff --git a/images/background_freecad.png b/images/background_freecad.png index f2c085a..ee72af5 100644 Binary files a/images/background_freecad.png and b/images/background_freecad.png differ diff --git a/images/down_arrow_dark.png b/images/down_arrow_dark.png index 9fed1f7..296a86f 100644 Binary files a/images/down_arrow_dark.png and b/images/down_arrow_dark.png differ diff --git a/images/down_arrow_darker.png b/images/down_arrow_darker.png new file mode 100644 index 0000000..5ac0b88 Binary files /dev/null and b/images/down_arrow_darker.png differ diff --git a/images/down_arrow_light.png b/images/down_arrow_light.png index 2168d71..29c473d 100644 Binary files a/images/down_arrow_light.png and b/images/down_arrow_light.png differ diff --git a/images/down_arrow_lighter.png b/images/down_arrow_lighter.png index db46661..73ee03e 100644 Binary files a/images/down_arrow_lighter.png and b/images/down_arrow_lighter.png differ diff --git a/images/left_arrow_dark.png b/images/left_arrow_dark.png index af678ad..0084e1f 100644 Binary files a/images/left_arrow_dark.png and b/images/left_arrow_dark.png differ diff --git a/images/left_arrow_darker.png b/images/left_arrow_darker.png new file mode 100644 index 0000000..18ecee7 Binary files /dev/null and b/images/left_arrow_darker.png differ diff --git a/images/left_arrow_light.png b/images/left_arrow_light.png index ef222b4..3bcdd81 100644 Binary files a/images/left_arrow_light.png and b/images/left_arrow_light.png differ diff --git a/images/left_arrow_lighter.png b/images/left_arrow_lighter.png index 6bca3a5..01fbda8 100644 Binary files a/images/left_arrow_lighter.png and b/images/left_arrow_lighter.png differ diff --git a/images/right_arrow_dark.png b/images/right_arrow_dark.png index f24e996..89cf865 100644 Binary files a/images/right_arrow_dark.png and b/images/right_arrow_dark.png differ diff --git a/images/right_arrow_darker.png b/images/right_arrow_darker.png new file mode 100644 index 0000000..884627a Binary files /dev/null and b/images/right_arrow_darker.png differ diff --git a/images/right_arrow_light.png b/images/right_arrow_light.png index 128b9a5..ac25f58 100644 Binary files a/images/right_arrow_light.png and b/images/right_arrow_light.png differ diff --git a/images/right_arrow_lighter.png b/images/right_arrow_lighter.png index 3d6bcdb..0e56941 100644 Binary files a/images/right_arrow_lighter.png and b/images/right_arrow_lighter.png differ diff --git a/images/up_arrow_dark.png b/images/up_arrow_dark.png index 6943e82..bb65ceb 100644 Binary files a/images/up_arrow_dark.png and b/images/up_arrow_dark.png differ diff --git a/images/up_arrow_darker.png b/images/up_arrow_darker.png new file mode 100644 index 0000000..da2b6a2 Binary files /dev/null and b/images/up_arrow_darker.png differ diff --git a/images/up_arrow_light.png b/images/up_arrow_light.png index 4c32b8a..675aa98 100644 Binary files a/images/up_arrow_light.png and b/images/up_arrow_light.png differ diff --git a/images/up_arrow_lighter.png b/images/up_arrow_lighter.png index c687416..cfe3fd3 100644 Binary files a/images/up_arrow_lighter.png and b/images/up_arrow_lighter.png differ diff --git a/light-blue.qss b/light-blue.qss index 86f58bf..def7042 100644 --- a/light-blue.qss +++ b/light-blue.qss @@ -1,1906 +1,1876 @@ -/* -ABOUT -=========================================================== -version 1.8 -QT theme (stylesheet) specially developed for FreeCAD (http://www.freecadweb.org/). -It might work with other software that uses QT styling. - - -LICENSE -=========================================================== -Copyright (c) 2015 Pablo Gil Fernández -The stylesheet barely uses code from Colin Duquesnoy "generic QT stylesheet" - -This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. -To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. - - -INSTALLATION -=========================================================== -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -2) In order to display correctly images that are used inside the stylesheet: - 2.1) If you use FreeCAD 0.16 (development builds newer than commit 5b3d50a): that's it, you are done! - - 2.2) If you use FreeCAD 0.15: Images used in the theme need full paths to be found by FreeCAD, so you should search the string "qss:images" (without "") and replace with the real path of your computer. It should be done with all the .qss files you want to install-use - find = qss:images - replace = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images - - -CUSTOMIZATION -=========================================================== -If you would like to change the overall look/style of the theme, just find and replace following colors in the whole file: - background darker = #828282 - background dark and slightly darker = #a2a2a0 - background dark = #b6b6b6 - background normal and slightly darker = #e0e0e0 - background normal = #e6e6e6 - background light = #f5f5f5 - background lighter = #ffffff - - lists background = #bdc1c9 - lists background (alternate) = #b3b8bf - lists backgrounds selection = #abb0b7 - - foreground = black - - selection darker = #1b3774 - selection dark = #3874f2 - selection normal = #5e90fa - selection inbetween normal and light = #6f9efa (used to build SpinBoxes) - selection light = #7cabf9 - selection lighter = #adc5ed - - -CAVEATS -=========================================================== - - FreeCAD 0.15 - - full paths to images are needed, that means all these .qss files should be edited per user - - the "Task panel" is not stylable - - in app icons-buttons are designed in svg but are not stylable, that is, it's not possible to change them... I hope it also changes in the near future - - -KNOWN BUGS and TO DO -=========================================================== - - please, follow the link to get updated information: http://forum.freecadweb.org/viewtopic.php?f=10&t=12417 -*/ - -/* RESET EVERYTHING */ -QAbstractScrollArea,QCheckBox,QColumnView,QComboBox,QDateEdit,QDateTimeEdit,QDialog,QDialogButtonBox,QDockWidget,QDoubleSpinBox,QFrame,QGroupBox,QHeaderView,QLabel,QLineEdit,QListView,QListWidget,QMainWindow,QMenu,QMenuBar,QMessageBox,QProgressBar,QPushButton,QRadioButton,QScrollBar,QSizeGrip,QSlider,QSpinBox,QSplitter,QStatusBar,QTabBar,QTabWidget,QTableView,QTableWidget,QTextEdit,QTimeEdit,QToolBar,QToolButton,QToolBox,QToolTip,QTreeView,QTreeWidget,QWidget { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - background-color: #e6e6e6; /* set with default background color */ -} - -QMdiArea[showImage="true"] { - background-image: url(qss:images/background_freecad.png); - background-position: center; - background-repeat: no-repeat; -} - -QProgressBar, -QProgressBar:horizontal { - background: #bdc1c9; - border: 1px solid #b6b6b6; - text-align: center; - padding: 1px; - border-radius: 4px; -} -QProgressBar::chunk, -QProgressBar::chunk:horizontal { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); - border-radius: 3px; -} - -QToolTip { - background-color: #828282; - color: black; - padding: 4px; - border-radius: 4px; - /*opacity: 200;*/ -} - -QWidget { - color: #828282; - background-color: #e6e6e6; - background-clip: border; - border-image: none; - outline: 0; -} - -QWidget:focus { - border: 1px solid #828282; -} - -QWidget:disabled { - color: #f5f5f5; - background-color: #828282; /* same as QMenu background-color */ -} - -QMenuBar { - color: #ffffff; - background-color: #e0e0e0; -} - -QMenuBar::item { - background-color: #e0e0e0; -} - -QMenuBar::item:selected { - color: #1b3774; - border: 1px solid #5e90fa; - background-color: #5e90fa; -} - -QMenuBar::item:pressed { - color: #1b3774; - border: 1px solid #7cabf9; - background-color: #7cabf9; - margin-bottom:-1px; - padding-bottom:1px; -} - -QMenu { - color: #ffffff; - background-color: #828282; - margin: 2px; - border: 1px solid transparent; -} - -QMenu::icon { - margin: 5px; - border-style: none; -} - -QMenu::right-arrow { - image:url(qss:images/right_arrow_light.png); -} - -QMenu::item { - color: #ffffff; - background-color: #828282; - padding: 2px 30px 2px 30px; - border: 1px solid #828282; /* reserve space for selection border */ -} - -QMenu::item:selected { - color: #1b3774; - background-color: #7cabf9; -} - -QMenu::separator { - height: 1px; - background-color: #b6b6b6; - margin-top: 2px; - margin-bottom: 2px; - margin-left: 6px; - margin-right: 6px; -} - -QMenu::indicator:non-exclusive { - color: #ffffff; - background-color: #f5f5f5; - border: 1px solid #828282; - width: 11px; - height: 11px; - border-radius:2px; -} - -QMenu::indicator:non-exclusive:checked { - background-color: #3874f2; - border: 1px solid #1b3774; - image:url(qss:images/checkbox_light.png); -} - -QGroupBox { - color: #828282; - font-weight: bold; - border:1px solid blue; - border-radius: 4px; - margin-top: 20px; - border-color: rgba(0, 0, 0, 20); /* lighter than "QGroupBox" border-color */ - background-color: rgba(255, 255, 255, 15); -} - - - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - padding-left: 10px; - padding-right: 10px; - padding-top: 10px; - background-color: transparent; -} - -QAbstractScrollArea { - border-radius: 2px; - border: 1px solid #3A3939; - background-color: transparent; -} - -QAbstractScrollArea::corner { - border: none; - background-color: #e6e6e6; -} - -QScrollBar:horizontal { - height: 15px; - margin: 3px 15px 3px 15px; - border: 1px transparent #828282; - border-radius: 4px; - background-color: #828282; -} - -QScrollBar::handle:horizontal { - background-color: #b6b6b6; - min-width: 5px; - border-radius: 4px; -} - -QScrollBar::add-line:horizontal { - margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/right_arrow_light.png); - width: 6px; - height: 10px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/left_arrow_light.png); - height: 10px; - width: 6px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images/right_arrow_lighter.png); -} - - -QScrollBar::sub-line:horizontal:hover, -QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images/left_arrow_lighter.png); -} - -QScrollBar::up-arrow:horizontal, -QScrollBar::down-arrow:horizontal { - background: none; -} - - -QScrollBar::add-page:horizontal, -QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar:vertical { - background-color: #828282; - width: 15px; - margin: 15px 3px 15px 3px; - border: 1px transparent #828282; - border-radius: 4px; -} - -QScrollBar::handle:vertical { - background-color: #b6b6b6; - min-height: 5px; - border-radius: 4px; -} - -QScrollBar::sub-line:vertical { - margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/up_arrow_light.png); - height: 6px; - width: 10px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/down_arrow_light.png); - height: 6px; - width: 10px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, -QScrollBar::sub-line:vertical:on { - border-image: url(qss:images/up_arrow_lighter.png); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images/down_arrow_lighter.png); -} - -QScrollBar::up-arrow:vertical, -QScrollBar::down-arrow:vertical { - background: none; -} - - -QScrollBar::add-page:vertical, -QScrollBar::sub-page:vertical { - background: none; -} - -QTextEdit { - color: #828282; - background-color: #bdc1c9; - border: 1px solid #b6b6b6; - padding: 0px; - margin: 0px; -} - -QPlainTextEdit { - color: #828282; - background-color: #bdc1c9; - border-radius: 2px; - border: 1px solid #b6b6b6; - padding: 0px; - margin: 0px; -} - -QSizeGrip { - image: url(qss:images/sizegrip_light.png); - width: 16px; - height: 16px; - background-color: transparent; -} - -QRadioButton::indicator:unchecked{ - color: #828282; - background-color: #f5f5f5; - border: 1px solid #828282; -} - -QRadioButton::indicator:checked { - background-color: #3874f2; - border: 1px solid #1b3774; - image:url(qss:images/radiobutton_light.png); -} - -QCheckBox, -QRadioButton, -QCheckBox:disabled, -QRadioButton:disabled { - color: #828282; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: #ffffff; - background-color: #f5f5f5; - border: 1px solid #828282; -} - -QCheckBox::indicator { - width: 11px; - height: 11px; - border-radius:2px; -} - -QRadioButton::indicator { - width: 11px; - height: 11px; - border-radius: 6px; -} - -QRadioButton::indicator:pressed, -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed { - border-color: #adc5ed; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #3874f2; - border: 1px solid #1b3774; - image:url(qss:images/checkbox_light.png); -} - -QCheckBox::indicator:disabled, -QRadioButton::indicator:disabled { - border: 1px solid #b6b6b6; -} - -QCheckBox:disabled, -QRadioButton::indicator:disabled { - color: #b6b6b6; - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled, -QMenu::indicator:non-exclusive:disabled { - background-color: #e6e6e6; -} - -QCheckBox::indicator:indeterminate { - background-color: #3874f2; - border: 1px solid #1b3774; - image: url(qss:images/checkbox_indeterminate_light.png); -} - -QCheckBox:focus, -QRadioButton:focus { - border: none; -} - -QFrame, -QFrame:pressed, -QFrame:focus, -QFrame:on { - border: 1px solid #e6e6e6; - border-radius: 3px; - padding: 0px; - /* background-color: transparent; temporal */ -} - -/* border and background of QComboBox drop-down */ -QComboBox QFrame, -QComboBox QFrame:pressed, -QComboBox QFrame:focus, -QComboBox QFrame:on { - border: 1px solid #828282; - background-color: #828282; - padding: 0px; - margin: 0px; -} - -QFrame[frameShape="0"] { - border-radius: 3px; -} - -/* Separator line */ -QFrame[height="1"], -QFrame[height="2"], -QFrame[height="3"], -QFrame[width="1"], -QFrame[width="2"], -QFrame[width="3"] { - border-width: 1px 0px 0px 0px; - border-style: solid; - border-color: #e0e0e0; - background-color: transparent; -} - -QPushButton { - color: #ffffff; - text-align: center; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #b6b6b6, stop:1 #e6e6e6); - border: 1px solid #828282; - padding: 5px 12px 5px 12px; - margin: 4px 8px 4px 8px; - border-radius: 3px; - min-width: 14px; - min-height: 14px; -} - -QPushButton:hover, -QPushButton:focus { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); - border-color: #3874f2; -} - -QPushButton:disabled, -QPushButton:disabled:checked { - color: #b6b6b6; - background-color: #e6e6e6; - border-color: #b6b6b6; -} - -QPushButton:pressed { - background-color: #3874f2; -} - -QPushButton:checked { - background-color: #5e90fa; - border-color: #3874f2; -} - -/* Color Buttons */ -Gui--ColorButton, -Gui--ColorButton:disabled { - border-color: transparent; - background-color: transparent; - /*width: 60px;*/ - height: 24px; - padding: 0px; - margin: 0px; -} - -Gui--ColorButton:hover { - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -/* Buttons inside the toolbar */ -QToolBar QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0e0e0, stop:1 #e6e6e6); - border: 1px solid #b6b6b6; - min-width: 22px; - min-height: 22px; - margin-left: 2px; - margin-right: 2px; - margin-bottom: 3px; /*bigger margin to correctly separate buttons inside a vertical toolbar */ - margin-top: 1px; - padding: 1px; -} - -QToolBar QPushButton:hover, -QToolBar QPushButton:focus { - color: #ffffff; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0e0e0, stop:1 #e6e6e6); - border: 1px solid #828282; -} - -QToolBar QPushButton:disabled, -QToolBar QPushButton:disabled:checked { - background-color: #e6e6e6; - border-color: #e0e0e0; -} - -QToolBar QPushButton:pressed { - background-color: #b6b6b6; - border-color: #b6b6b6; -} - -QToolBar QPushButton:checked { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #7cabf9); - border-color: #5e90fa; -} - -QToolBar QPushButton:checked:hover, -QToolBar QPushButton:checked:focus { - color: #ffffff; - border: 1px solid #3874f2; -} - -QToolBar { - border: 1px transparent #393838; - background-color: #e6e6e6; - font-weight: bold; - margin: 0px; - padding: 0px; -} - -QToolBar::handle:horizontal { - background-image: url(qss:images/Hmovetoolbar_dark.png); - width: 10px; - margin: 6px 2px 6px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:vertical { - background-image: url(qss:images/Vmovetoolbar_dark.png); - height: 10px; - margin: 2px 6px 2px 6px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:horizontal { - background-image: url(qss:images/separtoolbar_dark.png); - width: 10px; - margin: 6px 2px 6px 2px; - background-position: center center; - background-repeat: repeat-y; -} - -QToolBar::separator:vertical { - background-image: url(qss:images/separtoolbar_dark.png); - height: 10px; - margin: 2px 6px 2px 6px; - background-position: center center; - background-repeat: repeat-x; -} - -QStackedWidget { - background-color: #e6e6e6; - border: 1px transparent #e6e6e6; -} - -QAbstractSpinBox { - color: #ffffff; - border: 1px solid #b6b6b6; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - background-color: #b6b6b6; - selection-color: black; - selection-background-color: #5e90fa; -} - -QAbstractSpinBox:disabled { - color: #f5f5f5; - background-color: #e0e0e0; - border-color: #e0e0e0; -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #6f9efa, stop:1 #7cabf9); - subcontrol-origin: border; - subcontrol-position: top right; - border-top-right-radius: 3px; - width: 20px; -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #6f9efa); - subcontrol-origin: border; - subcontrol-position: bottom right; - border-bottom-right-radius: 3px; - width: 20px; -} - -QAbstractSpinBox:up-button:disabled, -QAbstractSpinBox:down-button:disabled { - background-color: transparent; -} - -QAbstractSpinBox::up-arrow { - image: url(qss:images/up_arrow_light.png); - top: 1px; /* fix simetry between up and down images */ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images/up_arrow_lighter.png); -} - -QAbstractSpinBox::up-arrow:off { - image: url(qss:images/up_arrow_disabled_dark.png); -} - -QAbstractSpinBox::up-arrow:disabled { - image: none; -} - -QAbstractSpinBox::down-arrow { - image: url(qss:images/down_arrow_light.png); - bottom: -1px; /* fix simetry between up and down images */ -} -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images/down_arrow_lighter.png); -} - -QAbstractSpinBox::down-arrow:off { - image: url(qss:images/down_arrow_disabled_dark.png); -} - -QAbstractSpinBox::down-arrow:disabled { - image: none; -} - -QToolBar QAbstractSpinBox { - margin-top: 4px; - margin-bottom: 4px; -} - -QLineEdit { - color: #ffffff; - background-color: #b6b6b6; - selection-color: black; - selection-background-color: #5e90fa; - /* Padding and margin defined */ - border-style: solid; - border: 1px solid #b6b6b6; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - border-radius: 3px; -} - -QAbstractSpinBox:focus, -QLineEdit:focus, -QComboBox:focus { - border-color: #7cabf9; -} - -QComboBox { - color: #ffffff; - background-color: #b6b6b6; - selection-color: black; - selection-background-color: #5e90fa; - border: 1px solid #b6b6b6; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - border-radius: 3px; -} - -QComboBox:on { - color: black; - background-color: #b6b6b6; - border-color: #7cabf9; -} - -QComboBox::drop-down { - subcontrol-origin: margin; - subcontrol-position: top right; - width: 20px; - border-left-width: 1px; - border-left-color: transparent; - border-left-style: solid; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #7cabf9); -} - -QComboBox::down-arrow { - image: url(qss:images/down_arrow_light.png); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:hover, -QComboBox::down-arrow:focus { - image: url(qss:images/down_arrow_lighter.png); -} - -QComboBox QAbstractItemView { - color: #ffffff; - background-color: #828282; - border-radius: 3px; - margin: 0px; - padding: 0px; - border: none; -} - -/* Common parameters for QAbstractSpinBox, QLineEdit and QComboBox */ -QSpinBox, -QDoubleSpinBox, -QAbstractSpinBox, -QLineEdit, -QComboBox { - border-top-color: #a2a2a0; /* Creates an inset effect inside the elements */ - padding: 2px 6px 2px 6px; /* This makes text colour work on QComboBox */ - margin: 0px 2px 0px 2px; - min-width: 70px; /* it was 120 because of QCombobox... */ - border-radius: 3px; -} -/* end Common parameters */ - -QAbstractItemView { - color: #828282; - alternate-background-color: #b3b8bf; /* related with QListView background */ - border: 1px solid #828282; - border-radius: 3px; - padding: 0px; -} - -/* hack to deactivate changing background color when focus (due to QFrame generic transparent color) */ -QAbstractItemView:selected, -QAbstractItemView:on, -QAbstractItemView:focus { - background-color: #bdc1c9; /* same as QTable background color */ -} - -/* hack to hide weird redundant information inside the value of a Placement cell */ -QTreeView QLabel, -QTreeView QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QTreeView QLineEdit { - color: #ffffff; - border-color: #b6b6b6; - background-color: #b6b6b6; - selection-color: black; - selection-background-color: #5e90fa; -} - -/* hack to hide non editable cells inside Property values */ -QTreeView QLineEdit:read-only, -QTreeView QLineEdit:disabled, -QTreeView QAbstractSpinBox:read-only, -QTreeView QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; -} - -/* hack to disable margin inside Property values to following elements */ -QTreeView QSpinBox, -QTreeView QDoubleSpinBox, -QTreeView QAbstractSpinBox, -QTreeView QLineEdit, -QTreeView QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; -} - -/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ -QTreeView QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #b6b6b6, stop:1 #e6e6e6); - border-top: none; - border-bottom: none; - border-right: none; - border-left: 1px solid #b6b6b6; - border-radius: 0px; - margin: 0px; - padding: 0px; - height: 24px; -} - -/* Color Buttons inside the "Properties window" */ -QAbstractItemView Gui--ColorButton { - padding: 0px; - margin: 0px; - height: 10px; -} - -QAbstractItemView QPushButton:hover { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); - border-color: #3874f2; -} - -QAbstractItemView QPushButton:disabled { - color: transparent; - background-color: transparent; - border-color: transparent; -} - -QLabel { - border: 0px solid #828282; -} - -QTabWidget{ - border: none; -} - -QTabWidget:focus { - border: none; -} - -QTabWidget::pane { - border: none; - padding: 0px; - background-color: #e6e6e6; - position: absolute; - top: -15px; - padding-top: 15px; -} - -QTabWidget::tab-bar { - alignment: center; -} - -QTabBar { - qproperty-drawBase: 0; - left: 5px; - background-color: transparent; -} - -QTabBar:focus { - border: 0px transparent black; -} - -QTabBar::close-button { - padding: 0px; - margin: 0px; - border-radius: 2px; - background-image: url(qss:images/close_dark.png); - background-position: center center; - background-repeat: none; -} - -QTabBar::close-button:hover { - background-color: #7cabf9; -} - -QTabBar::close-button:pressed { - background-color: #adc5ed; -} - -QTabBar::scroller { /* the width of the scroll buttons */ - width: 20px; -} - -/* the scroll buttons are tool buttons */ -QTabBar QToolButton, -QTabBar QToolButton:hover { - margin-top: 4px; - margin-bottom: 4px; - margin-left: 0px; - margin-right: 0px; - padding: 0px; - border: none; - background-color: #e6e6e6; - border-radius: 0px; -} - -QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images/right_arrow_light.png); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images/right_arrow_disabled_dark.png); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images/right_arrow_lighter.png); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images/left_arrow_light.png); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images/left_arrow_disabled_dark.png); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images/left_arrow_lighter.png); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images/up_arrow_light.png); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images/up_arrow_disabled_dark.png); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images/up_arrow_lighter.png); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images/down_arrow_light.png); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images/down_arrow_disabled_dark.png); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images/down_arrow_lighter.png); -} - -/* HORIZONTAL TABS */ -QTabBar::tab:top, -QTabBar::tab:bottom { - color: #ffffff; - border: 1px solid #b6b6b6; - border-left-color: #e6e6e6; - border-right-width: 0px; - border-bottom: 1px solid #a2a2a0; /* shadown effect */ - background-color: #b6b6b6; - padding:5px 15px; - margin-top: 4px; - margin-bottom: 4px; - position: center; -} - -QTabBar::tab:top:first, -QTabBar::tab:bottom:first { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} - -QTabBar::tab:top:last, -QTabBar::tab:bottom:last { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; - border-right-width: 1px; -} - -QTabBar::tab:top:selected, -QTabBar::tab:bottom:selected { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); - border-color: #3874f2; - border-bottom: 1px solid #a2a2a0; /* shadown effect */ -} - -QTabBar::tab:top:!selected:hover, -QTabBar::tab:bottom:!selected:hover { - color: black; -} - -QTabBar::tab:top:only-one , -QTabBar::tab:bottom:only-one { - border: 1px solid #1b3774; - border-radius: 6px; -} - -/* VERTICAL TABS */ -QTabBar::tab:left, -QTabBar::tab:right { - color: #ffffff; - border: 1px solid #b6b6b6; - border-top-color: #e6e6e6; - border-bottom-width: 0px; - border-right: 1px solid #a2a2a0; /* shadown effect */ - background-color: #b6b6b6; - padding: 15px 5px; - margin-left: 4px; - margin-right: 4px; - position: center; -} - -QTabBar::tab:left:first, -QTabBar::tab:right:first { - border-top-left-radius: 6px; - border-top-right-radius: 6px; -} - -QTabBar::tab:left:last, -QTabBar::tab:right:last { - border-bottom-left-radius: 6px; - border-bottom-right-radius: 6px; - border-bottom-width: 1px; -} - -QTabBar::tab:left:selected, -QTabBar::tab:right:selected { - color: black; - background-color: qlineargradient(spread:pad, x1:0.545, y1:1, x2:0, y2:1, stop:0 #3874f2, stop:1 #5e90fa); - border-color: #3874f2; - border-right: 1px solid #a2a2a0; /* shadown effect */ -} - -QTabBar::tab:left:!selected:hover, -QTabBar::tab:right:!selected:hover { - color: black; -} - -QTabBar::tab:left:only-one , -QTabBar::tab:right:only-one { - border: 1px solid #1b3774; - border-radius: 6px; -} - -QDockWidget { - color: #828282; - border: 1px solid #e6e6e6; - titlebar-close-icon: url(qss:images/close_dark.png); - titlebar-normal-icon: url(qss:images/undock_dark.png); -} - -QDockWidget::title { - text-align: center; - background-color: #e0e0e0; - padding: 4px; - border-radius: 4px; -} - -QDockWidget::close-button, -QDockWidget::float-button { - border: 1px transparent #e6e6e6; - border-radius: 2px; - background: transparent; - subcontrol-origin: padding; - subcontrol-position: right center; -} - -QDockWidget::close-button { - right: 4px; -} - -QDockWidget::float-button { - right: 22px; -} - -QDockWidget::close-button:hover, -QDockWidget::float-button:hover { - background: #f5f5f5; -} - -QDockWidget::close-button:pressed, -QDockWidget::float-button:pressed { - /*padding: 1px -1px -1px 1px;*/ - background-color: #e0e0e0; -} - -QTreeView, -QListView { - color: #828282; - border: 1px solid #e6e6e6; - border-radius: 4px; - background-color: #bdc1c9; /* related with alternate-background-color*/ - selection-color: black; - selection-background-color: #5e90fa; /* should be similar to QListView::item selected background-color */ - show-decoration-selected: 1; /* make the selection span the entire width of the view */ - padding: 0px; - margin: 0px 4px 0px 4px; - min-width: 130px; /* hack to correctly align Preferences icon list */ -} - -QListView, -QListView::item, -QListView QAbstractItemView { - margin: 0px; - icon-size: 20px; /* temporal */ - paint-alternating-row-colors-for-empty-area: 1; - position: absolute; - subcontrol-origin: margin; - subcontrol-position: left top; -} - -/* Control dropdown list margins of QComboBox */ -QComboBox QTreeView, -QComboBox QListView { - margin: 0px; - padding: 0px; -} - -QListView::item { - border: 0px transparent #e6e6e6; - border-radius: 4px; - background-color: transparent; - padding: 0px; - margin: 0px; - display: inline-block; - position: relative; -} - -QListView::item:selected, -QTreeView::item:selected { - color: black; - background-color: #5e90fa; /* should be similar to QListView selection-background-color */ -} - -/* Branch system */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images/branch_vline.png) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images/branch_more.png) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images/branch_end.png) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - image: url(qss:images/branch_closed_dark.png); -} - -QTreeView::branch:has-children:!has-siblings:closed { - image: url(qss:images/branch_closed_dark.png); - border-image: url(qss:images/branch_end.png) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - image: url(qss:images/branch_open_dark.png); - border-image: url(qss:images/branch_more.png) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - image: url(qss:images/branch_open_dark.png); - border-image: url(qss:images/branch_end.png) 0; -} - -QSlider, -QSlider:active, -QSlider:!active { - border: none; - background-color: transparent; -} - -QSlider:horizontal { - padding: 0px 10px; -} - -QSlider:vertical { - padding: 10px 0px; -} - -QSlider::groove:horizontal { - border: 1px solid #b6b6b6; - background-color: #b6b6b6; - height: 8px; - border-radius: 5px; - margin: 4px 0; -} - -QSlider::groove:vertical { - border: 1px solid #b6b6b6; - background-color: #b6b6b6; - width: 8px; - border-radius: 5px; - margin: 4px 0; -} - -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #828282; - border: 1px solid #828282; - width: 14px; - height: 14px; - border-radius: 8px; -} - -QSlider::handle:horizontal { - margin: -4px 0; -} - -QSlider::handle:vertical { - margin: 0 -4px; -} - -QSlider::handle:horizontal:hover, -QSlider::handle:vertical:hover { - border-color: #3874f2; - background-color: #3874f2; -} - -QSlider::handle:horizontal:pressed, -QSlider::handle:vertical:pressed { - border-color: #1b3774; - background-color: #1b3774; -} - -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #b6b6b6; - background-color: #e6e6e6; -} - -QToolButton { - color: #ffffff; - text-align: center; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #b6b6b6, stop:1 #e6e6e6); - border: 1px solid #828282; - padding-top: 5px; - padding-bottom: 5px; - padding-left: 15px; - padding-right: 15px; - margin-top: 5px; - margin-bottom: 5px; - margin-left: 10px; - margin-right: 10px; - border-radius: 3px; - outline: none; - /*min-width: 36px;*/ -} - -QToolButton:hover, -QToolButton:focus { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); - border-color: #3874f2; -} - -QToolButton:disabled, -QToolButton:disabled:checked { - color: #b6b6b6; - background-color: #e6e6e6; - border-color: #b6b6b6; -} - -QToolButton:pressed { - border-color: #7cabf9; -} - -QToolButton:checked { - background-color: #5e90fa; - border-color: #3874f2; -} - -QToolButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: center right; - right: 4px; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" */ -QToolButton#qt_toolbar_ext_button { - border-radius: 0px; - margin: 0px; - padding: 0px; - /*background-image: url(qss:images/more_dark.png);*/ - image: transparent; - background-repeat: none; - background-position: center left; -} - -QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images/more_light.png);*/ - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images/more_light.png);*/ - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -/*Buttons inside the Toolbar*/ -QToolBar QToolButton { - color: #828282; - background-color: #e6e6e6; - border: 1px transparent #e6e6e6; - border-radius: 3px; - margin: 0px; - padding: 2px; -} - -QToolBar QToolButton:disabled { - background-color: #e6e6e6; -} - -QToolBar QToolButton:checked { - color: #1b3774; - background-color: #5e90fa; - border: 1px solid #5e90fa; -} - -QToolBar QToolButton:hover { - background-color: #e6e6e6; -} - -QToolBar QToolButton:pressed, -QToolBar QToolButton::menu-button:pressed { - background-color: #e0e0e0; - border: 1px solid #e0e0e0; -} - - -QToolBar QToolButton::menu-indicator:hover, -QToolBar QToolButton::menu-indicator:pressed { - background-color: transparent; -} - -/* the subcontrols below are used only in the MenuButtonPopup mode */ -QToolBar QToolButton::menu-button { - border: none; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; -} - -QToolBar QToolButton::menu-button:hover, -QToolBar QToolButton::menu-button:active, -QToolBar QToolButton::menu-button:disabled { - border-color: transparent; - background-color: transparent; -} - -QToolBar QToolButton::menu-arrow { - background-image: url(qss:images/down_arrow_light.png); - background-position: center center; - background-repeat: none; - subcontrol-origin: padding; - subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ -} - -QToolBar QToolButton::menu-arrow:open { - background-image: url(qss:images/down_arrow_lighter.png); -} - -/* If the QToolButton is also a menu: */ -QToolBar QToolButton#qt_toolbutton_menubutton { - padding-right: 20px; - border: 1px solid transparent; -} - -QToolBar QToolButton#qt_toolbutton_menubutton:hover, -QToolBar QToolButton#qt_toolbutton_menubutton:pressed, -QToolBar QToolButton#qt_toolbutton_menubutton:open { - border: 1px solid #7cabf9; -} - -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button { - border: none; /* necessary because it inherits the border from QToolButton#qt_toolbutton_menubutton */ -} - -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:hover, -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:pressed, -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:open { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #7cabf9); -} - -QToolBar:tear { - color: blue; - background-color: red; -} - -QTableView { - color: #828282; - border: 1px solid #b6b6b6; - gridline-color: #f5f5f5; - background-color: #bdc1c9; - selection-color: #828282; - selection-background-color: #adc5ed; - border-radius: 3px; - padding: 0px; - margin: 0px; -} - -QTableView::item:hover { - background: #abb0b7; -} - -QTableView::item:disabled { - color: #e6e6e6; -} - -QTableView::item:selected { - color: #1b3774; - background-color: #7cabf9; -} - -/* when editing a cell: */ -QTableView QLineEdit { - color: #828282; - background-color: #b3b8bf; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QHeaderView { - border: none; - background-color: #828282; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - margin: 0px; - padding: 0px; -} - -QHeaderView::section { - background-color: transparent; - color: #ffffff; - border: 1px solid transparent; - border-radius: 0px; - text-align: center; -} - -QHeaderView::section::vertical { - padding: 0px 6px 0px 6px; - border-bottom: 1px solid #b6b6b6; -} - -QHeaderView::section::vertical:first { - border-top: 1px solid #b6b6b6; -} - -QHeaderView::section::vertical:last { - border-bottom: none; -} - -QHeaderView::section::vertical:only-one { - border: none; -} - -QHeaderView::section::horizontal { - padding: 0px 0px 0px 6px; - border-right: 1px solid #b6b6b6; -} - -QHeaderView::section::horizontal:first { - border-left: 1px solid #b6b6b6; -} - -QHeaderView::section::horizontal:last { - border-left: none; -} - -QHeaderView::section::horizontal:only-one { - border: none; -} - -QDockWidget QHeaderView::section { - border-width: 6px 1px 6px 1px; /* hack to bigger margin for Model Panel table headers */ -} - -QHeaderView::section:checked { - color: #1b3774; - background-color: #7cabf9; -} - - /* style the sort indicator */ -QHeaderView::down-arrow { - image: url(qss:images/down_arrow_light.png); -} - -QHeaderView::up-arrow { - image: url(qss:images/up_arrow_light.png); -} - -QTableCornerButton::section { - background-color: #828282; - border: 1px solid #828282; - border-radius: 0px; -} - -QToolBox { - padding: 3px; - color: #1b3774; - border: none; -} - -QToolBox::tab { /* TODO */ - color: #ffffff; - background-color: #b6b6b6; - border: 1px transparent #828282; - border-bottom: 1px transparent #b6b6b6; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - padding: 5px; -} - -QToolBox::tab:selected { /* italicize selected tabs */ - color: #1b3774; - font: italic; - background-color: #5e90fa; - border-color: #5e90fa; - } - -QStatusBar::item { - color: #ffffff; - background-color: #e6e6e6; - border: 1px solid #e6e6e6; - border-radius: 2px; -} - - -QSplitter::handle { - background-color: #e6e6e6; - margin: 0px 11px; - padding: 0px; - border-radius: 3px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images/splitter_horizontal_dark.png); - background-position: center center; - background-repeat: none; - margin: 2px 10px 2px 10px; - height: 2px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images/splitter_horizontal_dark.png); - background-position: center center; - background-repeat: none; - margin: 10px 2px 10px 2px; - width: 2px; -} - -QSplitter::handle:horizontal:hover, -QSplitter::handle:vertical:hover { - background-color: #e6e6e6; -} - -/* Similar to the splitter is the following window separator: */ -QMainWindow::separator { - border: 1px solid #e6e6e6; - background-color: #e6e6e6; - background-position: center center; - background-repeat: none; -} - -QMainWindow::separator:hover { - background-color: #e6e6e6; -} - -QMainWindow::separator:horizontal { - height: 4px; - background-image: url(qss:images/splitter_horizontal_dark.png); -} - -QMainWindow::separator:vertical { - width: 4px; - background-image: url(qss:images/splitter_vertical_dark.png); -} - -QLabel { - padding-top: 3px; - padding-bottom: 3px; - background-color: transparent; -} - -QLabel:disabled { - color: #b6b6b6; - background-color: transparent; -} - -/* Action group */ -QFrame[class="panel"] { - border: none; - background-color: #e6e6e6; -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { - border-color: #f5f5f5; -} - -QSint--ActionGroup QFrame[class="header"] { - border: none; - background-color: #828282; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); -} - -QSint--ActionGroup QToolButton[class="header"] { - text-align: left; - font-weight: bold; - color: #ffffff; - background-color: transparent; - border: none; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QToolButton[class="header"]:hover { - color: black; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { - background-color: transparent; - background-image: url(qss:images/down_arrow_light.png); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { - background-color: transparent; - background-image: url(qss:images/down_arrow_lighter.png); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images/up_arrow_light.png); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { - background-color: transparent; - background-image: url(qss:images/up_arrow_lighter.png); -} - -QSint--ActionGroup QFrame[class="content"] { - background-color: #bdc1c9; - margin: 0px; - padding: 0px; - border: none; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} - -/* HACK -This might not be the best way to reset the background color: */ -QSint--ActionGroup QFrame[class="content"] QWidget { - background-color: #bdc1c9; -} - -QSint--ActionGroup QFrame[class="content"] QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #b6b6b6, stop:1 #e6e6e6); -} - -QSint--ActionGroup QFrame[class="content"] QPushButton:hover, -QSint--ActionGroup QFrame[class="content"] QPushButton:focus { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); -} - -QSint--ActionGroup QFrame[class="content"] QPushButton:disabled, -QSint--ActionGroup QFrame[class="content"] QPushButton:disabled:checked { - color: #bdc1c9; - border-color: #f5f5f5; - background-color: #f5f5f5; -} -QSint--ActionGroup QFrame[class="content"] QPushButton:checked { - background-color: #5e90fa; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox { - background-color: #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox:on { - background-color: #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox QAbstractItemView { - border-color: #828282; - background-color: #828282; -} - -QSint--ActionGroup QFrame[class="content"] QListView { - border-color: #abb0b7; - background-color: #abb0b7; -} - -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox { - background-color: #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QLineEdit { - background-color: #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox:disabled, -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox:disabled, -QSint--ActionGroup QFrame[class="content"] QLineEdit:disabled { - color: #bdc1c9; - border-color: #f5f5f5; - background-color: #f5f5f5; -} - -QSint--ActionGroup QFrame[class="content"] QCheckBox:disabled, -QSint--ActionGroup QFrame[class="content"] QRadioButton:disabled { - color: #f5f5f5; - border-color: #f5f5f5; -} - -QSint--ActionGroup QFrame[class="content"] QCheckBox::indicator:disabled, -QSint--ActionGroup QFrame[class="content"] QRadioButton::indicator:disabled { - border-color: #f5f5f5; - background-color: transparent; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView { - border: none; - background-color: #828282; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section { - background-color: transparent; - color: #ffffff; - border: 1px solid transparent; - border-radius: 0px; - text-align: center; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal { - padding: 6px 0px 6px 6px; - border-right: 1px solid #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:first { - border-left: 1px solid #e6e6e6; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:last { - border-left: none; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:only-one { - border: none; -} -/* enf of HACK */ - - -QSint--ActionGroup QToolButton[class="action"], -QSint--ActionGroup QToolButton[class="action"]:enabled { - font-weight: bold; - color: #b6b6b6; -} - -QSint--ActionGroup QToolButton[class="action"]:hover, -QSint--ActionGroup QToolButton[class="action"]:enabled:hover { - text-decoration: none; - color: #828282; - background-color: #abb0b7; - border-color: #abb0b7; -} - -QSint--ActionGroup QToolButton[class="action"]:disabled { - color: #e6e6e6; - background-color: #abb0b7; - border-color: #abb0b7; -} - -QSint--ActionGroup QToolButton[class="action"]:focus, -QSint--ActionGroup QToolButton[class="action"]:pressed -QSint--ActionGroup QToolButton[class="action"]:enabled:focus, -QSint--ActionGroup QToolButton[class="action"]:enabled:pressed { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); - border-color: #3874f2; -} - -QSint--ActionGroup QToolButton[class="action"]:on { - background-color: red; - color: red; -} - - -/* EXPERIMENTAL -================================================= */ -QDial { - background-color: #e6e6e6; -} - -QLCDNumber { - background-color: #e6e6e6; -} - -QCalendarWidget { - background-color: green; -} - -/* Expressions popup dialog fixes to embed elements */ -QAbstractSpinBox QPushButton { - padding: 0px 15px 0px 15px; - margin: 2px 10px 2px 10px; - border: 1px solid #828282; - border-radius: 3px; -} -QAbstractSpinBox QPushButton:disabled { - color: #f5f5f5; - background-color: #e6e6e6; - border-color: #e6e6e6; -} - -QAbstractSpinBox QFrame, -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox QFrame { - color: #adc5ed; - background-color: #b6b6b6; - border-color: #b6b6b6; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox QPushButton { - padding: 6px 15px 6px 15px; -} \ No newline at end of file +/* +ABOUT +============================================================================================================ +version 2.0 +QT theme (stylesheet) specially developed for FreeCAD (http://www.freecadweb.org/). +It might work with other software that uses QT styling. + + +LICENSE +============================================================================================================ +Copyright (c) 2016 Pablo Gil Fernández + +This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. +To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. + + +INSTALLATION +============================================================================================================ +1) Place the .qss files and /images/ folder in the path that fits your OS: + OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ + WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ + LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ + +2) In order to display correctly images: + 2.1) FreeCAD 0.16 (development builds newer than commit 5b3d50a): that's it, you are done! + + 2.2) FreeCAD 0.15: Images used in the theme need ABSOLUTE paths to be found by FreeCAD, so you should search the string "qss:images" (without "") and replace with the real path of your computer. It should be done with all the .qss files you want to install-use + find = qss:images + replace = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images + + +CUSTOMIZATION +============================================================================================================ +If you would like to change the overall look/style of the theme, just find and replace following colors in the whole file: + BACKGROUND (darker to ligher) + black + #505050 + #6e6e6e + #828282 + #a2a2a0 + #b6b6b6 + #c8c8c8 + #c3c3c3 + #d2d2d2 + #dcdcdc + #e0e0e0 + #e6e6e6 + #f0f0f0 + #f5f5f5 = main background color + white + + SELECTION (darker to lighter) + #1b3774 + #2053c0 + #3874f2 + #5e90fa = main selection color + #6f9efa = used to build QSpinBox up and down buttons, it's used as color in the middle + #7cabf9 + #adc5ed + #cbd8e6 + + +KNOWN BUGS and TO DO +============================================================================================================ + - please, follow the link to get updated information: http://forum.freecadweb.org/viewtopic.php?f=10&t=12417 +*/ + + +/*================================================================================================== +Reset elements +==================================================================================================*/ +/* Reseting everything helps to unify styles across different operating systems */ +* { + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; +} + +/* specific reset for elements inside QToolBar */ +QToolBar * { + margin: 0px; + padding: 0px; +} + + +/*================================================================================================== +Main window +==================================================================================================*/ +QMainWindow, +QDialog, +QToolBar { + background-color: #f5f5f5; /* main background color */ +} + +QMdiArea[showImage="true"] { + background-image: url(qss:images/background_freecad.png); + background-position: center; + background-repeat: no-repeat; +} + + +/*================================================================================================== +MENUS +==================================================================================================*/ +QMenuBar, +QMenuBar::item { + color: black; + background-color: #f5f5f5; /* main background color */ +} + +QMenu, +QMenu::item { + color: black; + background-color: #f5f5f5; /* main background color */ +} + +QMenuBar::item:selected, +QMenuBar::item:pressed, +QMenu::item:selected, +QMenu::item:pressed { + color: white; + background-color: #5e90fa; +} + +QMenu::right-arrow { + width: 10px; + height: 10px; + image:url(qss:images/right_arrow_dark.png); + margin-right: 2px; +} + +QMenu::right-arrow:selected { + image:url(qss:images/right_arrow_lighter.png); +} + +QMenu::item { + padding: 2px 16px 2px 26px; /* make room for icon at left */ + border: 1px solid transparent; /* reserve space for selection border */ +} + +QMenu::icon { + margin-left: 2px; +} + +QMenu::separator { + height: 1px; + background-color: rgba(0,0,0,30); + margin: 6px 4px; +} + +QMenu::indicator:non-exclusive:checked { + color: white; +} + + +/*================================================================================================== +Tool bar +==================================================================================================*/ +QToolBar { + border: none; + min-width: 32px; /* allows a minimum of space between QToolBar colums */ + min-height: 32px; /* allows a minimum of space between QToolBar rows */ +} + +QToolBar::handle:horizontal { + background-image: url(qss:images/Hmovetoolbar_dark.png); + width: 10px; + margin: 6px 2px 6px 2px; + background-position: top right; + background-repeat: repeat-y; +} + +QToolBar::handle:vertical { + background-image: url(qss:images/Vmovetoolbar_dark.png); + height: 10px; + margin: 2px 6px 2px 6px; + background-position: left bottom; + background-repeat: repeat-x; +} + +QToolBar::separator:horizontal { + background-image: url(qss:images/separtoolbar_dark.png); + width: 10px; + margin: 6px 2px 6px 2px; + background-position: center center; + background-repeat: repeat-y; +} + +QToolBar::separator:vertical { + background-image: url(qss:images/separtoolbar_dark.png); + height: 10px; + margin: 2px 6px 2px 6px; + background-position: center center; + background-repeat: repeat-x; +} + + +/*================================================================================================== +Group box +==================================================================================================*/ +QGroupBox { + color: rgba(0,0,0,120); + border:1px solid rgba(0, 0, 0, 20); /* lighter than its own border-color */; + border-radius: 3px; + margin-top: 10px; + padding: 6px; + background-color: rgba(255, 255, 255, 15); +} + +QGroupBox:title { + top: -8px; + left: 12px; +} + + +/*================================================================================================== +Tooltip +==================================================================================================*/ +QToolTip { + color: white; + background-color: #828282; + /*opacity: 90%; doesn't correctly work */ + padding: 4px; + border-radius: 3px; /* has no effect */ +} + + +/*================================================================================================== +Dock widget +==================================================================================================*/ +QDockWidget { + color: rgba(0,0,0,120); + titlebar-close-icon: url(qss:images/close_dark.png); + titlebar-normal-icon: url(qss:images/undock_dark.png); +} + +QDockWidget::title { + text-align: center; + background-color: rgba(0,0,0,10); + border: 4px solid #f5f5f5; /* fix to simulate margin between this :title and tabs */ /* same as main background color */ + border-radius: 6px; /* bigger than normal due to previous border fix */ + padding: 4px 0px; /* also needed because of previous border fix */ +} + +QDockWidget::close-button, +QDockWidget::float-button { + border: none; + background: transparent; + border-radius: 3px; + subcontrol-origin: padding; + subcontrol-position: right center; +} + +QDockWidget::close-button { + right: 4px; +} + +QDockWidget::float-button { + right: 22px; +} + +QDockWidget::close-button:hover, +QDockWidget::float-button:hover { + background-color: rgba(0,0,0,15); +} + +QDockWidget::close-button:pressed, +QDockWidget::float-button:pressed { + background-color: rgba(0,0,0,30); +} + +/* fix for Python Console (probably there is a smarter way to arrive to it) */ +QDockWidget > QFrame { + background-color: #f0f0f0; + border: 1px solid #c3c3c3; +} + + +/*================================================================================================== +Progress bar +==================================================================================================*/ +QProgressBar, +QProgressBar:horizontal { + color: white; + background-color: rgba(0,0,0,10); + text-align: center; + border: 1px solid rgba(0,0,0,80); + padding: 1px; + border-radius: 3px; +} +QProgressBar::chunk, +QProgressBar::chunk:horizontal { + background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #5e90fa, stop:1 #3874f2); + border-radius: 3px; +} + + +/*================================================================================================== +Scroll +==================================================================================================*/ +QAbstractScrollArea { + border-radius: 2px; + background-color: transparent; +} + +QAbstractScrollArea::corner { + border: none; + background-color: transparent; +} + +QScrollBar:horizontal { + background-color: transparent; + height: 15px; + margin: 0px; +} + +QScrollBar::handle:vertical, +QScrollBar::handle:horizontal { + background-color: rgba(0,0,0,100); +} + +QScrollBar::handle:vertical:hover, +QScrollBar::handle:horizontal:hover { + background-color: #a2a2a0; +} + +QScrollBar::handle:horizontal { + min-width: 5px; + border-radius: 3px; + margin: 4px 15px; +} + +QScrollBar::sub-line:horizontal { + margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/left_arrow_dark.png); + width: 6px; + height: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal { + margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/right_arrow_dark.png); + width: 6px; + height: 10px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, +QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images/left_arrow_darker.png); +} + +QScrollBar::add-line:horizontal:hover, +QScrollBar::add-line:horizontal:on { + border-image: url(qss:images/right_arrow_darker.png); +} + +QScrollBar::up-arrow:horizontal, +QScrollBar::down-arrow:horizontal { + background-color: none; +} + +QScrollBar::add-page:horizontal, +QScrollBar::sub-page:horizontal { + background-color: transparent; +} + +QScrollBar:vertical { + background-color: transparent; + width: 15px; + margin: 0px; +} + +QScrollBar::handle:vertical { + min-height: 5px; + border-radius: 3px; + margin: 15px 4px; +} + +QScrollBar::sub-line:vertical { + margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/up_arrow_dark.png); + height: 6px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/down_arrow_dark.png); + height: 6px; + width: 10px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, +QScrollBar::sub-line:vertical:on { + border-image: url(qss:images/up_arrow_darker.png); +} + +QScrollBar::add-line:vertical:hover, +QScrollBar::add-line:vertical:on { + border-image: url(qss:images/down_arrow_darker.png); +} + +QScrollBar::up-arrow:vertical, +QScrollBar::down-arrow:vertical { + background-color: none; +} + +QScrollBar::add-page:vertical, +QScrollBar::sub-page:vertical { + background-color: transparent; +} + + +/*================================================================================================== +Tab bar +==================================================================================================*/ +QTabWidget::pane { + background-color: transparent; /* temporal (transparent background) */ /* tab content background color */ + position: absolute; +} + +QTabWidget::pane:top { + top: -1px; + border-top: 1px solid #d2d2d2; +} + +QTabWidget::pane:bottom { + bottom: -1px; + border-bottom: 1px solid #d2d2d2; +} + +QTabWidget::pane:left { + right: -1px; + border-right: 1px solid #d2d2d2; +} + +QTabWidget::pane:right { + left: -1px; + border-left: 1px solid #d2d2d2; +} + +QTabWidget::tab-bar:top, +QTabWidget::tab-bar:bottom { + left: 10px; +} + +QTabWidget::tab-bar:left, +QTabWidget::tab-bar:right { + top: 10px; +} + +QTabBar { + qproperty-drawBase: 0; /* important */ + background-color: transparent; +} + +/* Workaround for QTabBars created from docked QDockWidgets which don't draw the border if not set and reseted as follows: */ +QTabBar { + border-top: 1px solid #d2d2d2; /* set color for all QTabBars */ +} +QDockWidget QTabBar { + border-color: transparent; /* set color for all QTabBars but ones created from QDockWidget */ +} +QDialog QTabBar { + border-color: transparent; /* set color for QTabBars inside Preferences dialog */ +} +/* end fix */ + +QTabBar::tab { + background-color: transparent; + border: 1px solid transparent; + padding: 3px; +} + +QTabBar::tab:top, +QTabBar::tab:bottom { + border-top-width: 4px; /* same as selected tab colored border in order to center close-button */ + border-bottom-width: 4px; /* same as selected tab colored border in order to center close-button */ + min-width: 11ex; + margin-left: 2px; + margin-right: 2px; +} + +QTabBar::tab:left, +QTabBar::tab:right { + border-left-width: 4px; /* same as selected tab colored border in order to center close-button */ + border-right-width: 4px; /* same as selected tab colored border in order to center close-button */ + min-height: 14ex; + margin-top: 2px; + margin-bottom: 2px; +} + +QTabBar::tab:selected { + background-color: transparent; /* temporal (transparent background) */ + border-color: #d2d2d2; +} + +QTabBar::tab:top:selected { + border-top: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); /* selection color */ + border-bottom-color: #f5f5f5; /* same as tab content background color */ +} + +QTabBar::tab:bottom:selected { + border-bottom: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); /* selection color */ + border-top-color: #f5f5f5; /* same as tab content background color */ +} + +QTabBar::tab:right:selected { + border-left: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #5e90fa, stop:1 #3874f2); /* selection color */ + border-right-color: #f5f5f5; /* same as tab content background color */ +} + +QTabBar::tab:left:selected { + border-right: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #5e90fa, stop:1 #3874f2); /* selection color */ + border-left-color: #f5f5f5; /* same as tab content background color */ +} + +QTabBar::tab:!selected { + color: rgba(0,0,0,160); +} + +QTabBar::tab:!selected:hover { + color: rgba(0,0,0,220); + background-color: rgba(0,0,0,20); +} + +QTabBar::tab:first:selected { + margin-left: 0; /* the first selected tab has nothing to overlap with on the left */ +} + +QTabBar::tab:last:selected { + margin-right: 0; /* the last selected tab has nothing to overlap with on the right */ +} + +QTabBar::tab:only-one { + margin: 0; /* if there is only one tab, we don't want overlapping margins */ +} + +/* hack to access Preference TabBar background */ +QDialog#Gui__Dialog__DlgPreferences > QFrame QFrame { + background-color: transparent; /* main background color (in Windows is #f5f5f5) */ +} + +/* fix for previous hack that broke QTabWidget background on Windows */ +QDialog#Gui__Dialog__DlgPreferences QTabWidget::pane { + background-color: transparent; /* temporal (transparent background) */ +} + +/* hack to correctly align Preferences icon list on OSX */ +QDialog#Gui__Dialog__DlgPreferences > QListView { + min-width: 130px; +} + +/* unique styles for sections inside Preferences */ +QDialog#Gui__Dialog__DlgPreferences > QListView::item { + border-radius: 4px; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { + background-color: #cbd8e6; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { + color: #1b3774; + background-color: #cbd8e6; + border: 1px solid #7cabf9; +} + + +/*================================================================================================== +Tab bar buttons +==================================================================================================*/ +/* Close button */ +QTabBar::close-button { + subcontrol-origin: margin; + subcontrol-position: center right; /* only works for QT 4.6 and newer */; + border-radius: 2px; + background-image: url(qss:images/close_dark.png); + background-position: center center; + background-repeat: none; +} + +QTabBar::close-button:hover { + background-color: rgba(0,0,0,20); +} + +QTabBar::close-button:pressed { + background-color: rgba(0,0,0,30); +} + +/* Fix for lists inside Model tab */ +QDockWidget QTreeView, +QDockWidget QListView, +QDockWidget QTableView { + margin: 6px; + border: 1px solid #c3c3c3; /* same as regular QTreeView, QListView and QTableView */ + min-height: 40px; /* neccesary in some areas of FreeCAD */ +} + +/* Buttons to scroll tabs if there is not space to show all of them: */ +QTabBar::scroller { + width: 20px; /* the width of the scroll buttons */ +} + +QTabBar QToolButton, +QTabBar QToolButton:hover { + background-color: #f5f5f5; /* same as main background color */ +} + +QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images/right_arrow_dark.png); +} + +QTabBar QToolButton::right-arrow:disabled, +QTabBar QToolButton::right-arrow:off { + image: url(qss:images/right_arrow_disabled_dark.png); +} + +QTabBar QToolButton::right-arrow:hover { + image: url(qss:images/right_arrow_darker.png); +} + + QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images/left_arrow_dark.png); +} + + QTabBar QToolButton::left-arrow:disabled, + QTabBar QToolButton::left-arrow:off { + image: url(qss:images/left_arrow_disabled_dark.png); +} + + QTabBar QToolButton::left-arrow:hover { + image: url(qss:images/left_arrow_darker.png); +} + + QTabBar QToolButton::up-arrow:enabled { + image: url(qss:images/up_arrow_dark.png); +} + + QTabBar QToolButton::up-arrow:disabled, + QTabBar QToolButton::up-arrow:off { + image: url(qss:images/up_arrow_disabled_dark.png); +} + + QTabBar QToolButton::up-arrow:hover { + image: url(qss:images/up_arrow_darker.png); +} + + QTabBar QToolButton::down-arrow:enabled { + image: url(qss:images/down_arrow_dark.png); +} + + QTabBar QToolButton::down-arrow:disabled, + QTabBar QToolButton::down-arrow:off { + image: url(qss:images/down_arrow_disabled_dark.png); +} + + QTabBar QToolButton::down-arrow:hover { + image: url(qss:images/down_arrow_darker.png); +} + +QTabBar::tear { + /* default OS tear better */ +} + + +/*================================================================================================== +Tree and list views +==================================================================================================*/ +QTreeView, +QListView, +QTableView { + background-color: #f0f0f0; + alternate-background-color: #e6e6e6; /* related with QListView background */ + border: 1px solid #c3c3c3; + selection-color: white; + selection-background-color: #5e90fa; /* should be similar to QListView::item selected background-color */ + show-decoration-selected: 1; /* make the selection span the entire width of the view */ + border-radius: 3px; +} + +QListView::item:selected, +QTreeView::item:selected { + color: white; /* should be similar to QListView selection-color */ + background-color: #5e90fa; /* should be similar to QListView selection-background-color */ + show-decoration-selected: 1; /* make the selection span the entire width of the view */ +} + +/* Property Editor QTreeView (FreeCAD custom widget) */ +Gui--PropertyEditor--PropertyEditor { + gridline-color: #d2d2d2; /* same as Group header background */ +} + +/* fix for column items background when a link is present */ +Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { + background-color: #cbd8e6; /* same as focused background color */ +} + +/* hack to hide weird redundant information inside the value of a Placement cell */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 0px; + margin: 0px; + padding: 0px; +} + +/* hack to hide non editable cells inside Property values */ +Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, +Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { + color: transparent; + border-color: transparent; + background-color: transparent; + selection-color: transparent; + selection-background-color: transparent; +} + +/* hack to disable margin inside Property values to following elements */ +Gui--PropertyEditor--PropertyEditor QSpinBox, +Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, +Gui--PropertyEditor--PropertyEditor QLineEdit, +Gui--PropertyEditor--PropertyEditor QComboBox { + margin-left: 0px; + margin-right: 0px; + padding-top: 0px; + padding-bottom: 0px; +} + +/* set border-radius to 0px inside list views */ +QTreeView > QWidget > QComboBox, +QTreeView > QWidget > QAbstractSpinBox, +QTreeView > QWidget > QSpinBox, +QTreeView > QWidget > QDoubleSpinBox, +QTreeView > QWidget > QLineEdit, +QTreeView > QWidget > QTextEdit, +QTreeView > QWidget > QTimeEdit, +QTreeView > QWidget > QDateEdit, +QTreeView > QWidget > QDateTimeEdit, +QTreeView > QWidget > QComboBox:drop-down, +QTreeView > QWidget > QAbstractSpinBox:up-button, +QTreeView > QWidget > QSpinBox:up-button, +QTreeView > QWidget > QDoubleSpinBox:up-button, +QTreeView > QWidget > QTimeEdit:up-button, +QTreeView > QWidget > QDateEdit:up-button, +QTreeView > QWidget > QDateTimeEdit:up-button, +QTreeView > QWidget > QAbstractSpinBox:down-button, +QTreeView > QWidget > QSpinBox:down-button, +QTreeView > QWidget > QDoubleSpinBox:down-button, +QTreeView > QWidget > QTimeEdit:down-button, +QTreeView > QWidget > QDateEdit:down-button, +QTreeView > QWidget > QDateTimeEdit:down-button, +QTreeView > QWidget > Gui--ColorButton { + border-radius: 0px; +} + +/* set focus colors to best viewing the editable fields */ +QTreeView > QWidget > QComboBox:focus, +QTreeView > QWidget > QAbstractSpinBox:focus, +QTreeView > QWidget > QSpinBox:focus, +QTreeView > QWidget > QDoubleSpinBox:focus, +QTreeView > QWidget > QLineEdit:focus, +QTreeView > QWidget > QTextEdit:focus, +QTreeView > QWidget > QTimeEdit:focus, +QTreeView > QWidget > QDateEdit:focus, +QTreeView > QWidget > QDateTimeEdit:focus { + border-color: #cbd8e6; /* same as focused background color */ + border-bottom-color: #7cabf9; /* same as focused border color */ +} + +QTreeView > QWidget > QAbstractSpinBox:read-only, +QTreeView > QWidget > QSpinBox:read-only, +QTreeView > QWidget > QDoubleSpinBox:read-only, +QTreeView > QWidget > QLineEdit:read-only, +QTreeView > QWidget > QTextEdit:read-only, +QTreeView > QWidget > QTimeEdit:read-only, +QTreeView > QWidget > QDateEdit:read-only, +QTreeView > QWidget > QDateTimeEdit:read-only { + color: transparent; + background-color: transparent; + border-color: transparent; +} + +/* Fix to correctly (not totally) draw QTextEdit on OSX at Page properties: "Page result", "Template" and "Editable Texts" */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget { + min-height: 14px; +} + + +/*================================================================================================== +Header of tree and list views +==================================================================================================*/ +QHeaderView { + background-color: #c3c3c3; + border-top-left-radius: 2px; /* 1px less than its container */ + border-top-right-radius: 2px; /* 1px less than its container */ + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; +} + +QHeaderView::section { + border:none; + padding: 4px 6px; + background-color: #c3c3c3; +} + +QHeaderView::section:horizontal { + padding: 4px 6px; /* left and right value similar to QHeaderView::section */ + border-right: 1px solid rgba(0,0,0,30); +} + +QHeaderView::section:vertical { + border-bottom: 1px solid rgba(0,0,0,30); +} + +QTableCornerButton::section { + background-color: #c3c3c3; + border-top: none; + border-left: none; + border-right: 1px solid rgba(0,0,0,30); + border-bottom: 1px solid rgba(0,0,0,30); +} + +QHeaderView::section:last { + border-right: none; +} + +QHeaderView::up-arrow { + image: url(qss:images/up_arrow_dark.png); +} + +QHeaderView::up-arrow:hover { + image: url(qss:images/up_arrow_darker.png); +} + +QHeaderView::down-arrow { + image: url(qss:images/down_arrow_dark.png); +} + +QHeaderView::down-arrow:hover { + image: url(qss:images/down_arrow_darker.png); +} + +/* Group header inside Property Editor (FreeCAD custom widget) */ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: #828282; /* same as main background color */ + qproperty-groupBackground: #d2d2d2; /* same as item gridlines */ +} + + +/*================================================================================================== +Branch system for QTreeViews +==================================================================================================*/ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images/branch_vline.png) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images/branch_more.png) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images/branch_end.png) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + image: url(qss:images/branch_closed_dark.png); +} + +QTreeView::branch:has-children:!has-siblings:closed { + image: url(qss:images/branch_closed_dark.png); + border-image: url(qss:images/branch_end.png) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + image: url(qss:images/branch_open_dark.png); + border-image: url(qss:images/branch_more.png) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + image: url(qss:images/branch_open_dark.png); + border-image: url(qss:images/branch_end.png) 0; +} + + +/*================================================================================================== +Splitter and windows separator +==================================================================================================*/ +QSplitter::handle { + margin: 0px 11px; + padding: 0px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images/splitter_horizontal_dark.png); + background-position: center center; + background-repeat: none; + margin: 2px 4px 2px 4px; + height: 2px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images/splitter_vertical_dark.png); + background-position: center center; + background-repeat: none; + margin: 4px 2px 4px 2px; + width: 2px; +} + +/* Similar to the splitter is the following window separator: */ +QMainWindow::separator { + background-position: center center; + background-repeat: none; +} + +QMainWindow::separator:horizontal { + height: 2px; + background-image: url(qss:images/splitter_horizontal_dark.png); + margin: 4px 2px 4px 2px; +} + +QMainWindow::separator:vertical { + width: 2px; + background-image: url(qss:images/splitter_vertical_dark.png); + margin: 2px 4px 2px 4px; +} + + +/*================================================================================================== +Tasks panel (custom FreeCAD class) +==================================================================================================*/ +/* Action group */ +QFrame[class="panel"] { + background-color: transparent; /* temporal (transparent background) */ +} + +/* Separator line */ +QSint--ActionGroup QFrame[height="1"], +QSint--ActionGroup QFrame[height="2"], +QSint--ActionGroup QFrame[height="3"], +QSint--ActionGroup QFrame[width="1"], +QSint--ActionGroup QFrame[width="2"], +QSint--ActionGroup QFrame[width="3"] { + border-color: rgba(0,0,0,60); +} + +/* Panel header */ +QSint--ActionGroup QFrame[class="header"] { + border: none; + background-color: #b6b6b6; /* Task Panel Header background color */ + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + margin: 0px; + padding: 0px; +} + +QSint--ActionGroup QFrame[class="header"]:hover { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); +} + +QSint--ActionGroup QToolButton[class="header"] { + color: white; /* Task Panel Header text color */ + text-align: left; + font-weight: bold; + border: none; + margin: 0px; + padding: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel { + background-color: transparent; + background-image: url(qss:images/down_arrow_light.png); + background-repeat: none; + background-position: center center; + padding: 0px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel:hover { + background-color: transparent; + background-image: url(qss:images/down_arrow_lighter.png); +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { + background-color: transparent; + background-image: url(qss:images/up_arrow_light.png); + background-repeat: none; + background-position: center center; + padding: 0px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { + background-color: transparent; + background-image: url(qss:images/up_arrow_lighter.png); +} + +QSint--ActionGroup QFrame[class="content"] { + background-color: #e6e6e6; /* Task Panel background color */ + margin: 0px; + padding: 0px; + border: none; + border-top-left-radius: 0px; + border-top-right-radius: 0px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; +} + +QSint--ActionGroup QFrame[class="content"] > QWidget { + background-color: #e6e6e6; /* Task Panel background color */ +} + +/* Fixs for tabs inside Task Panel */ +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { + border-bottom-color: #e6e6e6; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { + border-top-color: #e6e6e6; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { + border-right-color: #e6e6e6; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { + border-left-color: #e6e6e6; /* same as Task Panel background color */ +} + + +/*================================================================================================== +Buttons +==================================================================================================*/ +/* Common */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QLineEdit, +QTextEdit, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + color: #6e6e6e; + background-color: #e0e0e0; + selection-color: white; + selection-background-color: #5e90fa; + border: 1px solid #e0e0e0; + border-radius: 3px; + min-width: 50px; /* it ensures the default value is correctly displayed */ + padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ +} + +/* shifts text/number editable field to the left to make space for the up/down or drop-down buttons */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + padding-right: 20px; +} + +/* when QTextEdit are no editable */ +QTextEdit:!editable { + background-color: #f0f0f0; + border: 1px solid #c3c3c3; +} + +QComboBox:focus, +QAbstractSpinBox:focus, +QSpinBox:focus, +QDoubleSpinBox:focus, +QLineEdit:focus, +QTextEdit:focus, +QTimeEdit:focus, +QDateEdit:focus, +QDateTimeEdit:focus { + color: black; + border-color: #7cabf9; + border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #7cabf9); /* same as up/down or drop-down button color */ + background-color: #cbd8e6; +} + +QComboBox:disabled, +QAbstractSpinBox:disabled, +QSpinBox:disabled, +QDoubleSpinBox:disabled, +QLineEdit:disabled, +QTextEdit:disabled, +QTimeEdit:disabled, +QDateEdit:disabled, +QDateTimeEdit:disabled { + color: #c3c3c3; + background-color: #e0e0e0; /* same as enabled color */ + border-color: #e0e0e0; /* same as enabled color */ +} + +QAbstractSpinBox:up-button, +QSpinBox:up-button, +QDoubleSpinBox:up-button, +QTimeEdit:up-button, +QDateEdit:up-button, +QDateTimeEdit:up-button, +QAbstractSpinBox:down-button, +QSpinBox:down-button, +QDoubleSpinBox:down-button, +QTimeEdit:down-button, +QDateEdit:down-button, +QDateTimeEdit:down-button { + background-color: #d2d2d2; + subcontrol-origin: border; /* important */ + width: 20px; /* same as QComboBox ... QDateTimeEdit padding-right */ +} + +QAbstractSpinBox:up-button, +QSpinBox:up-button, +QDoubleSpinBox:up-button, +QTimeEdit:up-button, +QDateEdit:up-button, +QDateTimeEdit:up-button { + subcontrol-position: top right; + border-top-right-radius: 3px; + height: 12px; /* fix for Ubuntu that doesn't divide the up/down button into the exact middle */ +} + +QAbstractSpinBox:down-button, +QSpinBox:down-button, +QDoubleSpinBox:down-button, +QTimeEdit:down-button, +QDateEdit:down-button, +QDateTimeEdit:down-button { + subcontrol-position: bottom right; + border-bottom-right-radius: 3px; +} + +QAbstractSpinBox:up-button:focus, +QSpinBox:up-button:focus, +QDoubleSpinBox:up-button:focus, +QTimeEdit:up-button:focus, +QDateEdit:up-button:focus, +QDateTimeEdit:up-button:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #6f9efa, stop:1 #7cabf9); +} + +QAbstractSpinBox:down-button:focus, +QSpinBox:down-button:focus, +QDoubleSpinBox:down-button:focus, +QTimeEdit:down-button:focus, +QDateEdit:down-button:focus, +QDateTimeEdit:down-button:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #6f9efa); +} + +QAbstractSpinBox:up-button:disabled, +QSpinBox:up-button:disabled, +QDoubleSpinBox:up-button:disabled, +QTimeEdit:up-button:disabled, +QDateEdit:up-button:disabled, +QDateTimeEdit:up-button:disabled, +QAbstractSpinBox:down-button:disabled, +QSpinBox:down-button:disabled, +QDoubleSpinBox:down-button:disabled, +QTimeEdit:down-button:disabled, +QDateEdit:down-button:disabled, +QDateTimeEdit:down-button:disabled { + background-color: transparent; +} + +QAbstractSpinBox::up-arrow, +QSpinBox::up-arrow, +QDoubleSpinBox::up-arrow, +QTimeEdit::up-arrow, +QDateEdit::up-arrow, +QDateTimeEdit::up-arrow { + image: url(qss:images/up_arrow_dark.png); + top: 0px; /* fix simetry between up and down images */ +} + +QAbstractSpinBox::up-arrow:focus, +QSpinBox::up-arrow:focus, +QDoubleSpinBox::up-arrow:focus, +QTimeEdit::up-arrow:focus, +QDateEdit::up-arrow:focus, +QDateTimeEdit::up-arrow:focus { + image: url(qss:images/up_arrow_lighter.png); +} + +QAbstractSpinBox::up-arrow:off, +QSpinBox::up-arrow:off, +QDoubleSpinBox::up-arrow:off, +QTimeEdit::up-arrow:off, +QDateEdit::up-arrow:off, +QDateTimeEdit::up-arrow:off { + image: url(qss:images/up_arrow_disabled_dark.png); +} + +QAbstractSpinBox::up-arrow:disabled, +QSpinBox::up-arrow:disabled, +QDoubleSpinBox::up-arrow:disabled, +QTimeEdit::up-arrow:disabled, +QDateEdit::up-arrow:disabled, +QDateTimeEdit::up-arrow:disabled { + image: url(qss:images/up_arrow_disabled_dark.png); +} + +QAbstractSpinBox::down-arrow, +QSpinBox::down-arrow, +QDoubleSpinBox::down-arrow, +QTimeEdit::down-arrow, +QDateEdit::down-arrow, +QDateTimeEdit::down-arrow { + image: url(qss:images/down_arrow_dark.png); + bottom: 0px; /* fix simetry between up and down images */ +} + +QAbstractSpinBox::down-arrow:focus, +QSpinBox::down-arrow:focus, +QDoubleSpinBox::down-arrow:focus, +QTimeEdit::down-arrow:focus, +QDateEdit::down-arrow:focus, +QDateTimeEdit::down-arrow:focus { + image: url(qss:images/down_arrow_lighter.png); +} + +QAbstractSpinBox::down-arrow:off, +QSpinBox::down-arrow:off, +QDoubleSpinBox::down-arrow:off, +QTimeEdit::down-arrow:off, +QDateEdit::down-arrow:off, +QDateTimeEdit::down-arrow:off { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +QAbstractSpinBox::down-arrow:disabled, +QSpinBox::down-arrow:disabled, +QDoubleSpinBox::down-arrow:disabled, +QTimeEdit::down-arrow:disabled, +QDateEdit::down-arrow:disabled, +QDateTimeEdit::down-arrow:disabled { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +/* ComboBox */ +QComboBox::drop-down { + background-color: #d2d2d2; + subcontrol-origin: border; /* important */ + subcontrol-position: top right; + width: 20px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +QComboBox::drop-down:on, +QComboBox::drop-down:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #7cabf9); +} + +QComboBox::down-arrow { + image: url(qss:images/down_arrow_dark.png); +} + +QComboBox::down-arrow:on, +QComboBox::down-arrow:focus { + image: url(qss:images/down_arrow_lighter.png); +} + +QComboBox::down-arrow:off, +QComboBox::down-arrow:disabled { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +/* ComboBox menu */ +QComboBox { + selection-color: white; + selection-background-color: #5e90fa; +} + +QComboBox QAbstractItemView { + color: #6e6e6e; /* same as regular QComboBox color */ + background-color: transparent; + selection-color: white; + selection-background-color: #5e90fa; + border-width: 5px 0px 5px 0px; + border-style: solid; + border-color: transparent; + margin: 0px -1px 0px 0px; /* temporal: hack for Mac... try it on Windows and Linux */ +} + + +/*================================================================================================== +Push button +==================================================================================================*/ +QPushButton { + color: #6e6e6e; + text-align: center; + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #f5f5f5, stop:1 #e6e6e6); + border: 1px solid #d2d2d2; + border-bottom-color: #c3c3c3; /* simulates shadow under the button */ + padding: 4px 22px; + margin: 4px 4px; + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 4px; +} + +QPushButton:hover, +QPushButton:focus { + color: white; + border-color: #3874f2; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); +} + +QPushButton:disabled, +QPushButton:disabled:checked { + color: #b6b6b6; + border-color: #e6e6e6; + background-color: #e6e6e6; +} + +QPushButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #3874f2, stop:1 #5e90fa); +} + +QPushButton:checked { + background-color: #5e90fa; + border-color: #3874f2; +} + +/* Color Buttons */ +Gui--ColorButton, +Gui--ColorButton:disabled { + padding: 0px; /* reset */ + margin: 0px; /* reset */ +} + +Gui--ColorButton { + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #f5f5f5, stop:1 #e6e6e6); + border: 1px solid #d2d2d2; + border-bottom-color: #c3c3c3; /* simulates shadow under the button */ +} + +Gui--ColorButton:disabled { + border-color: transparent; + background-color: rgba(0,0,0,10); +} + +Gui--ColorButton:hover, +Gui--ColorButton:focus { + border-color: #3874f2; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); +} + +Gui--ColorButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #3874f2, stop:1 #5e90fa); +} + +/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QPushButton { + background-color: #b6b6b6; + border: 1px solid #828282; + min-width: 16px; /* reset it due to larger value on regular QPushButton, same or bigger value as regular QPushButton min-height */ + border-radius: 0px; + margin: 0px; /* reset */ + padding: 0px; /* reset */ +} + +/* Fix for Expressions description QFrame that is "broken" with initial reset */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget > QWidget > QFrame { + background-color: #f5f5f5; /* main background color */ + border: 1px solid #dcdcdc; + border-radius: 2px; + padding: 2px 6px; +} + + +/*================================================================================================== +Tool button inside QDialogs that works as QPushButtons +==================================================================================================*/ +/* found under Tools -> Customize -> Macros -> Pixmap "..." button */ +QDialog QToolButton { + color: #6e6e6e; + text-align: center; + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #f5f5f5, stop:1 #e6e6e6); + border: 1px solid #d2d2d2; + border-bottom-color: #c3c3c3; /* simulates shadow under the button */ + padding: 0px; /* different than regular QPushButton */ + margin: 2px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 4px; +} + +QDialog QToolButton:hover, +QDialog QToolButton:focus { + color: white; + border-color: #3874f2; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); +} + +QDialog QToolButton:disabled, +QDialog QToolButton:disabled:checked { + color: #b6b6b6; + border-color: #e6e6e6; + background-color: #e6e6e6; +} + +QDialog QToolButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #3874f2, stop:1 #5e90fa); +} + +QPushButton:checked { + background-color: #5e90fa; + border-color: #3874f2; +} + + +/*================================================================================================== +Radio button +==================================================================================================*/ +QRadioButton::indicator:unchecked{ + color: #505050; + background-color: rgba(0, 0, 0, 20); + border: 1px solid #505050; +} + +QRadioButton::indicator:checked { + background-color: #5e90fa; /* QCheckBox has the same color */ + border: 1px solid #3874f2; /* QCheckBox has the same color */ + image:url(qss:images/radiobutton_light.png); +} + +QRadioButton, +QRadioButton:disabled { + color: #505050; + padding: 3px; + outline: none; + background-color: transparent; +} + +QRadioButton::indicator { + width: 11px; + height: 11px; + border-radius: 6px; +} + +QRadioButton::indicator:pressed { + border-color: #adc5ed; +} + +QRadioButton::indicator:disabled { + border: 1px solid #6e6e6e; +} + +QRadioButton::indicator:disabled { + color: #6e6e6e; + background-color: transparent; +} + +QRadioButton:focus { + border: none; +} + + +/*================================================================================================== +Checkbox +==================================================================================================*/ +QCheckBox, +QCheckBox:disabled { + color: #505050; + padding: 3px; + outline: none; + background-color: transparent; +} + +QCheckBox::indicator { + color: #c8c8c8; + background-color: rgba(0,0,0,20); + border: 1px solid #505050; +} + +QCheckBox::indicator { + width: 11px; + height: 11px; + border-radius:2px; +} + +QCheckBox::indicator:pressed, +QCheckBox::indicator:non-exclusive:checked:pressed, +QCheckBox::indicator:indeterminate:pressed, +QCheckBox::indicator:checked:pressed { + border-color: #adc5ed; +} + +QCheckBox::indicator:checked { + background-color: #5e90fa; /* QRadioButton has the same color */ + border: 1px solid #3874f2; /* QRadioButton has the same color */ + image:url(qss:images/checkbox_light.png); +} + +QCheckBox:disabled { + color: rgba(0,0,0,40); + background-color: transparent; +} + +QCheckBox::indicator:disabled { + background-color: rgba(0,0,0,20); + border: 1px solid rgba(0,0,0,20); +} + +QCheckBox::indicator:indeterminate { + background-color: #5e90fa; + border: 1px solid #3874f2; + image: url(qss:images/checkbox_indeterminate_light.png); +} + +QCheckBox:focus { + border: none; +} + + +/*================================================================================================== +Slider +==================================================================================================*/ +QSlider, +QSlider:active, +QSlider:!active { + border: none; + background-color: transparent; +} + +QSlider:horizontal { + padding: 0px 10px; +} + +QSlider:vertical { + padding: 10px 0px; +} + +QSlider::groove { + background-color: rgba(0,0,0,30); + border: 1px solid rgba(0,0,0,40); + border-radius: 5px; + margin: 4px 0px; +} + +QSlider::groove:horizontal { + height: 8px; +} + +QSlider::groove:vertical { + width: 8px; +} + +QSlider::groove:horizontal:disabled, +QSlider::groove:vertical:disabled { + border-color: #dcdcdc; + background-color: #dcdcdc; +} + +QSlider::handle:horizontal, +QSlider::handle:vertical { + background-color: #b6b6b6; + border: 1px solid #b6b6b6; + width: 14px; + height: 14px; + border-radius: 8px; +} + +QSlider::handle:horizontal { + margin: -4px 0; +} + +QSlider::handle:vertical { + margin: 0 -4px; +} + +QSlider::handle:horizontal:hover, +QSlider::handle:vertical:hover, +QSlider::handle:horizontal:pressed, +QSlider::handle:vertical:pressed { + border-color: #5e90fa; + background-color: #5e90fa; +} + +QSlider::handle:horizontal:disabled, +QSlider::handle:vertical:disabled { + border-color: #dcdcdc; + background-color: #dcdcdc; +} + + +/*================================================================================================== +Toolbar buttons +==================================================================================================*/ +QToolBar > QToolButton { + margin: 2px; + padding: 2px; +} + +QToolBar > QPushButton, +/*QToolBar > QComboBox, disabled because creates different margins for body and drop-down button */ +QToolBar > QAbstractSpinBox, +QToolBar > QSpinBox, +QToolBar > QDoubleSpinBox, +QToolBar > QLineEdit, +QToolBar > QTextEdit, +QToolBar > QTimeEdit, +QToolBar > QDateEdit, +QToolBar > QDateTimeEdit { + margin: 2px; + padding: 2px; +} + +QToolBar > QPushButton { + border-radius: 4px; /* same as regular QPushButton */ + min-width: 20px; /* reset it due to larger value on regular QPushButton, same or bigger value as regular QPushButton min-height */ +} + +QToolBar > QPushButton:checked { + border: 1px solid #3874f2; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); +} + +QToolBar > QPushButton:!checked { + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #f5f5f5, stop:1 #e6e6e6); + border: 1px solid #d2d2d2; + border-bottom-color: #c3c3c3; /* simulates shadow under the button */ +} + +QToolBar > QPushButton:checked:hover { + border-color: #2053c0; +} + +QToolBar > QPushButton:!checked:hover { + color: black; + border-color: #b6b6b6; +} + +QToolBar > QPushButton:checked:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #3874f2, stop:1 #5e90fa); +} + +QToolBar > QPushButton:!checked:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #b6b6b6, stop:1 #e6e6e6); +} + +QToolBar > QPushButton:checked:disabled, +QToolBar > QPushButton:!checked:disabled { + border: none; + background-color: transparent; +} + +/* ToolBar menu buttons (buttons with drop-down menu) */ +QToolBar > QToolButton#qt_toolbutton_menubutton { + padding-right: 20px; /* Hack to add more width to buttons with menu */ + border: 1px solid transparent; + border-radius: 3px; +} + +QToolBar > QToolButton#qt_toolbutton_menubutton:hover, +QToolBar > QToolButton#qt_toolbutton_menubutton:pressed, +QToolBar > QToolButton#qt_toolbutton_menubutton:open { + border: 1px solid #7cabf9; +} + +QToolBar QToolButton::menu-button, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button { + border: none; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + width: 16px; /* 16px width + 4px for border = 20px allocated above */ + outline: none; + background-color: transparent; +} + +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:hover, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:pressed, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:open { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #5e90fa, stop:1 #7cabf9); +} + +QToolBar > QToolButton::menu-arrow { + background-image: url(qss:images/down_arrow_dark.png); + background-position: center center; + background-repeat: none; + subcontrol-origin: padding; + subcontrol-position: bottom right; + height: 10px; /* same as arrow image */ +} + +QToolBar > QToolButton::menu-arrow:hover { + background-image: url(qss:images/down_arrow_lighter.png); +} + +QToolBar > QToolButton::menu-arrow:open { + background-image: url(qss:images/down_arrow_lighter.png); +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" */ +QToolBar QToolButton#qt_toolbar_ext_button { + margin: 0px; + padding: 0px; + /*background-image: url(qss:images/more_dark.png);*/ + image: transparent; + background-repeat: none; + background-position: center left; +} + +QToolBar QToolButton#qt_toolbar_ext_button:hover { + /*background-image: url(qss:images/more_light.png);*/ + border-color: #e0e0e0; + background-color: #e0e0e0; +} + +QToolBar QToolButton#qt_toolbar_ext_button:on { + /*background-image: url(qss:images/more_light.png);*/ + border-color: #e0e0e0; + background-color: #e0e0e0; +} + + +/*================================================================================================== +Tables (spreadsheets) +==================================================================================================*/ +QTableView { + gridline-color: #d2d2d2; + selection-color: #1b3774; + selection-background-color: #cbd8e6; +} + +QTableView::item:hover { + background-color: rgba(0,0,0,10); /* temporal: is it displayed in Linux or Windows? on OSX it isn't */ +} + +QTableView::item:disabled { + color: #e6e6e6; +} + +QTableView::item:selected { + color: #1b3774; + border-color: #cbd8e6; /* same as focused background color */ + border-bottom-color: #7cabf9; /* same as focused border color */ +} + +/* fix for elements inside the cells */ +QTableView QComboBox, +QTableView QAbstractSpinBox, +QTableView QSpinBox, +QTableView QDoubleSpinBox, +QTableView QLineEdit, +QTableView QTextEdit, +QTableView QTimeEdit, +QTableView QDateEdit, +QTableView QDateTimeEdit, +QTableView QComboBox:drop-down, +QTableView QAbstractSpinBox:up-button, +QTableView QSpinBox:up-button, +QTableView QDoubleSpinBox:up-button, +QTableView QTimeEdit:up-button, +QTableView QDateEdit:up-button, +QTableView QDateTimeEdit:up-button, +QTableView QAbstractSpinBox:down-button, +QTableView QSpinBox:down-button, +QTableView QDoubleSpinBox:down-button, +QTableView QTimeEdit:down-button, +QTableView QDateEdit:down-button, +QTableView QDateTimeEdit:down-button, +QTableView Gui--ColorButton { + border-radius: 0px; +} + +QTableView QComboBox, +QTableView QAbstractSpinBox, +QTableView QSpinBox, +QTableView QDoubleSpinBox, +QTableView QLineEdit, +QTableView QTextEdit, +QTableView QTimeEdit, +QTableView QDateEdit, +QTableView QDateTimeEdit { + color: black; + background-color: transparent; + border-color: transparent; +} + +QTableView QComboBox:drop-down, +QTableView QAbstractSpinBox:up-button, +QTableView QSpinBox:up-button, +QTableView QDoubleSpinBox:up-button, +QTableView QTimeEdit:up-button, +QTableView QDateEdit:up-button, +QTableView QDateTimeEdit:up-button, +QTableView QAbstractSpinBox:down-button, +QTableView QSpinBox:down-button, +QTableView QDoubleSpinBox:down-button, +QTableView QTimeEdit:down-button, +QTableView QDateEdit:down-button, +QTableView QDateTimeEdit:down-button, +QTableView Gui--ColorButton { + background-color: rgba(0,0,0,30); +} + +QTableView QComboBox:focus, +QTableView QAbstractSpinBox:focus, +QTableView QSpinBox:focus, +QTableView QDoubleSpinBox:focus, +QTableView QLineEdit:focus, +QTableView QTextEdit:focus, +QTableView QTimeEdit:focus, +QTableView QDateEdit:focus, +QTableView QDateTimeEdit:focus { + color: #1b3774; + selection-color: white; + selection-background-color: #5e90fa; + border-color: #cbd8e6; + background-color: #cbd8e6; +} + +QTableView QComboBox:disabled, +QTableView QAbstractSpinBox:disabled, +QTableView QSpinBox:disabled, +QTableView QDoubleSpinBox:disabled, +QTableView QLineEdit:disabled, +QTableView QTextEdit:disabled, +QTableView QTimeEdit:disabled, +QTableView QDateEdit:disabled, +QTableView QDateTimeEdit:disabled { + color: rgba(0,0,0,120); + background-color: transparent; + border-color: transparent; +} + +QTableView QComboBox:read-only, +QTableView QAbstractSpinBox:read-only, +QTableView QSpinBox:read-only, +QTableView QDoubleSpinBox:read-only, +QTableView QLineEdit:read-only, +QTableView QTextEdit:read-only, +QTableView QTimeEdit:read-only, +QTableView QDateEdit:read-only, +QTableView QDateTimeEdit:read-only { + color: black; + background-color: transparent; + border-color: transparent; +} + + +/*================================================================================================== +EXPERIMENTAL +==================================================================================================*/ + +/* Fix for preventing elements in different rows to accidentaly overlap */ +QDialog QGroupBox QFrame { + margin: 2px 0px; +} + +*[mandatoryField="true"] { background-color: cyan } \ No newline at end of file diff --git a/light-green.qss b/light-green.qss index d2ddca2..4060d14 100644 --- a/light-green.qss +++ b/light-green.qss @@ -1,1906 +1,1876 @@ -/* -ABOUT -=========================================================== -version 1.8 -QT theme (stylesheet) specially developed for FreeCAD (http://www.freecadweb.org/). -It might work with other software that uses QT styling. - - -LICENSE -=========================================================== -Copyright (c) 2015 Pablo Gil Fernández -The stylesheet barely uses code from Colin Duquesnoy "generic QT stylesheet" - -This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. -To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. - - -INSTALLATION -=========================================================== -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -2) In order to display correctly images that are used inside the stylesheet: - 2.1) If you use FreeCAD 0.16 (development builds newer than commit 5b3d50a): that's it, you are done! - - 2.2) If you use FreeCAD 0.15: Images used in the theme need full paths to be found by FreeCAD, so you should search the string "qss:images" (without "") and replace with the real path of your computer. It should be done with all the .qss files you want to install-use - find = qss:images - replace = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images - - -CUSTOMIZATION -=========================================================== -If you would like to change the overall look/style of the theme, just find and replace following colors in the whole file: - background darker = #828282 - background dark and slightly darker = #a2a2a1 - background dark = #b6b6b6 - background normal and slightly darker = #e0e0e0 - background normal = #e6e6e6 - background light = #f5f5f5 - background lighter = #ffffff - - lists background = #d0d3cd - lists background (alternate) = #cccfc9 - lists backgrounds selection = #c8cbc4 - - foreground = black - - selection darker = #5d7619 - selection dark = #97c029 - selection normal = #b5d757 - selection inbetween normal and light = #c0dd70 (used to build SpinBoxes) - selection light = #cbe389 - selection lighter = #dfefb4 - - -CAVEATS -=========================================================== - - FreeCAD 0.15 - - full paths to images are needed, that means all these .qss files should be edited per user - - the "Task panel" is not stylable - - in app icons-buttons are designed in svg but are not stylable, that is, it's not possible to change them... I hope it also changes in the near future - - -KNOWN BUGS and TO DO -=========================================================== - - please, follow the link to get updated information: http://forum.freecadweb.org/viewtopic.php?f=10&t=12417 -*/ - -/* RESET EVERYTHING */ -QAbstractScrollArea,QCheckBox,QColumnView,QComboBox,QDateEdit,QDateTimeEdit,QDialog,QDialogButtonBox,QDockWidget,QDoubleSpinBox,QFrame,QGroupBox,QHeaderView,QLabel,QLineEdit,QListView,QListWidget,QMainWindow,QMenu,QMenuBar,QMessageBox,QProgressBar,QPushButton,QRadioButton,QScrollBar,QSizeGrip,QSlider,QSpinBox,QSplitter,QStatusBar,QTabBar,QTabWidget,QTableView,QTableWidget,QTextEdit,QTimeEdit,QToolBar,QToolButton,QToolBox,QToolTip,QTreeView,QTreeWidget,QWidget { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - background-color: #e6e6e6; /* set with default background color */ -} - -QMdiArea[showImage="true"] { - background-image: url(qss:images/background_freecad.png); - background-position: center; - background-repeat: no-repeat; -} - -QProgressBar, -QProgressBar:horizontal { - background: #d0d3cd; - border: 1px solid #b6b6b6; - text-align: center; - padding: 1px; - border-radius: 4px; -} -QProgressBar::chunk, -QProgressBar::chunk:horizontal { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); - border-radius: 3px; -} - -QToolTip { - background-color: #828282; - color: black; - padding: 4px; - border-radius: 4px; - /*opacity: 200;*/ -} - -QWidget { - color: #828282; - background-color: #e6e6e6; - background-clip: border; - border-image: none; - outline: 0; -} - -QWidget:focus { - border: 1px solid #828282; -} - -QWidget:disabled { - color: #f5f5f5; - background-color: #828282; /* same as QMenu background-color */ -} - -QMenuBar { - color: #ffffff; - background-color: #e0e0e0; -} - -QMenuBar::item { - background-color: #e0e0e0; -} - -QMenuBar::item:selected { - color: #5d7619; - border: 1px solid #b5d757; - background-color: #b5d757; -} - -QMenuBar::item:pressed { - color: #5d7619; - border: 1px solid #cbe389; - background-color: #cbe389; - margin-bottom:-1px; - padding-bottom:1px; -} - -QMenu { - color: #ffffff; - background-color: #828282; - margin: 2px; - border: 1px solid transparent; -} - -QMenu::icon { - margin: 5px; - border-style: none; -} - -QMenu::right-arrow { - image:url(qss:images/right_arrow_light.png); -} - -QMenu::item { - color: #ffffff; - background-color: #828282; - padding: 2px 30px 2px 30px; - border: 1px solid #828282; /* reserve space for selection border */ -} - -QMenu::item:selected { - color: #5d7619; - background-color: #cbe389; -} - -QMenu::separator { - height: 1px; - background-color: #b6b6b6; - margin-top: 2px; - margin-bottom: 2px; - margin-left: 6px; - margin-right: 6px; -} - -QMenu::indicator:non-exclusive { - color: #ffffff; - background-color: #f5f5f5; - border: 1px solid #828282; - width: 11px; - height: 11px; - border-radius:2px; -} - -QMenu::indicator:non-exclusive:checked { - background-color: #97c029; - border: 1px solid #5d7619; - image:url(qss:images/checkbox_light.png); -} - -QGroupBox { - color: #828282; - font-weight: bold; - border:1px solid blue; - border-radius: 4px; - margin-top: 20px; - border-color: rgba(0, 0, 0, 20); /* lighter than "QGroupBox" border-color */ - background-color: rgba(255, 255, 255, 15); -} - - - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - padding-left: 10px; - padding-right: 10px; - padding-top: 10px; - background-color: transparent; -} - -QAbstractScrollArea { - border-radius: 2px; - border: 1px solid #3A3939; - background-color: transparent; -} - -QAbstractScrollArea::corner { - border: none; - background-color: #e6e6e6; -} - -QScrollBar:horizontal { - height: 15px; - margin: 3px 15px 3px 15px; - border: 1px transparent #828282; - border-radius: 4px; - background-color: #828282; -} - -QScrollBar::handle:horizontal { - background-color: #b6b6b6; - min-width: 5px; - border-radius: 4px; -} - -QScrollBar::add-line:horizontal { - margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/right_arrow_light.png); - width: 6px; - height: 10px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/left_arrow_light.png); - height: 10px; - width: 6px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images/right_arrow_lighter.png); -} - - -QScrollBar::sub-line:horizontal:hover, -QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images/left_arrow_lighter.png); -} - -QScrollBar::up-arrow:horizontal, -QScrollBar::down-arrow:horizontal { - background: none; -} - - -QScrollBar::add-page:horizontal, -QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar:vertical { - background-color: #828282; - width: 15px; - margin: 15px 3px 15px 3px; - border: 1px transparent #828282; - border-radius: 4px; -} - -QScrollBar::handle:vertical { - background-color: #b6b6b6; - min-height: 5px; - border-radius: 4px; -} - -QScrollBar::sub-line:vertical { - margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/up_arrow_light.png); - height: 6px; - width: 10px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/down_arrow_light.png); - height: 6px; - width: 10px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, -QScrollBar::sub-line:vertical:on { - border-image: url(qss:images/up_arrow_lighter.png); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images/down_arrow_lighter.png); -} - -QScrollBar::up-arrow:vertical, -QScrollBar::down-arrow:vertical { - background: none; -} - - -QScrollBar::add-page:vertical, -QScrollBar::sub-page:vertical { - background: none; -} - -QTextEdit { - color: #828282; - background-color: #d0d3cd; - border: 1px solid #b6b6b6; - padding: 0px; - margin: 0px; -} - -QPlainTextEdit { - color: #828282; - background-color: #d0d3cd; - border-radius: 2px; - border: 1px solid #b6b6b6; - padding: 0px; - margin: 0px; -} - -QSizeGrip { - image: url(qss:images/sizegrip_light.png); - width: 16px; - height: 16px; - background-color: transparent; -} - -QRadioButton::indicator:unchecked{ - color: #828282; - background-color: #f5f5f5; - border: 1px solid #828282; -} - -QRadioButton::indicator:checked { - background-color: #97c029; - border: 1px solid #5d7619; - image:url(qss:images/radiobutton_light.png); -} - -QCheckBox, -QRadioButton, -QCheckBox:disabled, -QRadioButton:disabled { - color: #828282; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: #ffffff; - background-color: #f5f5f5; - border: 1px solid #828282; -} - -QCheckBox::indicator { - width: 11px; - height: 11px; - border-radius:2px; -} - -QRadioButton::indicator { - width: 11px; - height: 11px; - border-radius: 6px; -} - -QRadioButton::indicator:pressed, -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed { - border-color: #dfefb4; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #97c029; - border: 1px solid #5d7619; - image:url(qss:images/checkbox_light.png); -} - -QCheckBox::indicator:disabled, -QRadioButton::indicator:disabled { - border: 1px solid #b6b6b6; -} - -QCheckBox:disabled, -QRadioButton::indicator:disabled { - color: #b6b6b6; - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled, -QMenu::indicator:non-exclusive:disabled { - background-color: #e6e6e6; -} - -QCheckBox::indicator:indeterminate { - background-color: #97c029; - border: 1px solid #5d7619; - image: url(qss:images/checkbox_indeterminate_light.png); -} - -QCheckBox:focus, -QRadioButton:focus { - border: none; -} - -QFrame, -QFrame:pressed, -QFrame:focus, -QFrame:on { - border: 1px solid #e6e6e6; - border-radius: 3px; - padding: 0px; - /* background-color: transparent; temporal */ -} - -/* border and background of QComboBox drop-down */ -QComboBox QFrame, -QComboBox QFrame:pressed, -QComboBox QFrame:focus, -QComboBox QFrame:on { - border: 1px solid #828282; - background-color: #828282; - padding: 0px; - margin: 0px; -} - -QFrame[frameShape="0"] { - border-radius: 3px; -} - -/* Separator line */ -QFrame[height="1"], -QFrame[height="2"], -QFrame[height="3"], -QFrame[width="1"], -QFrame[width="2"], -QFrame[width="3"] { - border-width: 1px 0px 0px 0px; - border-style: solid; - border-color: #e0e0e0; - background-color: transparent; -} - -QPushButton { - color: #ffffff; - text-align: center; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #b6b6b6, stop:1 #e6e6e6); - border: 1px solid #828282; - padding: 5px 12px 5px 12px; - margin: 4px 8px 4px 8px; - border-radius: 3px; - min-width: 14px; - min-height: 14px; -} - -QPushButton:hover, -QPushButton:focus { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); - border-color: #97c029; -} - -QPushButton:disabled, -QPushButton:disabled:checked { - color: #b6b6b6; - background-color: #e6e6e6; - border-color: #b6b6b6; -} - -QPushButton:pressed { - background-color: #97c029; -} - -QPushButton:checked { - background-color: #b5d757; - border-color: #97c029; -} - -/* Color Buttons */ -Gui--ColorButton, -Gui--ColorButton:disabled { - border-color: transparent; - background-color: transparent; - /*width: 60px;*/ - height: 24px; - padding: 0px; - margin: 0px; -} - -Gui--ColorButton:hover { - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -/* Buttons inside the toolbar */ -QToolBar QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0e0e0, stop:1 #e6e6e6); - border: 1px solid #b6b6b6; - min-width: 22px; - min-height: 22px; - margin-left: 2px; - margin-right: 2px; - margin-bottom: 3px; /*bigger margin to correctly separate buttons inside a vertical toolbar */ - margin-top: 1px; - padding: 1px; -} - -QToolBar QPushButton:hover, -QToolBar QPushButton:focus { - color: #ffffff; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0e0e0, stop:1 #e6e6e6); - border: 1px solid #828282; -} - -QToolBar QPushButton:disabled, -QToolBar QPushButton:disabled:checked { - background-color: #e6e6e6; - border-color: #e0e0e0; -} - -QToolBar QPushButton:pressed { - background-color: #b6b6b6; - border-color: #b6b6b6; -} - -QToolBar QPushButton:checked { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #b5d757, stop:1 #cbe389); - border-color: #b5d757; -} - -QToolBar QPushButton:checked:hover, -QToolBar QPushButton:checked:focus { - color: #ffffff; - border: 1px solid #97c029; -} - -QToolBar { - border: 1px transparent #393838; - background-color: #e6e6e6; - font-weight: bold; - margin: 0px; - padding: 0px; -} - -QToolBar::handle:horizontal { - background-image: url(qss:images/Hmovetoolbar_dark.png); - width: 10px; - margin: 6px 2px 6px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:vertical { - background-image: url(qss:images/Vmovetoolbar_dark.png); - height: 10px; - margin: 2px 6px 2px 6px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:horizontal { - background-image: url(qss:images/separtoolbar_dark.png); - width: 10px; - margin: 6px 2px 6px 2px; - background-position: center center; - background-repeat: repeat-y; -} - -QToolBar::separator:vertical { - background-image: url(qss:images/separtoolbar_dark.png); - height: 10px; - margin: 2px 6px 2px 6px; - background-position: center center; - background-repeat: repeat-x; -} - -QStackedWidget { - background-color: #e6e6e6; - border: 1px transparent #e6e6e6; -} - -QAbstractSpinBox { - color: #ffffff; - border: 1px solid #b6b6b6; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - background-color: #b6b6b6; - selection-color: black; - selection-background-color: #b5d757; -} - -QAbstractSpinBox:disabled { - color: #f5f5f5; - background-color: #e0e0e0; - border-color: #e0e0e0; -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #c0dd70, stop:1 #cbe389); - subcontrol-origin: border; - subcontrol-position: top right; - border-top-right-radius: 3px; - width: 20px; -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #b5d757, stop:1 #c0dd70); - subcontrol-origin: border; - subcontrol-position: bottom right; - border-bottom-right-radius: 3px; - width: 20px; -} - -QAbstractSpinBox:up-button:disabled, -QAbstractSpinBox:down-button:disabled { - background-color: transparent; -} - -QAbstractSpinBox::up-arrow { - image: url(qss:images/up_arrow_light.png); - top: 1px; /* fix simetry between up and down images */ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images/up_arrow_lighter.png); -} - -QAbstractSpinBox::up-arrow:off { - image: url(qss:images/up_arrow_disabled_dark.png); -} - -QAbstractSpinBox::up-arrow:disabled { - image: none; -} - -QAbstractSpinBox::down-arrow { - image: url(qss:images/down_arrow_light.png); - bottom: -1px; /* fix simetry between up and down images */ -} -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images/down_arrow_lighter.png); -} - -QAbstractSpinBox::down-arrow:off { - image: url(qss:images/down_arrow_disabled_dark.png); -} - -QAbstractSpinBox::down-arrow:disabled { - image: none; -} - -QToolBar QAbstractSpinBox { - margin-top: 4px; - margin-bottom: 4px; -} - -QLineEdit { - color: #ffffff; - background-color: #b6b6b6; - selection-color: black; - selection-background-color: #b5d757; - /* Padding and margin defined */ - border-style: solid; - border: 1px solid #b6b6b6; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - border-radius: 3px; -} - -QAbstractSpinBox:focus, -QLineEdit:focus, -QComboBox:focus { - border-color: #cbe389; -} - -QComboBox { - color: #ffffff; - background-color: #b6b6b6; - selection-color: black; - selection-background-color: #b5d757; - border: 1px solid #b6b6b6; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - border-radius: 3px; -} - -QComboBox:on { - color: black; - background-color: #b6b6b6; - border-color: #cbe389; -} - -QComboBox::drop-down { - subcontrol-origin: margin; - subcontrol-position: top right; - width: 20px; - border-left-width: 1px; - border-left-color: transparent; - border-left-style: solid; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #b5d757, stop:1 #cbe389); -} - -QComboBox::down-arrow { - image: url(qss:images/down_arrow_light.png); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:hover, -QComboBox::down-arrow:focus { - image: url(qss:images/down_arrow_lighter.png); -} - -QComboBox QAbstractItemView { - color: #ffffff; - background-color: #828282; - border-radius: 3px; - margin: 0px; - padding: 0px; - border: none; -} - -/* Common parameters for QAbstractSpinBox, QLineEdit and QComboBox */ -QSpinBox, -QDoubleSpinBox, -QAbstractSpinBox, -QLineEdit, -QComboBox { - border-top-color: #a2a2a1; /* Creates an inset effect inside the elements */ - padding: 2px 6px 2px 6px; /* This makes text colour work on QComboBox */ - margin: 0px 2px 0px 2px; - min-width: 70px; /* it was 120 because of QCombobox... */ - border-radius: 3px; -} -/* end Common parameters */ - -QAbstractItemView { - color: #828282; - alternate-background-color: #cccfc9; /* related with QListView background */ - border: 1px solid #828282; - border-radius: 3px; - padding: 0px; -} - -/* hack to deactivate changing background color when focus (due to QFrame generic transparent color) */ -QAbstractItemView:selected, -QAbstractItemView:on, -QAbstractItemView:focus { - background-color: #d0d3cd; /* same as QTable background color */ -} - -/* hack to hide weird redundant information inside the value of a Placement cell */ -QTreeView QLabel, -QTreeView QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QTreeView QLineEdit { - color: #ffffff; - border-color: #b6b6b6; - background-color: #b6b6b6; - selection-color: black; - selection-background-color: #b5d757; -} - -/* hack to hide non editable cells inside Property values */ -QTreeView QLineEdit:read-only, -QTreeView QLineEdit:disabled, -QTreeView QAbstractSpinBox:read-only, -QTreeView QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; -} - -/* hack to disable margin inside Property values to following elements */ -QTreeView QSpinBox, -QTreeView QDoubleSpinBox, -QTreeView QAbstractSpinBox, -QTreeView QLineEdit, -QTreeView QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; -} - -/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ -QTreeView QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #b6b6b6, stop:1 #e6e6e6); - border-top: none; - border-bottom: none; - border-right: none; - border-left: 1px solid #b6b6b6; - border-radius: 0px; - margin: 0px; - padding: 0px; - height: 24px; -} - -/* Color Buttons inside the "Properties window" */ -QAbstractItemView Gui--ColorButton { - padding: 0px; - margin: 0px; - height: 10px; -} - -QAbstractItemView QPushButton:hover { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); - border-color: #97c029; -} - -QAbstractItemView QPushButton:disabled { - color: transparent; - background-color: transparent; - border-color: transparent; -} - -QLabel { - border: 0px solid #828282; -} - -QTabWidget{ - border: none; -} - -QTabWidget:focus { - border: none; -} - -QTabWidget::pane { - border: none; - padding: 0px; - background-color: #e6e6e6; - position: absolute; - top: -15px; - padding-top: 15px; -} - -QTabWidget::tab-bar { - alignment: center; -} - -QTabBar { - qproperty-drawBase: 0; - left: 5px; - background-color: transparent; -} - -QTabBar:focus { - border: 0px transparent black; -} - -QTabBar::close-button { - padding: 0px; - margin: 0px; - border-radius: 2px; - background-image: url(qss:images/close_dark.png); - background-position: center center; - background-repeat: none; -} - -QTabBar::close-button:hover { - background-color: #cbe389; -} - -QTabBar::close-button:pressed { - background-color: #dfefb4; -} - -QTabBar::scroller { /* the width of the scroll buttons */ - width: 20px; -} - -/* the scroll buttons are tool buttons */ -QTabBar QToolButton, -QTabBar QToolButton:hover { - margin-top: 4px; - margin-bottom: 4px; - margin-left: 0px; - margin-right: 0px; - padding: 0px; - border: none; - background-color: #e6e6e6; - border-radius: 0px; -} - -QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images/right_arrow_light.png); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images/right_arrow_disabled_dark.png); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images/right_arrow_lighter.png); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images/left_arrow_light.png); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images/left_arrow_disabled_dark.png); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images/left_arrow_lighter.png); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images/up_arrow_light.png); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images/up_arrow_disabled_dark.png); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images/up_arrow_lighter.png); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images/down_arrow_light.png); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images/down_arrow_disabled_dark.png); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images/down_arrow_lighter.png); -} - -/* HORIZONTAL TABS */ -QTabBar::tab:top, -QTabBar::tab:bottom { - color: #ffffff; - border: 1px solid #b6b6b6; - border-left-color: #e6e6e6; - border-right-width: 0px; - border-bottom: 1px solid #a2a2a1; /* shadown effect */ - background-color: #b6b6b6; - padding:5px 15px; - margin-top: 4px; - margin-bottom: 4px; - position: center; -} - -QTabBar::tab:top:first, -QTabBar::tab:bottom:first { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} - -QTabBar::tab:top:last, -QTabBar::tab:bottom:last { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; - border-right-width: 1px; -} - -QTabBar::tab:top:selected, -QTabBar::tab:bottom:selected { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); - border-color: #97c029; - border-bottom: 1px solid #a2a2a1; /* shadown effect */ -} - -QTabBar::tab:top:!selected:hover, -QTabBar::tab:bottom:!selected:hover { - color: black; -} - -QTabBar::tab:top:only-one , -QTabBar::tab:bottom:only-one { - border: 1px solid #5d7619; - border-radius: 6px; -} - -/* VERTICAL TABS */ -QTabBar::tab:left, -QTabBar::tab:right { - color: #ffffff; - border: 1px solid #b6b6b6; - border-top-color: #e6e6e6; - border-bottom-width: 0px; - border-right: 1px solid #a2a2a1; /* shadown effect */ - background-color: #b6b6b6; - padding: 15px 5px; - margin-left: 4px; - margin-right: 4px; - position: center; -} - -QTabBar::tab:left:first, -QTabBar::tab:right:first { - border-top-left-radius: 6px; - border-top-right-radius: 6px; -} - -QTabBar::tab:left:last, -QTabBar::tab:right:last { - border-bottom-left-radius: 6px; - border-bottom-right-radius: 6px; - border-bottom-width: 1px; -} - -QTabBar::tab:left:selected, -QTabBar::tab:right:selected { - color: black; - background-color: qlineargradient(spread:pad, x1:0.545, y1:1, x2:0, y2:1, stop:0 #97c029, stop:1 #b5d757); - border-color: #97c029; - border-right: 1px solid #a2a2a1; /* shadown effect */ -} - -QTabBar::tab:left:!selected:hover, -QTabBar::tab:right:!selected:hover { - color: black; -} - -QTabBar::tab:left:only-one , -QTabBar::tab:right:only-one { - border: 1px solid #5d7619; - border-radius: 6px; -} - -QDockWidget { - color: #828282; - border: 1px solid #e6e6e6; - titlebar-close-icon: url(qss:images/close_dark.png); - titlebar-normal-icon: url(qss:images/undock_dark.png); -} - -QDockWidget::title { - text-align: center; - background-color: #e0e0e0; - padding: 4px; - border-radius: 4px; -} - -QDockWidget::close-button, -QDockWidget::float-button { - border: 1px transparent #e6e6e6; - border-radius: 2px; - background: transparent; - subcontrol-origin: padding; - subcontrol-position: right center; -} - -QDockWidget::close-button { - right: 4px; -} - -QDockWidget::float-button { - right: 22px; -} - -QDockWidget::close-button:hover, -QDockWidget::float-button:hover { - background: #f5f5f5; -} - -QDockWidget::close-button:pressed, -QDockWidget::float-button:pressed { - /*padding: 1px -1px -1px 1px;*/ - background-color: #e0e0e0; -} - -QTreeView, -QListView { - color: #828282; - border: 1px solid #e6e6e6; - border-radius: 4px; - background-color: #d0d3cd; /* related with alternate-background-color*/ - selection-color: black; - selection-background-color: #b5d757; /* should be similar to QListView::item selected background-color */ - show-decoration-selected: 1; /* make the selection span the entire width of the view */ - padding: 0px; - margin: 0px 4px 0px 4px; - min-width: 130px; /* hack to correctly align Preferences icon list */ -} - -QListView, -QListView::item, -QListView QAbstractItemView { - margin: 0px; - icon-size: 20px; /* temporal */ - paint-alternating-row-colors-for-empty-area: 1; - position: absolute; - subcontrol-origin: margin; - subcontrol-position: left top; -} - -/* Control dropdown list margins of QComboBox */ -QComboBox QTreeView, -QComboBox QListView { - margin: 0px; - padding: 0px; -} - -QListView::item { - border: 0px transparent #e6e6e6; - border-radius: 4px; - background-color: transparent; - padding: 0px; - margin: 0px; - display: inline-block; - position: relative; -} - -QListView::item:selected, -QTreeView::item:selected { - color: black; - background-color: #b5d757; /* should be similar to QListView selection-background-color */ -} - -/* Branch system */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images/branch_vline.png) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images/branch_more.png) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images/branch_end.png) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - image: url(qss:images/branch_closed_dark.png); -} - -QTreeView::branch:has-children:!has-siblings:closed { - image: url(qss:images/branch_closed_dark.png); - border-image: url(qss:images/branch_end.png) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - image: url(qss:images/branch_open_dark.png); - border-image: url(qss:images/branch_more.png) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - image: url(qss:images/branch_open_dark.png); - border-image: url(qss:images/branch_end.png) 0; -} - -QSlider, -QSlider:active, -QSlider:!active { - border: none; - background-color: transparent; -} - -QSlider:horizontal { - padding: 0px 10px; -} - -QSlider:vertical { - padding: 10px 0px; -} - -QSlider::groove:horizontal { - border: 1px solid #b6b6b6; - background-color: #b6b6b6; - height: 8px; - border-radius: 5px; - margin: 4px 0; -} - -QSlider::groove:vertical { - border: 1px solid #b6b6b6; - background-color: #b6b6b6; - width: 8px; - border-radius: 5px; - margin: 4px 0; -} - -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #828282; - border: 1px solid #828282; - width: 14px; - height: 14px; - border-radius: 8px; -} - -QSlider::handle:horizontal { - margin: -4px 0; -} - -QSlider::handle:vertical { - margin: 0 -4px; -} - -QSlider::handle:horizontal:hover, -QSlider::handle:vertical:hover { - border-color: #97c029; - background-color: #97c029; -} - -QSlider::handle:horizontal:pressed, -QSlider::handle:vertical:pressed { - border-color: #5d7619; - background-color: #5d7619; -} - -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #b6b6b6; - background-color: #e6e6e6; -} - -QToolButton { - color: #ffffff; - text-align: center; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #b6b6b6, stop:1 #e6e6e6); - border: 1px solid #828282; - padding-top: 5px; - padding-bottom: 5px; - padding-left: 15px; - padding-right: 15px; - margin-top: 5px; - margin-bottom: 5px; - margin-left: 10px; - margin-right: 10px; - border-radius: 3px; - outline: none; - /*min-width: 36px;*/ -} - -QToolButton:hover, -QToolButton:focus { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); - border-color: #97c029; -} - -QToolButton:disabled, -QToolButton:disabled:checked { - color: #b6b6b6; - background-color: #e6e6e6; - border-color: #b6b6b6; -} - -QToolButton:pressed { - border-color: #cbe389; -} - -QToolButton:checked { - background-color: #b5d757; - border-color: #97c029; -} - -QToolButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: center right; - right: 4px; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" */ -QToolButton#qt_toolbar_ext_button { - border-radius: 0px; - margin: 0px; - padding: 0px; - /*background-image: url(qss:images/more_dark.png);*/ - image: transparent; - background-repeat: none; - background-position: center left; -} - -QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images/more_light.png);*/ - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images/more_light.png);*/ - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -/*Buttons inside the Toolbar*/ -QToolBar QToolButton { - color: #828282; - background-color: #e6e6e6; - border: 1px transparent #e6e6e6; - border-radius: 3px; - margin: 0px; - padding: 2px; -} - -QToolBar QToolButton:disabled { - background-color: #e6e6e6; -} - -QToolBar QToolButton:checked { - color: #5d7619; - background-color: #b5d757; - border: 1px solid #b5d757; -} - -QToolBar QToolButton:hover { - background-color: #e6e6e6; -} - -QToolBar QToolButton:pressed, -QToolBar QToolButton::menu-button:pressed { - background-color: #e0e0e0; - border: 1px solid #e0e0e0; -} - - -QToolBar QToolButton::menu-indicator:hover, -QToolBar QToolButton::menu-indicator:pressed { - background-color: transparent; -} - -/* the subcontrols below are used only in the MenuButtonPopup mode */ -QToolBar QToolButton::menu-button { - border: none; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; -} - -QToolBar QToolButton::menu-button:hover, -QToolBar QToolButton::menu-button:active, -QToolBar QToolButton::menu-button:disabled { - border-color: transparent; - background-color: transparent; -} - -QToolBar QToolButton::menu-arrow { - background-image: url(qss:images/down_arrow_light.png); - background-position: center center; - background-repeat: none; - subcontrol-origin: padding; - subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ -} - -QToolBar QToolButton::menu-arrow:open { - background-image: url(qss:images/down_arrow_lighter.png); -} - -/* If the QToolButton is also a menu: */ -QToolBar QToolButton#qt_toolbutton_menubutton { - padding-right: 20px; - border: 1px solid transparent; -} - -QToolBar QToolButton#qt_toolbutton_menubutton:hover, -QToolBar QToolButton#qt_toolbutton_menubutton:pressed, -QToolBar QToolButton#qt_toolbutton_menubutton:open { - border: 1px solid #cbe389; -} - -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button { - border: none; /* necessary because it inherits the border from QToolButton#qt_toolbutton_menubutton */ -} - -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:hover, -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:pressed, -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:open { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #b5d757, stop:1 #cbe389); -} - -QToolBar:tear { - color: blue; - background-color: red; -} - -QTableView { - color: #828282; - border: 1px solid #b6b6b6; - gridline-color: #f5f5f5; - background-color: #d0d3cd; - selection-color: #828282; - selection-background-color: #dfefb4; - border-radius: 3px; - padding: 0px; - margin: 0px; -} - -QTableView::item:hover { - background: #c8cbc4; -} - -QTableView::item:disabled { - color: #e6e6e6; -} - -QTableView::item:selected { - color: #5d7619; - background-color: #cbe389; -} - -/* when editing a cell: */ -QTableView QLineEdit { - color: #828282; - background-color: #cccfc9; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QHeaderView { - border: none; - background-color: #828282; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - margin: 0px; - padding: 0px; -} - -QHeaderView::section { - background-color: transparent; - color: #ffffff; - border: 1px solid transparent; - border-radius: 0px; - text-align: center; -} - -QHeaderView::section::vertical { - padding: 0px 6px 0px 6px; - border-bottom: 1px solid #b6b6b6; -} - -QHeaderView::section::vertical:first { - border-top: 1px solid #b6b6b6; -} - -QHeaderView::section::vertical:last { - border-bottom: none; -} - -QHeaderView::section::vertical:only-one { - border: none; -} - -QHeaderView::section::horizontal { - padding: 0px 0px 0px 6px; - border-right: 1px solid #b6b6b6; -} - -QHeaderView::section::horizontal:first { - border-left: 1px solid #b6b6b6; -} - -QHeaderView::section::horizontal:last { - border-left: none; -} - -QHeaderView::section::horizontal:only-one { - border: none; -} - -QDockWidget QHeaderView::section { - border-width: 6px 1px 6px 1px; /* hack to bigger margin for Model Panel table headers */ -} - -QHeaderView::section:checked { - color: #5d7619; - background-color: #cbe389; -} - - /* style the sort indicator */ -QHeaderView::down-arrow { - image: url(qss:images/down_arrow_light.png); -} - -QHeaderView::up-arrow { - image: url(qss:images/up_arrow_light.png); -} - -QTableCornerButton::section { - background-color: #828282; - border: 1px solid #828282; - border-radius: 0px; -} - -QToolBox { - padding: 3px; - color: #5d7619; - border: none; -} - -QToolBox::tab { /* TODO */ - color: #ffffff; - background-color: #b6b6b6; - border: 1px transparent #828282; - border-bottom: 1px transparent #b6b6b6; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - padding: 5px; -} - -QToolBox::tab:selected { /* italicize selected tabs */ - color: #5d7619; - font: italic; - background-color: #b5d757; - border-color: #b5d757; - } - -QStatusBar::item { - color: #ffffff; - background-color: #e6e6e6; - border: 1px solid #e6e6e6; - border-radius: 2px; -} - - -QSplitter::handle { - background-color: #e6e6e6; - margin: 0px 11px; - padding: 0px; - border-radius: 3px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images/splitter_horizontal_dark.png); - background-position: center center; - background-repeat: none; - margin: 2px 10px 2px 10px; - height: 2px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images/splitter_horizontal_dark.png); - background-position: center center; - background-repeat: none; - margin: 10px 2px 10px 2px; - width: 2px; -} - -QSplitter::handle:horizontal:hover, -QSplitter::handle:vertical:hover { - background-color: #e6e6e6; -} - -/* Similar to the splitter is the following window separator: */ -QMainWindow::separator { - border: 1px solid #e6e6e6; - background-color: #e6e6e6; - background-position: center center; - background-repeat: none; -} - -QMainWindow::separator:hover { - background-color: #e6e6e6; -} - -QMainWindow::separator:horizontal { - height: 4px; - background-image: url(qss:images/splitter_horizontal_dark.png); -} - -QMainWindow::separator:vertical { - width: 4px; - background-image: url(qss:images/splitter_vertical_dark.png); -} - -QLabel { - padding-top: 3px; - padding-bottom: 3px; - background-color: transparent; -} - -QLabel:disabled { - color: #b6b6b6; - background-color: transparent; -} - -/* Action group */ -QFrame[class="panel"] { - border: none; - background-color: #e6e6e6; -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { - border-color: #f5f5f5; -} - -QSint--ActionGroup QFrame[class="header"] { - border: none; - background-color: #828282; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); -} - -QSint--ActionGroup QToolButton[class="header"] { - text-align: left; - font-weight: bold; - color: #ffffff; - background-color: transparent; - border: none; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QToolButton[class="header"]:hover { - color: black; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { - background-color: transparent; - background-image: url(qss:images/down_arrow_light.png); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { - background-color: transparent; - background-image: url(qss:images/down_arrow_lighter.png); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images/up_arrow_light.png); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { - background-color: transparent; - background-image: url(qss:images/up_arrow_lighter.png); -} - -QSint--ActionGroup QFrame[class="content"] { - background-color: #d0d3cd; - margin: 0px; - padding: 0px; - border: none; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} - -/* HACK -This might not be the best way to reset the background color: */ -QSint--ActionGroup QFrame[class="content"] QWidget { - background-color: #d0d3cd; -} - -QSint--ActionGroup QFrame[class="content"] QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #b6b6b6, stop:1 #e6e6e6); -} - -QSint--ActionGroup QFrame[class="content"] QPushButton:hover, -QSint--ActionGroup QFrame[class="content"] QPushButton:focus { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); -} - -QSint--ActionGroup QFrame[class="content"] QPushButton:disabled, -QSint--ActionGroup QFrame[class="content"] QPushButton:disabled:checked { - color: #d0d3cd; - border-color: #f5f5f5; - background-color: #f5f5f5; -} -QSint--ActionGroup QFrame[class="content"] QPushButton:checked { - background-color: #b5d757; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox { - background-color: #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox:on { - background-color: #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox QAbstractItemView { - border-color: #828282; - background-color: #828282; -} - -QSint--ActionGroup QFrame[class="content"] QListView { - border-color: #c8cbc4; - background-color: #c8cbc4; -} - -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox { - background-color: #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QLineEdit { - background-color: #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox:disabled, -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox:disabled, -QSint--ActionGroup QFrame[class="content"] QLineEdit:disabled { - color: #d0d3cd; - border-color: #f5f5f5; - background-color: #f5f5f5; -} - -QSint--ActionGroup QFrame[class="content"] QCheckBox:disabled, -QSint--ActionGroup QFrame[class="content"] QRadioButton:disabled { - color: #f5f5f5; - border-color: #f5f5f5; -} - -QSint--ActionGroup QFrame[class="content"] QCheckBox::indicator:disabled, -QSint--ActionGroup QFrame[class="content"] QRadioButton::indicator:disabled { - border-color: #f5f5f5; - background-color: transparent; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView { - border: none; - background-color: #828282; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section { - background-color: transparent; - color: #ffffff; - border: 1px solid transparent; - border-radius: 0px; - text-align: center; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal { - padding: 6px 0px 6px 6px; - border-right: 1px solid #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:first { - border-left: 1px solid #e6e6e6; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:last { - border-left: none; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:only-one { - border: none; -} -/* enf of HACK */ - - -QSint--ActionGroup QToolButton[class="action"], -QSint--ActionGroup QToolButton[class="action"]:enabled { - font-weight: bold; - color: #b6b6b6; -} - -QSint--ActionGroup QToolButton[class="action"]:hover, -QSint--ActionGroup QToolButton[class="action"]:enabled:hover { - text-decoration: none; - color: #828282; - background-color: #c8cbc4; - border-color: #c8cbc4; -} - -QSint--ActionGroup QToolButton[class="action"]:disabled { - color: #e6e6e6; - background-color: #c8cbc4; - border-color: #c8cbc4; -} - -QSint--ActionGroup QToolButton[class="action"]:focus, -QSint--ActionGroup QToolButton[class="action"]:pressed -QSint--ActionGroup QToolButton[class="action"]:enabled:focus, -QSint--ActionGroup QToolButton[class="action"]:enabled:pressed { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #97c029, stop:1 #b5d757); - border-color: #97c029; -} - -QSint--ActionGroup QToolButton[class="action"]:on { - background-color: red; - color: red; -} - - -/* EXPERIMENTAL -================================================= */ -QDial { - background-color: #e6e6e6; -} - -QLCDNumber { - background-color: #e6e6e6; -} - -QCalendarWidget { - background-color: green; -} - -/* Expressions popup dialog fixes to embed elements */ -QAbstractSpinBox QPushButton { - padding: 0px 15px 0px 15px; - margin: 2px 10px 2px 10px; - border: 1px solid #828282; - border-radius: 3px; -} -QAbstractSpinBox QPushButton:disabled { - color: #f5f5f5; - background-color: #e6e6e6; - border-color: #e6e6e6; -} - -QAbstractSpinBox QFrame, -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox QFrame { - color: #dfefb4; - background-color: #b6b6b6; - border-color: #b6b6b6; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox QPushButton { - padding: 6px 15px 6px 15px; -} \ No newline at end of file +/* +ABOUT +============================================================================================================ +version 2.0 +QT theme (stylesheet) specially developed for FreeCAD (http://www.freecadweb.org/). +It might work with other software that uses QT styling. + + +LICENSE +============================================================================================================ +Copyright (c) 2016 Pablo Gil Fernández + +This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. +To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. + + +INSTALLATION +============================================================================================================ +1) Place the .qss files and /images/ folder in the path that fits your OS: + OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ + WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ + LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ + +2) In order to display correctly images: + 2.1) FreeCAD 0.16 (development builds newer than commit 5b3d50a): that's it, you are done! + + 2.2) FreeCAD 0.15: Images used in the theme need ABSOLUTE paths to be found by FreeCAD, so you should search the string "qss:images" (without "") and replace with the real path of your computer. It should be done with all the .qss files you want to install-use + find = qss:images + replace = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images + + +CUSTOMIZATION +============================================================================================================ +If you would like to change the overall look/style of the theme, just find and replace following colors in the whole file: + BACKGROUND (darker to ligher) + black + #505050 + #6e6e6e + #828282 + #a2a2a0 + #b6b6b6 + #c8c8c8 + #c3c3c3 + #d2d2d2 + #dcdcdc + #e0e0e0 + #e6e6e6 + #f0f0f0 + #f5f5f5 = main background color + white + + SELECTION (darker to lighter) + #566214 + #74831d + #819c0c + #94b30f = main selection color + #9bbc12 = used to build QSpinBox up and down buttons, it's used as color in the middle + #a5c61a + #c5d675 + #dadfc5 + + +KNOWN BUGS and TO DO +============================================================================================================ + - please, follow the link to get updated information: http://forum.freecadweb.org/viewtopic.php?f=10&t=12417 +*/ + + +/*================================================================================================== +Reset elements +==================================================================================================*/ +/* Reseting everything helps to unify styles across different operating systems */ +* { + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; +} + +/* specific reset for elements inside QToolBar */ +QToolBar * { + margin: 0px; + padding: 0px; +} + + +/*================================================================================================== +Main window +==================================================================================================*/ +QMainWindow, +QDialog, +QToolBar { + background-color: #f5f5f5; /* main background color */ +} + +QMdiArea[showImage="true"] { + background-image: url(qss:images/background_freecad.png); + background-position: center; + background-repeat: no-repeat; +} + + +/*================================================================================================== +MENUS +==================================================================================================*/ +QMenuBar, +QMenuBar::item { + color: black; + background-color: #f5f5f5; /* main background color */ +} + +QMenu, +QMenu::item { + color: black; + background-color: #f5f5f5; /* main background color */ +} + +QMenuBar::item:selected, +QMenuBar::item:pressed, +QMenu::item:selected, +QMenu::item:pressed { + color: white; + background-color: #94b30f; +} + +QMenu::right-arrow { + width: 10px; + height: 10px; + image:url(qss:images/right_arrow_dark.png); + margin-right: 2px; +} + +QMenu::right-arrow:selected { + image:url(qss:images/right_arrow_lighter.png); +} + +QMenu::item { + padding: 2px 16px 2px 26px; /* make room for icon at left */ + border: 1px solid transparent; /* reserve space for selection border */ +} + +QMenu::icon { + margin-left: 2px; +} + +QMenu::separator { + height: 1px; + background-color: rgba(0,0,0,30); + margin: 6px 4px; +} + +QMenu::indicator:non-exclusive:checked { + color: white; +} + + +/*================================================================================================== +Tool bar +==================================================================================================*/ +QToolBar { + border: none; + min-width: 32px; /* allows a minimum of space between QToolBar colums */ + min-height: 32px; /* allows a minimum of space between QToolBar rows */ +} + +QToolBar::handle:horizontal { + background-image: url(qss:images/Hmovetoolbar_dark.png); + width: 10px; + margin: 6px 2px 6px 2px; + background-position: top right; + background-repeat: repeat-y; +} + +QToolBar::handle:vertical { + background-image: url(qss:images/Vmovetoolbar_dark.png); + height: 10px; + margin: 2px 6px 2px 6px; + background-position: left bottom; + background-repeat: repeat-x; +} + +QToolBar::separator:horizontal { + background-image: url(qss:images/separtoolbar_dark.png); + width: 10px; + margin: 6px 2px 6px 2px; + background-position: center center; + background-repeat: repeat-y; +} + +QToolBar::separator:vertical { + background-image: url(qss:images/separtoolbar_dark.png); + height: 10px; + margin: 2px 6px 2px 6px; + background-position: center center; + background-repeat: repeat-x; +} + + +/*================================================================================================== +Group box +==================================================================================================*/ +QGroupBox { + color: rgba(0,0,0,120); + border:1px solid rgba(0, 0, 0, 20); /* lighter than its own border-color */; + border-radius: 3px; + margin-top: 10px; + padding: 6px; + background-color: rgba(255, 255, 255, 15); +} + +QGroupBox:title { + top: -8px; + left: 12px; +} + + +/*================================================================================================== +Tooltip +==================================================================================================*/ +QToolTip { + color: white; + background-color: #828282; + /*opacity: 90%; doesn't correctly work */ + padding: 4px; + border-radius: 3px; /* has no effect */ +} + + +/*================================================================================================== +Dock widget +==================================================================================================*/ +QDockWidget { + color: rgba(0,0,0,120); + titlebar-close-icon: url(qss:images/close_dark.png); + titlebar-normal-icon: url(qss:images/undock_dark.png); +} + +QDockWidget::title { + text-align: center; + background-color: rgba(0,0,0,10); + border: 4px solid #f5f5f5; /* fix to simulate margin between this :title and tabs */ /* same as main background color */ + border-radius: 6px; /* bigger than normal due to previous border fix */ + padding: 4px 0px; /* also needed because of previous border fix */ +} + +QDockWidget::close-button, +QDockWidget::float-button { + border: none; + background: transparent; + border-radius: 3px; + subcontrol-origin: padding; + subcontrol-position: right center; +} + +QDockWidget::close-button { + right: 4px; +} + +QDockWidget::float-button { + right: 22px; +} + +QDockWidget::close-button:hover, +QDockWidget::float-button:hover { + background-color: rgba(0,0,0,15); +} + +QDockWidget::close-button:pressed, +QDockWidget::float-button:pressed { + background-color: rgba(0,0,0,30); +} + +/* fix for Python Console (probably there is a smarter way to arrive to it) */ +QDockWidget > QFrame { + background-color: #f0f0f0; + border: 1px solid #c3c3c3; +} + + +/*================================================================================================== +Progress bar +==================================================================================================*/ +QProgressBar, +QProgressBar:horizontal { + color: white; + background-color: rgba(0,0,0,10); + text-align: center; + border: 1px solid rgba(0,0,0,80); + padding: 1px; + border-radius: 3px; +} +QProgressBar::chunk, +QProgressBar::chunk:horizontal { + background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #94b30f, stop:1 #819c0c); + border-radius: 3px; +} + + +/*================================================================================================== +Scroll +==================================================================================================*/ +QAbstractScrollArea { + border-radius: 2px; + background-color: transparent; +} + +QAbstractScrollArea::corner { + border: none; + background-color: transparent; +} + +QScrollBar:horizontal { + background-color: transparent; + height: 15px; + margin: 0px; +} + +QScrollBar::handle:vertical, +QScrollBar::handle:horizontal { + background-color: rgba(0,0,0,100); +} + +QScrollBar::handle:vertical:hover, +QScrollBar::handle:horizontal:hover { + background-color: #a2a2a0; +} + +QScrollBar::handle:horizontal { + min-width: 5px; + border-radius: 3px; + margin: 4px 15px; +} + +QScrollBar::sub-line:horizontal { + margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/left_arrow_dark.png); + width: 6px; + height: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal { + margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/right_arrow_dark.png); + width: 6px; + height: 10px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, +QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images/left_arrow_darker.png); +} + +QScrollBar::add-line:horizontal:hover, +QScrollBar::add-line:horizontal:on { + border-image: url(qss:images/right_arrow_darker.png); +} + +QScrollBar::up-arrow:horizontal, +QScrollBar::down-arrow:horizontal { + background-color: none; +} + +QScrollBar::add-page:horizontal, +QScrollBar::sub-page:horizontal { + background-color: transparent; +} + +QScrollBar:vertical { + background-color: transparent; + width: 15px; + margin: 0px; +} + +QScrollBar::handle:vertical { + min-height: 5px; + border-radius: 3px; + margin: 15px 4px; +} + +QScrollBar::sub-line:vertical { + margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/up_arrow_dark.png); + height: 6px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/down_arrow_dark.png); + height: 6px; + width: 10px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, +QScrollBar::sub-line:vertical:on { + border-image: url(qss:images/up_arrow_darker.png); +} + +QScrollBar::add-line:vertical:hover, +QScrollBar::add-line:vertical:on { + border-image: url(qss:images/down_arrow_darker.png); +} + +QScrollBar::up-arrow:vertical, +QScrollBar::down-arrow:vertical { + background-color: none; +} + +QScrollBar::add-page:vertical, +QScrollBar::sub-page:vertical { + background-color: transparent; +} + + +/*================================================================================================== +Tab bar +==================================================================================================*/ +QTabWidget::pane { + background-color: transparent; /* temporal (transparent background) */ /* tab content background color */ + position: absolute; +} + +QTabWidget::pane:top { + top: -1px; + border-top: 1px solid #d2d2d2; +} + +QTabWidget::pane:bottom { + bottom: -1px; + border-bottom: 1px solid #d2d2d2; +} + +QTabWidget::pane:left { + right: -1px; + border-right: 1px solid #d2d2d2; +} + +QTabWidget::pane:right { + left: -1px; + border-left: 1px solid #d2d2d2; +} + +QTabWidget::tab-bar:top, +QTabWidget::tab-bar:bottom { + left: 10px; +} + +QTabWidget::tab-bar:left, +QTabWidget::tab-bar:right { + top: 10px; +} + +QTabBar { + qproperty-drawBase: 0; /* important */ + background-color: transparent; +} + +/* Workaround for QTabBars created from docked QDockWidgets which don't draw the border if not set and reseted as follows: */ +QTabBar { + border-top: 1px solid #d2d2d2; /* set color for all QTabBars */ +} +QDockWidget QTabBar { + border-color: transparent; /* set color for all QTabBars but ones created from QDockWidget */ +} +QDialog QTabBar { + border-color: transparent; /* set color for QTabBars inside Preferences dialog */ +} +/* end fix */ + +QTabBar::tab { + background-color: transparent; + border: 1px solid transparent; + padding: 3px; +} + +QTabBar::tab:top, +QTabBar::tab:bottom { + border-top-width: 4px; /* same as selected tab colored border in order to center close-button */ + border-bottom-width: 4px; /* same as selected tab colored border in order to center close-button */ + min-width: 11ex; + margin-left: 2px; + margin-right: 2px; +} + +QTabBar::tab:left, +QTabBar::tab:right { + border-left-width: 4px; /* same as selected tab colored border in order to center close-button */ + border-right-width: 4px; /* same as selected tab colored border in order to center close-button */ + min-height: 14ex; + margin-top: 2px; + margin-bottom: 2px; +} + +QTabBar::tab:selected { + background-color: transparent; /* temporal (transparent background) */ + border-color: #d2d2d2; +} + +QTabBar::tab:top:selected { + border-top: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); /* selection color */ + border-bottom-color: #f5f5f5; /* same as tab content background color */ +} + +QTabBar::tab:bottom:selected { + border-bottom: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); /* selection color */ + border-top-color: #f5f5f5; /* same as tab content background color */ +} + +QTabBar::tab:right:selected { + border-left: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #94b30f, stop:1 #819c0c); /* selection color */ + border-right-color: #f5f5f5; /* same as tab content background color */ +} + +QTabBar::tab:left:selected { + border-right: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #94b30f, stop:1 #819c0c); /* selection color */ + border-left-color: #f5f5f5; /* same as tab content background color */ +} + +QTabBar::tab:!selected { + color: rgba(0,0,0,160); +} + +QTabBar::tab:!selected:hover { + color: rgba(0,0,0,220); + background-color: rgba(0,0,0,20); +} + +QTabBar::tab:first:selected { + margin-left: 0; /* the first selected tab has nothing to overlap with on the left */ +} + +QTabBar::tab:last:selected { + margin-right: 0; /* the last selected tab has nothing to overlap with on the right */ +} + +QTabBar::tab:only-one { + margin: 0; /* if there is only one tab, we don't want overlapping margins */ +} + +/* hack to access Preference TabBar background */ +QDialog#Gui__Dialog__DlgPreferences > QFrame QFrame { + background-color: transparent; /* main background color (in Windows is #f5f5f5) */ +} + +/* fix for previous hack that broke QTabWidget background on Windows */ +QDialog#Gui__Dialog__DlgPreferences QTabWidget::pane { + background-color: transparent; /* temporal (transparent background) */ +} + +/* hack to correctly align Preferences icon list on OSX */ +QDialog#Gui__Dialog__DlgPreferences > QListView { + min-width: 130px; +} + +/* unique styles for sections inside Preferences */ +QDialog#Gui__Dialog__DlgPreferences > QListView::item { + border-radius: 4px; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { + background-color: #dadfc5; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { + color: #566214; + background-color: #dadfc5; + border: 1px solid #a5c61a; +} + + +/*================================================================================================== +Tab bar buttons +==================================================================================================*/ +/* Close button */ +QTabBar::close-button { + subcontrol-origin: margin; + subcontrol-position: center right; /* only works for QT 4.6 and newer */; + border-radius: 2px; + background-image: url(qss:images/close_dark.png); + background-position: center center; + background-repeat: none; +} + +QTabBar::close-button:hover { + background-color: rgba(0,0,0,20); +} + +QTabBar::close-button:pressed { + background-color: rgba(0,0,0,30); +} + +/* Fix for lists inside Model tab */ +QDockWidget QTreeView, +QDockWidget QListView, +QDockWidget QTableView { + margin: 6px; + border: 1px solid #c3c3c3; /* same as regular QTreeView, QListView and QTableView */ + min-height: 40px; /* neccesary in some areas of FreeCAD */ +} + +/* Buttons to scroll tabs if there is not space to show all of them: */ +QTabBar::scroller { + width: 20px; /* the width of the scroll buttons */ +} + +QTabBar QToolButton, +QTabBar QToolButton:hover { + background-color: #f5f5f5; /* same as main background color */ +} + +QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images/right_arrow_dark.png); +} + +QTabBar QToolButton::right-arrow:disabled, +QTabBar QToolButton::right-arrow:off { + image: url(qss:images/right_arrow_disabled_dark.png); +} + +QTabBar QToolButton::right-arrow:hover { + image: url(qss:images/right_arrow_darker.png); +} + + QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images/left_arrow_dark.png); +} + + QTabBar QToolButton::left-arrow:disabled, + QTabBar QToolButton::left-arrow:off { + image: url(qss:images/left_arrow_disabled_dark.png); +} + + QTabBar QToolButton::left-arrow:hover { + image: url(qss:images/left_arrow_darker.png); +} + + QTabBar QToolButton::up-arrow:enabled { + image: url(qss:images/up_arrow_dark.png); +} + + QTabBar QToolButton::up-arrow:disabled, + QTabBar QToolButton::up-arrow:off { + image: url(qss:images/up_arrow_disabled_dark.png); +} + + QTabBar QToolButton::up-arrow:hover { + image: url(qss:images/up_arrow_darker.png); +} + + QTabBar QToolButton::down-arrow:enabled { + image: url(qss:images/down_arrow_dark.png); +} + + QTabBar QToolButton::down-arrow:disabled, + QTabBar QToolButton::down-arrow:off { + image: url(qss:images/down_arrow_disabled_dark.png); +} + + QTabBar QToolButton::down-arrow:hover { + image: url(qss:images/down_arrow_darker.png); +} + +QTabBar::tear { + /* default OS tear better */ +} + + +/*================================================================================================== +Tree and list views +==================================================================================================*/ +QTreeView, +QListView, +QTableView { + background-color: #f0f0f0; + alternate-background-color: #e6e6e6; /* related with QListView background */ + border: 1px solid #c3c3c3; + selection-color: white; + selection-background-color: #94b30f; /* should be similar to QListView::item selected background-color */ + show-decoration-selected: 1; /* make the selection span the entire width of the view */ + border-radius: 3px; +} + +QListView::item:selected, +QTreeView::item:selected { + color: white; /* should be similar to QListView selection-color */ + background-color: #94b30f; /* should be similar to QListView selection-background-color */ + show-decoration-selected: 1; /* make the selection span the entire width of the view */ +} + +/* Property Editor QTreeView (FreeCAD custom widget) */ +Gui--PropertyEditor--PropertyEditor { + gridline-color: #d2d2d2; /* same as Group header background */ +} + +/* fix for column items background when a link is present */ +Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { + background-color: #dadfc5; /* same as focused background color */ +} + +/* hack to hide weird redundant information inside the value of a Placement cell */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 0px; + margin: 0px; + padding: 0px; +} + +/* hack to hide non editable cells inside Property values */ +Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, +Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { + color: transparent; + border-color: transparent; + background-color: transparent; + selection-color: transparent; + selection-background-color: transparent; +} + +/* hack to disable margin inside Property values to following elements */ +Gui--PropertyEditor--PropertyEditor QSpinBox, +Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, +Gui--PropertyEditor--PropertyEditor QLineEdit, +Gui--PropertyEditor--PropertyEditor QComboBox { + margin-left: 0px; + margin-right: 0px; + padding-top: 0px; + padding-bottom: 0px; +} + +/* set border-radius to 0px inside list views */ +QTreeView > QWidget > QComboBox, +QTreeView > QWidget > QAbstractSpinBox, +QTreeView > QWidget > QSpinBox, +QTreeView > QWidget > QDoubleSpinBox, +QTreeView > QWidget > QLineEdit, +QTreeView > QWidget > QTextEdit, +QTreeView > QWidget > QTimeEdit, +QTreeView > QWidget > QDateEdit, +QTreeView > QWidget > QDateTimeEdit, +QTreeView > QWidget > QComboBox:drop-down, +QTreeView > QWidget > QAbstractSpinBox:up-button, +QTreeView > QWidget > QSpinBox:up-button, +QTreeView > QWidget > QDoubleSpinBox:up-button, +QTreeView > QWidget > QTimeEdit:up-button, +QTreeView > QWidget > QDateEdit:up-button, +QTreeView > QWidget > QDateTimeEdit:up-button, +QTreeView > QWidget > QAbstractSpinBox:down-button, +QTreeView > QWidget > QSpinBox:down-button, +QTreeView > QWidget > QDoubleSpinBox:down-button, +QTreeView > QWidget > QTimeEdit:down-button, +QTreeView > QWidget > QDateEdit:down-button, +QTreeView > QWidget > QDateTimeEdit:down-button, +QTreeView > QWidget > Gui--ColorButton { + border-radius: 0px; +} + +/* set focus colors to best viewing the editable fields */ +QTreeView > QWidget > QComboBox:focus, +QTreeView > QWidget > QAbstractSpinBox:focus, +QTreeView > QWidget > QSpinBox:focus, +QTreeView > QWidget > QDoubleSpinBox:focus, +QTreeView > QWidget > QLineEdit:focus, +QTreeView > QWidget > QTextEdit:focus, +QTreeView > QWidget > QTimeEdit:focus, +QTreeView > QWidget > QDateEdit:focus, +QTreeView > QWidget > QDateTimeEdit:focus { + border-color: #dadfc5; /* same as focused background color */ + border-bottom-color: #a5c61a; /* same as focused border color */ +} + +QTreeView > QWidget > QAbstractSpinBox:read-only, +QTreeView > QWidget > QSpinBox:read-only, +QTreeView > QWidget > QDoubleSpinBox:read-only, +QTreeView > QWidget > QLineEdit:read-only, +QTreeView > QWidget > QTextEdit:read-only, +QTreeView > QWidget > QTimeEdit:read-only, +QTreeView > QWidget > QDateEdit:read-only, +QTreeView > QWidget > QDateTimeEdit:read-only { + color: transparent; + background-color: transparent; + border-color: transparent; +} + +/* Fix to correctly (not totally) draw QTextEdit on OSX at Page properties: "Page result", "Template" and "Editable Texts" */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget { + min-height: 14px; +} + + +/*================================================================================================== +Header of tree and list views +==================================================================================================*/ +QHeaderView { + background-color: #c3c3c3; + border-top-left-radius: 2px; /* 1px less than its container */ + border-top-right-radius: 2px; /* 1px less than its container */ + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; +} + +QHeaderView::section { + border:none; + padding: 4px 6px; + background-color: #c3c3c3; +} + +QHeaderView::section:horizontal { + padding: 4px 6px; /* left and right value similar to QHeaderView::section */ + border-right: 1px solid rgba(0,0,0,30); +} + +QHeaderView::section:vertical { + border-bottom: 1px solid rgba(0,0,0,30); +} + +QTableCornerButton::section { + background-color: #c3c3c3; + border-top: none; + border-left: none; + border-right: 1px solid rgba(0,0,0,30); + border-bottom: 1px solid rgba(0,0,0,30); +} + +QHeaderView::section:last { + border-right: none; +} + +QHeaderView::up-arrow { + image: url(qss:images/up_arrow_dark.png); +} + +QHeaderView::up-arrow:hover { + image: url(qss:images/up_arrow_darker.png); +} + +QHeaderView::down-arrow { + image: url(qss:images/down_arrow_dark.png); +} + +QHeaderView::down-arrow:hover { + image: url(qss:images/down_arrow_darker.png); +} + +/* Group header inside Property Editor (FreeCAD custom widget) */ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: #828282; /* same as main background color */ + qproperty-groupBackground: #d2d2d2; /* same as item gridlines */ +} + + +/*================================================================================================== +Branch system for QTreeViews +==================================================================================================*/ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images/branch_vline.png) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images/branch_more.png) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images/branch_end.png) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + image: url(qss:images/branch_closed_dark.png); +} + +QTreeView::branch:has-children:!has-siblings:closed { + image: url(qss:images/branch_closed_dark.png); + border-image: url(qss:images/branch_end.png) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + image: url(qss:images/branch_open_dark.png); + border-image: url(qss:images/branch_more.png) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + image: url(qss:images/branch_open_dark.png); + border-image: url(qss:images/branch_end.png) 0; +} + + +/*================================================================================================== +Splitter and windows separator +==================================================================================================*/ +QSplitter::handle { + margin: 0px 11px; + padding: 0px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images/splitter_horizontal_dark.png); + background-position: center center; + background-repeat: none; + margin: 2px 4px 2px 4px; + height: 2px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images/splitter_vertical_dark.png); + background-position: center center; + background-repeat: none; + margin: 4px 2px 4px 2px; + width: 2px; +} + +/* Similar to the splitter is the following window separator: */ +QMainWindow::separator { + background-position: center center; + background-repeat: none; +} + +QMainWindow::separator:horizontal { + height: 2px; + background-image: url(qss:images/splitter_horizontal_dark.png); + margin: 4px 2px 4px 2px; +} + +QMainWindow::separator:vertical { + width: 2px; + background-image: url(qss:images/splitter_vertical_dark.png); + margin: 2px 4px 2px 4px; +} + + +/*================================================================================================== +Tasks panel (custom FreeCAD class) +==================================================================================================*/ +/* Action group */ +QFrame[class="panel"] { + background-color: transparent; /* temporal (transparent background) */ +} + +/* Separator line */ +QSint--ActionGroup QFrame[height="1"], +QSint--ActionGroup QFrame[height="2"], +QSint--ActionGroup QFrame[height="3"], +QSint--ActionGroup QFrame[width="1"], +QSint--ActionGroup QFrame[width="2"], +QSint--ActionGroup QFrame[width="3"] { + border-color: rgba(0,0,0,60); +} + +/* Panel header */ +QSint--ActionGroup QFrame[class="header"] { + border: none; + background-color: #b6b6b6; /* Task Panel Header background color */ + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + margin: 0px; + padding: 0px; +} + +QSint--ActionGroup QFrame[class="header"]:hover { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); +} + +QSint--ActionGroup QToolButton[class="header"] { + color: white; /* Task Panel Header text color */ + text-align: left; + font-weight: bold; + border: none; + margin: 0px; + padding: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel { + background-color: transparent; + background-image: url(qss:images/down_arrow_light.png); + background-repeat: none; + background-position: center center; + padding: 0px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel:hover { + background-color: transparent; + background-image: url(qss:images/down_arrow_lighter.png); +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { + background-color: transparent; + background-image: url(qss:images/up_arrow_light.png); + background-repeat: none; + background-position: center center; + padding: 0px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { + background-color: transparent; + background-image: url(qss:images/up_arrow_lighter.png); +} + +QSint--ActionGroup QFrame[class="content"] { + background-color: #e6e6e6; /* Task Panel background color */ + margin: 0px; + padding: 0px; + border: none; + border-top-left-radius: 0px; + border-top-right-radius: 0px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; +} + +QSint--ActionGroup QFrame[class="content"] > QWidget { + background-color: #e6e6e6; /* Task Panel background color */ +} + +/* Fixs for tabs inside Task Panel */ +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { + border-bottom-color: #e6e6e6; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { + border-top-color: #e6e6e6; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { + border-right-color: #e6e6e6; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { + border-left-color: #e6e6e6; /* same as Task Panel background color */ +} + + +/*================================================================================================== +Buttons +==================================================================================================*/ +/* Common */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QLineEdit, +QTextEdit, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + color: #6e6e6e; + background-color: #e0e0e0; + selection-color: white; + selection-background-color: #94b30f; + border: 1px solid #e0e0e0; + border-radius: 3px; + min-width: 50px; /* it ensures the default value is correctly displayed */ + padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ +} + +/* shifts text/number editable field to the left to make space for the up/down or drop-down buttons */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + padding-right: 20px; +} + +/* when QTextEdit are no editable */ +QTextEdit:!editable { + background-color: #f0f0f0; + border: 1px solid #c3c3c3; +} + +QComboBox:focus, +QAbstractSpinBox:focus, +QSpinBox:focus, +QDoubleSpinBox:focus, +QLineEdit:focus, +QTextEdit:focus, +QTimeEdit:focus, +QDateEdit:focus, +QDateTimeEdit:focus { + color: black; + border-color: #a5c61a; + border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #94b30f, stop:1 #a5c61a); /* same as up/down or drop-down button color */ + background-color: #dadfc5; +} + +QComboBox:disabled, +QAbstractSpinBox:disabled, +QSpinBox:disabled, +QDoubleSpinBox:disabled, +QLineEdit:disabled, +QTextEdit:disabled, +QTimeEdit:disabled, +QDateEdit:disabled, +QDateTimeEdit:disabled { + color: #c3c3c3; + background-color: #e0e0e0; /* same as enabled color */ + border-color: #e0e0e0; /* same as enabled color */ +} + +QAbstractSpinBox:up-button, +QSpinBox:up-button, +QDoubleSpinBox:up-button, +QTimeEdit:up-button, +QDateEdit:up-button, +QDateTimeEdit:up-button, +QAbstractSpinBox:down-button, +QSpinBox:down-button, +QDoubleSpinBox:down-button, +QTimeEdit:down-button, +QDateEdit:down-button, +QDateTimeEdit:down-button { + background-color: #d2d2d2; + subcontrol-origin: border; /* important */ + width: 20px; /* same as QComboBox ... QDateTimeEdit padding-right */ +} + +QAbstractSpinBox:up-button, +QSpinBox:up-button, +QDoubleSpinBox:up-button, +QTimeEdit:up-button, +QDateEdit:up-button, +QDateTimeEdit:up-button { + subcontrol-position: top right; + border-top-right-radius: 3px; + height: 12px; /* fix for Ubuntu that doesn't divide the up/down button into the exact middle */ +} + +QAbstractSpinBox:down-button, +QSpinBox:down-button, +QDoubleSpinBox:down-button, +QTimeEdit:down-button, +QDateEdit:down-button, +QDateTimeEdit:down-button { + subcontrol-position: bottom right; + border-bottom-right-radius: 3px; +} + +QAbstractSpinBox:up-button:focus, +QSpinBox:up-button:focus, +QDoubleSpinBox:up-button:focus, +QTimeEdit:up-button:focus, +QDateEdit:up-button:focus, +QDateTimeEdit:up-button:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #9bbc12, stop:1 #a5c61a); +} + +QAbstractSpinBox:down-button:focus, +QSpinBox:down-button:focus, +QDoubleSpinBox:down-button:focus, +QTimeEdit:down-button:focus, +QDateEdit:down-button:focus, +QDateTimeEdit:down-button:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #94b30f, stop:1 #9bbc12); +} + +QAbstractSpinBox:up-button:disabled, +QSpinBox:up-button:disabled, +QDoubleSpinBox:up-button:disabled, +QTimeEdit:up-button:disabled, +QDateEdit:up-button:disabled, +QDateTimeEdit:up-button:disabled, +QAbstractSpinBox:down-button:disabled, +QSpinBox:down-button:disabled, +QDoubleSpinBox:down-button:disabled, +QTimeEdit:down-button:disabled, +QDateEdit:down-button:disabled, +QDateTimeEdit:down-button:disabled { + background-color: transparent; +} + +QAbstractSpinBox::up-arrow, +QSpinBox::up-arrow, +QDoubleSpinBox::up-arrow, +QTimeEdit::up-arrow, +QDateEdit::up-arrow, +QDateTimeEdit::up-arrow { + image: url(qss:images/up_arrow_dark.png); + top: 0px; /* fix simetry between up and down images */ +} + +QAbstractSpinBox::up-arrow:focus, +QSpinBox::up-arrow:focus, +QDoubleSpinBox::up-arrow:focus, +QTimeEdit::up-arrow:focus, +QDateEdit::up-arrow:focus, +QDateTimeEdit::up-arrow:focus { + image: url(qss:images/up_arrow_lighter.png); +} + +QAbstractSpinBox::up-arrow:off, +QSpinBox::up-arrow:off, +QDoubleSpinBox::up-arrow:off, +QTimeEdit::up-arrow:off, +QDateEdit::up-arrow:off, +QDateTimeEdit::up-arrow:off { + image: url(qss:images/up_arrow_disabled_dark.png); +} + +QAbstractSpinBox::up-arrow:disabled, +QSpinBox::up-arrow:disabled, +QDoubleSpinBox::up-arrow:disabled, +QTimeEdit::up-arrow:disabled, +QDateEdit::up-arrow:disabled, +QDateTimeEdit::up-arrow:disabled { + image: url(qss:images/up_arrow_disabled_dark.png); +} + +QAbstractSpinBox::down-arrow, +QSpinBox::down-arrow, +QDoubleSpinBox::down-arrow, +QTimeEdit::down-arrow, +QDateEdit::down-arrow, +QDateTimeEdit::down-arrow { + image: url(qss:images/down_arrow_dark.png); + bottom: 0px; /* fix simetry between up and down images */ +} + +QAbstractSpinBox::down-arrow:focus, +QSpinBox::down-arrow:focus, +QDoubleSpinBox::down-arrow:focus, +QTimeEdit::down-arrow:focus, +QDateEdit::down-arrow:focus, +QDateTimeEdit::down-arrow:focus { + image: url(qss:images/down_arrow_lighter.png); +} + +QAbstractSpinBox::down-arrow:off, +QSpinBox::down-arrow:off, +QDoubleSpinBox::down-arrow:off, +QTimeEdit::down-arrow:off, +QDateEdit::down-arrow:off, +QDateTimeEdit::down-arrow:off { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +QAbstractSpinBox::down-arrow:disabled, +QSpinBox::down-arrow:disabled, +QDoubleSpinBox::down-arrow:disabled, +QTimeEdit::down-arrow:disabled, +QDateEdit::down-arrow:disabled, +QDateTimeEdit::down-arrow:disabled { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +/* ComboBox */ +QComboBox::drop-down { + background-color: #d2d2d2; + subcontrol-origin: border; /* important */ + subcontrol-position: top right; + width: 20px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +QComboBox::drop-down:on, +QComboBox::drop-down:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #94b30f, stop:1 #a5c61a); +} + +QComboBox::down-arrow { + image: url(qss:images/down_arrow_dark.png); +} + +QComboBox::down-arrow:on, +QComboBox::down-arrow:focus { + image: url(qss:images/down_arrow_lighter.png); +} + +QComboBox::down-arrow:off, +QComboBox::down-arrow:disabled { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +/* ComboBox menu */ +QComboBox { + selection-color: white; + selection-background-color: #94b30f; +} + +QComboBox QAbstractItemView { + color: #6e6e6e; /* same as regular QComboBox color */ + background-color: transparent; + selection-color: white; + selection-background-color: #94b30f; + border-width: 5px 0px 5px 0px; + border-style: solid; + border-color: transparent; + margin: 0px -1px 0px 0px; /* temporal: hack for Mac... try it on Windows and Linux */ +} + + +/*================================================================================================== +Push button +==================================================================================================*/ +QPushButton { + color: #6e6e6e; + text-align: center; + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #f5f5f5, stop:1 #e6e6e6); + border: 1px solid #d2d2d2; + border-bottom-color: #c3c3c3; /* simulates shadow under the button */ + padding: 4px 22px; + margin: 4px 4px; + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 4px; +} + +QPushButton:hover, +QPushButton:focus { + color: white; + border-color: #819c0c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); +} + +QPushButton:disabled, +QPushButton:disabled:checked { + color: #b6b6b6; + border-color: #e6e6e6; + background-color: #e6e6e6; +} + +QPushButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #819c0c, stop:1 #94b30f); +} + +QPushButton:checked { + background-color: #94b30f; + border-color: #819c0c; +} + +/* Color Buttons */ +Gui--ColorButton, +Gui--ColorButton:disabled { + padding: 0px; /* reset */ + margin: 0px; /* reset */ +} + +Gui--ColorButton { + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #f5f5f5, stop:1 #e6e6e6); + border: 1px solid #d2d2d2; + border-bottom-color: #c3c3c3; /* simulates shadow under the button */ +} + +Gui--ColorButton:disabled { + border-color: transparent; + background-color: rgba(0,0,0,10); +} + +Gui--ColorButton:hover, +Gui--ColorButton:focus { + border-color: #819c0c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); +} + +Gui--ColorButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #819c0c, stop:1 #94b30f); +} + +/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QPushButton { + background-color: #b6b6b6; + border: 1px solid #828282; + min-width: 16px; /* reset it due to larger value on regular QPushButton, same or bigger value as regular QPushButton min-height */ + border-radius: 0px; + margin: 0px; /* reset */ + padding: 0px; /* reset */ +} + +/* Fix for Expressions description QFrame that is "broken" with initial reset */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget > QWidget > QFrame { + background-color: #f5f5f5; /* main background color */ + border: 1px solid #dcdcdc; + border-radius: 2px; + padding: 2px 6px; +} + + +/*================================================================================================== +Tool button inside QDialogs that works as QPushButtons +==================================================================================================*/ +/* found under Tools -> Customize -> Macros -> Pixmap "..." button */ +QDialog QToolButton { + color: #6e6e6e; + text-align: center; + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #f5f5f5, stop:1 #e6e6e6); + border: 1px solid #d2d2d2; + border-bottom-color: #c3c3c3; /* simulates shadow under the button */ + padding: 0px; /* different than regular QPushButton */ + margin: 2px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 4px; +} + +QDialog QToolButton:hover, +QDialog QToolButton:focus { + color: white; + border-color: #819c0c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); +} + +QDialog QToolButton:disabled, +QDialog QToolButton:disabled:checked { + color: #b6b6b6; + border-color: #e6e6e6; + background-color: #e6e6e6; +} + +QDialog QToolButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #819c0c, stop:1 #94b30f); +} + +QPushButton:checked { + background-color: #94b30f; + border-color: #819c0c; +} + + +/*================================================================================================== +Radio button +==================================================================================================*/ +QRadioButton::indicator:unchecked{ + color: #505050; + background-color: rgba(0, 0, 0, 20); + border: 1px solid #505050; +} + +QRadioButton::indicator:checked { + background-color: #94b30f; /* QCheckBox has the same color */ + border: 1px solid #819c0c; /* QCheckBox has the same color */ + image:url(qss:images/radiobutton_light.png); +} + +QRadioButton, +QRadioButton:disabled { + color: #505050; + padding: 3px; + outline: none; + background-color: transparent; +} + +QRadioButton::indicator { + width: 11px; + height: 11px; + border-radius: 6px; +} + +QRadioButton::indicator:pressed { + border-color: #c5d675; +} + +QRadioButton::indicator:disabled { + border: 1px solid #6e6e6e; +} + +QRadioButton::indicator:disabled { + color: #6e6e6e; + background-color: transparent; +} + +QRadioButton:focus { + border: none; +} + + +/*================================================================================================== +Checkbox +==================================================================================================*/ +QCheckBox, +QCheckBox:disabled { + color: #505050; + padding: 3px; + outline: none; + background-color: transparent; +} + +QCheckBox::indicator { + color: #c8c8c8; + background-color: rgba(0,0,0,20); + border: 1px solid #505050; +} + +QCheckBox::indicator { + width: 11px; + height: 11px; + border-radius:2px; +} + +QCheckBox::indicator:pressed, +QCheckBox::indicator:non-exclusive:checked:pressed, +QCheckBox::indicator:indeterminate:pressed, +QCheckBox::indicator:checked:pressed { + border-color: #c5d675; +} + +QCheckBox::indicator:checked { + background-color: #94b30f; /* QRadioButton has the same color */ + border: 1px solid #819c0c; /* QRadioButton has the same color */ + image:url(qss:images/checkbox_light.png); +} + +QCheckBox:disabled { + color: rgba(0,0,0,40); + background-color: transparent; +} + +QCheckBox::indicator:disabled { + background-color: rgba(0,0,0,20); + border: 1px solid rgba(0,0,0,20); +} + +QCheckBox::indicator:indeterminate { + background-color: #94b30f; + border: 1px solid #819c0c; + image: url(qss:images/checkbox_indeterminate_light.png); +} + +QCheckBox:focus { + border: none; +} + + +/*================================================================================================== +Slider +==================================================================================================*/ +QSlider, +QSlider:active, +QSlider:!active { + border: none; + background-color: transparent; +} + +QSlider:horizontal { + padding: 0px 10px; +} + +QSlider:vertical { + padding: 10px 0px; +} + +QSlider::groove { + background-color: rgba(0,0,0,30); + border: 1px solid rgba(0,0,0,40); + border-radius: 5px; + margin: 4px 0px; +} + +QSlider::groove:horizontal { + height: 8px; +} + +QSlider::groove:vertical { + width: 8px; +} + +QSlider::groove:horizontal:disabled, +QSlider::groove:vertical:disabled { + border-color: #dcdcdc; + background-color: #dcdcdc; +} + +QSlider::handle:horizontal, +QSlider::handle:vertical { + background-color: #b6b6b6; + border: 1px solid #b6b6b6; + width: 14px; + height: 14px; + border-radius: 8px; +} + +QSlider::handle:horizontal { + margin: -4px 0; +} + +QSlider::handle:vertical { + margin: 0 -4px; +} + +QSlider::handle:horizontal:hover, +QSlider::handle:vertical:hover, +QSlider::handle:horizontal:pressed, +QSlider::handle:vertical:pressed { + border-color: #94b30f; + background-color: #94b30f; +} + +QSlider::handle:horizontal:disabled, +QSlider::handle:vertical:disabled { + border-color: #dcdcdc; + background-color: #dcdcdc; +} + + +/*================================================================================================== +Toolbar buttons +==================================================================================================*/ +QToolBar > QToolButton { + margin: 2px; + padding: 2px; +} + +QToolBar > QPushButton, +/*QToolBar > QComboBox, disabled because creates different margins for body and drop-down button */ +QToolBar > QAbstractSpinBox, +QToolBar > QSpinBox, +QToolBar > QDoubleSpinBox, +QToolBar > QLineEdit, +QToolBar > QTextEdit, +QToolBar > QTimeEdit, +QToolBar > QDateEdit, +QToolBar > QDateTimeEdit { + margin: 2px; + padding: 2px; +} + +QToolBar > QPushButton { + border-radius: 4px; /* same as regular QPushButton */ + min-width: 20px; /* reset it due to larger value on regular QPushButton, same or bigger value as regular QPushButton min-height */ +} + +QToolBar > QPushButton:checked { + border: 1px solid #819c0c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #94b30f, stop:1 #819c0c); +} + +QToolBar > QPushButton:!checked { + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #f5f5f5, stop:1 #e6e6e6); + border: 1px solid #d2d2d2; + border-bottom-color: #c3c3c3; /* simulates shadow under the button */ +} + +QToolBar > QPushButton:checked:hover { + border-color: #74831d; +} + +QToolBar > QPushButton:!checked:hover { + color: black; + border-color: #b6b6b6; +} + +QToolBar > QPushButton:checked:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #819c0c, stop:1 #94b30f); +} + +QToolBar > QPushButton:!checked:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #b6b6b6, stop:1 #e6e6e6); +} + +QToolBar > QPushButton:checked:disabled, +QToolBar > QPushButton:!checked:disabled { + border: none; + background-color: transparent; +} + +/* ToolBar menu buttons (buttons with drop-down menu) */ +QToolBar > QToolButton#qt_toolbutton_menubutton { + padding-right: 20px; /* Hack to add more width to buttons with menu */ + border: 1px solid transparent; + border-radius: 3px; +} + +QToolBar > QToolButton#qt_toolbutton_menubutton:hover, +QToolBar > QToolButton#qt_toolbutton_menubutton:pressed, +QToolBar > QToolButton#qt_toolbutton_menubutton:open { + border: 1px solid #a5c61a; +} + +QToolBar QToolButton::menu-button, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button { + border: none; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + width: 16px; /* 16px width + 4px for border = 20px allocated above */ + outline: none; + background-color: transparent; +} + +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:hover, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:pressed, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:open { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #94b30f, stop:1 #a5c61a); +} + +QToolBar > QToolButton::menu-arrow { + background-image: url(qss:images/down_arrow_dark.png); + background-position: center center; + background-repeat: none; + subcontrol-origin: padding; + subcontrol-position: bottom right; + height: 10px; /* same as arrow image */ +} + +QToolBar > QToolButton::menu-arrow:hover { + background-image: url(qss:images/down_arrow_lighter.png); +} + +QToolBar > QToolButton::menu-arrow:open { + background-image: url(qss:images/down_arrow_lighter.png); +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" */ +QToolBar QToolButton#qt_toolbar_ext_button { + margin: 0px; + padding: 0px; + /*background-image: url(qss:images/more_dark.png);*/ + image: transparent; + background-repeat: none; + background-position: center left; +} + +QToolBar QToolButton#qt_toolbar_ext_button:hover { + /*background-image: url(qss:images/more_light.png);*/ + border-color: #e0e0e0; + background-color: #e0e0e0; +} + +QToolBar QToolButton#qt_toolbar_ext_button:on { + /*background-image: url(qss:images/more_light.png);*/ + border-color: #e0e0e0; + background-color: #e0e0e0; +} + + +/*================================================================================================== +Tables (spreadsheets) +==================================================================================================*/ +QTableView { + gridline-color: #d2d2d2; + selection-color: #566214; + selection-background-color: #dadfc5; +} + +QTableView::item:hover { + background-color: rgba(0,0,0,10); /* temporal: is it displayed in Linux or Windows? on OSX it isn't */ +} + +QTableView::item:disabled { + color: #e6e6e6; +} + +QTableView::item:selected { + color: #566214; + border-color: #dadfc5; /* same as focused background color */ + border-bottom-color: #a5c61a; /* same as focused border color */ +} + +/* fix for elements inside the cells */ +QTableView QComboBox, +QTableView QAbstractSpinBox, +QTableView QSpinBox, +QTableView QDoubleSpinBox, +QTableView QLineEdit, +QTableView QTextEdit, +QTableView QTimeEdit, +QTableView QDateEdit, +QTableView QDateTimeEdit, +QTableView QComboBox:drop-down, +QTableView QAbstractSpinBox:up-button, +QTableView QSpinBox:up-button, +QTableView QDoubleSpinBox:up-button, +QTableView QTimeEdit:up-button, +QTableView QDateEdit:up-button, +QTableView QDateTimeEdit:up-button, +QTableView QAbstractSpinBox:down-button, +QTableView QSpinBox:down-button, +QTableView QDoubleSpinBox:down-button, +QTableView QTimeEdit:down-button, +QTableView QDateEdit:down-button, +QTableView QDateTimeEdit:down-button, +QTableView Gui--ColorButton { + border-radius: 0px; +} + +QTableView QComboBox, +QTableView QAbstractSpinBox, +QTableView QSpinBox, +QTableView QDoubleSpinBox, +QTableView QLineEdit, +QTableView QTextEdit, +QTableView QTimeEdit, +QTableView QDateEdit, +QTableView QDateTimeEdit { + color: black; + background-color: transparent; + border-color: transparent; +} + +QTableView QComboBox:drop-down, +QTableView QAbstractSpinBox:up-button, +QTableView QSpinBox:up-button, +QTableView QDoubleSpinBox:up-button, +QTableView QTimeEdit:up-button, +QTableView QDateEdit:up-button, +QTableView QDateTimeEdit:up-button, +QTableView QAbstractSpinBox:down-button, +QTableView QSpinBox:down-button, +QTableView QDoubleSpinBox:down-button, +QTableView QTimeEdit:down-button, +QTableView QDateEdit:down-button, +QTableView QDateTimeEdit:down-button, +QTableView Gui--ColorButton { + background-color: rgba(0,0,0,30); +} + +QTableView QComboBox:focus, +QTableView QAbstractSpinBox:focus, +QTableView QSpinBox:focus, +QTableView QDoubleSpinBox:focus, +QTableView QLineEdit:focus, +QTableView QTextEdit:focus, +QTableView QTimeEdit:focus, +QTableView QDateEdit:focus, +QTableView QDateTimeEdit:focus { + color: #566214; + selection-color: white; + selection-background-color: #94b30f; + border-color: #dadfc5; + background-color: #dadfc5; +} + +QTableView QComboBox:disabled, +QTableView QAbstractSpinBox:disabled, +QTableView QSpinBox:disabled, +QTableView QDoubleSpinBox:disabled, +QTableView QLineEdit:disabled, +QTableView QTextEdit:disabled, +QTableView QTimeEdit:disabled, +QTableView QDateEdit:disabled, +QTableView QDateTimeEdit:disabled { + color: rgba(0,0,0,120); + background-color: transparent; + border-color: transparent; +} + +QTableView QComboBox:read-only, +QTableView QAbstractSpinBox:read-only, +QTableView QSpinBox:read-only, +QTableView QDoubleSpinBox:read-only, +QTableView QLineEdit:read-only, +QTableView QTextEdit:read-only, +QTableView QTimeEdit:read-only, +QTableView QDateEdit:read-only, +QTableView QDateTimeEdit:read-only { + color: black; + background-color: transparent; + border-color: transparent; +} + + +/*================================================================================================== +EXPERIMENTAL +==================================================================================================*/ + +/* Fix for preventing elements in different rows to accidentaly overlap */ +QDialog QGroupBox QFrame { + margin: 2px 0px; +} + +*[mandatoryField="true"] { background-color: cyan } \ No newline at end of file diff --git a/light-orange.qss b/light-orange.qss index e46850a..6f388b7 100644 --- a/light-orange.qss +++ b/light-orange.qss @@ -1,1906 +1,1876 @@ -/* -ABOUT -=========================================================== -version 1.8 -QT theme (stylesheet) specially developed for FreeCAD (http://www.freecadweb.org/). -It might work with other software that uses QT styling. - - -LICENSE -=========================================================== -Copyright (c) 2015 Pablo Gil Fernández -The stylesheet barely uses code from Colin Duquesnoy "generic QT stylesheet" - -This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. -To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. - - -INSTALLATION -=========================================================== -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -2) In order to display correctly images that are used inside the stylesheet: - 2.1) If you use FreeCAD 0.16 (development builds newer than commit 5b3d50a): that's it, you are done! - - 2.2) If you use FreeCAD 0.15: Images used in the theme need full paths to be found by FreeCAD, so you should search the string "qss:images" (without "") and replace with the real path of your computer. It should be done with all the .qss files you want to install-use - find = qss:images - replace = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images - - -CUSTOMIZATION -=========================================================== -If you would like to change the overall look/style of the theme, just find and replace following colors in the whole file: - background darker = #828282 - background dark and slightly darker = #a2a2a2 - background dark = #b6b6b6 - background normal and slightly darker = #e0e0e0 - background normal = #e6e6e6 - background light = #f5f5f5 - background lighter = #ffffff - - lists background = #d3d1cd - lists background (alternate) = #cfcdc9 - lists backgrounds selection = #cbc9c4 - - foreground = black - - selection darker = #9d7106 - selection dark = #e0a108 - selection normal = #f8bf36 - selection inbetween normal and light = #f9ca58 (used to build SpinBoxes) - selection light = #fad57a - selection lighter = #fce6b1 - - -CAVEATS -=========================================================== - - FreeCAD 0.15 - - full paths to images are needed, that means all these .qss files should be edited per user - - the "Task panel" is not stylable - - in app icons-buttons are designed in svg but are not stylable, that is, it's not possible to change them... I hope it also changes in the near future - - -KNOWN BUGS and TO DO -=========================================================== - - please, follow the link to get updated information: http://forum.freecadweb.org/viewtopic.php?f=10&t=12417 -*/ - -/* RESET EVERYTHING */ -QAbstractScrollArea,QCheckBox,QColumnView,QComboBox,QDateEdit,QDateTimeEdit,QDialog,QDialogButtonBox,QDockWidget,QDoubleSpinBox,QFrame,QGroupBox,QHeaderView,QLabel,QLineEdit,QListView,QListWidget,QMainWindow,QMenu,QMenuBar,QMessageBox,QProgressBar,QPushButton,QRadioButton,QScrollBar,QSizeGrip,QSlider,QSpinBox,QSplitter,QStatusBar,QTabBar,QTabWidget,QTableView,QTableWidget,QTextEdit,QTimeEdit,QToolBar,QToolButton,QToolBox,QToolTip,QTreeView,QTreeWidget,QWidget { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - background-color: #e6e6e6; /* set with default background color */ -} - -QMdiArea[showImage="true"] { - background-image: url(qss:images/background_freecad.png); - background-position: center; - background-repeat: no-repeat; -} - -QProgressBar, -QProgressBar:horizontal { - background: #d3d1cd; - border: 1px solid #b6b6b6; - text-align: center; - padding: 1px; - border-radius: 4px; -} -QProgressBar::chunk, -QProgressBar::chunk:horizontal { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); - border-radius: 3px; -} - -QToolTip { - background-color: #828282; - color: black; - padding: 4px; - border-radius: 4px; - /*opacity: 200;*/ -} - -QWidget { - color: #828282; - background-color: #e6e6e6; - background-clip: border; - border-image: none; - outline: 0; -} - -QWidget:focus { - border: 1px solid #828282; -} - -QWidget:disabled { - color: #f5f5f5; - background-color: #828282; /* same as QMenu background-color */ -} - -QMenuBar { - color: #ffffff; - background-color: #e0e0e0; -} - -QMenuBar::item { - background-color: #e0e0e0; -} - -QMenuBar::item:selected { - color: #9d7106; - border: 1px solid #f8bf36; - background-color: #f8bf36; -} - -QMenuBar::item:pressed { - color: #9d7106; - border: 1px solid #fad57a; - background-color: #fad57a; - margin-bottom:-1px; - padding-bottom:1px; -} - -QMenu { - color: #ffffff; - background-color: #828282; - margin: 2px; - border: 1px solid transparent; -} - -QMenu::icon { - margin: 5px; - border-style: none; -} - -QMenu::right-arrow { - image:url(qss:images/right_arrow_light.png); -} - -QMenu::item { - color: #ffffff; - background-color: #828282; - padding: 2px 30px 2px 30px; - border: 1px solid #828282; /* reserve space for selection border */ -} - -QMenu::item:selected { - color: #9d7106; - background-color: #fad57a; -} - -QMenu::separator { - height: 1px; - background-color: #b6b6b6; - margin-top: 2px; - margin-bottom: 2px; - margin-left: 6px; - margin-right: 6px; -} - -QMenu::indicator:non-exclusive { - color: #ffffff; - background-color: #f5f5f5; - border: 1px solid #828282; - width: 11px; - height: 11px; - border-radius:2px; -} - -QMenu::indicator:non-exclusive:checked { - background-color: #e0a108; - border: 1px solid #9d7106; - image:url(qss:images/checkbox_light.png); -} - -QGroupBox { - color: #828282; - font-weight: bold; - border:1px solid blue; - border-radius: 4px; - margin-top: 20px; - border-color: rgba(0, 0, 0, 20); /* lighter than "QGroupBox" border-color */ - background-color: rgba(255, 255, 255, 15); -} - - - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - padding-left: 10px; - padding-right: 10px; - padding-top: 10px; - background-color: transparent; -} - -QAbstractScrollArea { - border-radius: 2px; - border: 1px solid #3A3939; - background-color: transparent; -} - -QAbstractScrollArea::corner { - border: none; - background-color: #e6e6e6; -} - -QScrollBar:horizontal { - height: 15px; - margin: 3px 15px 3px 15px; - border: 1px transparent #828282; - border-radius: 4px; - background-color: #828282; -} - -QScrollBar::handle:horizontal { - background-color: #b6b6b6; - min-width: 5px; - border-radius: 4px; -} - -QScrollBar::add-line:horizontal { - margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/right_arrow_light.png); - width: 6px; - height: 10px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/left_arrow_light.png); - height: 10px; - width: 6px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images/right_arrow_lighter.png); -} - - -QScrollBar::sub-line:horizontal:hover, -QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images/left_arrow_lighter.png); -} - -QScrollBar::up-arrow:horizontal, -QScrollBar::down-arrow:horizontal { - background: none; -} - - -QScrollBar::add-page:horizontal, -QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar:vertical { - background-color: #828282; - width: 15px; - margin: 15px 3px 15px 3px; - border: 1px transparent #828282; - border-radius: 4px; -} - -QScrollBar::handle:vertical { - background-color: #b6b6b6; - min-height: 5px; - border-radius: 4px; -} - -QScrollBar::sub-line:vertical { - margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/up_arrow_light.png); - height: 6px; - width: 10px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ - border-image: url(qss:images/down_arrow_light.png); - height: 6px; - width: 10px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, -QScrollBar::sub-line:vertical:on { - border-image: url(qss:images/up_arrow_lighter.png); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images/down_arrow_lighter.png); -} - -QScrollBar::up-arrow:vertical, -QScrollBar::down-arrow:vertical { - background: none; -} - - -QScrollBar::add-page:vertical, -QScrollBar::sub-page:vertical { - background: none; -} - -QTextEdit { - color: #828282; - background-color: #d3d1cd; - border: 1px solid #b6b6b6; - padding: 0px; - margin: 0px; -} - -QPlainTextEdit { - color: #828282; - background-color: #d3d1cd; - border-radius: 2px; - border: 1px solid #b6b6b6; - padding: 0px; - margin: 0px; -} - -QSizeGrip { - image: url(qss:images/sizegrip_light.png); - width: 16px; - height: 16px; - background-color: transparent; -} - -QRadioButton::indicator:unchecked{ - color: #828282; - background-color: #f5f5f5; - border: 1px solid #828282; -} - -QRadioButton::indicator:checked { - background-color: #e0a108; - border: 1px solid #9d7106; - image:url(qss:images/radiobutton_light.png); -} - -QCheckBox, -QRadioButton, -QCheckBox:disabled, -QRadioButton:disabled { - color: #828282; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: #ffffff; - background-color: #f5f5f5; - border: 1px solid #828282; -} - -QCheckBox::indicator { - width: 11px; - height: 11px; - border-radius:2px; -} - -QRadioButton::indicator { - width: 11px; - height: 11px; - border-radius: 6px; -} - -QRadioButton::indicator:pressed, -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed { - border-color: #fce6b1; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #e0a108; - border: 1px solid #9d7106; - image:url(qss:images/checkbox_light.png); -} - -QCheckBox::indicator:disabled, -QRadioButton::indicator:disabled { - border: 1px solid #b6b6b6; -} - -QCheckBox:disabled, -QRadioButton::indicator:disabled { - color: #b6b6b6; - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled, -QMenu::indicator:non-exclusive:disabled { - background-color: #e6e6e6; -} - -QCheckBox::indicator:indeterminate { - background-color: #e0a108; - border: 1px solid #9d7106; - image: url(qss:images/checkbox_indeterminate_light.png); -} - -QCheckBox:focus, -QRadioButton:focus { - border: none; -} - -QFrame, -QFrame:pressed, -QFrame:focus, -QFrame:on { - border: 1px solid #e6e6e6; - border-radius: 3px; - padding: 0px; - /* background-color: transparent; temporal */ -} - -/* border and background of QComboBox drop-down */ -QComboBox QFrame, -QComboBox QFrame:pressed, -QComboBox QFrame:focus, -QComboBox QFrame:on { - border: 1px solid #828282; - background-color: #828282; - padding: 0px; - margin: 0px; -} - -QFrame[frameShape="0"] { - border-radius: 3px; -} - -/* Separator line */ -QFrame[height="1"], -QFrame[height="2"], -QFrame[height="3"], -QFrame[width="1"], -QFrame[width="2"], -QFrame[width="3"] { - border-width: 1px 0px 0px 0px; - border-style: solid; - border-color: #e0e0e0; - background-color: transparent; -} - -QPushButton { - color: #ffffff; - text-align: center; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #b6b6b6, stop:1 #e6e6e6); - border: 1px solid #828282; - padding: 5px 12px 5px 12px; - margin: 4px 8px 4px 8px; - border-radius: 3px; - min-width: 14px; - min-height: 14px; -} - -QPushButton:hover, -QPushButton:focus { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); - border-color: #e0a108; -} - -QPushButton:disabled, -QPushButton:disabled:checked { - color: #b6b6b6; - background-color: #e6e6e6; - border-color: #b6b6b6; -} - -QPushButton:pressed { - background-color: #e0a108; -} - -QPushButton:checked { - background-color: #f8bf36; - border-color: #e0a108; -} - -/* Color Buttons */ -Gui--ColorButton, -Gui--ColorButton:disabled { - border-color: transparent; - background-color: transparent; - /*width: 60px;*/ - height: 24px; - padding: 0px; - margin: 0px; -} - -Gui--ColorButton:hover { - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -/* Buttons inside the toolbar */ -QToolBar QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0e0e0, stop:1 #e6e6e6); - border: 1px solid #b6b6b6; - min-width: 22px; - min-height: 22px; - margin-left: 2px; - margin-right: 2px; - margin-bottom: 3px; /*bigger margin to correctly separate buttons inside a vertical toolbar */ - margin-top: 1px; - padding: 1px; -} - -QToolBar QPushButton:hover, -QToolBar QPushButton:focus { - color: #ffffff; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0e0e0, stop:1 #e6e6e6); - border: 1px solid #828282; -} - -QToolBar QPushButton:disabled, -QToolBar QPushButton:disabled:checked { - background-color: #e6e6e6; - border-color: #e0e0e0; -} - -QToolBar QPushButton:pressed { - background-color: #b6b6b6; - border-color: #b6b6b6; -} - -QToolBar QPushButton:checked { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #f8bf36, stop:1 #fad57a); - border-color: #f8bf36; -} - -QToolBar QPushButton:checked:hover, -QToolBar QPushButton:checked:focus { - color: #ffffff; - border: 1px solid #e0a108; -} - -QToolBar { - border: 1px transparent #393838; - background-color: #e6e6e6; - font-weight: bold; - margin: 0px; - padding: 0px; -} - -QToolBar::handle:horizontal { - background-image: url(qss:images/Hmovetoolbar_dark.png); - width: 10px; - margin: 6px 2px 6px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:vertical { - background-image: url(qss:images/Vmovetoolbar_dark.png); - height: 10px; - margin: 2px 6px 2px 6px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:horizontal { - background-image: url(qss:images/separtoolbar_dark.png); - width: 10px; - margin: 6px 2px 6px 2px; - background-position: center center; - background-repeat: repeat-y; -} - -QToolBar::separator:vertical { - background-image: url(qss:images/separtoolbar_dark.png); - height: 10px; - margin: 2px 6px 2px 6px; - background-position: center center; - background-repeat: repeat-x; -} - -QStackedWidget { - background-color: #e6e6e6; - border: 1px transparent #e6e6e6; -} - -QAbstractSpinBox { - color: #ffffff; - border: 1px solid #b6b6b6; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - background-color: #b6b6b6; - selection-color: black; - selection-background-color: #f8bf36; -} - -QAbstractSpinBox:disabled { - color: #f5f5f5; - background-color: #e0e0e0; - border-color: #e0e0e0; -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #f9ca58, stop:1 #fad57a); - subcontrol-origin: border; - subcontrol-position: top right; - border-top-right-radius: 3px; - width: 20px; -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #f8bf36, stop:1 #f9ca58); - subcontrol-origin: border; - subcontrol-position: bottom right; - border-bottom-right-radius: 3px; - width: 20px; -} - -QAbstractSpinBox:up-button:disabled, -QAbstractSpinBox:down-button:disabled { - background-color: transparent; -} - -QAbstractSpinBox::up-arrow { - image: url(qss:images/up_arrow_light.png); - top: 1px; /* fix simetry between up and down images */ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images/up_arrow_lighter.png); -} - -QAbstractSpinBox::up-arrow:off { - image: url(qss:images/up_arrow_disabled_dark.png); -} - -QAbstractSpinBox::up-arrow:disabled { - image: none; -} - -QAbstractSpinBox::down-arrow { - image: url(qss:images/down_arrow_light.png); - bottom: -1px; /* fix simetry between up and down images */ -} -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images/down_arrow_lighter.png); -} - -QAbstractSpinBox::down-arrow:off { - image: url(qss:images/down_arrow_disabled_dark.png); -} - -QAbstractSpinBox::down-arrow:disabled { - image: none; -} - -QToolBar QAbstractSpinBox { - margin-top: 4px; - margin-bottom: 4px; -} - -QLineEdit { - color: #ffffff; - background-color: #b6b6b6; - selection-color: black; - selection-background-color: #f8bf36; - /* Padding and margin defined */ - border-style: solid; - border: 1px solid #b6b6b6; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - border-radius: 3px; -} - -QAbstractSpinBox:focus, -QLineEdit:focus, -QComboBox:focus { - border-color: #fad57a; -} - -QComboBox { - color: #ffffff; - background-color: #b6b6b6; - selection-color: black; - selection-background-color: #f8bf36; - border: 1px solid #b6b6b6; /* border top color defined after QAbstractSpinBox, QLineEdit and QComboBox */ - border-radius: 3px; -} - -QComboBox:on { - color: black; - background-color: #b6b6b6; - border-color: #fad57a; -} - -QComboBox::drop-down { - subcontrol-origin: margin; - subcontrol-position: top right; - width: 20px; - border-left-width: 1px; - border-left-color: transparent; - border-left-style: solid; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #f8bf36, stop:1 #fad57a); -} - -QComboBox::down-arrow { - image: url(qss:images/down_arrow_light.png); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:hover, -QComboBox::down-arrow:focus { - image: url(qss:images/down_arrow_lighter.png); -} - -QComboBox QAbstractItemView { - color: #ffffff; - background-color: #828282; - border-radius: 3px; - margin: 0px; - padding: 0px; - border: none; -} - -/* Common parameters for QAbstractSpinBox, QLineEdit and QComboBox */ -QSpinBox, -QDoubleSpinBox, -QAbstractSpinBox, -QLineEdit, -QComboBox { - border-top-color: #a2a2a2; /* Creates an inset effect inside the elements */ - padding: 2px 6px 2px 6px; /* This makes text colour work on QComboBox */ - margin: 0px 2px 0px 2px; - min-width: 70px; /* it was 120 because of QCombobox... */ - border-radius: 3px; -} -/* end Common parameters */ - -QAbstractItemView { - color: #828282; - alternate-background-color: #cfcdc9; /* related with QListView background */ - border: 1px solid #828282; - border-radius: 3px; - padding: 0px; -} - -/* hack to deactivate changing background color when focus (due to QFrame generic transparent color) */ -QAbstractItemView:selected, -QAbstractItemView:on, -QAbstractItemView:focus { - background-color: #d3d1cd; /* same as QTable background color */ -} - -/* hack to hide weird redundant information inside the value of a Placement cell */ -QTreeView QLabel, -QTreeView QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QTreeView QLineEdit { - color: #ffffff; - border-color: #b6b6b6; - background-color: #b6b6b6; - selection-color: black; - selection-background-color: #f8bf36; -} - -/* hack to hide non editable cells inside Property values */ -QTreeView QLineEdit:read-only, -QTreeView QLineEdit:disabled, -QTreeView QAbstractSpinBox:read-only, -QTreeView QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; -} - -/* hack to disable margin inside Property values to following elements */ -QTreeView QSpinBox, -QTreeView QDoubleSpinBox, -QTreeView QAbstractSpinBox, -QTreeView QLineEdit, -QTreeView QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; -} - -/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ -QTreeView QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #b6b6b6, stop:1 #e6e6e6); - border-top: none; - border-bottom: none; - border-right: none; - border-left: 1px solid #b6b6b6; - border-radius: 0px; - margin: 0px; - padding: 0px; - height: 24px; -} - -/* Color Buttons inside the "Properties window" */ -QAbstractItemView Gui--ColorButton { - padding: 0px; - margin: 0px; - height: 10px; -} - -QAbstractItemView QPushButton:hover { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); - border-color: #e0a108; -} - -QAbstractItemView QPushButton:disabled { - color: transparent; - background-color: transparent; - border-color: transparent; -} - -QLabel { - border: 0px solid #828282; -} - -QTabWidget{ - border: none; -} - -QTabWidget:focus { - border: none; -} - -QTabWidget::pane { - border: none; - padding: 0px; - background-color: #e6e6e6; - position: absolute; - top: -15px; - padding-top: 15px; -} - -QTabWidget::tab-bar { - alignment: center; -} - -QTabBar { - qproperty-drawBase: 0; - left: 5px; - background-color: transparent; -} - -QTabBar:focus { - border: 0px transparent black; -} - -QTabBar::close-button { - padding: 0px; - margin: 0px; - border-radius: 2px; - background-image: url(qss:images/close_dark.png); - background-position: center center; - background-repeat: none; -} - -QTabBar::close-button:hover { - background-color: #fad57a; -} - -QTabBar::close-button:pressed { - background-color: #fce6b1; -} - -QTabBar::scroller { /* the width of the scroll buttons */ - width: 20px; -} - -/* the scroll buttons are tool buttons */ -QTabBar QToolButton, -QTabBar QToolButton:hover { - margin-top: 4px; - margin-bottom: 4px; - margin-left: 0px; - margin-right: 0px; - padding: 0px; - border: none; - background-color: #e6e6e6; - border-radius: 0px; -} - -QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images/right_arrow_light.png); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images/right_arrow_disabled_dark.png); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images/right_arrow_lighter.png); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images/left_arrow_light.png); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images/left_arrow_disabled_dark.png); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images/left_arrow_lighter.png); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images/up_arrow_light.png); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images/up_arrow_disabled_dark.png); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images/up_arrow_lighter.png); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images/down_arrow_light.png); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images/down_arrow_disabled_dark.png); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images/down_arrow_lighter.png); -} - -/* HORIZONTAL TABS */ -QTabBar::tab:top, -QTabBar::tab:bottom { - color: #ffffff; - border: 1px solid #b6b6b6; - border-left-color: #e6e6e6; - border-right-width: 0px; - border-bottom: 1px solid #a2a2a2; /* shadown effect */ - background-color: #b6b6b6; - padding:5px 15px; - margin-top: 4px; - margin-bottom: 4px; - position: center; -} - -QTabBar::tab:top:first, -QTabBar::tab:bottom:first { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} - -QTabBar::tab:top:last, -QTabBar::tab:bottom:last { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; - border-right-width: 1px; -} - -QTabBar::tab:top:selected, -QTabBar::tab:bottom:selected { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); - border-color: #e0a108; - border-bottom: 1px solid #a2a2a2; /* shadown effect */ -} - -QTabBar::tab:top:!selected:hover, -QTabBar::tab:bottom:!selected:hover { - color: black; -} - -QTabBar::tab:top:only-one , -QTabBar::tab:bottom:only-one { - border: 1px solid #9d7106; - border-radius: 6px; -} - -/* VERTICAL TABS */ -QTabBar::tab:left, -QTabBar::tab:right { - color: #ffffff; - border: 1px solid #b6b6b6; - border-top-color: #e6e6e6; - border-bottom-width: 0px; - border-right: 1px solid #a2a2a2; /* shadown effect */ - background-color: #b6b6b6; - padding: 15px 5px; - margin-left: 4px; - margin-right: 4px; - position: center; -} - -QTabBar::tab:left:first, -QTabBar::tab:right:first { - border-top-left-radius: 6px; - border-top-right-radius: 6px; -} - -QTabBar::tab:left:last, -QTabBar::tab:right:last { - border-bottom-left-radius: 6px; - border-bottom-right-radius: 6px; - border-bottom-width: 1px; -} - -QTabBar::tab:left:selected, -QTabBar::tab:right:selected { - color: black; - background-color: qlineargradient(spread:pad, x1:0.545, y1:1, x2:0, y2:1, stop:0 #e0a108, stop:1 #f8bf36); - border-color: #e0a108; - border-right: 1px solid #a2a2a2; /* shadown effect */ -} - -QTabBar::tab:left:!selected:hover, -QTabBar::tab:right:!selected:hover { - color: black; -} - -QTabBar::tab:left:only-one , -QTabBar::tab:right:only-one { - border: 1px solid #9d7106; - border-radius: 6px; -} - -QDockWidget { - color: #828282; - border: 1px solid #e6e6e6; - titlebar-close-icon: url(qss:images/close_dark.png); - titlebar-normal-icon: url(qss:images/undock_dark.png); -} - -QDockWidget::title { - text-align: center; - background-color: #e0e0e0; - padding: 4px; - border-radius: 4px; -} - -QDockWidget::close-button, -QDockWidget::float-button { - border: 1px transparent #e6e6e6; - border-radius: 2px; - background: transparent; - subcontrol-origin: padding; - subcontrol-position: right center; -} - -QDockWidget::close-button { - right: 4px; -} - -QDockWidget::float-button { - right: 22px; -} - -QDockWidget::close-button:hover, -QDockWidget::float-button:hover { - background: #f5f5f5; -} - -QDockWidget::close-button:pressed, -QDockWidget::float-button:pressed { - /*padding: 1px -1px -1px 1px;*/ - background-color: #e0e0e0; -} - -QTreeView, -QListView { - color: #828282; - border: 1px solid #e6e6e6; - border-radius: 4px; - background-color: #d3d1cd; /* related with alternate-background-color*/ - selection-color: black; - selection-background-color: #f8bf36; /* should be similar to QListView::item selected background-color */ - show-decoration-selected: 1; /* make the selection span the entire width of the view */ - padding: 0px; - margin: 0px 4px 0px 4px; - min-width: 130px; /* hack to correctly align Preferences icon list */ -} - -QListView, -QListView::item, -QListView QAbstractItemView { - margin: 0px; - icon-size: 20px; /* temporal */ - paint-alternating-row-colors-for-empty-area: 1; - position: absolute; - subcontrol-origin: margin; - subcontrol-position: left top; -} - -/* Control dropdown list margins of QComboBox */ -QComboBox QTreeView, -QComboBox QListView { - margin: 0px; - padding: 0px; -} - -QListView::item { - border: 0px transparent #e6e6e6; - border-radius: 4px; - background-color: transparent; - padding: 0px; - margin: 0px; - display: inline-block; - position: relative; -} - -QListView::item:selected, -QTreeView::item:selected { - color: black; - background-color: #f8bf36; /* should be similar to QListView selection-background-color */ -} - -/* Branch system */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images/branch_vline.png) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images/branch_more.png) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images/branch_end.png) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - image: url(qss:images/branch_closed_dark.png); -} - -QTreeView::branch:has-children:!has-siblings:closed { - image: url(qss:images/branch_closed_dark.png); - border-image: url(qss:images/branch_end.png) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - image: url(qss:images/branch_open_dark.png); - border-image: url(qss:images/branch_more.png) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - image: url(qss:images/branch_open_dark.png); - border-image: url(qss:images/branch_end.png) 0; -} - -QSlider, -QSlider:active, -QSlider:!active { - border: none; - background-color: transparent; -} - -QSlider:horizontal { - padding: 0px 10px; -} - -QSlider:vertical { - padding: 10px 0px; -} - -QSlider::groove:horizontal { - border: 1px solid #b6b6b6; - background-color: #b6b6b6; - height: 8px; - border-radius: 5px; - margin: 4px 0; -} - -QSlider::groove:vertical { - border: 1px solid #b6b6b6; - background-color: #b6b6b6; - width: 8px; - border-radius: 5px; - margin: 4px 0; -} - -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #828282; - border: 1px solid #828282; - width: 14px; - height: 14px; - border-radius: 8px; -} - -QSlider::handle:horizontal { - margin: -4px 0; -} - -QSlider::handle:vertical { - margin: 0 -4px; -} - -QSlider::handle:horizontal:hover, -QSlider::handle:vertical:hover { - border-color: #e0a108; - background-color: #e0a108; -} - -QSlider::handle:horizontal:pressed, -QSlider::handle:vertical:pressed { - border-color: #9d7106; - background-color: #9d7106; -} - -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #b6b6b6; - background-color: #e6e6e6; -} - -QToolButton { - color: #ffffff; - text-align: center; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #b6b6b6, stop:1 #e6e6e6); - border: 1px solid #828282; - padding-top: 5px; - padding-bottom: 5px; - padding-left: 15px; - padding-right: 15px; - margin-top: 5px; - margin-bottom: 5px; - margin-left: 10px; - margin-right: 10px; - border-radius: 3px; - outline: none; - /*min-width: 36px;*/ -} - -QToolButton:hover, -QToolButton:focus { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); - border-color: #e0a108; -} - -QToolButton:disabled, -QToolButton:disabled:checked { - color: #b6b6b6; - background-color: #e6e6e6; - border-color: #b6b6b6; -} - -QToolButton:pressed { - border-color: #fad57a; -} - -QToolButton:checked { - background-color: #f8bf36; - border-color: #e0a108; -} - -QToolButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: center right; - right: 4px; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" */ -QToolButton#qt_toolbar_ext_button { - border-radius: 0px; - margin: 0px; - padding: 0px; - /*background-image: url(qss:images/more_dark.png);*/ - image: transparent; - background-repeat: none; - background-position: center left; -} - -QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images/more_light.png);*/ - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images/more_light.png);*/ - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -/*Buttons inside the Toolbar*/ -QToolBar QToolButton { - color: #828282; - background-color: #e6e6e6; - border: 1px transparent #e6e6e6; - border-radius: 3px; - margin: 0px; - padding: 2px; -} - -QToolBar QToolButton:disabled { - background-color: #e6e6e6; -} - -QToolBar QToolButton:checked { - color: #9d7106; - background-color: #f8bf36; - border: 1px solid #f8bf36; -} - -QToolBar QToolButton:hover { - background-color: #e6e6e6; -} - -QToolBar QToolButton:pressed, -QToolBar QToolButton::menu-button:pressed { - background-color: #e0e0e0; - border: 1px solid #e0e0e0; -} - - -QToolBar QToolButton::menu-indicator:hover, -QToolBar QToolButton::menu-indicator:pressed { - background-color: transparent; -} - -/* the subcontrols below are used only in the MenuButtonPopup mode */ -QToolBar QToolButton::menu-button { - border: none; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; -} - -QToolBar QToolButton::menu-button:hover, -QToolBar QToolButton::menu-button:active, -QToolBar QToolButton::menu-button:disabled { - border-color: transparent; - background-color: transparent; -} - -QToolBar QToolButton::menu-arrow { - background-image: url(qss:images/down_arrow_light.png); - background-position: center center; - background-repeat: none; - subcontrol-origin: padding; - subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ -} - -QToolBar QToolButton::menu-arrow:open { - background-image: url(qss:images/down_arrow_lighter.png); -} - -/* If the QToolButton is also a menu: */ -QToolBar QToolButton#qt_toolbutton_menubutton { - padding-right: 20px; - border: 1px solid transparent; -} - -QToolBar QToolButton#qt_toolbutton_menubutton:hover, -QToolBar QToolButton#qt_toolbutton_menubutton:pressed, -QToolBar QToolButton#qt_toolbutton_menubutton:open { - border: 1px solid #fad57a; -} - -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button { - border: none; /* necessary because it inherits the border from QToolButton#qt_toolbutton_menubutton */ -} - -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:hover, -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:pressed, -QToolBar QToolButton#qt_toolbutton_menubutton::menu-button:open { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #f8bf36, stop:1 #fad57a); -} - -QToolBar:tear { - color: blue; - background-color: red; -} - -QTableView { - color: #828282; - border: 1px solid #b6b6b6; - gridline-color: #f5f5f5; - background-color: #d3d1cd; - selection-color: #828282; - selection-background-color: #fce6b1; - border-radius: 3px; - padding: 0px; - margin: 0px; -} - -QTableView::item:hover { - background: #cbc9c4; -} - -QTableView::item:disabled { - color: #e6e6e6; -} - -QTableView::item:selected { - color: #9d7106; - background-color: #fad57a; -} - -/* when editing a cell: */ -QTableView QLineEdit { - color: #828282; - background-color: #cfcdc9; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QHeaderView { - border: none; - background-color: #828282; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - margin: 0px; - padding: 0px; -} - -QHeaderView::section { - background-color: transparent; - color: #ffffff; - border: 1px solid transparent; - border-radius: 0px; - text-align: center; -} - -QHeaderView::section::vertical { - padding: 0px 6px 0px 6px; - border-bottom: 1px solid #b6b6b6; -} - -QHeaderView::section::vertical:first { - border-top: 1px solid #b6b6b6; -} - -QHeaderView::section::vertical:last { - border-bottom: none; -} - -QHeaderView::section::vertical:only-one { - border: none; -} - -QHeaderView::section::horizontal { - padding: 0px 0px 0px 6px; - border-right: 1px solid #b6b6b6; -} - -QHeaderView::section::horizontal:first { - border-left: 1px solid #b6b6b6; -} - -QHeaderView::section::horizontal:last { - border-left: none; -} - -QHeaderView::section::horizontal:only-one { - border: none; -} - -QDockWidget QHeaderView::section { - border-width: 6px 1px 6px 1px; /* hack to bigger margin for Model Panel table headers */ -} - -QHeaderView::section:checked { - color: #9d7106; - background-color: #fad57a; -} - - /* style the sort indicator */ -QHeaderView::down-arrow { - image: url(qss:images/down_arrow_light.png); -} - -QHeaderView::up-arrow { - image: url(qss:images/up_arrow_light.png); -} - -QTableCornerButton::section { - background-color: #828282; - border: 1px solid #828282; - border-radius: 0px; -} - -QToolBox { - padding: 3px; - color: #9d7106; - border: none; -} - -QToolBox::tab { /* TODO */ - color: #ffffff; - background-color: #b6b6b6; - border: 1px transparent #828282; - border-bottom: 1px transparent #b6b6b6; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - padding: 5px; -} - -QToolBox::tab:selected { /* italicize selected tabs */ - color: #9d7106; - font: italic; - background-color: #f8bf36; - border-color: #f8bf36; - } - -QStatusBar::item { - color: #ffffff; - background-color: #e6e6e6; - border: 1px solid #e6e6e6; - border-radius: 2px; -} - - -QSplitter::handle { - background-color: #e6e6e6; - margin: 0px 11px; - padding: 0px; - border-radius: 3px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images/splitter_horizontal_dark.png); - background-position: center center; - background-repeat: none; - margin: 2px 10px 2px 10px; - height: 2px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images/splitter_horizontal_dark.png); - background-position: center center; - background-repeat: none; - margin: 10px 2px 10px 2px; - width: 2px; -} - -QSplitter::handle:horizontal:hover, -QSplitter::handle:vertical:hover { - background-color: #e6e6e6; -} - -/* Similar to the splitter is the following window separator: */ -QMainWindow::separator { - border: 1px solid #e6e6e6; - background-color: #e6e6e6; - background-position: center center; - background-repeat: none; -} - -QMainWindow::separator:hover { - background-color: #e6e6e6; -} - -QMainWindow::separator:horizontal { - height: 4px; - background-image: url(qss:images/splitter_horizontal_dark.png); -} - -QMainWindow::separator:vertical { - width: 4px; - background-image: url(qss:images/splitter_vertical_dark.png); -} - -QLabel { - padding-top: 3px; - padding-bottom: 3px; - background-color: transparent; -} - -QLabel:disabled { - color: #b6b6b6; - background-color: transparent; -} - -/* Action group */ -QFrame[class="panel"] { - border: none; - background-color: #e6e6e6; -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { - border-color: #f5f5f5; -} - -QSint--ActionGroup QFrame[class="header"] { - border: none; - background-color: #828282; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); -} - -QSint--ActionGroup QToolButton[class="header"] { - text-align: left; - font-weight: bold; - color: #ffffff; - background-color: transparent; - border: none; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QToolButton[class="header"]:hover { - color: black; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { - background-color: transparent; - background-image: url(qss:images/down_arrow_light.png); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { - background-color: transparent; - background-image: url(qss:images/down_arrow_lighter.png); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images/up_arrow_light.png); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { - background-color: transparent; - background-image: url(qss:images/up_arrow_lighter.png); -} - -QSint--ActionGroup QFrame[class="content"] { - background-color: #d3d1cd; - margin: 0px; - padding: 0px; - border: none; - border-top-left-radius: 0px; - border-top-right-radius: 0px; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} - -/* HACK -This might not be the best way to reset the background color: */ -QSint--ActionGroup QFrame[class="content"] QWidget { - background-color: #d3d1cd; -} - -QSint--ActionGroup QFrame[class="content"] QPushButton { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #b6b6b6, stop:1 #e6e6e6); -} - -QSint--ActionGroup QFrame[class="content"] QPushButton:hover, -QSint--ActionGroup QFrame[class="content"] QPushButton:focus { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); -} - -QSint--ActionGroup QFrame[class="content"] QPushButton:disabled, -QSint--ActionGroup QFrame[class="content"] QPushButton:disabled:checked { - color: #d3d1cd; - border-color: #f5f5f5; - background-color: #f5f5f5; -} -QSint--ActionGroup QFrame[class="content"] QPushButton:checked { - background-color: #f8bf36; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox { - background-color: #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox:on { - background-color: #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox QAbstractItemView { - border-color: #828282; - background-color: #828282; -} - -QSint--ActionGroup QFrame[class="content"] QListView { - border-color: #cbc9c4; - background-color: #cbc9c4; -} - -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox { - background-color: #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QLineEdit { - background-color: #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox:disabled, -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox:disabled, -QSint--ActionGroup QFrame[class="content"] QLineEdit:disabled { - color: #d3d1cd; - border-color: #f5f5f5; - background-color: #f5f5f5; -} - -QSint--ActionGroup QFrame[class="content"] QCheckBox:disabled, -QSint--ActionGroup QFrame[class="content"] QRadioButton:disabled { - color: #f5f5f5; - border-color: #f5f5f5; -} - -QSint--ActionGroup QFrame[class="content"] QCheckBox::indicator:disabled, -QSint--ActionGroup QFrame[class="content"] QRadioButton::indicator:disabled { - border-color: #f5f5f5; - background-color: transparent; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView { - border: none; - background-color: #828282; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section { - background-color: transparent; - color: #ffffff; - border: 1px solid transparent; - border-radius: 0px; - text-align: center; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal { - padding: 6px 0px 6px 6px; - border-right: 1px solid #b6b6b6; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:first { - border-left: 1px solid #e6e6e6; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:last { - border-left: none; -} - -QSint--ActionGroup QFrame[class="content"] QHeaderView::section::horizontal:only-one { - border: none; -} -/* enf of HACK */ - - -QSint--ActionGroup QToolButton[class="action"], -QSint--ActionGroup QToolButton[class="action"]:enabled { - font-weight: bold; - color: #b6b6b6; -} - -QSint--ActionGroup QToolButton[class="action"]:hover, -QSint--ActionGroup QToolButton[class="action"]:enabled:hover { - text-decoration: none; - color: #828282; - background-color: #cbc9c4; - border-color: #cbc9c4; -} - -QSint--ActionGroup QToolButton[class="action"]:disabled { - color: #e6e6e6; - background-color: #cbc9c4; - border-color: #cbc9c4; -} - -QSint--ActionGroup QToolButton[class="action"]:focus, -QSint--ActionGroup QToolButton[class="action"]:pressed -QSint--ActionGroup QToolButton[class="action"]:enabled:focus, -QSint--ActionGroup QToolButton[class="action"]:enabled:pressed { - color: black; - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #e0a108, stop:1 #f8bf36); - border-color: #e0a108; -} - -QSint--ActionGroup QToolButton[class="action"]:on { - background-color: red; - color: red; -} - - -/* EXPERIMENTAL -================================================= */ -QDial { - background-color: #e6e6e6; -} - -QLCDNumber { - background-color: #e6e6e6; -} - -QCalendarWidget { - background-color: green; -} - -/* Expressions popup dialog fixes to embed elements */ -QAbstractSpinBox QPushButton { - padding: 0px 15px 0px 15px; - margin: 2px 10px 2px 10px; - border: 1px solid #828282; - border-radius: 3px; -} -QAbstractSpinBox QPushButton:disabled { - color: #f5f5f5; - background-color: #e6e6e6; - border-color: #e6e6e6; -} - -QAbstractSpinBox QFrame, -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox QFrame { - color: #fce6b1; - background-color: #b6b6b6; - border-color: #b6b6b6; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="content"] QAbstractSpinBox QPushButton { - padding: 6px 15px 6px 15px; -} \ No newline at end of file +/* +ABOUT +============================================================================================================ +version 2.0 +QT theme (stylesheet) specially developed for FreeCAD (http://www.freecadweb.org/). +It might work with other software that uses QT styling. + + +LICENSE +============================================================================================================ +Copyright (c) 2016 Pablo Gil Fernández + +This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. +To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. + + +INSTALLATION +============================================================================================================ +1) Place the .qss files and /images/ folder in the path that fits your OS: + OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ + WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ + LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ + +2) In order to display correctly images: + 2.1) FreeCAD 0.16 (development builds newer than commit 5b3d50a): that's it, you are done! + + 2.2) FreeCAD 0.15: Images used in the theme need ABSOLUTE paths to be found by FreeCAD, so you should search the string "qss:images" (without "") and replace with the real path of your computer. It should be done with all the .qss files you want to install-use + find = qss:images + replace = /Users/myName/Library/Preferences/FreeCAD/Gui/Stylesheets/images + + +CUSTOMIZATION +============================================================================================================ +If you would like to change the overall look/style of the theme, just find and replace following colors in the whole file: + BACKGROUND (darker to ligher) + black + #505050 + #6e6e6e + #828282 + #a2a2a0 + #b6b6b6 + #c8c8c8 + #c3c3c3 + #d2d2d2 + #dcdcdc + #e0e0e0 + #e6e6e6 + #f0f0f0 + #f5f5f5 = main background color + white + + SELECTION (darker to lighter) + #624b14 + #b28416 + #d0970c + #daa116 = main selection color + #e2ac2a = used to build QSpinBox up and down buttons, it's used as color in the middle + #e3b64d + #e0c992 + #e3d8b9 + + +KNOWN BUGS and TO DO +============================================================================================================ + - please, follow the link to get updated information: http://forum.freecadweb.org/viewtopic.php?f=10&t=12417 +*/ + + +/*================================================================================================== +Reset elements +==================================================================================================*/ +/* Reseting everything helps to unify styles across different operating systems */ +* { + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; +} + +/* specific reset for elements inside QToolBar */ +QToolBar * { + margin: 0px; + padding: 0px; +} + + +/*================================================================================================== +Main window +==================================================================================================*/ +QMainWindow, +QDialog, +QToolBar { + background-color: #f5f5f5; /* main background color */ +} + +QMdiArea[showImage="true"] { + background-image: url(qss:images/background_freecad.png); + background-position: center; + background-repeat: no-repeat; +} + + +/*================================================================================================== +MENUS +==================================================================================================*/ +QMenuBar, +QMenuBar::item { + color: black; + background-color: #f5f5f5; /* main background color */ +} + +QMenu, +QMenu::item { + color: black; + background-color: #f5f5f5; /* main background color */ +} + +QMenuBar::item:selected, +QMenuBar::item:pressed, +QMenu::item:selected, +QMenu::item:pressed { + color: white; + background-color: #daa116; +} + +QMenu::right-arrow { + width: 10px; + height: 10px; + image:url(qss:images/right_arrow_dark.png); + margin-right: 2px; +} + +QMenu::right-arrow:selected { + image:url(qss:images/right_arrow_lighter.png); +} + +QMenu::item { + padding: 2px 16px 2px 26px; /* make room for icon at left */ + border: 1px solid transparent; /* reserve space for selection border */ +} + +QMenu::icon { + margin-left: 2px; +} + +QMenu::separator { + height: 1px; + background-color: rgba(0,0,0,30); + margin: 6px 4px; +} + +QMenu::indicator:non-exclusive:checked { + color: white; +} + + +/*================================================================================================== +Tool bar +==================================================================================================*/ +QToolBar { + border: none; + min-width: 32px; /* allows a minimum of space between QToolBar colums */ + min-height: 32px; /* allows a minimum of space between QToolBar rows */ +} + +QToolBar::handle:horizontal { + background-image: url(qss:images/Hmovetoolbar_dark.png); + width: 10px; + margin: 6px 2px 6px 2px; + background-position: top right; + background-repeat: repeat-y; +} + +QToolBar::handle:vertical { + background-image: url(qss:images/Vmovetoolbar_dark.png); + height: 10px; + margin: 2px 6px 2px 6px; + background-position: left bottom; + background-repeat: repeat-x; +} + +QToolBar::separator:horizontal { + background-image: url(qss:images/separtoolbar_dark.png); + width: 10px; + margin: 6px 2px 6px 2px; + background-position: center center; + background-repeat: repeat-y; +} + +QToolBar::separator:vertical { + background-image: url(qss:images/separtoolbar_dark.png); + height: 10px; + margin: 2px 6px 2px 6px; + background-position: center center; + background-repeat: repeat-x; +} + + +/*================================================================================================== +Group box +==================================================================================================*/ +QGroupBox { + color: rgba(0,0,0,120); + border:1px solid rgba(0, 0, 0, 20); /* lighter than its own border-color */; + border-radius: 3px; + margin-top: 10px; + padding: 6px; + background-color: rgba(255, 255, 255, 15); +} + +QGroupBox:title { + top: -8px; + left: 12px; +} + + +/*================================================================================================== +Tooltip +==================================================================================================*/ +QToolTip { + color: white; + background-color: #828282; + /*opacity: 90%; doesn't correctly work */ + padding: 4px; + border-radius: 3px; /* has no effect */ +} + + +/*================================================================================================== +Dock widget +==================================================================================================*/ +QDockWidget { + color: rgba(0,0,0,120); + titlebar-close-icon: url(qss:images/close_dark.png); + titlebar-normal-icon: url(qss:images/undock_dark.png); +} + +QDockWidget::title { + text-align: center; + background-color: rgba(0,0,0,10); + border: 4px solid #f5f5f5; /* fix to simulate margin between this :title and tabs */ /* same as main background color */ + border-radius: 6px; /* bigger than normal due to previous border fix */ + padding: 4px 0px; /* also needed because of previous border fix */ +} + +QDockWidget::close-button, +QDockWidget::float-button { + border: none; + background: transparent; + border-radius: 3px; + subcontrol-origin: padding; + subcontrol-position: right center; +} + +QDockWidget::close-button { + right: 4px; +} + +QDockWidget::float-button { + right: 22px; +} + +QDockWidget::close-button:hover, +QDockWidget::float-button:hover { + background-color: rgba(0,0,0,15); +} + +QDockWidget::close-button:pressed, +QDockWidget::float-button:pressed { + background-color: rgba(0,0,0,30); +} + +/* fix for Python Console (probably there is a smarter way to arrive to it) */ +QDockWidget > QFrame { + background-color: #f0f0f0; + border: 1px solid #c3c3c3; +} + + +/*================================================================================================== +Progress bar +==================================================================================================*/ +QProgressBar, +QProgressBar:horizontal { + color: white; + background-color: rgba(0,0,0,10); + text-align: center; + border: 1px solid rgba(0,0,0,80); + padding: 1px; + border-radius: 3px; +} +QProgressBar::chunk, +QProgressBar::chunk:horizontal { + background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #daa116, stop:1 #d0970c); + border-radius: 3px; +} + + +/*================================================================================================== +Scroll +==================================================================================================*/ +QAbstractScrollArea { + border-radius: 2px; + background-color: transparent; +} + +QAbstractScrollArea::corner { + border: none; + background-color: transparent; +} + +QScrollBar:horizontal { + background-color: transparent; + height: 15px; + margin: 0px; +} + +QScrollBar::handle:vertical, +QScrollBar::handle:horizontal { + background-color: rgba(0,0,0,100); +} + +QScrollBar::handle:vertical:hover, +QScrollBar::handle:horizontal:hover { + background-color: #a2a2a0; +} + +QScrollBar::handle:horizontal { + min-width: 5px; + border-radius: 3px; + margin: 4px 15px; +} + +QScrollBar::sub-line:horizontal { + margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/left_arrow_dark.png); + width: 6px; + height: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal { + margin: 1px 3px 0px 3px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/right_arrow_dark.png); + width: 6px; + height: 10px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, +QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images/left_arrow_darker.png); +} + +QScrollBar::add-line:horizontal:hover, +QScrollBar::add-line:horizontal:on { + border-image: url(qss:images/right_arrow_darker.png); +} + +QScrollBar::up-arrow:horizontal, +QScrollBar::down-arrow:horizontal { + background-color: none; +} + +QScrollBar::add-page:horizontal, +QScrollBar::sub-page:horizontal { + background-color: transparent; +} + +QScrollBar:vertical { + background-color: transparent; + width: 15px; + margin: 0px; +} + +QScrollBar::handle:vertical { + min-height: 5px; + border-radius: 3px; + margin: 15px 4px; +} + +QScrollBar::sub-line:vertical { + margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/up_arrow_dark.png); + height: 6px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + margin: 3px 0px 3px 1px; /* 1px to correctly fit the 10px width image */ + border-image: url(qss:images/down_arrow_dark.png); + height: 6px; + width: 10px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, +QScrollBar::sub-line:vertical:on { + border-image: url(qss:images/up_arrow_darker.png); +} + +QScrollBar::add-line:vertical:hover, +QScrollBar::add-line:vertical:on { + border-image: url(qss:images/down_arrow_darker.png); +} + +QScrollBar::up-arrow:vertical, +QScrollBar::down-arrow:vertical { + background-color: none; +} + +QScrollBar::add-page:vertical, +QScrollBar::sub-page:vertical { + background-color: transparent; +} + + +/*================================================================================================== +Tab bar +==================================================================================================*/ +QTabWidget::pane { + background-color: transparent; /* temporal (transparent background) */ /* tab content background color */ + position: absolute; +} + +QTabWidget::pane:top { + top: -1px; + border-top: 1px solid #d2d2d2; +} + +QTabWidget::pane:bottom { + bottom: -1px; + border-bottom: 1px solid #d2d2d2; +} + +QTabWidget::pane:left { + right: -1px; + border-right: 1px solid #d2d2d2; +} + +QTabWidget::pane:right { + left: -1px; + border-left: 1px solid #d2d2d2; +} + +QTabWidget::tab-bar:top, +QTabWidget::tab-bar:bottom { + left: 10px; +} + +QTabWidget::tab-bar:left, +QTabWidget::tab-bar:right { + top: 10px; +} + +QTabBar { + qproperty-drawBase: 0; /* important */ + background-color: transparent; +} + +/* Workaround for QTabBars created from docked QDockWidgets which don't draw the border if not set and reseted as follows: */ +QTabBar { + border-top: 1px solid #d2d2d2; /* set color for all QTabBars */ +} +QDockWidget QTabBar { + border-color: transparent; /* set color for all QTabBars but ones created from QDockWidget */ +} +QDialog QTabBar { + border-color: transparent; /* set color for QTabBars inside Preferences dialog */ +} +/* end fix */ + +QTabBar::tab { + background-color: transparent; + border: 1px solid transparent; + padding: 3px; +} + +QTabBar::tab:top, +QTabBar::tab:bottom { + border-top-width: 4px; /* same as selected tab colored border in order to center close-button */ + border-bottom-width: 4px; /* same as selected tab colored border in order to center close-button */ + min-width: 11ex; + margin-left: 2px; + margin-right: 2px; +} + +QTabBar::tab:left, +QTabBar::tab:right { + border-left-width: 4px; /* same as selected tab colored border in order to center close-button */ + border-right-width: 4px; /* same as selected tab colored border in order to center close-button */ + min-height: 14ex; + margin-top: 2px; + margin-bottom: 2px; +} + +QTabBar::tab:selected { + background-color: transparent; /* temporal (transparent background) */ + border-color: #d2d2d2; +} + +QTabBar::tab:top:selected { + border-top: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); /* selection color */ + border-bottom-color: #f5f5f5; /* same as tab content background color */ +} + +QTabBar::tab:bottom:selected { + border-bottom: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); /* selection color */ + border-top-color: #f5f5f5; /* same as tab content background color */ +} + +QTabBar::tab:right:selected { + border-left: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #daa116, stop:1 #d0970c); /* selection color */ + border-right-color: #f5f5f5; /* same as tab content background color */ +} + +QTabBar::tab:left:selected { + border-right: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #daa116, stop:1 #d0970c); /* selection color */ + border-left-color: #f5f5f5; /* same as tab content background color */ +} + +QTabBar::tab:!selected { + color: rgba(0,0,0,160); +} + +QTabBar::tab:!selected:hover { + color: rgba(0,0,0,220); + background-color: rgba(0,0,0,20); +} + +QTabBar::tab:first:selected { + margin-left: 0; /* the first selected tab has nothing to overlap with on the left */ +} + +QTabBar::tab:last:selected { + margin-right: 0; /* the last selected tab has nothing to overlap with on the right */ +} + +QTabBar::tab:only-one { + margin: 0; /* if there is only one tab, we don't want overlapping margins */ +} + +/* hack to access Preference TabBar background */ +QDialog#Gui__Dialog__DlgPreferences > QFrame QFrame { + background-color: transparent; /* main background color (in Windows is #f5f5f5) */ +} + +/* fix for previous hack that broke QTabWidget background on Windows */ +QDialog#Gui__Dialog__DlgPreferences QTabWidget::pane { + background-color: transparent; /* temporal (transparent background) */ +} + +/* hack to correctly align Preferences icon list on OSX */ +QDialog#Gui__Dialog__DlgPreferences > QListView { + min-width: 130px; +} + +/* unique styles for sections inside Preferences */ +QDialog#Gui__Dialog__DlgPreferences > QListView::item { + border-radius: 4px; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { + background-color: #e3d8b9; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { + color: #624b14; + background-color: #e3d8b9; + border: 1px solid #e3b64d; +} + + +/*================================================================================================== +Tab bar buttons +==================================================================================================*/ +/* Close button */ +QTabBar::close-button { + subcontrol-origin: margin; + subcontrol-position: center right; /* only works for QT 4.6 and newer */; + border-radius: 2px; + background-image: url(qss:images/close_dark.png); + background-position: center center; + background-repeat: none; +} + +QTabBar::close-button:hover { + background-color: rgba(0,0,0,20); +} + +QTabBar::close-button:pressed { + background-color: rgba(0,0,0,30); +} + +/* Fix for lists inside Model tab */ +QDockWidget QTreeView, +QDockWidget QListView, +QDockWidget QTableView { + margin: 6px; + border: 1px solid #c3c3c3; /* same as regular QTreeView, QListView and QTableView */ + min-height: 40px; /* neccesary in some areas of FreeCAD */ +} + +/* Buttons to scroll tabs if there is not space to show all of them: */ +QTabBar::scroller { + width: 20px; /* the width of the scroll buttons */ +} + +QTabBar QToolButton, +QTabBar QToolButton:hover { + background-color: #f5f5f5; /* same as main background color */ +} + +QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images/right_arrow_dark.png); +} + +QTabBar QToolButton::right-arrow:disabled, +QTabBar QToolButton::right-arrow:off { + image: url(qss:images/right_arrow_disabled_dark.png); +} + +QTabBar QToolButton::right-arrow:hover { + image: url(qss:images/right_arrow_darker.png); +} + + QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images/left_arrow_dark.png); +} + + QTabBar QToolButton::left-arrow:disabled, + QTabBar QToolButton::left-arrow:off { + image: url(qss:images/left_arrow_disabled_dark.png); +} + + QTabBar QToolButton::left-arrow:hover { + image: url(qss:images/left_arrow_darker.png); +} + + QTabBar QToolButton::up-arrow:enabled { + image: url(qss:images/up_arrow_dark.png); +} + + QTabBar QToolButton::up-arrow:disabled, + QTabBar QToolButton::up-arrow:off { + image: url(qss:images/up_arrow_disabled_dark.png); +} + + QTabBar QToolButton::up-arrow:hover { + image: url(qss:images/up_arrow_darker.png); +} + + QTabBar QToolButton::down-arrow:enabled { + image: url(qss:images/down_arrow_dark.png); +} + + QTabBar QToolButton::down-arrow:disabled, + QTabBar QToolButton::down-arrow:off { + image: url(qss:images/down_arrow_disabled_dark.png); +} + + QTabBar QToolButton::down-arrow:hover { + image: url(qss:images/down_arrow_darker.png); +} + +QTabBar::tear { + /* default OS tear better */ +} + + +/*================================================================================================== +Tree and list views +==================================================================================================*/ +QTreeView, +QListView, +QTableView { + background-color: #f0f0f0; + alternate-background-color: #e6e6e6; /* related with QListView background */ + border: 1px solid #c3c3c3; + selection-color: white; + selection-background-color: #daa116; /* should be similar to QListView::item selected background-color */ + show-decoration-selected: 1; /* make the selection span the entire width of the view */ + border-radius: 3px; +} + +QListView::item:selected, +QTreeView::item:selected { + color: white; /* should be similar to QListView selection-color */ + background-color: #daa116; /* should be similar to QListView selection-background-color */ + show-decoration-selected: 1; /* make the selection span the entire width of the view */ +} + +/* Property Editor QTreeView (FreeCAD custom widget) */ +Gui--PropertyEditor--PropertyEditor { + gridline-color: #d2d2d2; /* same as Group header background */ +} + +/* fix for column items background when a link is present */ +Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { + background-color: #e3d8b9; /* same as focused background color */ +} + +/* hack to hide weird redundant information inside the value of a Placement cell */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 0px; + margin: 0px; + padding: 0px; +} + +/* hack to hide non editable cells inside Property values */ +Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, +Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { + color: transparent; + border-color: transparent; + background-color: transparent; + selection-color: transparent; + selection-background-color: transparent; +} + +/* hack to disable margin inside Property values to following elements */ +Gui--PropertyEditor--PropertyEditor QSpinBox, +Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, +Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, +Gui--PropertyEditor--PropertyEditor QLineEdit, +Gui--PropertyEditor--PropertyEditor QComboBox { + margin-left: 0px; + margin-right: 0px; + padding-top: 0px; + padding-bottom: 0px; +} + +/* set border-radius to 0px inside list views */ +QTreeView > QWidget > QComboBox, +QTreeView > QWidget > QAbstractSpinBox, +QTreeView > QWidget > QSpinBox, +QTreeView > QWidget > QDoubleSpinBox, +QTreeView > QWidget > QLineEdit, +QTreeView > QWidget > QTextEdit, +QTreeView > QWidget > QTimeEdit, +QTreeView > QWidget > QDateEdit, +QTreeView > QWidget > QDateTimeEdit, +QTreeView > QWidget > QComboBox:drop-down, +QTreeView > QWidget > QAbstractSpinBox:up-button, +QTreeView > QWidget > QSpinBox:up-button, +QTreeView > QWidget > QDoubleSpinBox:up-button, +QTreeView > QWidget > QTimeEdit:up-button, +QTreeView > QWidget > QDateEdit:up-button, +QTreeView > QWidget > QDateTimeEdit:up-button, +QTreeView > QWidget > QAbstractSpinBox:down-button, +QTreeView > QWidget > QSpinBox:down-button, +QTreeView > QWidget > QDoubleSpinBox:down-button, +QTreeView > QWidget > QTimeEdit:down-button, +QTreeView > QWidget > QDateEdit:down-button, +QTreeView > QWidget > QDateTimeEdit:down-button, +QTreeView > QWidget > Gui--ColorButton { + border-radius: 0px; +} + +/* set focus colors to best viewing the editable fields */ +QTreeView > QWidget > QComboBox:focus, +QTreeView > QWidget > QAbstractSpinBox:focus, +QTreeView > QWidget > QSpinBox:focus, +QTreeView > QWidget > QDoubleSpinBox:focus, +QTreeView > QWidget > QLineEdit:focus, +QTreeView > QWidget > QTextEdit:focus, +QTreeView > QWidget > QTimeEdit:focus, +QTreeView > QWidget > QDateEdit:focus, +QTreeView > QWidget > QDateTimeEdit:focus { + border-color: #e3d8b9; /* same as focused background color */ + border-bottom-color: #e3b64d; /* same as focused border color */ +} + +QTreeView > QWidget > QAbstractSpinBox:read-only, +QTreeView > QWidget > QSpinBox:read-only, +QTreeView > QWidget > QDoubleSpinBox:read-only, +QTreeView > QWidget > QLineEdit:read-only, +QTreeView > QWidget > QTextEdit:read-only, +QTreeView > QWidget > QTimeEdit:read-only, +QTreeView > QWidget > QDateEdit:read-only, +QTreeView > QWidget > QDateTimeEdit:read-only { + color: transparent; + background-color: transparent; + border-color: transparent; +} + +/* Fix to correctly (not totally) draw QTextEdit on OSX at Page properties: "Page result", "Template" and "Editable Texts" */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget { + min-height: 14px; +} + + +/*================================================================================================== +Header of tree and list views +==================================================================================================*/ +QHeaderView { + background-color: #c3c3c3; + border-top-left-radius: 2px; /* 1px less than its container */ + border-top-right-radius: 2px; /* 1px less than its container */ + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; +} + +QHeaderView::section { + border:none; + padding: 4px 6px; + background-color: #c3c3c3; +} + +QHeaderView::section:horizontal { + padding: 4px 6px; /* left and right value similar to QHeaderView::section */ + border-right: 1px solid rgba(0,0,0,30); +} + +QHeaderView::section:vertical { + border-bottom: 1px solid rgba(0,0,0,30); +} + +QTableCornerButton::section { + background-color: #c3c3c3; + border-top: none; + border-left: none; + border-right: 1px solid rgba(0,0,0,30); + border-bottom: 1px solid rgba(0,0,0,30); +} + +QHeaderView::section:last { + border-right: none; +} + +QHeaderView::up-arrow { + image: url(qss:images/up_arrow_dark.png); +} + +QHeaderView::up-arrow:hover { + image: url(qss:images/up_arrow_darker.png); +} + +QHeaderView::down-arrow { + image: url(qss:images/down_arrow_dark.png); +} + +QHeaderView::down-arrow:hover { + image: url(qss:images/down_arrow_darker.png); +} + +/* Group header inside Property Editor (FreeCAD custom widget) */ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: #828282; /* same as main background color */ + qproperty-groupBackground: #d2d2d2; /* same as item gridlines */ +} + + +/*================================================================================================== +Branch system for QTreeViews +==================================================================================================*/ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images/branch_vline.png) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images/branch_more.png) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images/branch_end.png) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + image: url(qss:images/branch_closed_dark.png); +} + +QTreeView::branch:has-children:!has-siblings:closed { + image: url(qss:images/branch_closed_dark.png); + border-image: url(qss:images/branch_end.png) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + image: url(qss:images/branch_open_dark.png); + border-image: url(qss:images/branch_more.png) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + image: url(qss:images/branch_open_dark.png); + border-image: url(qss:images/branch_end.png) 0; +} + + +/*================================================================================================== +Splitter and windows separator +==================================================================================================*/ +QSplitter::handle { + margin: 0px 11px; + padding: 0px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images/splitter_horizontal_dark.png); + background-position: center center; + background-repeat: none; + margin: 2px 4px 2px 4px; + height: 2px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images/splitter_vertical_dark.png); + background-position: center center; + background-repeat: none; + margin: 4px 2px 4px 2px; + width: 2px; +} + +/* Similar to the splitter is the following window separator: */ +QMainWindow::separator { + background-position: center center; + background-repeat: none; +} + +QMainWindow::separator:horizontal { + height: 2px; + background-image: url(qss:images/splitter_horizontal_dark.png); + margin: 4px 2px 4px 2px; +} + +QMainWindow::separator:vertical { + width: 2px; + background-image: url(qss:images/splitter_vertical_dark.png); + margin: 2px 4px 2px 4px; +} + + +/*================================================================================================== +Tasks panel (custom FreeCAD class) +==================================================================================================*/ +/* Action group */ +QFrame[class="panel"] { + background-color: transparent; /* temporal (transparent background) */ +} + +/* Separator line */ +QSint--ActionGroup QFrame[height="1"], +QSint--ActionGroup QFrame[height="2"], +QSint--ActionGroup QFrame[height="3"], +QSint--ActionGroup QFrame[width="1"], +QSint--ActionGroup QFrame[width="2"], +QSint--ActionGroup QFrame[width="3"] { + border-color: rgba(0,0,0,60); +} + +/* Panel header */ +QSint--ActionGroup QFrame[class="header"] { + border: none; + background-color: #b6b6b6; /* Task Panel Header background color */ + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + margin: 0px; + padding: 0px; +} + +QSint--ActionGroup QFrame[class="header"]:hover { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); +} + +QSint--ActionGroup QToolButton[class="header"] { + color: white; /* Task Panel Header text color */ + text-align: left; + font-weight: bold; + border: none; + margin: 0px; + padding: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel { + background-color: transparent; + background-image: url(qss:images/down_arrow_light.png); + background-repeat: none; + background-position: center center; + padding: 0px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel:hover { + background-color: transparent; + background-image: url(qss:images/down_arrow_lighter.png); +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { + background-color: transparent; + background-image: url(qss:images/up_arrow_light.png); + background-repeat: none; + background-position: center center; + padding: 0px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { + background-color: transparent; + background-image: url(qss:images/up_arrow_lighter.png); +} + +QSint--ActionGroup QFrame[class="content"] { + background-color: #e6e6e6; /* Task Panel background color */ + margin: 0px; + padding: 0px; + border: none; + border-top-left-radius: 0px; + border-top-right-radius: 0px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; +} + +QSint--ActionGroup QFrame[class="content"] > QWidget { + background-color: #e6e6e6; /* Task Panel background color */ +} + +/* Fixs for tabs inside Task Panel */ +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { + border-bottom-color: #e6e6e6; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { + border-top-color: #e6e6e6; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { + border-right-color: #e6e6e6; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { + border-left-color: #e6e6e6; /* same as Task Panel background color */ +} + + +/*================================================================================================== +Buttons +==================================================================================================*/ +/* Common */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QLineEdit, +QTextEdit, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + color: #6e6e6e; + background-color: #e0e0e0; + selection-color: white; + selection-background-color: #daa116; + border: 1px solid #e0e0e0; + border-radius: 3px; + min-width: 50px; /* it ensures the default value is correctly displayed */ + padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ +} + +/* shifts text/number editable field to the left to make space for the up/down or drop-down buttons */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + padding-right: 20px; +} + +/* when QTextEdit are no editable */ +QTextEdit:!editable { + background-color: #f0f0f0; + border: 1px solid #c3c3c3; +} + +QComboBox:focus, +QAbstractSpinBox:focus, +QSpinBox:focus, +QDoubleSpinBox:focus, +QLineEdit:focus, +QTextEdit:focus, +QTimeEdit:focus, +QDateEdit:focus, +QDateTimeEdit:focus { + color: black; + border-color: #e3b64d; + border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #daa116, stop:1 #e3b64d); /* same as up/down or drop-down button color */ + background-color: #e3d8b9; +} + +QComboBox:disabled, +QAbstractSpinBox:disabled, +QSpinBox:disabled, +QDoubleSpinBox:disabled, +QLineEdit:disabled, +QTextEdit:disabled, +QTimeEdit:disabled, +QDateEdit:disabled, +QDateTimeEdit:disabled { + color: #c3c3c3; + background-color: #e0e0e0; /* same as enabled color */ + border-color: #e0e0e0; /* same as enabled color */ +} + +QAbstractSpinBox:up-button, +QSpinBox:up-button, +QDoubleSpinBox:up-button, +QTimeEdit:up-button, +QDateEdit:up-button, +QDateTimeEdit:up-button, +QAbstractSpinBox:down-button, +QSpinBox:down-button, +QDoubleSpinBox:down-button, +QTimeEdit:down-button, +QDateEdit:down-button, +QDateTimeEdit:down-button { + background-color: #d2d2d2; + subcontrol-origin: border; /* important */ + width: 20px; /* same as QComboBox ... QDateTimeEdit padding-right */ +} + +QAbstractSpinBox:up-button, +QSpinBox:up-button, +QDoubleSpinBox:up-button, +QTimeEdit:up-button, +QDateEdit:up-button, +QDateTimeEdit:up-button { + subcontrol-position: top right; + border-top-right-radius: 3px; + height: 12px; /* fix for Ubuntu that doesn't divide the up/down button into the exact middle */ +} + +QAbstractSpinBox:down-button, +QSpinBox:down-button, +QDoubleSpinBox:down-button, +QTimeEdit:down-button, +QDateEdit:down-button, +QDateTimeEdit:down-button { + subcontrol-position: bottom right; + border-bottom-right-radius: 3px; +} + +QAbstractSpinBox:up-button:focus, +QSpinBox:up-button:focus, +QDoubleSpinBox:up-button:focus, +QTimeEdit:up-button:focus, +QDateEdit:up-button:focus, +QDateTimeEdit:up-button:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #e2ac2a, stop:1 #e3b64d); +} + +QAbstractSpinBox:down-button:focus, +QSpinBox:down-button:focus, +QDoubleSpinBox:down-button:focus, +QTimeEdit:down-button:focus, +QDateEdit:down-button:focus, +QDateTimeEdit:down-button:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #daa116, stop:1 #e2ac2a); +} + +QAbstractSpinBox:up-button:disabled, +QSpinBox:up-button:disabled, +QDoubleSpinBox:up-button:disabled, +QTimeEdit:up-button:disabled, +QDateEdit:up-button:disabled, +QDateTimeEdit:up-button:disabled, +QAbstractSpinBox:down-button:disabled, +QSpinBox:down-button:disabled, +QDoubleSpinBox:down-button:disabled, +QTimeEdit:down-button:disabled, +QDateEdit:down-button:disabled, +QDateTimeEdit:down-button:disabled { + background-color: transparent; +} + +QAbstractSpinBox::up-arrow, +QSpinBox::up-arrow, +QDoubleSpinBox::up-arrow, +QTimeEdit::up-arrow, +QDateEdit::up-arrow, +QDateTimeEdit::up-arrow { + image: url(qss:images/up_arrow_dark.png); + top: 0px; /* fix simetry between up and down images */ +} + +QAbstractSpinBox::up-arrow:focus, +QSpinBox::up-arrow:focus, +QDoubleSpinBox::up-arrow:focus, +QTimeEdit::up-arrow:focus, +QDateEdit::up-arrow:focus, +QDateTimeEdit::up-arrow:focus { + image: url(qss:images/up_arrow_lighter.png); +} + +QAbstractSpinBox::up-arrow:off, +QSpinBox::up-arrow:off, +QDoubleSpinBox::up-arrow:off, +QTimeEdit::up-arrow:off, +QDateEdit::up-arrow:off, +QDateTimeEdit::up-arrow:off { + image: url(qss:images/up_arrow_disabled_dark.png); +} + +QAbstractSpinBox::up-arrow:disabled, +QSpinBox::up-arrow:disabled, +QDoubleSpinBox::up-arrow:disabled, +QTimeEdit::up-arrow:disabled, +QDateEdit::up-arrow:disabled, +QDateTimeEdit::up-arrow:disabled { + image: url(qss:images/up_arrow_disabled_dark.png); +} + +QAbstractSpinBox::down-arrow, +QSpinBox::down-arrow, +QDoubleSpinBox::down-arrow, +QTimeEdit::down-arrow, +QDateEdit::down-arrow, +QDateTimeEdit::down-arrow { + image: url(qss:images/down_arrow_dark.png); + bottom: 0px; /* fix simetry between up and down images */ +} + +QAbstractSpinBox::down-arrow:focus, +QSpinBox::down-arrow:focus, +QDoubleSpinBox::down-arrow:focus, +QTimeEdit::down-arrow:focus, +QDateEdit::down-arrow:focus, +QDateTimeEdit::down-arrow:focus { + image: url(qss:images/down_arrow_lighter.png); +} + +QAbstractSpinBox::down-arrow:off, +QSpinBox::down-arrow:off, +QDoubleSpinBox::down-arrow:off, +QTimeEdit::down-arrow:off, +QDateEdit::down-arrow:off, +QDateTimeEdit::down-arrow:off { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +QAbstractSpinBox::down-arrow:disabled, +QSpinBox::down-arrow:disabled, +QDoubleSpinBox::down-arrow:disabled, +QTimeEdit::down-arrow:disabled, +QDateEdit::down-arrow:disabled, +QDateTimeEdit::down-arrow:disabled { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +/* ComboBox */ +QComboBox::drop-down { + background-color: #d2d2d2; + subcontrol-origin: border; /* important */ + subcontrol-position: top right; + width: 20px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +QComboBox::drop-down:on, +QComboBox::drop-down:focus { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #daa116, stop:1 #e3b64d); +} + +QComboBox::down-arrow { + image: url(qss:images/down_arrow_dark.png); +} + +QComboBox::down-arrow:on, +QComboBox::down-arrow:focus { + image: url(qss:images/down_arrow_lighter.png); +} + +QComboBox::down-arrow:off, +QComboBox::down-arrow:disabled { + image: url(qss:images/down_arrow_disabled_dark.png); +} + +/* ComboBox menu */ +QComboBox { + selection-color: white; + selection-background-color: #daa116; +} + +QComboBox QAbstractItemView { + color: #6e6e6e; /* same as regular QComboBox color */ + background-color: transparent; + selection-color: white; + selection-background-color: #daa116; + border-width: 5px 0px 5px 0px; + border-style: solid; + border-color: transparent; + margin: 0px -1px 0px 0px; /* temporal: hack for Mac... try it on Windows and Linux */ +} + + +/*================================================================================================== +Push button +==================================================================================================*/ +QPushButton { + color: #6e6e6e; + text-align: center; + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #f5f5f5, stop:1 #e6e6e6); + border: 1px solid #d2d2d2; + border-bottom-color: #c3c3c3; /* simulates shadow under the button */ + padding: 4px 22px; + margin: 4px 4px; + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 4px; +} + +QPushButton:hover, +QPushButton:focus { + color: white; + border-color: #d0970c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); +} + +QPushButton:disabled, +QPushButton:disabled:checked { + color: #b6b6b6; + border-color: #e6e6e6; + background-color: #e6e6e6; +} + +QPushButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #d0970c, stop:1 #daa116); +} + +QPushButton:checked { + background-color: #daa116; + border-color: #d0970c; +} + +/* Color Buttons */ +Gui--ColorButton, +Gui--ColorButton:disabled { + padding: 0px; /* reset */ + margin: 0px; /* reset */ +} + +Gui--ColorButton { + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #f5f5f5, stop:1 #e6e6e6); + border: 1px solid #d2d2d2; + border-bottom-color: #c3c3c3; /* simulates shadow under the button */ +} + +Gui--ColorButton:disabled { + border-color: transparent; + background-color: rgba(0,0,0,10); +} + +Gui--ColorButton:hover, +Gui--ColorButton:focus { + border-color: #d0970c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); +} + +Gui--ColorButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #d0970c, stop:1 #daa116); +} + +/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QPushButton { + background-color: #b6b6b6; + border: 1px solid #828282; + min-width: 16px; /* reset it due to larger value on regular QPushButton, same or bigger value as regular QPushButton min-height */ + border-radius: 0px; + margin: 0px; /* reset */ + padding: 0px; /* reset */ +} + +/* Fix for Expressions description QFrame that is "broken" with initial reset */ +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget > QWidget > QFrame { + background-color: #f5f5f5; /* main background color */ + border: 1px solid #dcdcdc; + border-radius: 2px; + padding: 2px 6px; +} + + +/*================================================================================================== +Tool button inside QDialogs that works as QPushButtons +==================================================================================================*/ +/* found under Tools -> Customize -> Macros -> Pixmap "..." button */ +QDialog QToolButton { + color: #6e6e6e; + text-align: center; + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #f5f5f5, stop:1 #e6e6e6); + border: 1px solid #d2d2d2; + border-bottom-color: #c3c3c3; /* simulates shadow under the button */ + padding: 0px; /* different than regular QPushButton */ + margin: 2px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 4px; +} + +QDialog QToolButton:hover, +QDialog QToolButton:focus { + color: white; + border-color: #d0970c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); +} + +QDialog QToolButton:disabled, +QDialog QToolButton:disabled:checked { + color: #b6b6b6; + border-color: #e6e6e6; + background-color: #e6e6e6; +} + +QDialog QToolButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #d0970c, stop:1 #daa116); +} + +QPushButton:checked { + background-color: #daa116; + border-color: #d0970c; +} + + +/*================================================================================================== +Radio button +==================================================================================================*/ +QRadioButton::indicator:unchecked{ + color: #505050; + background-color: rgba(0, 0, 0, 20); + border: 1px solid #505050; +} + +QRadioButton::indicator:checked { + background-color: #daa116; /* QCheckBox has the same color */ + border: 1px solid #d0970c; /* QCheckBox has the same color */ + image:url(qss:images/radiobutton_light.png); +} + +QRadioButton, +QRadioButton:disabled { + color: #505050; + padding: 3px; + outline: none; + background-color: transparent; +} + +QRadioButton::indicator { + width: 11px; + height: 11px; + border-radius: 6px; +} + +QRadioButton::indicator:pressed { + border-color: #e0c992; +} + +QRadioButton::indicator:disabled { + border: 1px solid #6e6e6e; +} + +QRadioButton::indicator:disabled { + color: #6e6e6e; + background-color: transparent; +} + +QRadioButton:focus { + border: none; +} + + +/*================================================================================================== +Checkbox +==================================================================================================*/ +QCheckBox, +QCheckBox:disabled { + color: #505050; + padding: 3px; + outline: none; + background-color: transparent; +} + +QCheckBox::indicator { + color: #c8c8c8; + background-color: rgba(0,0,0,20); + border: 1px solid #505050; +} + +QCheckBox::indicator { + width: 11px; + height: 11px; + border-radius:2px; +} + +QCheckBox::indicator:pressed, +QCheckBox::indicator:non-exclusive:checked:pressed, +QCheckBox::indicator:indeterminate:pressed, +QCheckBox::indicator:checked:pressed { + border-color: #e0c992; +} + +QCheckBox::indicator:checked { + background-color: #daa116; /* QRadioButton has the same color */ + border: 1px solid #d0970c; /* QRadioButton has the same color */ + image:url(qss:images/checkbox_light.png); +} + +QCheckBox:disabled { + color: rgba(0,0,0,40); + background-color: transparent; +} + +QCheckBox::indicator:disabled { + background-color: rgba(0,0,0,20); + border: 1px solid rgba(0,0,0,20); +} + +QCheckBox::indicator:indeterminate { + background-color: #daa116; + border: 1px solid #d0970c; + image: url(qss:images/checkbox_indeterminate_light.png); +} + +QCheckBox:focus { + border: none; +} + + +/*================================================================================================== +Slider +==================================================================================================*/ +QSlider, +QSlider:active, +QSlider:!active { + border: none; + background-color: transparent; +} + +QSlider:horizontal { + padding: 0px 10px; +} + +QSlider:vertical { + padding: 10px 0px; +} + +QSlider::groove { + background-color: rgba(0,0,0,30); + border: 1px solid rgba(0,0,0,40); + border-radius: 5px; + margin: 4px 0px; +} + +QSlider::groove:horizontal { + height: 8px; +} + +QSlider::groove:vertical { + width: 8px; +} + +QSlider::groove:horizontal:disabled, +QSlider::groove:vertical:disabled { + border-color: #dcdcdc; + background-color: #dcdcdc; +} + +QSlider::handle:horizontal, +QSlider::handle:vertical { + background-color: #b6b6b6; + border: 1px solid #b6b6b6; + width: 14px; + height: 14px; + border-radius: 8px; +} + +QSlider::handle:horizontal { + margin: -4px 0; +} + +QSlider::handle:vertical { + margin: 0 -4px; +} + +QSlider::handle:horizontal:hover, +QSlider::handle:vertical:hover, +QSlider::handle:horizontal:pressed, +QSlider::handle:vertical:pressed { + border-color: #daa116; + background-color: #daa116; +} + +QSlider::handle:horizontal:disabled, +QSlider::handle:vertical:disabled { + border-color: #dcdcdc; + background-color: #dcdcdc; +} + + +/*================================================================================================== +Toolbar buttons +==================================================================================================*/ +QToolBar > QToolButton { + margin: 2px; + padding: 2px; +} + +QToolBar > QPushButton, +/*QToolBar > QComboBox, disabled because creates different margins for body and drop-down button */ +QToolBar > QAbstractSpinBox, +QToolBar > QSpinBox, +QToolBar > QDoubleSpinBox, +QToolBar > QLineEdit, +QToolBar > QTextEdit, +QToolBar > QTimeEdit, +QToolBar > QDateEdit, +QToolBar > QDateTimeEdit { + margin: 2px; + padding: 2px; +} + +QToolBar > QPushButton { + border-radius: 4px; /* same as regular QPushButton */ + min-width: 20px; /* reset it due to larger value on regular QPushButton, same or bigger value as regular QPushButton min-height */ +} + +QToolBar > QPushButton:checked { + border: 1px solid #d0970c; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #daa116, stop:1 #d0970c); +} + +QToolBar > QPushButton:!checked { + background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #f5f5f5, stop:1 #e6e6e6); + border: 1px solid #d2d2d2; + border-bottom-color: #c3c3c3; /* simulates shadow under the button */ +} + +QToolBar > QPushButton:checked:hover { + border-color: #b28416; +} + +QToolBar > QPushButton:!checked:hover { + color: black; + border-color: #b6b6b6; +} + +QToolBar > QPushButton:checked:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #d0970c, stop:1 #daa116); +} + +QToolBar > QPushButton:!checked:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #b6b6b6, stop:1 #e6e6e6); +} + +QToolBar > QPushButton:checked:disabled, +QToolBar > QPushButton:!checked:disabled { + border: none; + background-color: transparent; +} + +/* ToolBar menu buttons (buttons with drop-down menu) */ +QToolBar > QToolButton#qt_toolbutton_menubutton { + padding-right: 20px; /* Hack to add more width to buttons with menu */ + border: 1px solid transparent; + border-radius: 3px; +} + +QToolBar > QToolButton#qt_toolbutton_menubutton:hover, +QToolBar > QToolButton#qt_toolbutton_menubutton:pressed, +QToolBar > QToolButton#qt_toolbutton_menubutton:open { + border: 1px solid #e3b64d; +} + +QToolBar QToolButton::menu-button, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button { + border: none; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + width: 16px; /* 16px width + 4px for border = 20px allocated above */ + outline: none; + background-color: transparent; +} + +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:hover, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:pressed, +QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:open { + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #daa116, stop:1 #e3b64d); +} + +QToolBar > QToolButton::menu-arrow { + background-image: url(qss:images/down_arrow_dark.png); + background-position: center center; + background-repeat: none; + subcontrol-origin: padding; + subcontrol-position: bottom right; + height: 10px; /* same as arrow image */ +} + +QToolBar > QToolButton::menu-arrow:hover { + background-image: url(qss:images/down_arrow_lighter.png); +} + +QToolBar > QToolButton::menu-arrow:open { + background-image: url(qss:images/down_arrow_lighter.png); +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" */ +QToolBar QToolButton#qt_toolbar_ext_button { + margin: 0px; + padding: 0px; + /*background-image: url(qss:images/more_dark.png);*/ + image: transparent; + background-repeat: none; + background-position: center left; +} + +QToolBar QToolButton#qt_toolbar_ext_button:hover { + /*background-image: url(qss:images/more_light.png);*/ + border-color: #e0e0e0; + background-color: #e0e0e0; +} + +QToolBar QToolButton#qt_toolbar_ext_button:on { + /*background-image: url(qss:images/more_light.png);*/ + border-color: #e0e0e0; + background-color: #e0e0e0; +} + + +/*================================================================================================== +Tables (spreadsheets) +==================================================================================================*/ +QTableView { + gridline-color: #d2d2d2; + selection-color: #624b14; + selection-background-color: #e3d8b9; +} + +QTableView::item:hover { + background-color: rgba(0,0,0,10); /* temporal: is it displayed in Linux or Windows? on OSX it isn't */ +} + +QTableView::item:disabled { + color: #e6e6e6; +} + +QTableView::item:selected { + color: #624b14; + border-color: #e3d8b9; /* same as focused background color */ + border-bottom-color: #e3b64d; /* same as focused border color */ +} + +/* fix for elements inside the cells */ +QTableView QComboBox, +QTableView QAbstractSpinBox, +QTableView QSpinBox, +QTableView QDoubleSpinBox, +QTableView QLineEdit, +QTableView QTextEdit, +QTableView QTimeEdit, +QTableView QDateEdit, +QTableView QDateTimeEdit, +QTableView QComboBox:drop-down, +QTableView QAbstractSpinBox:up-button, +QTableView QSpinBox:up-button, +QTableView QDoubleSpinBox:up-button, +QTableView QTimeEdit:up-button, +QTableView QDateEdit:up-button, +QTableView QDateTimeEdit:up-button, +QTableView QAbstractSpinBox:down-button, +QTableView QSpinBox:down-button, +QTableView QDoubleSpinBox:down-button, +QTableView QTimeEdit:down-button, +QTableView QDateEdit:down-button, +QTableView QDateTimeEdit:down-button, +QTableView Gui--ColorButton { + border-radius: 0px; +} + +QTableView QComboBox, +QTableView QAbstractSpinBox, +QTableView QSpinBox, +QTableView QDoubleSpinBox, +QTableView QLineEdit, +QTableView QTextEdit, +QTableView QTimeEdit, +QTableView QDateEdit, +QTableView QDateTimeEdit { + color: black; + background-color: transparent; + border-color: transparent; +} + +QTableView QComboBox:drop-down, +QTableView QAbstractSpinBox:up-button, +QTableView QSpinBox:up-button, +QTableView QDoubleSpinBox:up-button, +QTableView QTimeEdit:up-button, +QTableView QDateEdit:up-button, +QTableView QDateTimeEdit:up-button, +QTableView QAbstractSpinBox:down-button, +QTableView QSpinBox:down-button, +QTableView QDoubleSpinBox:down-button, +QTableView QTimeEdit:down-button, +QTableView QDateEdit:down-button, +QTableView QDateTimeEdit:down-button, +QTableView Gui--ColorButton { + background-color: rgba(0,0,0,30); +} + +QTableView QComboBox:focus, +QTableView QAbstractSpinBox:focus, +QTableView QSpinBox:focus, +QTableView QDoubleSpinBox:focus, +QTableView QLineEdit:focus, +QTableView QTextEdit:focus, +QTableView QTimeEdit:focus, +QTableView QDateEdit:focus, +QTableView QDateTimeEdit:focus { + color: #624b14; + selection-color: white; + selection-background-color: #daa116; + border-color: #e3d8b9; + background-color: #e3d8b9; +} + +QTableView QComboBox:disabled, +QTableView QAbstractSpinBox:disabled, +QTableView QSpinBox:disabled, +QTableView QDoubleSpinBox:disabled, +QTableView QLineEdit:disabled, +QTableView QTextEdit:disabled, +QTableView QTimeEdit:disabled, +QTableView QDateEdit:disabled, +QTableView QDateTimeEdit:disabled { + color: rgba(0,0,0,120); + background-color: transparent; + border-color: transparent; +} + +QTableView QComboBox:read-only, +QTableView QAbstractSpinBox:read-only, +QTableView QSpinBox:read-only, +QTableView QDoubleSpinBox:read-only, +QTableView QLineEdit:read-only, +QTableView QTextEdit:read-only, +QTableView QTimeEdit:read-only, +QTableView QDateEdit:read-only, +QTableView QDateTimeEdit:read-only { + color: black; + background-color: transparent; + border-color: transparent; +} + + +/*================================================================================================== +EXPERIMENTAL +==================================================================================================*/ + +/* Fix for preventing elements in different rows to accidentaly overlap */ +QDialog QGroupBox QFrame { + margin: 2px 0px; +} + +*[mandatoryField="true"] { background-color: cyan } \ No newline at end of file