From a9bccca7506169ff70823e7033eeca7c9c596b05 Mon Sep 17 00:00:00 2001 From: Haas Date: Fri, 2 Jun 2023 23:29:43 +0200 Subject: [PATCH] updated theme's Added a bunch of extra icons and cleaned up the theme's. Lot of optimization minimize screen usage. --- src/Gui/Stylesheets/Dark-blue.qss | 4735 ++++++++-------- src/Gui/Stylesheets/Dark-green.qss | 4254 ++++++++------- src/Gui/Stylesheets/Dark-orange.qss | 4255 ++++++++------- src/Gui/Stylesheets/Dark-pink.qss | 2528 +++++++++ src/Gui/Stylesheets/Darker-blue.qss | 4749 +++++++++-------- src/Gui/Stylesheets/Darker-green.qss | 4299 ++++++++------- src/Gui/Stylesheets/Darker-orange.qss | 4293 ++++++++------- src/Gui/Stylesheets/Darker-pink.qss | 2528 +++++++++ src/Gui/Stylesheets/Light-blue.qss | 4736 ++++++++-------- src/Gui/Stylesheets/Light-green.qss | 4327 ++++++++------- src/Gui/Stylesheets/Light-orange.qss | 4328 ++++++++------- src/Gui/Stylesheets/Light-pink.qss | 2536 +++++++++ .../images_dark-light/check_dark.svg | 74 + .../images_dark-light/check_light.svg | 74 + .../images_dark-light/checkbox_checked.png | Bin 0 -> 263 bytes .../checkbox_checked_hover.png | Bin 0 -> 266 bytes .../checkbox_checked_pressed.png | Bin 0 -> 425 bytes .../images_dark-light/checkbox_dark_hover.svg | 83 + .../checkbox_light_hover.svg | 83 + .../images_dark-light/checkbox_unchecked.png | Bin 0 -> 159 bytes .../checkbox_unchecked_dark.svg | 52 + .../checkbox_unchecked_disabled.png | Bin 0 -> 5618 bytes .../checkbox_unchecked_disabled.svg | 52 + .../checkbox_unchecked_hover.png | Bin 0 -> 159 bytes .../checkbox_unchecked_hover_dark.svg | 52 + .../checkbox_unchecked_hover_light.svg | 52 + .../checkbox_unchecked_light.svg | 52 + .../checkbox_unchecked_pressed.png | Bin 0 -> 320 bytes .../images_dark-light/close_red.svg | 100 + .../images_dark-light/more_arrow_dark.svg | 122 + .../images_dark-light/more_arrow_light.svg | 122 + .../images_dark-light/radiobutton_checked.png | Bin 0 -> 355 bytes .../radiobutton_checked_hover.png | Bin 0 -> 532 bytes .../radiobutton_checked_pressed.png | Bin 0 -> 599 bytes .../radiobutton_unchecked.png | Bin 0 -> 240 bytes .../radiobutton_unchecked_hover.png | Bin 0 -> 492 bytes .../radiobutton_unchecked_pressed.png | Bin 0 -> 556 bytes .../images_dark-light/undock_blue.svg | 114 + 38 files changed, 29526 insertions(+), 19074 deletions(-) create mode 100644 src/Gui/Stylesheets/Dark-pink.qss create mode 100644 src/Gui/Stylesheets/Darker-pink.qss create mode 100644 src/Gui/Stylesheets/Light-pink.qss create mode 100644 src/Gui/Stylesheets/images_dark-light/check_dark.svg create mode 100644 src/Gui/Stylesheets/images_dark-light/check_light.svg create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_checked.png create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_checked_hover.png create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_checked_pressed.png create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_dark_hover.svg create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_light_hover.svg create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_unchecked.png create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_dark.svg create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_disabled.png create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_disabled.svg create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_hover.png create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_hover_dark.svg create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_hover_light.svg create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_light.svg create mode 100644 src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_pressed.png create mode 100644 src/Gui/Stylesheets/images_dark-light/close_red.svg create mode 100644 src/Gui/Stylesheets/images_dark-light/more_arrow_dark.svg create mode 100644 src/Gui/Stylesheets/images_dark-light/more_arrow_light.svg create mode 100644 src/Gui/Stylesheets/images_dark-light/radiobutton_checked.png create mode 100644 src/Gui/Stylesheets/images_dark-light/radiobutton_checked_hover.png create mode 100644 src/Gui/Stylesheets/images_dark-light/radiobutton_checked_pressed.png create mode 100644 src/Gui/Stylesheets/images_dark-light/radiobutton_unchecked.png create mode 100644 src/Gui/Stylesheets/images_dark-light/radiobutton_unchecked_hover.png create mode 100644 src/Gui/Stylesheets/images_dark-light/radiobutton_unchecked_pressed.png create mode 100644 src/Gui/Stylesheets/images_dark-light/undock_blue.svg diff --git a/src/Gui/Stylesheets/Dark-blue.qss b/src/Gui/Stylesheets/Dark-blue.qss index 5ec40443ed..063fac5e8a 100644 --- a/src/Gui/Stylesheets/Dark-blue.qss +++ b/src/Gui/Stylesheets/Dark-blue.qss @@ -1,71 +1,40 @@ /* ABOUT ============================================================================================================ -version 2.21 -Qt theme (stylesheet) specially developed for FreeCAD (https://www.freecad.org/). -It might work with other software that uses Qt styling. +Revised stylesheet based on the orignal from Pablo Gil Fernández made by MisterMaker - -LICENSE +KNOWN BUGS and TO DO ============================================================================================================ -Copyright (c) 2019 Pablo Gil Fernández +Please, follow the link to get updated information: +https://forum.freecad.org/viewtopic.php?t=78431 -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 +INSTALLATION WHEN NECESSARY ============================================================================================================ 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/ - -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 lighter) - 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 +============================================================================================================ +TO MODIFY USE THESE COLORS: + #4882ff + #3f7cff -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: https://forum.freecad.org/viewtopic.php?f=10&t=12417 +See Qt documentation: -*/ + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ -/*================================================================================================== -Reset elements -==================================================================================================*/ -/* Resetting everything helps to unify styles across different operating systems */ +/* Reset elements ------------------------------------------------------------ + +Resetting everything helps to unify styles across different operating systems + +--------------------------------------------------------------------------- */ * { padding: 0px; margin: 0px; @@ -73,2249 +42,2487 @@ Reset elements border-style: none; border-image: none; outline: 0; - color: black; /* Default color for labels and different text elements that usually use dark colors */ -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { + } + + /* specific reset for elements inside QToolBar */ + QToolBar * { margin: 0px; padding: 0px; -} - - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #6e6e6e; /* main background color */ -} - -QMdiArea { + } + + /*hacks */ + 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; + + } + Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, + Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 1px; + margin: 0px; + padding: 0px; + } + + 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; + + } + + /*================================================================================================== + Main window + ==================================================================================================*/ + QMainWindow, + QDialog, + QDockWidget, + QToolBar { + background-color: #7F7F7F; /* main background color */ + } + + QMdiArea { background-image: url(qss:images_dark-light/background_freecad_dark.svg); background-position: center center; background-repeat: no-repeat; -} - - -/*================================================================================================== -Sub windows -==================================================================================================*/ -QMdiSubWindow { - border:1px solid #505050; - margin-top: 30px; - margin-left: 4px; - margin-right: 4px; - margin-bottom:4px; -} - - -/*================================================================================================== -MENUS -==================================================================================================*/ -QMenuBar, -QMenuBar::item { - color: #e0e0e0; - background-color: #6e6e6e; /* main background color */ -} - -QMenu, -QMenu::item { - color: #e0e0e0; - background-color: #5a5a5a; - text-decoration: none; -} - -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_dark-light/right_arrow_dark.svg); - margin-right: 2px; -} - -QMenu::right-arrow:selected { - image:url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QMenu::item { - padding: 2px 4px; /* make room for icon at left */ - border: 1px solid transparent; /* reserve space for selection border */ -} - -QMenu::icon { - margin-left: 1px; - margin-right: 1px; -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #5e90fa; - border: 2px #5e90fa; - position: absolute; - border-radius: 2px; -} - -QMenu::separator { - height: 1px; - background-color: rgba(255,255,255,30); - margin: 6px 4px; -} - -QMenu::indicator:non-exclusive:checked { - color: white; -} - -/* Fix for elements inside a drop-down menu */ -QMenu QRadioButton, -QMenu QCheckBox, -QMenu QPushButton, -QMenu QToolButton { - color: white; /* same as regular QRadioButton and QCheckBox */ -} - -QMenu QRadioButton:hover, -QMenu QCheckBox:hover, -QMenu QPushButton:hover, -QMenu QToolButton:hover, -QMenu QPushButton:pressed, -QMenu QToolButton:pressed, -QMenu QPushButton:selected, -QMenu QToolButton:selected { - color: white; - background-color: #5e90fa; /* same as QMenu::item:selected and QMenu::item:pressed */ -} - -QMenu QRadioButton:disabled, -QMenu QCheckBox:disabled { - color: #f5f5f5; -} - -QMenu QRadioButton::indicator:disabled, -QMenu QCheckBox::indicator:disabled { - color: #f5f5f5; + } + /*navgation src/Mod/Tux/NavigationIndicatorGui.py */ + Gui--NavigationIndicatorGui--BlenderNavigationStyle { + /*QAction#a4 {*/ + qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); + } + /*===== + /* QWidget ---------------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QWidget { + background-color: #7F7F7F; + border: 0px solid #696968; + padding: 0px; + color: White; + selection-background-color: #4882ff; + selection-color: White; + } + + QWidget:disabled { background-color: transparent; - border: 1px solid #f5f5f5; -} - - -/*================================================================================================== -Tool bar -==================================================================================================*/ -QToolBar { - border: none; - padding: 2px; -} - -QToolBar::handle:top, -QToolBar::handle:bottom, -QToolBar::handle:horizontal { - background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); - width: 10px; - margin: 4px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:left, -QToolBar::handle:right, -QToolBar::handle:vertical { - background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); - height: 10px; - margin: 2px 4px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:top, -QToolBar::separator:bottom, -QToolBar::separator:horizontal { - width: 1px; - margin: 6px 4px; - background-color: rgba(0,0,0,30); -} - -QToolBar::separator:left, -QToolBar::separator:right, -QToolBar::separator:vertical { - height: 1px; - margin: 4px 6px; - background-color: rgba(0,0,0,30); -} - - -/*================================================================================================== -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; -} - -/* NOTE: QGroupBox checkboxes are styles with regular ones so that the all get the same style */ -/* QGroupBox::indicator { - width: 13px; - height: 13px; -} - -QGroupBox::indicator:unchecked { - image: url(:/images/checkbox_unchecked.png); -} */ - - -/*================================================================================================== -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_dark-light/close_dark.svg); - titlebar-normal-icon: url(qss:images_dark-light/undock_dark.svg); -} - -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); + color: #c2c7cb; + selection-background-color: #4882ff; + selection-color: #c2c7cb; + } + + QWidget::item:selected { + background-color: #4882ff; + } + + /* Causes issue with colorselector. + QWidget::item:hover:!selected { + background-color: #4882ff; + }*/ + + /* QMainWindow ------------------------------------------------------------ + + This adjusts the splitter in the dock widget, not qsplitter + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow + + --------------------------------------------------------------------------- */ + QMainWindow::separator { + /*background-color: #3c3c3c;*/ + border: 0px solid #696968; + spacing: 0px; 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 #3874f2, stop:1 #5e90fa); - border-radius: 3px; -} - - -/*================================================================================================== -Scroll -==================================================================================================*/ -QAbstractScrollArea { - border-radius: 2px; - background-color: transparent; -} - -QAbstractScrollArea::corner { + } + + QMainWindow::separator:vertical:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #4882ff, stop:0.8 transparent); + /*background-color: #4882ff;*/ + image: url(qss:images_dark-light/splitter_vertical_light.svg); + } + + QMainWindow::separator:horizontal:hover { + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #4882ff, stop:0.8 transparent); + /*background-color: #4882ff;*/ + image: url(qss:images_dark-light/splitter_horizontal_light.svg); + } + + QMainWindow::separator:horizontal { + width: 4px; + margin-top: 0.1px; + margin-bottom: 0.1px; + /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ + } + + QMainWindow::separator:vertical { + height: 4px; + margin-left: 0.1px; + margin-right: 0.1px; + /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ + } + + /* QToolTip --------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + + --------------------------------------------------------------------------- */ + QToolTip { + background-color: #505050; + color: White; + /* If you remove the border property, background stops working on Windows */ 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,80); -} - -QScrollBar::handle:vertical:hover, -QScrollBar::handle:horizontal:hover { - background-color: rgba(0,0,0,100); -} - -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_dark-light/left_arrow_light.svg); - 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_dark-light/right_arrow_light.svg); - 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_dark-light/left_arrow_lighter.svg); -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -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_dark-light/up_arrow_light.svg); - 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_dark-light/down_arrow_light.svg); - 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_dark-light/up_arrow_lighter.svg); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -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 reset 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; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ + } + + /* QStatusBar ------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + + --------------------------------------------------------------------------- */ + QStatusBar { + border: 0px solid #3c3c3c; + /* Fixes Spyder #9120, #9121 */ + background: #7F7F7F; + /* Fixes #205, white vertical borders separating items */ + } + + QStatusBar::item { + border: none; + } + + QStatusBar QToolTip { + background-color: #7F7F7F; + border: 1px solid #696968; + color: #7F7F7F; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; + } + + QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; + } + + /* QCheckBox -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + + --------------------------------------------------------------------------- */ + QCheckBox { + color: white; + padding: 0px; + outline: none; 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: #6e6e6e; /* same as tab content background color */ - 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 { + background-color: transparent; + } + + QCheckBox:focus { + border: 1px solid #3f7cff; + } + + QCheckBox QWidget:disabled { + background-color: transparent; + color: #c2c7cb; + } + + QCheckBox::indicator { color: white; - background-color: #5e90fa; -} - - -/*================================================================================================== -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_dark-light/close_dark.svg); - 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; /* necessary 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_dark-light/right_arrow_dark.svg); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_dark.svg); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -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:hover, -QTreeView::item:hover { - background-color: transparent; /* fix to homogenize it on all OSs */ -} - -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 hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: black; - background-color: #cbd8e6; -} - -/* 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; -} - -/* reset min-height 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 > Gui--ColorButton { - min-height: 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; - border-radius: 0px; /* reset */ -} - - -/*================================================================================================== -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; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QCheckBox::indicator:unchecked { 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 { + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { + background-color: #4882ff; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QCheckBox::indicator:unchecked:disabled { + background-color: #7F7F7F; + image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); + } + + QCheckBox::indicator:checked { 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_dark-light/up_arrow_light.svg); -} - -QHeaderView::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QHeaderView::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -/* 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_dark-light/branch_vline_dark.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; -} - - -/*================================================================================================== -Splitter and windows separator -==================================================================================================*/ -QSplitter::handle { - margin: 0px 11px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - background-position: center center; - background-repeat: none; - margin: 4px 2px 4px 2px; - width: 2px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - margin: 2px 4px 2px 4px; - height: 2px; -} - -/* Similar to the splitter is the following window separator (but horizontal/vertical is on the opposite way) */ -QMainWindow::separator { - background-position: center center; - background-repeat: none; -} - -QMainWindow::separator:horizontal { - height: 2px; - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - margin: 4px 2px 4px 2px; -} - -QMainWindow::separator:vertical { - width: 2px; - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - margin: 2px 4px 2px 4px; -} - - -/*================================================================================================== -Text/Python editor (macros, etc...) -==================================================================================================*/ -QPlainTextEdit, -QPlainTextEdit:focus { - background-color: #c8c8c8; - selection-color: white; - selection-background-color: #3874f2; - border: 1px solid #505050; - border-radius: 3px; - margin: 4px; -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -/* Action group */ -QFrame[class="panel"] { - background-color: transparent; /* temporal (transparent background) */ -} - -QSint--ActionGroup { - padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ - margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* 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; + /*border: 1px solid #696968; /* QRadioButton has the same color */ + image:url(qss:images_dark-light/checkbox_light.svg); + } + + QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { + background-color: #4882ff; + } + + QCheckBox::indicator:checked:disabled { + background-color: #7F7F7F; + image: url(qss:images_dark-light/check_light.svg); + } + + QCheckBox::indicator:indeterminate { + background-color: #505050; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QCheckBox::indicator:indeterminate:disabled { + background-color: #7F7F7F; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + background-color: #4882ff; /* QRadioButton has the same color */ + } + + /* QGroupBox -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + + --------------------------------------------------------------------------- */ + QGroupBox { font-weight: bold; - border: none; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { - background-color: transparent; - background-image: url(qss:images_dark-light/down_arrow_light.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images_dark-light/up_arrow_light.svg); - 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_dark-light/up_arrow_lighter.svg); -} - -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 */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { - padding: 2px; /* bigger padding crops text and icons... */ - margin: 0px; -} - -/* Fix for lists inside task panels */ -/* QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { - color: #f5f5f5; - background-color: #787878; -} */ - - -/*================================================================================================== -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 */ - min-height: 20px; /* important to be a pair number in order to up/down buttons to be divisible by two (if not set could create a blank line in Ubuntu. Its downside is that it's needed to reset it (min-width: 0px) on following elements that can't have it such as fields inside QToolBar and inside QTreeView (Property editor) */ - padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ -} - -/* more contrast for QTexEdits */ -QTextEdit { - color: black; -} - -/* 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 (like Report view)*/ -QTextEdit:!editable, -QTextEdit:!editable:focus { - 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; -} - -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_dark-light/up_arrow_light.svg); - top: 2px; /* fix symmetry 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_dark-light/up_arrow_lighter.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -QAbstractSpinBox::down-arrow, -QSpinBox::down-arrow, -QDoubleSpinBox::down-arrow, -QTimeEdit::down-arrow, -QDateEdit::down-arrow, -QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -/* 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_dark-light/down_arrow_light.svg); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QComboBox::down-arrow:off, -QComboBox::down-arrow:disabled { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - -/* 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, -Gui--PropertyEditor--PropertyEditor > 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 */ -} - -Gui--PropertyEditor--PropertyEditor > QWidget > QPushButton { - text-align:left; - padding-left: 2px; -} - -/* 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; -} - -QPushButton:checked { - background-color: #5e90fa; - border-color: #3874f2; -} - -/*================================================================================================== -Tool button Icon fix in save dialogs -==================================================================================================*/ -/* found under Tools -> Save Picture */ /* Draft -> ShapeString -> Font file */ - -QFileDialog#QFileDialog QToolButton { - background-color: transparent; - padding: 1px; - border: 1px; - margin: 0px; -} - - -/*================================================================================================== -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); -} - - -/*================================================================================================== -Tool button inside Task Panel content that works as QPushButtons -==================================================================================================*/ -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] 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: 2px 6px; /* different than regular QPushButton */ - margin: 2px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 4px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover, -QSint--ActionGroup QFrame[class="content"] 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); -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #6e6e6e; - border-color: #5a5a5a; - background-color: #5a5a5a; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #3874f2, stop:1 #5e90fa); -} - -/* QToolButtons with a menu found in Sketcher task panel*/ -QSint--ActionGroup QToolButton::menu-button { - border: none; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; + border: 1px solid #696968; + border-radius: 1.9px; padding: 2px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; -} - -QSint--ActionGroup QToolButton#settingsButton, -QSint--ActionGroup QToolButton#filterButton, -QSint--ActionGroup QToolButton#manualUpdate { - padding-right: 20px; /* make way for the popup button */ -} - -/* to give widget inside the menu same look as regular menu */ -QSint--ActionGroup QToolButton#filterButton QListWidget { - color: #e0e0e0; - background-color: #5a5a5a; - padding: 0px; - margin: 0px; -} - - -/*================================================================================================== -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_dark-light/radiobutton_light.svg); -} - -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 { - color: #f5f5f5; - background-color: transparent; - border: 1px solid #f5f5f5; -} - -QRadioButton:focus { - border: none; -} - - -/*================================================================================================== -Checkbox -==================================================================================================*/ -QCheckBox, -QCheckBox:disabled { - color: black; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: black; - background-color: rgba(255,255,255,20); - border: 1px solid #5a5a5a; - width: 11px; - height: 11px; - border-radius:2px; -} - -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed, -QGroupBox::indicator:pressed, -QGroupBox::indicator:non-exclusive:checked:pressed, -QGroupBox::indicator:indeterminate:pressed, -QGroupBox::indicator:checked:pressed { - border-color: #adc5ed; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #5e90fa; /* QRadioButton has the same color */ - border: 1px solid #3874f2; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox:disabled { - color: rgba(255,255,255,40); - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled { - background-color: rgba(255,255,255,20); - border: 1px solid rgba(255,255,255,20); -} - -QCheckBox::indicator:indeterminate, -QGroupBox::indicator:indeterminate { - background-color: #5e90fa; - border: 1px solid #3874f2; + margin-top: 10px; + margin-bottom: 4px; + } + + QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: 6px; + } + + QGroupBox::indicator { + color: white; + background-color: #3c3c3c; + border: 1px solid #696968; + width: 12px; + height: 12px; + border-radius:1px; + } + + QGroupBox::indicator:unchecked { + background-color: #696968; + border: 1px solid #696968; image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox:focus { - border: none; -} - - -/*================================================================================================== -Checkboxes inside QListWidget and QTreeView -==================================================================================================*/ -QListWidget::indicator, -QTreeView::indicator { - color: #c8c8c8; - background-color: rgba(255,255,255,20); - border: 1px solid #5a5a5a; - width: 11px; - height: 11px; - border-radius:2px; -} - -/* fix for QTreeView::indicator losing its margin */ -QTreeView::indicator { - margin: 3px; -} - -QListWidget::indicator:selected, -QTreeView::indicator:selected { - background-color: #e6e6e6; -} - -QListWidget::indicator:checked:selected, -QListWidget::indicator:indeterminate:selected, -QTreeView::indicator:checked:selected, -QTreeView::indicator:indeterminate:selected { - background-color: #7cabf9; /* slightly lighter than default */ - border-color: #2053c0; /* slightly darker than default */ -} - -QListWidget::indicator:pressed, -QListWidget::indicator:non-exclusive:checked:pressed, -QListWidget::indicator:indeterminate:pressed, -QListWidget::indicator:checked:pressed, -QTreeView::indicator:pressed, -QTreeView::indicator:non-exclusive:checked:pressed, -QTreeView::indicator:indeterminate:pressed, -QTreeView::indicator:checked:pressed { - border-color: #adc5ed; -} - -QListWidget::indicator:checked, -QTreeView::indicator:checked { - background-color: #5e90fa; /* QRadioButton has the same color */ - border: 1px solid #3874f2; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QListWidget::indicator:disabled, -QTreeView::indicator:disabled { - background-color: rgba(255,255,255,20); - border: 1px solid rgba(255,255,255,20); -} - -QListWidget::indicator:indeterminate, -QTreeView::indicator:indeterminate { - background-color: #5e90fa; - border: 1px solid #3874f2; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - - -/*================================================================================================== -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 { + } + + QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + background-color: #4882ff; + } + + QGroupBox::indicator:unchecked:disabled { background-color: #505050; - border: 1px solid #505050; + border: 1px solid #696968; + } + + QGroupBox::indicator:checked { + border: none; + image:url(qss:images_dark-light/checkbox_light.svg); + } + + QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + background-color: #4882ff; + } + + QGroupBox::indicator:checked:disabled { + background-color: #4882ff; + } + + /* QRadioButton ----------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + + --------------------------------------------------------------------------- */ + QRadioButton { + background-color: transparent; + color: White; + border: none; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + outline: none; + } + + QRadioButton:focus { + border: 1px solid #3f7cff; + } + + QRadioButton:disabled { + background-color: #696968; + color: #353535; + } + + QRadioButton QWidget { + background-color: transparent; + color: White; + spacing: 0px; + padding: 0px; + outline: none; + border: none; + } + + QRadioButton::indicator { + background-color: #3c3c3c; + border: 1px solid #696968; + border-radius: 6px; + margin-left: 0px; + height: 11px; + width: 11px; + } + + QRadioButton::indicator:unchecked { + /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ + } + + QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { + background-color: #4882ff; + border: 1px solid #4882ff; + border-radius: 6px; + } + + QRadioButton::indicator:unchecked:disabled { + /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ + border: 1px solid #696968; + } + + QRadioButton::indicator:checked { + image:url(qss:images_dark-light/radiobutton_light.svg); + } + + QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { + background-color: #4882ff; + border: 1px solid #4882ff; + border-radius: 6px; + image:url(qss:images_dark-light/radiobutton_light.svg); + } + + QRadioButton::indicator:checked:disabled { + outline: none; + background-color: #696968; + image:url(qss:images_dark-light/radiobutton_dark.svg); + } + + /* QMenuBar --------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + + --------------------------------------------------------------------------- */ + QMenuBar { + background-color: #505050; + /*padding: 1px; + border: 0px solid rgba(0,0,0,140);*/ + color: White; + selection-background-color: #4882ff; + } + + QMenuBar:focus { + border: 1px solid #3f7cff; + } + + QMenuBar::item { + background: transparent; + /*padding-left:5px; + padding-right: 5px; + padding-bottom: 1px; + padding-top: 1px;*/ + } + + QMenuBar::item:selected { + background: transparent; + border: 0px solid #696968; + background-color: #4882ff; + } + + QMenuBar::item:pressed { + /*padding: 2px; + padding-left: 10px; + padding-right: 10px;*/ + border: 0px solid #696968; + background-color: #4882ff; + color: White; + /*margin-bottom: 0px; + padding-bottom: 0px;*/ + } + + /* QMenu ------------------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + + --------------------------------------------------------------------------- */ + QMenu { + border-bottom: 2px rgba(0,0,0,140); + border-right: 2px rgba(0,0,0,140); + color: White; + margin: 0px; + background-color: #505050; + selection-background-color: #4882ff; + } + + QMenu::separator { + height: 2px; + background-color: #3c3c3c; + margin-left: 30%; + margin-right: 30%; + } + + QMenu::item { + background-color: transparent; + padding: 2px 2px; /* make room for icon at left */ + /* Reserve space for selection border */ + border: 0px transparent #696968; + } + + QMenu::item:selected { + color: White; + background-color: #4882ff; + } + + QMenu::item:pressed { + background-color: #4882ff; + } + + QMenu::icon { + margin-left: 5px; 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 > 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: 0px 2px; + } + + QMenu::indicator { + margin-left: 2px; + margin-right: 2px; padding: 0px; - min-width: 70px; /* necessary to show its content */ -} - -QToolBar > QComboBox, -QToolBar > QAbstractSpinBox, -QToolBar > QSpinBox, -QToolBar > QDoubleSpinBox, -QToolBar > QLineEdit, -QToolBar > QTextEdit, -QToolBar > QTimeEdit, -QToolBar > QDateEdit, -QToolBar > QDateTimeEdit { - min-height: 0px; /* reset it inside Tool Bar due to the user ability to set the "size of toolbar icons" inside Preferences */ -} - -QToolBar > QPushButton { - padding: 0px; - margin: 1px; /* doesn't work with :left, :right:, :top or :bottom sub-controls */ - min-width: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - min-height: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - border-radius: 4px; /* same as regular QPushButton */ -} - -QToolBar > QPushButton:checked { - border: 1px solid #7cabf9; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #cbd8e6, stop:1 #7cabf9); -} - -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 */ - text-align: left; /* bug fix #4559 */ -} - -QToolBar > QPushButton:checked:hover { - border-color: #6f9efa; -} - -QToolBar > QPushButton:!checked:hover { - color: #cbd8e6; - border-color: #505050; -} - -QToolBar > QPushButton:checked:pressed { - background-color: #7cabf9; -} - -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 { + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ + } + + QMenu::icon:checked { /* appearance of a 'checked' icon */ + background: #3f7cff; + margin-left: -5px; + border: 5px solid #3f7cff; + position: absolute; + border-radius: 0px; + } + QMenu::indicator:non-exclusive:unchecked { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { border: none; - background-color: transparent; -} - -QToolBar > QToolButton { - margin: 2px; - padding: 2px; - border-radius: 3px; -} - -QToolBar > QToolButton:hover { - background-color: rgba(0,0,0,20); -} - -QToolBar > QToolButton:pressed { - background-color: rgba(0,0,0,30); -} - -/* 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 { + image: url(qss:images_dark-light/checkbox_unchecked_focus.png); + } + + QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); + } + + QMenu::indicator:non-exclusive:checked { + image:url(qss:images_dark-light/checkbox_light.svg); + } + + QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + background: #4882ff; + image:url(qss:images_dark-light/checkbox_light.svg); + } + + QMenu::indicator:non-exclusive:checked:disabled { + image:url(qss:images_dark-light/checkbox_light.svg); + } + + QMenu::indicator:non-exclusive:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QMenu::indicator:exclusive:unchecked { + image: url(qss:images_dark-light/transparent.svg); + } + + QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { 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: #4882ff; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QMenu::indicator:exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); + } + + QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + background: #4882ff; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); + } + + QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image:url(qss:images_dark-light/right_arrow_lighter.svg); + height: 12px; + width: 12px; background-color: transparent; -} + } + + /* QAbstractItemView ------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + + --------------------------------------------------------------------------- */ + QAbstractItemView { + alternate-background-color: #5b5b5b; + color: White; + border: 1px solid #696968; + border-radius: 2px; + } + + QAbstractItemView QLineEdit { + padding: 2px; + } + + /* QAbstractScrollArea ---------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + + --------------------------------------------------------------------------- */ + QAbstractScrollArea { + background-color: transparent; + border: 0px solid #696968; + border-radius: 0px; + /* fix #159 */ + padding: 0px; + /* remove min-height to fix #244 */ + color: White; + } + + QAbstractScrollArea:disabled { + color: #353535; + } + + /* QScrollArea ------------------------------------------------------------ + + --------------------------------------------------------------------------- + text input field disabled!!!!*/ + QScrollArea QWidget:disabled { + background-color: #7F7F7F; + } + + /* QScrollBar ------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + + --------------------------------------------------------------------------- */ + QScrollBar:horizontal { + height: 16px; + margin: 2px 8px 2px 8px; + border: 0px solid #696968; + border-radius: 1.9px; + background-color: #7F7F7F; + } + + QScrollBar:vertical { + background-color: #7F7F7F; + width: 16px; + margin: 8px 2px 8px 2px; + border: 0px solid #696968; + border-radius: 1.9px; + } + + QScrollBar::handle:horizontal { + background-color: #696969; + border: 1px solid #7F7F7F; + border-radius: 4px; + min-width: 8px; + } + + QScrollBar::handle:horizontal:hover { + background-color: #4882ff; + border: #696968; + border-radius: 4px; + min-width: 8px; + } + + QScrollBar::handle:horizontal:focus { + border: 1px solid #3f7cff; + } + + QScrollBar::handle:vertical { + background-color: #696969; + border: 1px solid #696968; + min-height: 8px; + border-radius: 4px; + } + + QScrollBar::handle:vertical:hover { + background-color: #4882ff; + border: #696968; + border-radius: 4px; + min-height: 8px; + } + + QScrollBar::handle:vertical:focus { + border: 1px solid #3f7cff; + } + + QScrollBar::add-line:horizontal { + border-image: url(qss:images_dark-light/right_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; + } + + QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; + } + + QScrollBar::add-line:vertical { + border-image: url(qss:images_dark-light/down_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; + } + + QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; + } + + QScrollBar::sub-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/left_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; + } + + QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images_dark-light/left_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; + } + + QScrollBar::sub-line:vertical { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/up_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; + } + + QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + background-color: #4882ff; + border-image: url(qss:images_dark-light/up_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; + } + + QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; + } + + QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; + } + + QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; + } + + QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; + } + + /* QTextEdit -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + + + report view + --------------------------------------------------------------------------- */ + QTextEdit { + background-color: #7F7F7F; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; + } + + QTextEdit:focus { + border: 1px solid #3f7cff; + } + + QTextEdit:selected { + background: #346792; + color: white; + } + + /* QPlainTextEdit --------------------------------------------------------- + Python + --------------------------------------------------------------------------- */ + QPlainTextEdit { + background-color: #3c3c3c; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; + } + + QPlainTextEdit:focus { + border: 1px solid #3f7cff; + } + + QPlainTextEdit:selected { + background: #4882ff; + color: White; + } + + /* QSizeGrip -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + + --------------------------------------------------------------------------- */ + QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/sizegrip_light.svg); + } + + /* QStackedWidget --------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QStackedWidget { + padding: 0px; + border: 0px solid #696968; + } + + /* QToolBar --------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + + --------------------------------------------------------------------------- */ + QToolBar { + background-color: #7F7F7F; + border-bottom: 0px solid rgba(0,0,0,120); + padding: 1px; + font-weight: bold; + spacing: 1px; + } + + QToolBar:disabled { + /* Fixes #272 */ + background-color: #7F7F7F; + } + + QToolBar::handle:horizontal { + width: 8px; + margin: 3px 3px; + background-position: top right; + background-repeat: repeat-y; + background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); + } + + QToolBar::handle:vertical { + height: 8px; + margin: 3px 3px; + background-position: left bottom; + background-repeat: repeat-x; + background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); + } + + QToolBar::separator:horizontal { + width: 2px; + margin: 4px 4px; + background-color: transparent; + } + + QToolBar::separator:vertical { + height: 2px; + margin: 4px 4px; + background-color: transparent; + } + + /*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ + QToolButton#qt_toolbar_ext_button { + margin: 0px; + padding: 0px; + background-color: #696969; + /*background-image: url(qss:images_dark-light/more_light.svg);*/ + background-repeat: none; + background-position: center center; + } + + QToolButton#qt_toolbar_ext_button:hover { + /*background-image: url(qss:images_dark-light/more_light.svg);*/ + background-color: #4882ff; + } + + QToolButton#qt_toolbar_ext_button:on { + /*background-image: url(qss:images_dark-light/more_light.svg);*/ + border-color: #696968; + background-color: #4882ff; + } + + + /* QAbstractSpinBox ------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QAbstractSpinBox, + QSpinBox { + background-color: #505050; + border: 1px solid transparent; + color: White; + /* This fixes 103, 111 */ + /* padding-top: 0px; + /* This fixes 103, 111 */ + /*padding-bottom: 0px; + /*padding-left: 4px; + /*padding-right: 4px; + border-radius: 1.9px;*/ + min-height: 1.7em; + /* min-width: 5px; removed to fix 109 */ + } + + QAbstractSpinBox:up-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + subcontrol-origin: border; + subcontrol-position: top right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-bottom: -1px;*/ + } + + QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_light.svg); + /* height: 8px; + width: 8px;*/ + } + + QAbstractSpinBox::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_lighter.svg); + } + + QAbstractSpinBox:down-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + subcontrol-origin: border; + subcontrol-position: bottom right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-top: -1px;*/ + } + + QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + /*height: 8px; + width: 8px;*/ + } + + QAbstractSpinBox::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_lighter.svg); + } + + QAbstractSpinBox:hover { + /*border: 1px solid #4882ff; + color: White;*/ + } + + QAbstractSpinBox:focus { + border: 1px solid #3f7cff; + } + + QAbstractSpinBox:selected { + background: #3f7cff; + /*color: White;*/ + } + + /* ------------------------------------------------------------------------ */ + /* DISPLAYS --------------------------------------------------------------- */ + /* ------------------------------------------------------------------------ */ + /* QLabel ----------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + + --------------------------------------------------------------------------- */ + QLabel { + background-color: transparent; + border: 0px solid #696968; + padding: 2px; + margin: 0px; + color: White; + } + + QLabel:disabled { + background-color: transparent; + border: 0px solid #696968; + color: #c2c7cb; + } + + QLabel[haslink="true"] { + color: orange; + } + + + /* QTextBrowser ----------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + + --------------------------------------------------------------------------- */ + QTextBrowser { + background-color: #505050; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + } + + QTextBrowser:disabled { + background-color: #7F7F7F; + border: 1px solid #696968; + color: #c2c7cb; + border-radius: 1.9px; + } + + QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #4882ff; + } + + /* QGraphicsView ---------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QGraphicsView { + background-color: transparent; + border: 0px solid #4882ff; + color: White; + border-radius: 0px; + } + + QGraphicsView:disabled { + background-color: #505050; + border: 0px solid #696968; + color: #c2c7cb; + border-radius: 0px; + } + + QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 0px solid #ff00f7; + } + + /* QCalendarWidget -------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QCalendarWidget { + border: 1px solid #696968; + border-radius: 1.9px; + } + + QCalendarWidget:disabled { + background-color: #353535; + color: #c2c7cb; + } + + /* QLCDNumber ------------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QLCDNumber { + background-color: #1aff00; + color: White; + } + + QLCDNumber:disabled { + background-color: #7F7F7F; + color: #c2c7cb; + } + + /* QProgressBar ----------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + + --------------------------------------------------------------------------- */ + QProgressBar { + background-color: #c2c7cb; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + text-align: center; + } + + QProgressBar:disabled { + background-color: #505050; + border: 1px solid #696968; + color: #696969; + border-radius: 1.9px; + text-align: center; + } + + QProgressBar::chunk { + background-color: #4882ff; + color: #7F7F7F; + border-radius: 1.9px; + } + + QProgressBar::chunk:disabled { + background-color: #505050; + color: #696968; + border-radius: 1.9px; + } + + /* ------------------------------------------------------------------------ */ + /* BUTTONS ---------------------------------------------------------------- */ + /* ------------------------------------------------------------------------ */ + /* QPushButton ------------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + + --------------------------------------------------------------------------- */ + QPushButton { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + color: White; + border: 1px solid #505051; + border-bottom-color: #1e1e1e; /* simulates shadow under the button */ + border-radius: 4px; + padding: 2px; + } + + QPushButton:disabled { + background-color: #7F7F7F; + color: #c2c7cb; -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); + } + + QPushButton:checked { + background-color: #4882ff; + outline: none; + } + + QPushButton:checked:disabled { + background-color: #4882ff; + color: #3c3c3c; + outline: none; + } + + QPushButton:checked:selected { + background: #4882ff; + } + + QPushButton:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4882ff, stop:1 #3f7cff); + color: White; + } + + QPushButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #3f7cff, stop:1 #4882ff); } - -QToolBar > QToolButton::menu-arrow { - background-image: url(qss:images_dark-light/down_arrow_dark.svg); - background-position: center center; - background-repeat: none; + + QPushButton:selected { + background: #3f7cff; + color: White; + } + + QPushButton::menu-indicator { subcontrol-origin: padding; subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ -} - -QToolBar > QToolButton::menu-arrow:hover { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QToolBar > QToolButton::menu-arrow:open { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -/* when QToolButton is checked: */ -QToolBar > QToolButton:checked { - border: 1px solid #7cabf9; - background-color: rgba(124,171,249,60); /* transparency for #7cabf9 color */ -} - -QToolBar > QToolButton:checked:hover { - border: 1px solid #7cabf9; - background-color: rgba(124,171,249,80); /* transparency for #7cabf9 color */ -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" */ -QToolBar QToolButton#qt_toolbar_ext_button { - margin: 0px; + bottom: 4px; + } + + QDialogButtonBox QPushButton { + /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; + } + + /* QToolButton ------------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + + --------------------------------------------------------------------------- */ + QToolButton { + background-color: transparent; + color: White; + border-radius: 1px; padding: 0px; - /*background-image: url(qss:images_dark-light/more_dark.svg);*/ - image: transparent; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ + } + + QToolButton:disabled { + background-color: rgba(0, 0, 0, 0.065); + color: #c2c7cb; + border-radius: 1px; + padding: 0px; + } + + QToolButton:checked { + background-color: #4882ff; + border-radius: 1.9px; + padding: 0px; + outline: none; + } + + QToolButton:checked:disabled { + background-color: #b65555; + color: #c2c7cb; + border-radius: 1.9px; + padding: 0px; + outline: none; + } + + QToolButton:checked:hover { + background-color: #4882ff; + color: White; + } + + QToolButton:checked:pressed { + background-color: #4882ff; + } + + QToolButton:checked:selected { + background: #3f7cff; + color: White; + } + + QToolButton:hover { + background-color: #4882ff; + color: White; + } + + QToolButton:pressed { + background-color: #3f7cff; + } + + QToolButton:selected { + background: #4882ff; + color: White; + } + + QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 20px; + } + + QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; + } + QToolButton[popupMode="0"]::menu-button { + border: none; + } + + QToolButton[popupMode="0"]::menu-button:hover { + border: none; + border-left: 2px solid #fe0000; + border-radius: 0px; + } + QToolButton[popupMode="1"]::menu-button { + border: none; + } + + QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 2px solid #e5ff00; + border-radius: 0px; + } + + QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 20px; + } + + QToolButton::menu-button { + border-bottom: 0px solid #ffffff; + border-radius: 2px; + /* 16px width + 4px for border = 20px allocated above */ + width: 1.6ex; + padding: 2px; + border-radius: 2px; + border: 0px #000000; + } + + QToolButton::menu-button:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + + } + + QToolButton::menu-button:checked:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + } + + QToolButton::menu-indicator { + /* Exclude a shift for better image */ + subcontrol-position: right bottom; + /* Shift it a bit */ + } + + QToolButton::menu-arrow { + image: url(qss:images_dark-light/more_arrow_light.svg); + width: 1.5ex; + height: 1.5ex; + subcontrol-position: right bottom; + background: transparent; + } + QToolButton::menu-arrow:open { + subcontrol-position: right bottom; + image: url(qss:images_dark-light/more_arrow_light.svg); + } + QToolButton::menu-arrow:hover { + image: url(qss:images_dark-light/more_arrow_light.svg); + background-color: rgba(0, 0, 0, 0.498); + border: 1px solid rgba(0, 0, 0, 0.498); + } + + /* QCommandLinkButton ----------------------------------------------------- + + --------------------------------------------------------------------------- */ + QCommandLinkButton { + background-color: transparent; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + padding: 0px; + margin: 0px; + } + + QCommandLinkButton:disabled { + background-color: transparent; + color: #c2c7cb; + } + + /* ------------------------------------------------------------------------ */ + /* INPUTS - NO FIELDS ----------------------------------------------------- */ + /* ------------------------------------------------------------------------ */ + /* QComboBox -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + + --------------------------------------------------------------------------- */ + QComboBox { + border: 1px solid transparent; + background: #505050; + border-radius: 2px; + selection-background-color: #4882ff; + padding-left: 2px; + padding-right: 2px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ + } + QComboBox:editable { + background: white; + } + QComboBox QAbstractItemView { + border: 0px solid #696968; + border-radius: 0px; + background-color: #505050; + selection-background-color: #4882ff; + } + + QComboBox QAbstractItemView:hover { + background-color:#505050; + color: White; + } + + QComboBox QAbstractItemView:selected { + background: #4882ff; + color: White; + } + + QComboBox QAbstractItemView:alternate { + background: #3c3c3c; + } + + QComboBox:disabled { + background-color: #7F7F7F; + color: #353535; + } + + QComboBox:hover { + /*background-color: #4882ff;*/ + border: 1px solid #4882ff; + } + + QComboBox:focus { + border: 1px solid #3f7cff; + } + + QComboBox:on { + selection-background-color: #3f7cff; + } + + QComboBox::indicator { + border: none; + border-radius: 0px; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: #4882ff; + /* Needed to remove indicator - fix #132 */ + } + + QComboBox::indicator:alternate { + background: #696968; + } + + QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ + } + + QComboBox::item:alternate { + background: #3c3c3c; + } + + QComboBox::drop-down { + subcontrol-origin: padding; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + subcontrol-position: top right; + width: 14px; + border-left: 1px solid transparent; + } + QComboBox::drop-down:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4882ff, stop:1 #3f7cff); + } + + QComboBox::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 10px; + width: 10px; + } + + QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); + } + + + /*================================================================================================== + Tasks panel (custom FreeCAD class) + ==================================================================================================*/ + Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: white; + qproperty-groupBackground: #3c3c3c; + border: 0px solid #696968; + + } + + /* Action group */ + QFrame[class="panel"] { + background-color: transparent; /* temporal (transparent background) */ + + } + + QSint--ActionGroup { + padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ + margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ + } + + /* 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-top: 1px solid #696968; + border-left: 1px solid #696968; + border-right: 1px solid #696968; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + 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(x1:0, y1:0, x2:0, y2:1, stop:0 #4882ff, stop:1 #3f7cff); + } + + 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_dark-light/down_arrow_light.svg); + 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_dark-light/down_arrow_lighter.svg); + } + + QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { + background-color: transparent; + background-image: url(qss:images_dark-light/up_arrow_light.svg); + 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_dark-light/up_arrow_lighter.svg); + } + + QSint--ActionGroup QFrame[class="content"] { + background-color: transparent; /* Task Panel background color */ + margin: 0px; + padding: 0px; + border-bottom: 1px solid #696968; + border-left: 1px solid #696968; + border-right: 1px solid #696968; + 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: #7F7F7F; /* Task Panel background color */ + } + + /* Fixs for tabs inside Task Panel */ + QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { + border-bottom-color: #4882ff; /* same as Task Panel background color */ + } + + QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { + border-top-color: #4882ff; /* same as Task Panel background color */ + } + + QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { + border-right-color: #4882ff; /* same as Task Panel background color */ + } + + QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { + border-left-color: #4882ff; /* same as Task Panel background color */ + } + + /* Fix for buttons with icons that showed cropped (still not happy with result) */ + QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { + padding: 2px; /* bigger padding crops text and icons... */ + margin: 0px; + } + + /* Fix for lists inside task panels */ /* sketcher constraints list */ + QSint--ActionGroup QFrame[class="content"] QTreeView, + QSint--ActionGroup QFrame[class="content"] QListView, + QSint--ActionGroup QFrame[class="content"] QTableView { + color: white; + background-color: #505050; + } + + + /* found inside Part Design Workbench and "make a draft on a face" Task panel options */ + QSint--ActionGroup QFrame[class="content"] QToolButton { + color: white; + text-align: center; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + border: 0px solid #adadad; + padding: 1px 1px; /* different than regular QPushButton */ + margin: 0px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 1px; + } + + QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4882ff, stop:1 #3f7cff); + + } + QSint--ActionGroup QFrame[class="content"] QToolButton:focus { + border: 1px solid #3f7cff; + } + + QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, + QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { + color: #696969; + background-color: #505050; + } + + QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4882ff, stop:1 #3f7cff); + + } + + /* QSlider ---------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + + --------------------------------------------------------------------------- */ + QSlider:disabled { + background: #7F7F7F; + } + + QSlider:focus { + border: 1px solid #3f7cff; + } + + QSlider::groove:horizontal { + background: #7F7F7F; + border: 1px solid #696968; + height: 4px; + margin: 0px; + border-radius: 1.9px; + } + + QSlider::groove:vertical { + background: #4882ff; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; + } + + QSlider::add-page:vertical { + background: #4882ff; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; + } + + QSlider::add-page:vertical :disabled { + background: #696968; + } + + QSlider::sub-page:horizontal { + background: #4882ff; + border: 1px solid #0073ff; + height: 4px; + margin: 0px; + border-radius: 1.9px; + } + + QSlider::sub-page:horizontal:disabled { + background: #4882ff; + } + + QSlider::handle:horizontal { + background: #353535; + border: 1px solid #7F7F7F; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 1.9px; + } + + QSlider::handle:horizontal:hover { + background: #4882ff; + border: 1px solid #4882ff; + } + + QSlider::handle:horizontal:focus { + border: 1px solid #3f7cff; + } + + QSlider::handle:vertical { + background: #c2c7cb; + border: 1px solid #696968; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 1.9px; + } + + QSlider::handle:vertical:hover { + background: #4882ff; + border: 2px solid #4882ff; + } + + QSlider::handle:vertical:focus { + border: 1px solid #3f7cff; + } + + /* QLineEdit -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + + --------------------------------------------------------------------------- */ + QLineEdit { + background-color: #505050; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #696968; + border-radius: 2px; + color: White; + } + + QLineEdit:disabled { + background-color: #7F7F7F; + color: #c2c7cb; + } + + QLineEdit:hover { + border: 1px solid #4882ff; + color: White; + } + + QLineEdit:focus { + border: 2px solid #3f7cff; + } + + QLineEdit:selected { + background-color: #4882ff; + color: white; + } + + /* QTabWiget -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + + --------------------------------------------------------------------------- */ + QTabWidget { + padding: 2px; + selection-background-color: #4882ff; + } + + QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 1.9px; + } + + QTabWidget::pane { + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; + } + + QTabWidget::pane:selected { + background-color: #4882ff; + border: 1px solid #346792; + } + /* QTabBar ---------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + + --------------------------------------------------------------------------- */ + QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + /* left: 5px; move to the right by 5px - removed for fix */ + } + + QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 1px; + image: url(qss:images_dark-light/close_light.svg); + } + + QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + /*background-color: rgba(255, 0, 0, 0.3);*/ + } + + QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(qss:images_dark-light/close_.svg); + } + + QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ + padding: 4px; + } + + QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + color: #f5f5f5; + } + + QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + color: #f5f5f5; + } + + QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + color: #f5f5f5; + } + + QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + color: #f5f5f5; + } + + QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + color: #f5f5f5; + } + + QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + color: #f5f5f5; + + } + + QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + color: #f5f5f5; + + } + + QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + color: #f5f5f5; + } + + QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + color: #f5f5f5; + } + + QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + color: #f5f5f5; + } + + QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + color: #f5f5f5; + } + + QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + color: #f5f5f5; + } + + QTabBar::tab:top, QDockWidget QTabBar::tab:top { + color: #f5f5f5; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; + } + + QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + color: white; + border-top: 4px solid #4882ff; /* selection color */ + border-bottom: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + } + + QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + /*border: 1px solid #4882ff;*/ + border: 0px solid #4882ff; + background-color: #4882ff; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; + } + + QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + color: #f5f5f5; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-top: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; + } + + QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + color: white; + border-bottom: 4px solid #4882ff; /* selection color */ + border-top: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + + } + + QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { + /*border: 1px solid #4882ff;*/ + border: 0px solid #4882ff; + background-color: #4882ff; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; + } + + QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #7F7F7F; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 4px; + min-height: 5px; + } + + QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #7F7F7F; + border: 0px solid #3f7cff; + } + + QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 0px solid #4882ff; + background-color: #4882ff; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; + } + + QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #7F7F7F; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + min-height: 5px; + border: 10px; + } + + QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #7F7F7F; + border: 0px solid #3f7cff; + } + + QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 0px solid #4882ff; + background-color: #4882ff; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; + } + + QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #7F7F7F; + height: 12px; + width: 12px; + } + + QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + border: 0px solid #4882ff; + background-color: #4882ff; + } + + QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 0px solid #4882ff; + background-color: #4882ff; + } + + QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_lighter.svg); + } + + QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(qss:images_dark-light/left_arrow_disabled_light.svg); + } + + QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_lighter.svg); + } + + QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(qss:images_dark-light/right_arrow_disabled_light.svg); + } + + /* QDockWiget ------------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QDockWidget { + background-color: #7F7F7F; + border: 1px solid #505051; + border-radius: 1.9px; + titlebar-close-icon: url(qss:images_dark-light/transparent.svg); + titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); + } + + QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + text-align: center; + font-weight: bold; + } + + QDockWidget::close-button { + icon-size: 10px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/close_light.svg); + } + + QDockWidget::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + } + + QDockWidget::close-button:pressed { + image: url(qss:images_dark-light/close_light.svg); + } + + QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/undock_light.svg); + } + + QDockWidget::float-button:hover { + /*background-color: #4882ff;*/ + image: url(qss:images_dark-light/undock_blue.svg); + } + + QDockWidget::float-button:pressed { + image: url(qss:images_dark-light/undock_light.svg); + } + + /* QTreeView QListView QTableView ----------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + + --------------------------------------------------------------------------- */ + QTreeView::branch { + background: transparent; + } + + QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; + } + + QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_light.svg) 0; + } + + QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_light.svg) 0; + } + + QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; + } + + QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; + } + + QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; + } + + QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; + } + + QTreeView::indicator:checked, + QListView::indicator:checked, + QTableView::indicator:checked, + QColumnView::indicator:checked { + image: url(qss:images_dark-light/checkbox_light.svg); + } + + QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, + QListView::indicator:checked:hover, + QListView::indicator:checked:focus, + QListView::indicator:checked:pressed, + QTableView::indicator:checked:hover, + QTableView::indicator:checked:focus, + QTableView::indicator:checked:pressed, + QColumnView::indicator:checked:hover, + QColumnView::indicator:checked:focus, + QColumnView::indicator:checked:pressed { + image: url(qss:images_dark-light/checkbox_light_hover.svg); + } + + QTreeView::indicator:unchecked, + QListView::indicator:unchecked, + QTableView::indicator:unchecked, + QColumnView::indicator:unchecked { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, + QListView::indicator:unchecked:hover, + QListView::indicator:unchecked:focus, + QListView::indicator:unchecked:pressed, + QTableView::indicator:unchecked:hover, + QTableView::indicator:unchecked:focus, + QTableView::indicator:unchecked:pressed, + QColumnView::indicator:unchecked:hover, + QColumnView::indicator:unchecked:focus, + QColumnView::indicator:unchecked:pressed { + image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); + } + + QTreeView::indicator:indeterminate, + QListView::indicator:indeterminate, + QTableView::indicator:indeterminate, + QColumnView::indicator:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, + QListView::indicator:indeterminate:hover, + QListView::indicator:indeterminate:focus, + QListView::indicator:indeterminate:pressed, + QTableView::indicator:indeterminate:hover, + QTableView::indicator:indeterminate:focus, + QTableView::indicator:indeterminate:pressed, + QColumnView::indicator:indeterminate:hover, + QColumnView::indicator:indeterminate:focus, + QColumnView::indicator:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QTreeView, + QListView, + QTableView, + QColumnView { + background-color: #7F7F7F; /* background of a lot of stuff including spreadsheets.*/ + border: 0px solid #696968; + color: White; + gridline-color: #696968; + border-radius: 0px; + } + + QTreeView:disabled, + QListView:disabled, + QTableView:disabled, + QColumnView:disabled { + background-color: #505050; + color: #c2c7cb; + } + + QTreeView:selected, + QListView:selected, + QTableView:selected, + QColumnView:selected { + background-color: #4882ff; + color: White; + } + + QTreeView:focus, + QListView:focus, + QTableView:focus, + QColumnView:focus { + border: 1px solid #3f7cff; + } + + QTreeView::item:pressed, + QListView::item:pressed, + QTableView::item:pressed, + QColumnView::item:pressed { + background-color: #4882ff; + } + + QTreeView::item:selected:active, + QListView::item:selected:active, + QTableView::item:selected:active, + QColumnView::item:selected:active { + background-color: #4882ff; + } + + QTreeView::item:selected:!active, + QListView::item:selected:!active, + QTableView::item:selected:!active, + QColumnView::item:selected:!active { + color: White; + background-color: #353535; + } + + QTreeView::item:!selected:hover, + QListView::item:!selected:hover, + QTableView::item:!selected:hover, + QColumnView::item:!selected:hover { + outline: 0; + color: White; + background-color: #4882ff; + } + + QTableCornerButton::section { + background-color: #7F7F7F; + border: 1px transparent #696968; + border-radius: 0px; + } + + QTableView::item { + color: white; + } + QTableView { + /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ + /*qproperty-aliasBgColor: #f700ff;*/ + } + + /* QHeaderView ------------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + + --------------------------------------------------------------------------- */ + QHeaderView { + background-color: transparent; + text-align: center; + } + + QHeaderView:disabled { + background-color: #7f7f7f; + color: rgb(174, 174, 174); + } + + QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + color: White; + border: 1px solid #505051; + font-size: 13px; + font-weight: bold; + } + + QHeaderView::section::horizontal { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 5px; + padding-right: 0px; + } + + QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 0px solid #696968; + } + + QHeaderView::section::horizontal:disabled { + color: #353535; + } + + QHeaderView::section::vertical { + padding-top: 1px; + padding-bottom: 0; + padding-left: 1px; + padding-right: 0px; + border-top: 0px solid #696968; + } + + QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 2px solid #505051; + } + + QHeaderView::section::vertical:disabled { + border-top: 2px solid #505051; + } + + QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/down_arrow_light.svg); + } + + QHeaderView::up-arrow { + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/up_arrow_light.svg); + } + + /* QToolBox -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox + used in PATH + + --------------------------------------------------------------------------- */ + QToolBox { + padding: 0px; + border: 1px solid #696969; + border-radius: 4px; + background-color: transparent; + } + + QToolBox:selected { + padding: 0px; + border: 0px solid #4882ff; + } + + QToolBox::tab { + background-color: transparent; + border: 0px solid #696969; + color: white; + background-image: url(qss:images_dark-light/down_arrow_lighter.svg); background-repeat: none; background-position: center left; -} - -QToolBar QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #5a5a5a; - background-color: #5a5a5a; -} - -QToolBar QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - 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 > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit, -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - border-radius: 0px; -} - -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit { - color: black; - background-color: transparent; - border-color: transparent; -} - -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - background-color: rgba(0,0,0,30); -} - -QTableView > QWidget > QComboBox:focus, -QTableView > QWidget > QAbstractSpinBox:focus, -QTableView > QWidget > QSpinBox:focus, -QTableView > QWidget > QDoubleSpinBox:focus, -QTableView > QWidget > QLineEdit:focus, -QTableView > QWidget > QTextEdit:focus, -QTableView > QWidget > QTimeEdit:focus, -QTableView > QWidget > QDateEdit:focus, -QTableView > QWidget > QDateTimeEdit:focus { - color: #1b3774; - selection-color: white; - selection-background-color: #5e90fa; - border-color: #cbd8e6; - background-color: #cbd8e6; -} - -QTableView > QWidget > QComboBox:disabled, -QTableView > QWidget > QAbstractSpinBox:disabled, -QTableView > QWidget > QSpinBox:disabled, -QTableView > QWidget > QDoubleSpinBox:disabled, -QTableView > QWidget > QLineEdit:disabled, -QTableView > QWidget > QTextEdit:disabled, -QTableView > QWidget > QTimeEdit:disabled, -QTableView > QWidget > QDateEdit:disabled, -QTableView > QWidget > QDateTimeEdit:disabled { - color: rgba(0,0,0,120); - background-color: transparent; - border-color: transparent; -} - -QTableView > QWidget > QComboBox:read-only, -QTableView > QWidget > QAbstractSpinBox:read-only, -QTableView > QWidget > QSpinBox:read-only, -QTableView > QWidget > QDoubleSpinBox:read-only, -QTableView > QWidget > QLineEdit:read-only, -QTableView > QWidget > QTextEdit:read-only, -QTableView > QWidget > QTimeEdit:read-only, -QTableView > QWidget > QDateEdit:read-only, -QTableView > QWidget > QDateTimeEdit:read-only { - color: black; - background-color: transparent; - border-color: transparent; -} - - -/*================================================================================================== -SELECTORTOOLBAR widget (3rd party plugin) -==================================================================================================*/ -QToolBar:horizontal#Selector, -QToolBar:vertical#Selector { - background-color: rgba(0,0,0,120); - margin: 0px; - padding: 0px; -} - -QToolBar::handle:top#Selector, -QToolBar::handle:bottom#Selector, -QToolBar::handle:horizontal#Selector { - alignment: bottom left; -} - -QToolBar::handle:left#Selector, -QToolBar::handle:right#Selector, -QToolBar::handle:vertical#Selector { - width: 100%; - alignment: center left; -} - -QToolBar:top#Selector QToolButton, -QToolBar:bottom#Selector QToolButton, -QToolBar:horizontal#Selector QToolButton { - alignment: bottom left; -} - -QToolBar:left#Selector QToolButton, -QToolBar:right#Selector QToolButton, -QToolBar:vertical#Selector QToolButton { - alignment: center left; -} - -QToolButton[toolbar_orientation="horizontal"] { - /* nothing, when Horizontal there's no need to add special parameters */ -} - -QToolButton[toolbar_orientation="vertical"] { - /* nothing, when Horizontal there's no need to add special parameters */ -} - -QToolBar#Selector QToolButton { - border: none; - margin: 0px; - padding: 2px 6px; - border-radius: 0px; -} - -/* Active tab */ -QToolBar#Selector QToolButton:checked { + } + + QToolBox::tab:disabled { + color: #696969; + } + + QToolBox::tab:selected { + background-color: #696969; + background-image: url(qss:images_dark-light/transparent.svg); + padding-right: 5px; + background-repeat: none; + } + + QToolBox::tab:selected:disabled { + background-color: #696969; + border-bottom: 0px solid #cccccc; color: white; - background-color: #6e6e6e; -} - -/* Unactive tabs */ -QToolBar#Selector QToolButton:!checked { - color: rgba(255,255,255,160); + } + + QToolBox::tab:!selected { + + } + + QToolBox::tab:!selected:disabled { + background-color: #7F7F7F; + } + + QToolBox::tab:hover { + background-color: #4882ff; + } + + QToolBox QScrollArea QWidget QWidget { + padding: 0px; + border: 0px; background-color: transparent; - margin: 0px; -} - -/* Unactive tabs (hover) */ -QToolBar#Selector QToolButton:!checked:hover { - color: rgba(255,255,255,255); - background-color: rgba(255,255,255,20); -} - -/* Unactive tabs (pressed) */ -QToolBar#Selector QToolButton:!checked:pressed { - background-color: rgba(255,255,255,40); -} - - -/*================================================================================================== -TABBAR widget (3rd party plugin) -==================================================================================================*/ -QTabWidget#TabBar > QTabBar { - border-top: 0; -} - -QTabWidget#TabBar > QTabBar::tab:top, -QTabWidget#TabBar > QTabBar::tab:bottom { - min-width: -1; -} - -QTabWidget#TabBar > QTabBar::tab:left, -QTabWidget#TabBar > QTabBar::tab:right { - min-height: -1; -} - - -/*================================================================================================== -EXPERIMENTAL -==================================================================================================*/ - -/* Fix for preventing elements in different rows to accidentally overlap */ -QDialog QGroupBox QFrame { - margin: 2px 0px; -} - -*[mandatoryField="true"] { background-color: cyan } - -/* Hack to avoid QPushButton text partially hidden under menu-indicator */ -QPushButton#NavigationIndicator::menu-indicator { - image: none; - width: 0px; -} - - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} - + } + + /* QFrame ----------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + https://doc.qt.io/qt-5/qframe.html#-prop + https://doc.qt.io/qt-5/qframe.html#details + https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + + --------------------------------------------------------------------------- */ + /* (dot) .QFrame fix #141, #126, #123 */ + .QFrame { + border-radius: 0px; + border: 0px solid #696968; + background-color: #696969; + /* No frame */ + /* HLine */ + /* HLine */ + } + + .QFrame[frameShape="0"] { + border-radius: 1.9px; + border: 1px solid #696968; + } + + .QFrame[frameShape="4"] { + max-height: 1px; + border: none; + background-color: #696968; + } + + .QFrame[frameShape="5"] { + max-width: 1px; + border: none; + background-color: #7F7F7F; + } + + /* QSplitter -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter + + --------------------------------------------------------------------------- */ + QSplitter { + background-color: #3c3c3c; + spacing: 1px; + padding: 1px; + margin: 1px; + } + + QSplitter::handle { + margin: 0px 0px; + padding: 0px; + } + + QSplitter::handle:horizontal { + background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + width: 1px; + } + + QSplitter::handle:vertical { + background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + height: 1px; + } + + QSplitter::handle:hover { + background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); + background-position: center center; + background-repeat: none; + background-color: #4882ff; + } + + /* QDateEdit, QDateTimeEdit ----------------------------------------------- + + --------------------------------------------------------------------------- */ + QDateEdit, QDateTimeEdit { + selection-background-color: #4882ff; + border-style: solid; + border: 1px solid #696968; + border-radius: 1.9px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; + } + + QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #4882ff; + } + + QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #696968; + } + + QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 8px; + width: 8px; + } + + QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); + } + + QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #7F7F7F; + border-radius: 2px; + border: 1px solid #696968; + selection-background-color: #4882ff; + } + + /* QAbstractView ---------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QAbstractView:hover { + border: 1px solid #4882ff; + color: White; + } + + QAbstractView:selected { + background: #4882ff; + color: White; + } + + /* PlotWidget ------------------------------------------------------------- + + --------------------------------------------------------------------------- */ + PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; + } \ No newline at end of file diff --git a/src/Gui/Stylesheets/Dark-green.qss b/src/Gui/Stylesheets/Dark-green.qss index 77c0c7eaa0..12daec1d9d 100644 --- a/src/Gui/Stylesheets/Dark-green.qss +++ b/src/Gui/Stylesheets/Dark-green.qss @@ -1,793 +1,56 @@ /* ABOUT ============================================================================================================ -version 2.21 -Qt theme (stylesheet) specially developed for FreeCAD (https://www.freecad.org/). -It might work with other software that uses Qt styling. +Revised stylesheet based on the orignal from Pablo Gil Fernández made by MisterMaker - -LICENSE +KNOWN BUGS and TO DO ============================================================================================================ -Copyright (c) 2019 Pablo Gil Fernández +Please, follow the link to get updated information: +https://forum.freecad.org/viewtopic.php?t=78431 -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 +INSTALLATION WHEN NECESSARY ============================================================================================================ 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/ - -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 lighter) - 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 +============================================================================================================ +TO MODIFY USE THESE COLORS: + #a1bd00 + #819700 -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: https://forum.freecad.org/viewtopic.php?f=10&t=12417 +See Qt documentation: -*/ + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ -/*================================================================================================== -Reset elements -==================================================================================================*/ -/* Resetting everything helps to unify styles across different operating systems */ +/* Reset elements ------------------------------------------------------------ + +Resetting everything helps to unify styles across different operating systems + +--------------------------------------------------------------------------- */ * { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; - color: black; /* Default color for labels and different text elements that usually use dark colors */ + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; + border-image: none; + outline: 0; } /* specific reset for elements inside QToolBar */ QToolBar * { - margin: 0px; - padding: 0px; + margin: 0px; + padding: 0px; } - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #6e6e6e; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} - - -/*================================================================================================== -Sub windows -==================================================================================================*/ -QMdiSubWindow { - border:1px solid #505050; - margin-top: 30px; - margin-left: 4px; - margin-right: 4px; - margin-bottom:4px; -} - - -/*================================================================================================== -MENUS -==================================================================================================*/ -QMenuBar, -QMenuBar::item { - color: #e0e0e0; - background-color: #6e6e6e; /* main background color */ -} - -QMenu, -QMenu::item { - color: #e0e0e0; - background-color: #5a5a5a; - text-decoration: none; -} - -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_dark-light/right_arrow_dark.svg); - margin-right: 2px; -} - -QMenu::right-arrow:selected { - image:url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QMenu::item { - padding: 2px 4px; /* make room for icon at left */ - border: 1px solid transparent; /* reserve space for selection border */ -} - -QMenu::icon { - margin-left: 1px; - margin-right: 1px; -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #94b30f; - border: 2px #94b30f; - position: absolute; - border-radius: 2px; -} - -QMenu::separator { - height: 1px; - background-color: rgba(255,255,255,30); - margin: 6px 4px; -} - -QMenu::indicator:non-exclusive:checked { - color: white; -} - -/* Fix for elements inside a drop-down menu */ -QMenu QRadioButton, -QMenu QCheckBox, -QMenu QPushButton, -QMenu QToolButton { - color: white; /* same as regular QRadioButton and QCheckBox */ -} - -QMenu QRadioButton:hover, -QMenu QCheckBox:hover, -QMenu QPushButton:hover, -QMenu QToolButton:hover, -QMenu QPushButton:pressed, -QMenu QToolButton:pressed, -QMenu QPushButton:selected, -QMenu QToolButton:selected { - color: white; - background-color: #94b30f; /* same as QMenu::item:selected and QMenu::item:pressed */ -} - -QMenu QRadioButton:disabled, -QMenu QCheckBox:disabled { - color: #f5f5f5; -} - -QMenu QRadioButton::indicator:disabled, -QMenu QCheckBox::indicator:disabled { - color: #f5f5f5; - background-color: transparent; - border: 1px solid #f5f5f5; -} - - -/*================================================================================================== -Tool bar -==================================================================================================*/ -QToolBar { - border: none; - padding: 2px; -} - -QToolBar::handle:top, -QToolBar::handle:bottom, -QToolBar::handle:horizontal { - background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); - width: 10px; - margin: 4px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:left, -QToolBar::handle:right, -QToolBar::handle:vertical { - background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); - height: 10px; - margin: 2px 4px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:top, -QToolBar::separator:bottom, -QToolBar::separator:horizontal { - width: 1px; - margin: 6px 4px; - background-color: rgba(0,0,0,30); -} - -QToolBar::separator:left, -QToolBar::separator:right, -QToolBar::separator:vertical { - height: 1px; - margin: 4px 6px; - background-color: rgba(0,0,0,30); -} - - -/*================================================================================================== -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; -} - -/* NOTE: QGroupBox checkboxes are styles with regular ones so that the all get the same style */ -/* QGroupBox::indicator { - width: 13px; - height: 13px; -} - -QGroupBox::indicator:unchecked { - image: url(:/images/checkbox_unchecked.png); -} */ - - -/*================================================================================================== -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_dark-light/close_dark.svg); - titlebar-normal-icon: url(qss:images_dark-light/undock_dark.svg); -} - -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 #819c0c, stop:1 #94b30f); - 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,80); -} - -QScrollBar::handle:vertical:hover, -QScrollBar::handle:horizontal:hover { - background-color: rgba(0,0,0,100); -} - -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_dark-light/left_arrow_light.svg); - 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_dark-light/right_arrow_light.svg); - 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_dark-light/left_arrow_lighter.svg); -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -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_dark-light/up_arrow_light.svg); - 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_dark-light/down_arrow_light.svg); - 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_dark-light/up_arrow_lighter.svg); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -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 reset 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: #6e6e6e; /* same as tab content background color */ - 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; -} - - -/*================================================================================================== -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_dark-light/close_dark.svg); - 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; /* necessary 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_dark-light/right_arrow_dark.svg); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_dark.svg); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -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:hover, -QTreeView::item:hover { - background-color: transparent; /* fix to homogenize it on all OSs */ -} - -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 */ +/*hacks */ Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, @@ -797,15 +60,18 @@ Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { background-color: transparent; selection-color: transparent; selection-background-color: transparent; + +} +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 1px; + margin: 0px; + padding: 0px; } -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: black; - background-color: #dadfc5; -} - -/* hack to disable margin inside Property values to following elements */ Gui--PropertyEditor--PropertyEditor QSpinBox, Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, @@ -815,249 +81,1414 @@ Gui--PropertyEditor--PropertyEditor QComboBox { margin-right: 0px; padding-top: 0px; padding-bottom: 0px; -} -/* reset min-height 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 > Gui--ColorButton { - min-height: 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; - border-radius: 0px; /* reset */ -} - - /*================================================================================================== -Header of tree and list views +Main window ==================================================================================================*/ -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; +QMainWindow, +QDialog, +QDockWidget, +QToolBar { + background-color: #7F7F7F; /* main background color */ } -QHeaderView::section { - border:none; - padding: 4px 6px; - background-color: #505050; +QMdiArea { + background-image: url(qss:images_dark-light/background_freecad_dark.svg); + background-position: center center; + background-repeat: no-repeat; +} +/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ +Gui--NavigationIndicatorGui--BlenderNavigationStyle { +/*QAction#a4 {*/ + qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); +} +/*===== +/* QWidget ---------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QWidget { + background-color: #7F7F7F; + border: 0px solid #696968; + padding: 0px; + color: White; + selection-background-color: #a1bd00; + selection-color: White; } -QHeaderView::section:horizontal { - padding: 4px 6px; /* left and right value similar to QHeaderView::section */ - border-right: 1px solid rgba(255,255,255,30); +QWidget:disabled { + background-color: transparent; + color: #c2c7cb; + selection-background-color: #a1bd00; + selection-color: #c2c7cb; } -QHeaderView::section:vertical { - border-bottom: 1px solid rgba(255,255,255,30); +QWidget::item:selected { + background-color: #a1bd00; } -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); -} + /* Causes issue with colorselector. + QWidget::item:hover:!selected { + background-color: #a1bd00; + }*/ -QHeaderView::section:last { - border-right: none; -} +/* QMainWindow ------------------------------------------------------------ -QHeaderView::up-arrow { - image: url(qss:images_dark-light/up_arrow_light.svg); -} +This adjusts the splitter in the dock widget, not qsplitter +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow -QHeaderView::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QHeaderView::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -/* 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_dark-light/branch_vline_dark.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; -} - - -/*================================================================================================== -Splitter and windows separator -==================================================================================================*/ -QSplitter::handle { - margin: 0px 11px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - background-position: center center; - background-repeat: none; - margin: 4px 2px 4px 2px; - width: 2px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - margin: 2px 4px 2px 4px; - height: 2px; -} - -/* Similar to the splitter is the following window separator (but horizontal/vertical is on the opposite way) */ +--------------------------------------------------------------------------- */ QMainWindow::separator { - background-position: center center; - background-repeat: none; + /*background-color: #3c3c3c;*/ + border: 0px solid #696968; + spacing: 0px; + padding: 1px; +} + +QMainWindow::separator:vertical:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #a1bd00, stop:0.8 transparent); + /*background-color: #a1bd00;*/ + image: url(qss:images_dark-light/splitter_vertical_light.svg); +} + +QMainWindow::separator:horizontal:hover { + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #a1bd00, stop:0.8 transparent); + /*background-color: #a1bd00;*/ + image: url(qss:images_dark-light/splitter_horizontal_light.svg); } QMainWindow::separator:horizontal { - height: 2px; - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - margin: 4px 2px 4px 2px; + width: 4px; + margin-top: 0.1px; + margin-bottom: 0.1px; + /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ } QMainWindow::separator:vertical { - width: 2px; - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - margin: 2px 4px 2px 4px; + height: 4px; + margin-left: 0.1px; + margin-right: 0.1px; + /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ +} + +/* QToolTip --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + +--------------------------------------------------------------------------- */ +QToolTip { + background-color: #505050; + color: White; + /* If you remove the border property, background stops working on Windows */ + border: none; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ +} + +/* QStatusBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + +--------------------------------------------------------------------------- */ +QStatusBar { + border: 0px solid #3c3c3c; + /* Fixes Spyder #9120, #9121 */ + background: #7F7F7F; + /* Fixes #205, white vertical borders separating items */ +} + +QStatusBar::item { + border: none; +} + +QStatusBar QToolTip { + background-color: #7F7F7F; + border: 1px solid #696968; + color: #7F7F7F; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; +} + +QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; +} + +/* QCheckBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + +--------------------------------------------------------------------------- */ +QCheckBox { + color: white; + padding: 0px; + outline: none; + border: 1px solid transparent; + background-color: transparent; +} + +QCheckBox:focus { + border: 1px solid #819700; +} + +QCheckBox QWidget:disabled { + background-color: transparent; + color: #c2c7cb; +} + +QCheckBox::indicator { + color: white; + background-color: #505050; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked { + background-color: #505050; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { + background-color: #a1bd00; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked:disabled { + background-color: #7F7F7F; + image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QCheckBox::indicator:checked { + background-color: #505050; + /*border: 1px solid #696968; /* QRadioButton has the same color */ + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { + background-color: #a1bd00; +} + +QCheckBox::indicator:checked:disabled { + background-color: #7F7F7F; + image: url(qss:images_dark-light/check_light.svg); +} + +QCheckBox::indicator:indeterminate { + background-color: #505050; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QCheckBox::indicator:indeterminate:disabled { + background-color: #7F7F7F; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + background-color: #a1bd00; /* QRadioButton has the same color */ +} + +/* QGroupBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + +--------------------------------------------------------------------------- */ +QGroupBox { + font-weight: bold; + border: 1px solid #696968; + border-radius: 1.9px; + padding: 2px; + margin-top: 10px; + margin-bottom: 4px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: 6px; +} + +QGroupBox::indicator { + color: white; + background-color: #3c3c3c; + border: 1px solid #696968; + width: 12px; + height: 12px; + border-radius:1px; +} + +QGroupBox::indicator:unchecked { + background-color: #696968; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + background-color: #a1bd00; +} + +QGroupBox::indicator:unchecked:disabled { + background-color: #505050; + border: 1px solid #696968; +} + +QGroupBox::indicator:checked { + border: none; + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + background-color: #a1bd00; +} + +QGroupBox::indicator:checked:disabled { + background-color: #a1bd00; +} + +/* QRadioButton ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + +--------------------------------------------------------------------------- */ +QRadioButton { + background-color: transparent; + color: White; + border: none; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + outline: none; +} + +QRadioButton:focus { + border: 1px solid #819700; +} + +QRadioButton:disabled { + background-color: #696968; + color: #353535; +} + +QRadioButton QWidget { + background-color: transparent; + color: White; + spacing: 0px; + padding: 0px; + outline: none; + border: none; +} + +QRadioButton::indicator { + background-color: #3c3c3c; + border: 1px solid #696968; + border-radius: 6px; + margin-left: 0px; + height: 11px; + width: 11px; +} + +QRadioButton::indicator:unchecked { + /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ +} + +QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { + background-color: #a1bd00; + border: 1px solid #a1bd00; + border-radius: 6px; +} + +QRadioButton::indicator:unchecked:disabled { + /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ + border: 1px solid #696968; +} + +QRadioButton::indicator:checked { + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { + background-color: #a1bd00; + border: 1px solid #a1bd00; + border-radius: 6px; + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +QRadioButton::indicator:checked:disabled { + outline: none; + background-color: #696968; + image:url(qss:images_dark-light/radiobutton_dark.svg); +} + +/* QMenuBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + +--------------------------------------------------------------------------- */ +QMenuBar { + background-color: #505050; + /*padding: 1px; + border: 0px solid rgba(0,0,0,140);*/ + color: White; + selection-background-color: #a1bd00; +} + +QMenuBar:focus { + border: 1px solid #819700; +} + +QMenuBar::item { + background: transparent; + /*padding-left:5px; + padding-right: 5px; + padding-bottom: 1px; + padding-top: 1px;*/ +} + +QMenuBar::item:selected { + background: transparent; + border: 0px solid #696968; + background-color: #a1bd00; +} + +QMenuBar::item:pressed { + /*padding: 2px; + padding-left: 10px; + padding-right: 10px;*/ + border: 0px solid #696968; + background-color: #a1bd00; + color: White; + /*margin-bottom: 0px; + padding-bottom: 0px;*/ +} + +/* QMenu ------------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + +--------------------------------------------------------------------------- */ +QMenu { + border-bottom: 2px rgba(0,0,0,140); + border-right: 2px rgba(0,0,0,140); + color: White; + margin: 0px; + background-color: #505050; + selection-background-color: #a1bd00; +} + +QMenu::separator { + height: 2px; + background-color: #3c3c3c; + margin-left: 30%; + margin-right: 30%; +} + +QMenu::item { + background-color: transparent; + padding: 2px 2px; /* make room for icon at left */ + /* Reserve space for selection border */ + border: 0px transparent #696968; +} + +QMenu::item:selected { + color: White; + background-color: #a1bd00; +} + +QMenu::item:pressed { + background-color: #a1bd00; +} + +QMenu::icon { + margin-left: 5px; + width: 14px; + height: 14px; +} + +QMenu::indicator { + margin-left: 2px; + margin-right: 2px; + padding: 0px; + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ +} + +QMenu::icon:checked { /* appearance of a 'checked' icon */ + background: #819700; + margin-left: -5px; + border: 5px solid #819700; + position: absolute; + border-radius: 0px; +} +QMenu::indicator:non-exclusive:unchecked { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { + border: none; + image: url(qss:images_dark-light/checkbox_unchecked_focus.png); +} + +QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QMenu::indicator:non-exclusive:checked { + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + background: #a1bd00; + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:checked:disabled { + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:exclusive:unchecked { + image: url(qss:images_dark-light/transparent.svg); +} + +QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { + border: none; + outline: none; + background: #a1bd00; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); +} + +QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + background: #a1bd00; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); +} + +QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image:url(qss:images_dark-light/right_arrow_lighter.svg); + height: 12px; + width: 12px; + background-color: transparent; +} + +/* QAbstractItemView ------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QAbstractItemView { + alternate-background-color: #5b5b5b; + color: White; + border: 1px solid #696968; + border-radius: 2px; +} + +QAbstractItemView QLineEdit { + padding: 2px; +} + +/* QAbstractScrollArea ---------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QAbstractScrollArea { + background-color: transparent; + border: 0px solid #696968; + border-radius: 0px; + /* fix #159 */ + padding: 0px; + /* remove min-height to fix #244 */ + color: White; +} + +QAbstractScrollArea:disabled { + color: #353535; +} + +/* QScrollArea ------------------------------------------------------------ + +--------------------------------------------------------------------------- +text input field disabled!!!!*/ +QScrollArea QWidget:disabled { + background-color: #7F7F7F; +} + +/* QScrollBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + +--------------------------------------------------------------------------- */ +QScrollBar:horizontal { + height: 16px; + margin: 2px 8px 2px 8px; + border: 0px solid #696968; + border-radius: 1.9px; + background-color: #7F7F7F; +} + +QScrollBar:vertical { + background-color: #7F7F7F; + width: 16px; + margin: 8px 2px 8px 2px; + border: 0px solid #696968; + border-radius: 1.9px; +} + +QScrollBar::handle:horizontal { + background-color: #696969; + border: 1px solid #7F7F7F; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:hover { + background-color: #a1bd00; + border: #696968; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:focus { + border: 1px solid #819700; +} + +QScrollBar::handle:vertical { + background-color: #696969; + border: 1px solid #696968; + min-height: 8px; + border-radius: 4px; +} + +QScrollBar::handle:vertical:hover { + background-color: #a1bd00; + border: #696968; + border-radius: 4px; + min-height: 8px; +} + +QScrollBar::handle:vertical:focus { + border: 1px solid #819700; +} + +QScrollBar::add-line:horizontal { + border-image: url(qss:images_dark-light/right_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + border-image: url(qss:images_dark-light/down_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/left_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images_dark-light/left_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/up_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + background-color: #a1bd00; + border-image: url(qss:images_dark-light/up_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; +} + +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +/* QTextEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + + +report view +--------------------------------------------------------------------------- */ +QTextEdit { + background-color: #7F7F7F; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; +} + +QTextEdit:focus { + border: 1px solid #819700; +} + +QTextEdit:selected { + background: #346792; + color: white; +} + +/* QPlainTextEdit --------------------------------------------------------- +Python +--------------------------------------------------------------------------- */ +QPlainTextEdit { + background-color: #3c3c3c; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; +} + +QPlainTextEdit:focus { + border: 1px solid #819700; +} + +QPlainTextEdit:selected { + background: #a1bd00; + color: White; +} + +/* QSizeGrip -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + +--------------------------------------------------------------------------- */ +QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/sizegrip_light.svg); +} + +/* QStackedWidget --------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QStackedWidget { + padding: 0px; + border: 0px solid #696968; +} + +/* QToolBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + +--------------------------------------------------------------------------- */ +QToolBar { + background-color: #7F7F7F; + border-bottom: 0px solid rgba(0,0,0,120); + padding: 1px; + font-weight: bold; + spacing: 1px; +} + +QToolBar:disabled { + /* Fixes #272 */ + background-color: #7F7F7F; +} + +QToolBar::handle:horizontal { + width: 8px; + margin: 3px 3px; + background-position: top right; + background-repeat: repeat-y; + background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); +} + +QToolBar::handle:vertical { + height: 8px; + margin: 3px 3px; + background-position: left bottom; + background-repeat: repeat-x; + background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); +} + +QToolBar::separator:horizontal { + width: 2px; + margin: 4px 4px; + background-color: transparent; +} + +QToolBar::separator:vertical { + height: 2px; + margin: 4px 4px; + background-color: transparent; +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ +QToolButton#qt_toolbar_ext_button { +margin: 0px; +padding: 0px; +background-color: #696969; +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +background-repeat: none; +background-position: center center; +} + +QToolButton#qt_toolbar_ext_button:hover { +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +background-color: #a1bd00; +} + +QToolButton#qt_toolbar_ext_button:on { +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +border-color: #696968; +background-color: #a1bd00; } -/*================================================================================================== -Text/Python editor (macros, etc...) -==================================================================================================*/ -QPlainTextEdit, -QPlainTextEdit:focus { - background-color: #c8c8c8; - selection-color: white; - selection-background-color: #819c0c; - border: 1px solid #505050; - border-radius: 3px; - margin: 4px; +/* QAbstractSpinBox ------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractSpinBox, +QSpinBox { + background-color: #505050; + border: 1px solid transparent; + color: White; + /* This fixes 103, 111 */ + /* padding-top: 0px; + /* This fixes 103, 111 */ + /*padding-bottom: 0px; + /*padding-left: 4px; + /*padding-right: 4px; + border-radius: 1.9px;*/ + min-height: 1.7em; + /* min-width: 5px; removed to fix 109 */ +} + +QAbstractSpinBox:up-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + subcontrol-origin: border; + subcontrol-position: top right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-bottom: -1px;*/ +} + +QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_light.svg); + /* height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_lighter.svg); +} + +QAbstractSpinBox:down-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + subcontrol-origin: border; + subcontrol-position: bottom right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-top: -1px;*/ +} + +QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + /*height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + +QAbstractSpinBox:hover { + /*border: 1px solid #a1bd00; + color: White;*/ +} + +QAbstractSpinBox:focus { + border: 1px solid #819700; +} + +QAbstractSpinBox:selected { + background: #819700; + /*color: White;*/ +} + +/* ------------------------------------------------------------------------ */ +/* DISPLAYS --------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QLabel ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + +--------------------------------------------------------------------------- */ +QLabel { + background-color: transparent; + border: 0px solid #696968; + padding: 2px; + margin: 0px; + color: White; +} + +QLabel:disabled { + background-color: transparent; + border: 0px solid #696968; + color: #c2c7cb; +} + +QLabel[haslink="true"] { + color: orange; +} + + +/* QTextBrowser ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QTextBrowser { + background-color: #505050; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; +} + +QTextBrowser:disabled { + background-color: #7F7F7F; + border: 1px solid #696968; + color: #c2c7cb; + border-radius: 1.9px; +} + +QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #a1bd00; +} + +/* QGraphicsView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QGraphicsView { + background-color: transparent; + border: 0px solid #a1bd00; + color: White; + border-radius: 0px; +} + +QGraphicsView:disabled { + background-color: #505050; + border: 0px solid #696968; + color: #c2c7cb; + border-radius: 0px; +} + +QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 0px solid #ff00f7; +} + +/* QCalendarWidget -------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCalendarWidget { + border: 1px solid #696968; + border-radius: 1.9px; +} + +QCalendarWidget:disabled { + background-color: #353535; + color: #c2c7cb; +} + +/* QLCDNumber ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QLCDNumber { + background-color: #1aff00; + color: White; +} + +QLCDNumber:disabled { + background-color: #7F7F7F; + color: #c2c7cb; +} + +/* QProgressBar ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + +--------------------------------------------------------------------------- */ +QProgressBar { + background-color: #c2c7cb; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar:disabled { + background-color: #505050; + border: 1px solid #696968; + color: #696969; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #a1bd00; + color: #7F7F7F; + border-radius: 1.9px; +} + +QProgressBar::chunk:disabled { + background-color: #505050; + color: #696968; + border-radius: 1.9px; +} + +/* ------------------------------------------------------------------------ */ +/* BUTTONS ---------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QPushButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + +--------------------------------------------------------------------------- */ +QPushButton { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + color: White; + border: 1px solid #505051; + border-bottom-color: #1e1e1e; /* simulates shadow under the button */ + border-radius: 4px; + padding: 2px; +} + +QPushButton:disabled { + background-color: #7F7F7F; + color: #c2c7cb; + +} + +QPushButton:checked { + background-color: #a1bd00; + outline: none; +} + +QPushButton:checked:disabled { + background-color: #a1bd00; + color: #3c3c3c; + outline: none; +} + +QPushButton:checked:selected { + background: #a1bd00; +} + +QPushButton:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #a1bd00, stop:1 #819700); + color: White; +} + +QPushButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #819700, stop:1 #a1bd00); +} + +QPushButton:selected { + background: #819700; + color: White; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + bottom: 4px; +} + +QDialogButtonBox QPushButton { + /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; +} + +/* QToolButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + +--------------------------------------------------------------------------- */ +QToolButton { + background-color: transparent; + color: White; + border-radius: 1px; + padding: 0px; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ +} + +QToolButton:disabled { + background-color: rgba(0, 0, 0, 0.065); + color: #c2c7cb; + border-radius: 1px; + padding: 0px; +} + +QToolButton:checked { + background-color: #a1bd00; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:disabled { + background-color: #b65555; + color: #c2c7cb; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:hover { + background-color: #a1bd00; + color: White; +} + +QToolButton:checked:pressed { + background-color: #a1bd00; +} + +QToolButton:checked:selected { + background: #819700; + color: White; +} + +QToolButton:hover { + background-color: #a1bd00; + color: White; +} + +QToolButton:pressed { + background-color: #819700; +} + +QToolButton:selected { + background: #a1bd00; + color: White; +} + +QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 20px; +} + +QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; +} +QToolButton[popupMode="0"]::menu-button { + border: none; +} + +QToolButton[popupMode="0"]::menu-button:hover { + border: none; + border-left: 2px solid #fe0000; + border-radius: 0px; +} +QToolButton[popupMode="1"]::menu-button { + border: none; +} + +QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 2px solid #e5ff00; + border-radius: 0px; +} + +QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 20px; +} + +QToolButton::menu-button { + border-bottom: 0px solid #ffffff; + border-radius: 2px; + /* 16px width + 4px for border = 20px allocated above */ + width: 1.6ex; + padding: 2px; + border-radius: 2px; + border: 0px #000000; +} + +QToolButton::menu-button:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + +} + +QToolButton::menu-button:checked:hover { + /* background: rgba(0, 0, 0, 0.5);*/ +} + +QToolButton::menu-indicator { + /* Exclude a shift for better image */ + subcontrol-position: right bottom; + /* Shift it a bit */ +} + +QToolButton::menu-arrow { + image: url(qss:images_dark-light/more_arrow_light.svg); + width: 1.5ex; + height: 1.5ex; + subcontrol-position: right bottom; + background: transparent; +} +QToolButton::menu-arrow:open { + subcontrol-position: right bottom; + image: url(qss:images_dark-light/more_arrow_light.svg); +} +QToolButton::menu-arrow:hover { + image: url(qss:images_dark-light/more_arrow_light.svg); + background-color: rgba(0, 0, 0, 0.498); + border: 1px solid rgba(0, 0, 0, 0.498); +} + +/* QCommandLinkButton ----------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCommandLinkButton { + background-color: transparent; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + padding: 0px; + margin: 0px; +} + +QCommandLinkButton:disabled { + background-color: transparent; + color: #c2c7cb; +} + +/* ------------------------------------------------------------------------ */ +/* INPUTS - NO FIELDS ----------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QComboBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QComboBox { + border: 1px solid transparent; + background: #505050; + border-radius: 2px; + selection-background-color: #a1bd00; + padding-left: 2px; + padding-right: 2px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ +} +QComboBox:editable { + background: white; +} +QComboBox QAbstractItemView { + border: 0px solid #696968; + border-radius: 0px; + background-color: #505050; + selection-background-color: #a1bd00; +} + +QComboBox QAbstractItemView:hover { + background-color:#505050; + color: White; +} + +QComboBox QAbstractItemView:selected { + background: #a1bd00; + color: White; +} + +QComboBox QAbstractItemView:alternate { + background: #3c3c3c; +} + +QComboBox:disabled { + background-color: #7F7F7F; + color: #353535; +} + +QComboBox:hover { + /*background-color: #a1bd00;*/ + border: 1px solid #a1bd00; +} + +QComboBox:focus { + border: 1px solid #819700; +} + +QComboBox:on { + selection-background-color: #819700; +} + +QComboBox::indicator { + border: none; + border-radius: 0px; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: #a1bd00; + /* Needed to remove indicator - fix #132 */ +} + +QComboBox::indicator:alternate { + background: #696968; +} + +QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ +} + +QComboBox::item:alternate { + background: #3c3c3c; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + subcontrol-position: top right; + width: 14px; + border-left: 1px solid transparent; +} +QComboBox::drop-down:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #a1bd00, stop:1 #819700); +} + +QComboBox::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 10px; + width: 10px; +} + +QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); } /*================================================================================================== Tasks panel (custom FreeCAD class) ==================================================================================================*/ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: white; + qproperty-groupBackground: #3c3c3c; + border: 0px solid #696968; + +} + /* Action group */ QFrame[class="panel"] { - background-color: transparent; /* temporal (transparent background) */ +background-color: transparent; /* temporal (transparent background) */ + } QSint--ActionGroup { - padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ - margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ } /* Separator line */ @@ -1067,1252 +1498,1031 @@ 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); +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; +border-top: 1px solid #696968; +border-left: 1px solid #696968; +border-right: 1px solid #696968; +background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); +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); +background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #a1bd00, stop:1 #819700); } QSint--ActionGroup QToolButton[class="header"] { - color: #e0e0e0; /* Task Panel Header text color */ - text-align: left; - font-weight: bold; - border: none; - margin: 0px; - padding: 0px; +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_dark-light/down_arrow_light.svg); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; +background-color: transparent; +background-image: url(qss:images_dark-light/down_arrow_light.svg); +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_dark-light/down_arrow_lighter.svg); +background-color: transparent; +background-image: url(qss:images_dark-light/down_arrow_lighter.svg); } QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images_dark-light/up_arrow_light.svg); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_light.svg); +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_dark-light/up_arrow_lighter.svg); +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_lighter.svg); } 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; +background-color: transparent; /* Task Panel background color */ +margin: 0px; +padding: 0px; +border-bottom: 1px solid #696968; +border-left: 1px solid #696968; +border-right: 1px solid #696968; +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 */ +background-color: #7F7F7F; /* 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 */ +border-bottom-color: #a1bd00; /* 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 */ +border-top-color: #a1bd00; /* 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 */ +border-right-color: #a1bd00; /* 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 */ +border-left-color: #a1bd00; /* same as Task Panel background color */ } /* Fix for buttons with icons that showed cropped (still not happy with result) */ QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { - padding: 2px; /* bigger padding crops text and icons... */ - margin: 0px; +padding: 2px; /* bigger padding crops text and icons... */ +margin: 0px; } -/* Fix for lists inside task panels */ -/* QSint--ActionGroup QFrame[class="content"] QTreeView, +/* Fix for lists inside task panels */ /* sketcher constraints list */ +QSint--ActionGroup QFrame[class="content"] QTreeView, QSint--ActionGroup QFrame[class="content"] QListView, QSint--ActionGroup QFrame[class="content"] QTableView { - color: #f5f5f5; - background-color: #787878; -} */ - - -/*================================================================================================== -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 */ - min-height: 20px; /* important to be a pair number in order to up/down buttons to be divisible by two (if not set could create a blank line in Ubuntu. Its downside is that it's needed to reset it (min-width: 0px) on following elements that can't have it such as fields inside QToolBar and inside QTreeView (Property editor) */ - padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ -} - -/* more contrast for QTexEdits */ -QTextEdit { - color: black; -} - -/* 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 (like Report view)*/ -QTextEdit:!editable, -QTextEdit:!editable:focus { - 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; -} - -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_dark-light/up_arrow_light.svg); - top: 2px; /* fix symmetry 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_dark-light/up_arrow_lighter.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -QAbstractSpinBox::down-arrow, -QSpinBox::down-arrow, -QDoubleSpinBox::down-arrow, -QTimeEdit::down-arrow, -QDateEdit::down-arrow, -QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -/* 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_dark-light/down_arrow_light.svg); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QComboBox::down-arrow:off, -QComboBox::down-arrow:disabled { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - -/* 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 */ +color: white; +background-color: #505050; } -/*================================================================================================== -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, -Gui--PropertyEditor--PropertyEditor > 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 */ -} - -Gui--PropertyEditor--PropertyEditor > QWidget > QPushButton { - text-align:left; - padding-left: 2px; -} - -/* 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; -} - -QPushButton:checked { - background-color: #94b30f; - border-color: #819c0c; -} - -/*================================================================================================== -Tool button Icon fix in save dialogs -==================================================================================================*/ -/* found under Tools -> Save Picture */ /* Draft -> ShapeString -> Font file */ - -QFileDialog#QFileDialog QToolButton { - background-color: transparent; - padding: 1px; - border: 1px; - margin: 0px; -} - -/*================================================================================================== -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); -} - - -/*================================================================================================== -Tool button inside Task Panel content that works as QPushButtons -==================================================================================================*/ /* found inside Part Design Workbench and "make a draft on a face" Task panel options */ QSint--ActionGroup QFrame[class="content"] 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: 2px 6px; /* different than regular QPushButton */ - margin: 2px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 4px; + color: white; + text-align: center; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + border: 0px solid #adadad; + padding: 1px 1px; /* different than regular QPushButton */ + margin: 0px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 1px; } -QSint--ActionGroup QFrame[class="content"] QToolButton:hover, +QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #a1bd00, stop:1 #819700); + +} QSint--ActionGroup QFrame[class="content"] 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); + border: 1px solid #819700; } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #6e6e6e; - border-color: #5a5a5a; - background-color: #5a5a5a; + color: #696969; + background-color: #505050; } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #819c0c, stop:1 #94b30f); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #a1bd00, stop:1 #819700); + } -/* QToolButtons with a menu found in Sketcher task panel*/ -QSint--ActionGroup QToolButton::menu-button { - border: none; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - padding: 2px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; +/* QSlider ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + +--------------------------------------------------------------------------- */ +QSlider:disabled { + background: #7F7F7F; } -QSint--ActionGroup QToolButton#settingsButton, -QSint--ActionGroup QToolButton#filterButton, -QSint--ActionGroup QToolButton#manualUpdate { - padding-right: 20px; /* make way for the popup button */ -} - -/* to give widget inside the menu same look as regular menu */ -QSint--ActionGroup QToolButton#filterButton QListWidget { - color: #e0e0e0; - background-color: #5a5a5a; - padding: 0px; - margin: 0px; -} - - -/*================================================================================================== -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_dark-light/radiobutton_light.svg); -} - -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 { - color: #f5f5f5; - background-color: transparent; - border: 1px solid #f5f5f5; -} - -QRadioButton:focus { - border: none; -} - - -/*================================================================================================== -Checkbox -==================================================================================================*/ -QCheckBox, -QCheckBox:disabled { - color: black; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: black; - background-color: rgba(255,255,255,20); - border: 1px solid #5a5a5a; - width: 11px; - height: 11px; - border-radius:2px; -} - -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed, -QGroupBox::indicator:pressed, -QGroupBox::indicator:non-exclusive:checked:pressed, -QGroupBox::indicator:indeterminate:pressed, -QGroupBox::indicator:checked:pressed { - border-color: #c5d675; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #94b30f; /* QRadioButton has the same color */ - border: 1px solid #819c0c; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox:disabled { - color: rgba(255,255,255,40); - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled { - background-color: rgba(255,255,255,20); - border: 1px solid rgba(255,255,255,20); -} - -QCheckBox::indicator:indeterminate, -QGroupBox::indicator:indeterminate { - background-color: #94b30f; - border: 1px solid #819c0c; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox:focus { - border: none; -} - - -/*================================================================================================== -Checkboxes inside QListWidget and QTreeView -==================================================================================================*/ -QListWidget::indicator, -QTreeView::indicator { - color: #c8c8c8; - background-color: rgba(255,255,255,20); - border: 1px solid #5a5a5a; - width: 11px; - height: 11px; - border-radius:2px; -} - -/* fix for QTreeView::indicator losing its margin */ -QTreeView::indicator { - margin: 3px; -} - -QListWidget::indicator:selected, -QTreeView::indicator:selected { - background-color: #e6e6e6; -} - -QListWidget::indicator:checked:selected, -QListWidget::indicator:indeterminate:selected, -QTreeView::indicator:checked:selected, -QTreeView::indicator:indeterminate:selected { - background-color: #a5c61a; /* slightly lighter than default */ - border-color: #74831d; /* slightly darker than default */ -} - -QListWidget::indicator:pressed, -QListWidget::indicator:non-exclusive:checked:pressed, -QListWidget::indicator:indeterminate:pressed, -QListWidget::indicator:checked:pressed, -QTreeView::indicator:pressed, -QTreeView::indicator:non-exclusive:checked:pressed, -QTreeView::indicator:indeterminate:pressed, -QTreeView::indicator:checked:pressed { - border-color: #c5d675; -} - -QListWidget::indicator:checked, -QTreeView::indicator:checked { - background-color: #94b30f; /* QRadioButton has the same color */ - border: 1px solid #819c0c; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QListWidget::indicator:disabled, -QTreeView::indicator:disabled { - background-color: rgba(255,255,255,20); - border: 1px solid rgba(255,255,255,20); -} - -QListWidget::indicator:indeterminate, -QTreeView::indicator:indeterminate { - background-color: #94b30f; - border: 1px solid #819c0c; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - - -/*================================================================================================== -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:focus { + border: 1px solid #819700; } QSlider::groove:horizontal { - height: 8px; + background: #7F7F7F; + border: 1px solid #696968; + height: 4px; + margin: 0px; + border-radius: 1.9px; } QSlider::groove:vertical { - width: 8px; + background: #a1bd00; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; } -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #5a5a5a; - background-color: #5a5a5a; +QSlider::add-page:vertical { + background: #a1bd00; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; } -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #505050; - border: 1px solid #505050; - width: 14px; - height: 14px; - border-radius: 8px; +QSlider::add-page:vertical :disabled { + background: #696968; +} + +QSlider::sub-page:horizontal { + background: #a1bd00; + border: 1px solid #0073ff; + height: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::sub-page:horizontal:disabled { + background: #a1bd00; } QSlider::handle:horizontal { - margin: -4px 0; + background: #353535; + border: 1px solid #7F7F7F; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 1.9px; +} + +QSlider::handle:horizontal:hover { + background: #a1bd00; + border: 1px solid #a1bd00; +} + +QSlider::handle:horizontal:focus { + border: 1px solid #819700; } QSlider::handle:vertical { - margin: 0 -4px; + background: #c2c7cb; + border: 1px solid #696968; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 1.9px; } -QSlider::handle:horizontal:hover, -QSlider::handle:vertical:hover, -QSlider::handle:horizontal:pressed, -QSlider::handle:vertical:pressed { - border-color: #94b30f; - background-color: #94b30f; +QSlider::handle:vertical:hover { + background: #a1bd00; + border: 2px solid #a1bd00; } -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #5a5a5a; - background-color: #5a5a5a; +QSlider::handle:vertical:focus { + border: 1px solid #819700; } +/* QLineEdit -------------------------------------------------------------- -/*================================================================================================== -Toolbar buttons -==================================================================================================*/ -/*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: 0px 2px; - padding: 0px; - min-width: 70px; /* necessary to show its content */ +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + +--------------------------------------------------------------------------- */ +QLineEdit { + background-color: #505050; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #696968; + border-radius: 2px; + color: White; } -QToolBar > QComboBox, -QToolBar > QAbstractSpinBox, -QToolBar > QSpinBox, -QToolBar > QDoubleSpinBox, -QToolBar > QLineEdit, -QToolBar > QTextEdit, -QToolBar > QTimeEdit, -QToolBar > QDateEdit, -QToolBar > QDateTimeEdit { - min-height: 0px; /* reset it inside Tool Bar due to the user ability to set the "size of toolbar icons" inside Preferences */ +QLineEdit:disabled { + background-color: #7F7F7F; + color: #c2c7cb; } -QToolBar > QPushButton { - padding: 0px; - margin: 1px; /* doesn't work with :left, :right:, :top or :bottom sub-controls */ - min-width: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - min-height: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - border-radius: 4px; /* same as regular QPushButton */ +QLineEdit:hover { + border: 1px solid #a1bd00; + color: White; } -QToolBar > QPushButton:checked { - border: 1px solid #a5c61a; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #dadfc5, stop:1 #a5c61a); +QLineEdit:focus { + border: 2px solid #819700; } -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 */ - text-align: left; /* bug fix #4559 */ +QLineEdit:selected { + background-color: #a1bd00; + color: white; } -QToolBar > QPushButton:checked:hover { - border-color: #9bbc12; +/* QTabWiget -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabWidget { + padding: 2px; + selection-background-color: #a1bd00; } -QToolBar > QPushButton:!checked:hover { - color: #dadfc5; - border-color: #505050; +QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 1.9px; } -QToolBar > QPushButton:checked:pressed { - background-color: #a5c61a; +QTabWidget::pane { + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; } -QToolBar > QPushButton:!checked:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5a5a5a, stop:1 #6e6e6e); +QTabWidget::pane:selected { + background-color: #a1bd00; + border: 1px solid #346792; +} +/* QTabBar ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + /* left: 5px; move to the right by 5px - removed for fix */ } -QToolBar > QPushButton:checked:disabled, -QToolBar > QPushButton:!checked:disabled { - border: none; - background-color: transparent; +QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 1px; + image: url(qss:images_dark-light/close_light.svg); } -QToolBar > QToolButton { - margin: 2px; - padding: 2px; - border-radius: 3px; +QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + /*background-color: rgba(255, 0, 0, 0.3);*/ } -QToolBar > QToolButton:hover { - background-color: rgba(0,0,0,20); +QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(qss:images_dark-light/close_.svg); } -QToolBar > QToolButton:pressed { - background-color: rgba(0,0,0,30); +QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ + padding: 4px; } -/* 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; +QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + color: #f5f5f5; } -QToolBar > QToolButton#qt_toolbutton_menubutton:hover, -QToolBar > QToolButton#qt_toolbutton_menubutton:pressed, -QToolBar > QToolButton#qt_toolbutton_menubutton:open { - border: 1px solid #a5c61a; +QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + color: #f5f5f5; } -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; +QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + color: #f5f5f5; } -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); +QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + color: #f5f5f5; } -QToolBar > QToolButton::menu-arrow { - background-image: url(qss:images_dark-light/down_arrow_dark.svg); - background-position: center center; - background-repeat: none; - subcontrol-origin: padding; - subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ +QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + color: #f5f5f5; } -QToolBar > QToolButton::menu-arrow:hover { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); +QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + color: #f5f5f5; + } -QToolBar > QToolButton::menu-arrow:open { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); +QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + color: #f5f5f5; + } -/* when QToolButton is checked: */ -QToolBar > QToolButton:checked { - border: 1px solid #a5c61a; - background-color: rgba(124,171,249,60); /* transparency for #a5c61a color */ +QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + color: #f5f5f5; } -QToolBar > QToolButton:checked:hover { - border: 1px solid #a5c61a; - background-color: rgba(124,171,249,80); /* transparency for #a5c61a color */ +QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + color: #f5f5f5; } -/*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_dark-light/more_dark.svg);*/ - image: transparent; - background-repeat: none; - background-position: center left; +QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + color: #f5f5f5; } -QToolBar QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #5a5a5a; - background-color: #5a5a5a; +QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + color: #f5f5f5; } -QToolBar QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #5a5a5a; - background-color: #5a5a5a; +QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + color: #f5f5f5; } - -/*================================================================================================== -Tables (spreadsheets) -==================================================================================================*/ -QTableView { - gridline-color: #a0a0a0; - selection-color: #566214; - selection-background-color: #dadfc5; +QTabBar::tab:top, QDockWidget QTabBar::tab:top { + color: #f5f5f5; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; } -QTableView::item:hover { - background-color: rgba(0,0,0,10); /* temporal: is it displayed in Linux or Windows? on OSX it isn't */ +QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + color: white; + border-top: 4px solid #a1bd00; /* selection color */ + border-bottom: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + } + +QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + /*border: 1px solid #a1bd00;*/ + border: 0px solid #a1bd00; + background-color: #a1bd00; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; } -QTableView::item:disabled { - color: #8c8c8c; +QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + color: #f5f5f5; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-top: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; } -QTableView::item:selected { - color: #566214; - border-color: #dadfc5; /* same as focused background color */ - border-bottom-color: #a5c61a; /* same as focused border color */ +QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + color: white; + border-bottom: 4px solid #a1bd00; /* selection color */ + border-top: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + } -/* fix for elements inside the cells */ -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit, -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - border-radius: 0px; +QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { +/*border: 1px solid #a1bd00;*/ + border: 0px solid #a1bd00; + background-color: #a1bd00; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; } -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit { - color: black; - background-color: transparent; - border-color: transparent; +QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #7F7F7F; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 4px; + min-height: 5px; } -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - background-color: rgba(0,0,0,30); +QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #7F7F7F; + border: 0px solid #819700; } -QTableView > QWidget > QComboBox:focus, -QTableView > QWidget > QAbstractSpinBox:focus, -QTableView > QWidget > QSpinBox:focus, -QTableView > QWidget > QDoubleSpinBox:focus, -QTableView > QWidget > QLineEdit:focus, -QTableView > QWidget > QTextEdit:focus, -QTableView > QWidget > QTimeEdit:focus, -QTableView > QWidget > QDateEdit:focus, -QTableView > QWidget > QDateTimeEdit:focus { - color: #566214; - selection-color: white; - selection-background-color: #94b30f; - border-color: #dadfc5; - background-color: #dadfc5; +QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 0px solid #a1bd00; + background-color: #a1bd00; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; } -QTableView > QWidget > QComboBox:disabled, -QTableView > QWidget > QAbstractSpinBox:disabled, -QTableView > QWidget > QSpinBox:disabled, -QTableView > QWidget > QDoubleSpinBox:disabled, -QTableView > QWidget > QLineEdit:disabled, -QTableView > QWidget > QTextEdit:disabled, -QTableView > QWidget > QTimeEdit:disabled, -QTableView > QWidget > QDateEdit:disabled, -QTableView > QWidget > QDateTimeEdit:disabled { - color: rgba(0,0,0,120); - background-color: transparent; - border-color: transparent; +QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #7F7F7F; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + min-height: 5px; + border: 10px; } -QTableView > QWidget > QComboBox:read-only, -QTableView > QWidget > QAbstractSpinBox:read-only, -QTableView > QWidget > QSpinBox:read-only, -QTableView > QWidget > QDoubleSpinBox:read-only, -QTableView > QWidget > QLineEdit:read-only, -QTableView > QWidget > QTextEdit:read-only, -QTableView > QWidget > QTimeEdit:read-only, -QTableView > QWidget > QDateEdit:read-only, -QTableView > QWidget > QDateTimeEdit:read-only { - color: black; - background-color: transparent; - border-color: transparent; +QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #7F7F7F; + border: 0px solid #819700; } - -/*================================================================================================== -SELECTORTOOLBAR widget (3rd party plugin) -==================================================================================================*/ -QToolBar:horizontal#Selector, -QToolBar:vertical#Selector { - background-color: rgba(0,0,0,120); - margin: 0px; - padding: 0px; +QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 0px solid #a1bd00; + background-color: #a1bd00; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; } -QToolBar::handle:top#Selector, -QToolBar::handle:bottom#Selector, -QToolBar::handle:horizontal#Selector { - alignment: bottom left; +QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #7F7F7F; + height: 12px; + width: 12px; } -QToolBar::handle:left#Selector, -QToolBar::handle:right#Selector, -QToolBar::handle:vertical#Selector { - width: 100%; - alignment: center left; +QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + border: 0px solid #a1bd00; + background-color: #a1bd00; } -QToolBar:top#Selector QToolButton, -QToolBar:bottom#Selector QToolButton, -QToolBar:horizontal#Selector QToolButton { - alignment: bottom left; +QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 0px solid #a1bd00; + background-color: #a1bd00; } -QToolBar:left#Selector QToolButton, -QToolBar:right#Selector QToolButton, -QToolBar:vertical#Selector QToolButton { - alignment: center left; +QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_lighter.svg); } -QToolButton[toolbar_orientation="horizontal"] { - /* nothing, when Horizontal there's no need to add special parameters */ +QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(qss:images_dark-light/left_arrow_disabled_light.svg); } -QToolButton[toolbar_orientation="vertical"] { - /* nothing, when Horizontal there's no need to add special parameters */ +QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_lighter.svg); } -QToolBar#Selector QToolButton { - border: none; - margin: 0px; - padding: 2px 6px; - border-radius: 0px; +QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(qss:images_dark-light/right_arrow_disabled_light.svg); } -/* Active tab */ -QToolBar#Selector QToolButton:checked { +/* QDockWiget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QDockWidget { + background-color: #7F7F7F; + border: 1px solid #505051; + border-radius: 1.9px; + titlebar-close-icon: url(qss:images_dark-light/transparent.svg); + titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); +} + +QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + text-align: center; + font-weight: bold; +} + +QDockWidget::close-button { + icon-size: 10px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/close_light.svg); +} + +QDockWidget::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); +} + +QDockWidget::close-button:pressed { + image: url(qss:images_dark-light/close_light.svg); +} + +QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/undock_light.svg); +} + +QDockWidget::float-button:hover { + /*background-color: #a1bd00;*/ + image: url(qss:images_dark-light/undock_blue.svg); +} + +QDockWidget::float-button:pressed { + image: url(qss:images_dark-light/undock_light.svg); +} + +/* QTreeView QListView QTableView ----------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + +--------------------------------------------------------------------------- */ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_light.svg) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_light.svg) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; +} + +QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; +} + +QTreeView::indicator:checked, +QListView::indicator:checked, +QTableView::indicator:checked, +QColumnView::indicator:checked { + image: url(qss:images_dark-light/checkbox_light.svg); +} + +QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, +QListView::indicator:checked:hover, +QListView::indicator:checked:focus, +QListView::indicator:checked:pressed, +QTableView::indicator:checked:hover, +QTableView::indicator:checked:focus, +QTableView::indicator:checked:pressed, +QColumnView::indicator:checked:hover, +QColumnView::indicator:checked:focus, +QColumnView::indicator:checked:pressed { + image: url(qss:images_dark-light/checkbox_light_hover.svg); +} + +QTreeView::indicator:unchecked, +QListView::indicator:unchecked, +QTableView::indicator:unchecked, +QColumnView::indicator:unchecked { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, +QListView::indicator:unchecked:hover, +QListView::indicator:unchecked:focus, +QListView::indicator:unchecked:pressed, +QTableView::indicator:unchecked:hover, +QTableView::indicator:unchecked:focus, +QTableView::indicator:unchecked:pressed, +QColumnView::indicator:unchecked:hover, +QColumnView::indicator:unchecked:focus, +QColumnView::indicator:unchecked:pressed { + image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); +} + +QTreeView::indicator:indeterminate, +QListView::indicator:indeterminate, +QTableView::indicator:indeterminate, +QColumnView::indicator:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, +QListView::indicator:indeterminate:hover, +QListView::indicator:indeterminate:focus, +QListView::indicator:indeterminate:pressed, +QTableView::indicator:indeterminate:hover, +QTableView::indicator:indeterminate:focus, +QTableView::indicator:indeterminate:pressed, +QColumnView::indicator:indeterminate:hover, +QColumnView::indicator:indeterminate:focus, +QColumnView::indicator:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView, +QListView, +QTableView, +QColumnView { + background-color: #7F7F7F; /* background of a lot of stuff including spreadsheets.*/ + border: 0px solid #696968; + color: White; + gridline-color: #696968; + border-radius: 0px; +} + +QTreeView:disabled, +QListView:disabled, +QTableView:disabled, +QColumnView:disabled { + background-color: #505050; + color: #c2c7cb; +} + +QTreeView:selected, +QListView:selected, +QTableView:selected, +QColumnView:selected { + background-color: #a1bd00; + color: White; +} + +QTreeView:focus, +QListView:focus, +QTableView:focus, +QColumnView:focus { + border: 1px solid #819700; +} + +QTreeView::item:pressed, +QListView::item:pressed, +QTableView::item:pressed, +QColumnView::item:pressed { + background-color: #a1bd00; +} + +QTreeView::item:selected:active, +QListView::item:selected:active, +QTableView::item:selected:active, +QColumnView::item:selected:active { + background-color: #a1bd00; +} + +QTreeView::item:selected:!active, +QListView::item:selected:!active, +QTableView::item:selected:!active, +QColumnView::item:selected:!active { + color: White; + background-color: #353535; +} + +QTreeView::item:!selected:hover, +QListView::item:!selected:hover, +QTableView::item:!selected:hover, +QColumnView::item:!selected:hover { + outline: 0; + color: White; + background-color: #a1bd00; +} + +QTableCornerButton::section { + background-color: #7F7F7F; + border: 1px transparent #696968; + border-radius: 0px; +} + +QTableView::item { color: white; - background-color: #6e6e6e; +} +QTableView { + /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ + /*qproperty-aliasBgColor: #f700ff;*/ } -/* Unactive tabs */ -QToolBar#Selector QToolButton:!checked { - color: rgba(255,255,255,160); - background-color: transparent; - margin: 0px; +/* QHeaderView ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + +--------------------------------------------------------------------------- */ +QHeaderView { + background-color: transparent; + text-align: center; } -/* Unactive tabs (hover) */ -QToolBar#Selector QToolButton:!checked:hover { - color: rgba(255,255,255,255); - background-color: rgba(255,255,255,20); +QHeaderView:disabled { + background-color: #7f7f7f; + color: rgb(174, 174, 174); } -/* Unactive tabs (pressed) */ -QToolBar#Selector QToolButton:!checked:pressed { - background-color: rgba(255,255,255,40); +QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + color: White; + border: 1px solid #505051; + font-size: 13px; + font-weight: bold; } - -/*================================================================================================== -TABBAR widget (3rd party plugin) -==================================================================================================*/ -QTabWidget#TabBar > QTabBar { - border-top: 0; +QHeaderView::section::horizontal { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 5px; + padding-right: 0px; } -QTabWidget#TabBar > QTabBar::tab:top, -QTabWidget#TabBar > QTabBar::tab:bottom { - min-width: -1; +QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 0px solid #696968; } -QTabWidget#TabBar > QTabBar::tab:left, -QTabWidget#TabBar > QTabBar::tab:right { - min-height: -1; +QHeaderView::section::horizontal:disabled { + color: #353535; } - -/*================================================================================================== -EXPERIMENTAL -==================================================================================================*/ - -/* Fix for preventing elements in different rows to accidentally overlap */ -QDialog QGroupBox QFrame { - margin: 2px 0px; +QHeaderView::section::vertical { + padding-top: 1px; + padding-bottom: 0; + padding-left: 1px; + padding-right: 0px; + border-top: 0px solid #696968; } -*[mandatoryField="true"] { background-color: cyan } - -/* Hack to avoid QPushButton text partially hidden under menu-indicator */ -QPushButton#NavigationIndicator::menu-indicator { - image: none; - width: 0px; +QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 2px solid #505051; } -/*================================================================================================== -SKETCHER -==================================================================================================*/ +QHeaderView::section::vertical:disabled { + border-top: 2px solid #505051; +} -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ +QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/down_arrow_light.svg); } -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ + +QHeaderView::up-arrow { + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/up_arrow_light.svg); } -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ + +/* QToolBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox +used in PATH + +--------------------------------------------------------------------------- */ +QToolBox { + padding: 0px; + border: 1px solid #696969; + border-radius: 4px; + background-color: transparent; } -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ + +QToolBox:selected { + padding: 0px; + border: 0px solid #a1bd00; } -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ + +QToolBox::tab { + background-color: transparent; + border: 0px solid #696969; + color: white; + background-image: url(qss:images_dark-light/down_arrow_lighter.svg); + background-repeat: none; + background-position: center left; } -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ + +QToolBox::tab:disabled { + color: #696969; } -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; + +QToolBox::tab:selected { + background-color: #696969; + background-image: url(qss:images_dark-light/transparent.svg); + padding-right: 5px; + background-repeat: none; } -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; + +QToolBox::tab:selected:disabled { + background-color: #696969; + border-bottom: 0px solid #cccccc; + color: white; } -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; + +QToolBox::tab:!selected { + } + +QToolBox::tab:!selected:disabled { + background-color: #7F7F7F; +} + +QToolBox::tab:hover { + background-color: #a1bd00; + } + +QToolBox QScrollArea QWidget QWidget { + padding: 0px; + border: 0px; + background-color: transparent; +} + +/* QFrame ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe +https://doc.qt.io/qt-5/qframe.html#-prop +https://doc.qt.io/qt-5/qframe.html#details +https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + +--------------------------------------------------------------------------- */ +/* (dot) .QFrame fix #141, #126, #123 */ +.QFrame { + border-radius: 0px; + border: 0px solid #696968; + background-color: #696969; + /* No frame */ + /* HLine */ + /* HLine */ +} + +.QFrame[frameShape="0"] { + border-radius: 1.9px; + border: 1px solid #696968; +} + +.QFrame[frameShape="4"] { + max-height: 1px; + border: none; + background-color: #696968; +} + +.QFrame[frameShape="5"] { + max-width: 1px; + border: none; + background-color: #7F7F7F; +} + +/* QSplitter -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter + +--------------------------------------------------------------------------- */ +QSplitter { + background-color: #3c3c3c; + spacing: 1px; + padding: 1px; + margin: 1px; +} + +QSplitter::handle { + margin: 0px 0px; + padding: 0px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + width: 1px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + height: 1px; +} + +QSplitter::handle:hover { + background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); + background-position: center center; + background-repeat: none; + background-color: #a1bd00; +} + +/* QDateEdit, QDateTimeEdit ----------------------------------------------- + +--------------------------------------------------------------------------- */ +QDateEdit, QDateTimeEdit { + selection-background-color: #a1bd00; + border-style: solid; + border: 1px solid #696968; + border-radius: 1.9px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; +} + +QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #a1bd00; +} + +QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #696968; +} + +QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 8px; + width: 8px; +} + +QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + +QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #7F7F7F; + border-radius: 2px; + border: 1px solid #696968; + selection-background-color: #a1bd00; +} + +/* QAbstractView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractView:hover { + border: 1px solid #a1bd00; + color: White; +} + +QAbstractView:selected { + background: #a1bd00; + color: White; +} + +/* PlotWidget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; +} \ No newline at end of file diff --git a/src/Gui/Stylesheets/Dark-orange.qss b/src/Gui/Stylesheets/Dark-orange.qss index 9cb212b9ed..47b72206fd 100644 --- a/src/Gui/Stylesheets/Dark-orange.qss +++ b/src/Gui/Stylesheets/Dark-orange.qss @@ -1,793 +1,56 @@ /* ABOUT ============================================================================================================ -version 2.21 -Qt theme (stylesheet) specially developed for FreeCAD (https://www.freecad.org/). -It might work with other software that uses Qt styling. +Revised stylesheet based on the orignal from Pablo Gil Fernández made by MisterMaker - -LICENSE +KNOWN BUGS and TO DO ============================================================================================================ -Copyright (c) 2019 Pablo Gil Fernández +Please, follow the link to get updated information: +https://forum.freecad.org/viewtopic.php?t=78431 -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 +INSTALLATION WHEN NECESSARY ============================================================================================================ 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/ - -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 lighter) - 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 +============================================================================================================ +TO MODIFY USE THESE COLORS: + #b28416 + #996b00 -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: https://forum.freecad.org/viewtopic.php?f=10&t=12417 +See Qt documentation: -*/ + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ -/*================================================================================================== -Reset elements -==================================================================================================*/ -/* Resetting everything helps to unify styles across different operating systems */ +/* Reset elements ------------------------------------------------------------ + +Resetting everything helps to unify styles across different operating systems + +--------------------------------------------------------------------------- */ * { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; - color: black; /* Default color for labels and different text elements that usually use dark colors */ + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; + border-image: none; + outline: 0; } /* specific reset for elements inside QToolBar */ QToolBar * { - margin: 0px; - padding: 0px; + margin: 0px; + padding: 0px; } - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #6e6e6e; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} - - -/*================================================================================================== -Sub windows -==================================================================================================*/ -QMdiSubWindow { - border:1px solid #505050; - margin-top: 30px; - margin-left: 4px; - margin-right: 4px; - margin-bottom:4px; -} - - -/*================================================================================================== -MENUS -==================================================================================================*/ -QMenuBar, -QMenuBar::item { - color: #e0e0e0; - background-color: #6e6e6e; /* main background color */ -} - -QMenu, -QMenu::item { - color: #e0e0e0; - background-color: #5a5a5a; - text-decoration: none; -} - -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_dark-light/right_arrow_dark.svg); - margin-right: 2px; -} - -QMenu::right-arrow:selected { - image:url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QMenu::item { - padding: 2px 4px; /* make room for icon at left */ - border: 1px solid transparent; /* reserve space for selection border */ -} - -QMenu::icon { - margin-left: 1px; - margin-right: 1px; -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #daa116; - border: 2px #daa116; - position: absolute; - border-radius: 2px; -} - -QMenu::separator { - height: 1px; - background-color: rgba(255,255,255,30); - margin: 6px 4px; -} - -QMenu::indicator:non-exclusive:checked { - color: white; -} - -/* Fix for elements inside a drop-down menu */ -QMenu QRadioButton, -QMenu QCheckBox, -QMenu QPushButton, -QMenu QToolButton { - color: white; /* same as regular QRadioButton and QCheckBox */ -} - -QMenu QRadioButton:hover, -QMenu QCheckBox:hover, -QMenu QPushButton:hover, -QMenu QToolButton:hover, -QMenu QPushButton:pressed, -QMenu QToolButton:pressed, -QMenu QPushButton:selected, -QMenu QToolButton:selected { - color: white; - background-color: #daa116; /* same as QMenu::item:selected and QMenu::item:pressed */ -} - -QMenu QRadioButton:disabled, -QMenu QCheckBox:disabled { - color: #f5f5f5; -} - -QMenu QRadioButton::indicator:disabled, -QMenu QCheckBox::indicator:disabled { - color: #f5f5f5; - background-color: transparent; - border: 1px solid #f5f5f5; -} - - -/*================================================================================================== -Tool bar -==================================================================================================*/ -QToolBar { - border: none; - padding: 2px; -} - -QToolBar::handle:top, -QToolBar::handle:bottom, -QToolBar::handle:horizontal { - background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); - width: 10px; - margin: 4px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:left, -QToolBar::handle:right, -QToolBar::handle:vertical { - background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); - height: 10px; - margin: 2px 4px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:top, -QToolBar::separator:bottom, -QToolBar::separator:horizontal { - width: 1px; - margin: 6px 4px; - background-color: rgba(0,0,0,30); -} - -QToolBar::separator:left, -QToolBar::separator:right, -QToolBar::separator:vertical { - height: 1px; - margin: 4px 6px; - background-color: rgba(0,0,0,30); -} - - -/*================================================================================================== -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; -} - -/* NOTE: QGroupBox checkboxes are styles with regular ones so that the all get the same style */ -/* QGroupBox::indicator { - width: 13px; - height: 13px; -} - -QGroupBox::indicator:unchecked { - image: url(:/images/checkbox_unchecked.png); -} */ - - -/*================================================================================================== -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_dark-light/close_dark.svg); - titlebar-normal-icon: url(qss:images_dark-light/undock_dark.svg); -} - -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 #d0970c, stop:1 #daa116); - 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,80); -} - -QScrollBar::handle:vertical:hover, -QScrollBar::handle:horizontal:hover { - background-color: rgba(0,0,0,100); -} - -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_dark-light/left_arrow_light.svg); - 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_dark-light/right_arrow_light.svg); - 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_dark-light/left_arrow_lighter.svg); -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -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_dark-light/up_arrow_light.svg); - 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_dark-light/down_arrow_light.svg); - 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_dark-light/up_arrow_lighter.svg); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -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 reset 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: #6e6e6e; /* same as tab content background color */ - 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; -} - - -/*================================================================================================== -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_dark-light/close_dark.svg); - 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; /* necessary 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_dark-light/right_arrow_dark.svg); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_dark.svg); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -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:hover, -QTreeView::item:hover { - background-color: transparent; /* fix to homogenize it on all OSs */ -} - -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 */ +/*hacks */ Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, @@ -797,15 +60,18 @@ Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { background-color: transparent; selection-color: transparent; selection-background-color: transparent; + +} +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 1px; + margin: 0px; + padding: 0px; } -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: black; - background-color: #e3d8b9; -} - -/* hack to disable margin inside Property values to following elements */ Gui--PropertyEditor--PropertyEditor QSpinBox, Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, @@ -815,249 +81,1414 @@ Gui--PropertyEditor--PropertyEditor QComboBox { margin-right: 0px; padding-top: 0px; padding-bottom: 0px; -} -/* reset min-height 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 > Gui--ColorButton { - min-height: 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; - border-radius: 0px; /* reset */ -} - - /*================================================================================================== -Header of tree and list views +Main window ==================================================================================================*/ -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; +QMainWindow, +QDialog, +QDockWidget, +QToolBar { + background-color: #7F7F7F; /* main background color */ } -QHeaderView::section { - border:none; - padding: 4px 6px; - background-color: #505050; +QMdiArea { + background-image: url(qss:images_dark-light/background_freecad_dark.svg); + background-position: center center; + background-repeat: no-repeat; +} +/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ +Gui--NavigationIndicatorGui--BlenderNavigationStyle { +/*QAction#a4 {*/ + qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); +} +/*===== +/* QWidget ---------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QWidget { + background-color: #7F7F7F; + border: 0px solid #696968; + padding: 0px; + color: White; + selection-background-color: #b28416; + selection-color: White; } -QHeaderView::section:horizontal { - padding: 4px 6px; /* left and right value similar to QHeaderView::section */ - border-right: 1px solid rgba(255,255,255,30); +QWidget:disabled { + background-color: transparent; + color: #c2c7cb; + selection-background-color: #b28416; + selection-color: #c2c7cb; } -QHeaderView::section:vertical { - border-bottom: 1px solid rgba(255,255,255,30); +QWidget::item:selected { + background-color: #b28416; } -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); -} + /* Causes issue with colorselector. + QWidget::item:hover:!selected { + background-color: #b28416; + }*/ -QHeaderView::section:last { - border-right: none; -} +/* QMainWindow ------------------------------------------------------------ -QHeaderView::up-arrow { - image: url(qss:images_dark-light/up_arrow_light.svg); -} +This adjusts the splitter in the dock widget, not qsplitter +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow -QHeaderView::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QHeaderView::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -/* 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_dark-light/branch_vline_dark.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; -} - - -/*================================================================================================== -Splitter and windows separator -==================================================================================================*/ -QSplitter::handle { - margin: 0px 11px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - background-position: center center; - background-repeat: none; - margin: 4px 2px 4px 2px; - width: 2px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - margin: 2px 4px 2px 4px; - height: 2px; -} - -/* Similar to the splitter is the following window separator (but horizontal/vertical is on the opposite way) */ +--------------------------------------------------------------------------- */ QMainWindow::separator { - background-position: center center; - background-repeat: none; + /*background-color: #3c3c3c;*/ + border: 0px solid #696968; + spacing: 0px; + padding: 1px; +} + +QMainWindow::separator:vertical:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #b28416, stop:0.8 transparent); + /*background-color: #b28416;*/ + image: url(qss:images_dark-light/splitter_vertical_light.svg); +} + +QMainWindow::separator:horizontal:hover { + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #b28416, stop:0.8 transparent); + /*background-color: #b28416;*/ + image: url(qss:images_dark-light/splitter_horizontal_light.svg); } QMainWindow::separator:horizontal { - height: 2px; - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - margin: 4px 2px 4px 2px; + width: 4px; + margin-top: 0.1px; + margin-bottom: 0.1px; + /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ } QMainWindow::separator:vertical { - width: 2px; - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - margin: 2px 4px 2px 4px; + height: 4px; + margin-left: 0.1px; + margin-right: 0.1px; + /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ +} + +/* QToolTip --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + +--------------------------------------------------------------------------- */ +QToolTip { + background-color: #505050; + color: White; + /* If you remove the border property, background stops working on Windows */ + border: none; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ +} + +/* QStatusBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + +--------------------------------------------------------------------------- */ +QStatusBar { + border: 0px solid #3c3c3c; + /* Fixes Spyder #9120, #9121 */ + background: #7F7F7F; + /* Fixes #205, white vertical borders separating items */ +} + +QStatusBar::item { + border: none; +} + +QStatusBar QToolTip { + background-color: #7F7F7F; + border: 1px solid #696968; + color: #7F7F7F; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; +} + +QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; +} + +/* QCheckBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + +--------------------------------------------------------------------------- */ +QCheckBox { + color: white; + padding: 0px; + outline: none; + border: 1px solid transparent; + background-color: transparent; +} + +QCheckBox:focus { + border: 1px solid #996b00; +} + +QCheckBox QWidget:disabled { + background-color: transparent; + color: #c2c7cb; +} + +QCheckBox::indicator { + color: white; + background-color: #505050; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked { + background-color: #505050; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { + background-color: #b28416; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked:disabled { + background-color: #7F7F7F; + image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QCheckBox::indicator:checked { + background-color: #505050; + /*border: 1px solid #696968; /* QRadioButton has the same color */ + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { + background-color: #b28416; +} + +QCheckBox::indicator:checked:disabled { + background-color: #7F7F7F; + image: url(qss:images_dark-light/check_light.svg); +} + +QCheckBox::indicator:indeterminate { + background-color: #505050; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QCheckBox::indicator:indeterminate:disabled { + background-color: #7F7F7F; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + background-color: #b28416; /* QRadioButton has the same color */ +} + +/* QGroupBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + +--------------------------------------------------------------------------- */ +QGroupBox { + font-weight: bold; + border: 1px solid #696968; + border-radius: 1.9px; + padding: 2px; + margin-top: 10px; + margin-bottom: 4px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: 6px; +} + +QGroupBox::indicator { + color: white; + background-color: #3c3c3c; + border: 1px solid #696968; + width: 12px; + height: 12px; + border-radius:1px; +} + +QGroupBox::indicator:unchecked { + background-color: #696968; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + background-color: #b28416; +} + +QGroupBox::indicator:unchecked:disabled { + background-color: #505050; + border: 1px solid #696968; +} + +QGroupBox::indicator:checked { + border: none; + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + background-color: #b28416; +} + +QGroupBox::indicator:checked:disabled { + background-color: #b28416; +} + +/* QRadioButton ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + +--------------------------------------------------------------------------- */ +QRadioButton { + background-color: transparent; + color: White; + border: none; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + outline: none; +} + +QRadioButton:focus { + border: 1px solid #996b00; +} + +QRadioButton:disabled { + background-color: #696968; + color: #353535; +} + +QRadioButton QWidget { + background-color: transparent; + color: White; + spacing: 0px; + padding: 0px; + outline: none; + border: none; +} + +QRadioButton::indicator { + background-color: #3c3c3c; + border: 1px solid #696968; + border-radius: 6px; + margin-left: 0px; + height: 11px; + width: 11px; +} + +QRadioButton::indicator:unchecked { + /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ +} + +QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { + background-color: #b28416; + border: 1px solid #b28416; + border-radius: 6px; +} + +QRadioButton::indicator:unchecked:disabled { + /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ + border: 1px solid #696968; +} + +QRadioButton::indicator:checked { + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { + background-color: #b28416; + border: 1px solid #b28416; + border-radius: 6px; + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +QRadioButton::indicator:checked:disabled { + outline: none; + background-color: #696968; + image:url(qss:images_dark-light/radiobutton_dark.svg); +} + +/* QMenuBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + +--------------------------------------------------------------------------- */ +QMenuBar { + background-color: #505050; + /*padding: 1px; + border: 0px solid rgba(0,0,0,140);*/ + color: White; + selection-background-color: #b28416; +} + +QMenuBar:focus { + border: 1px solid #996b00; +} + +QMenuBar::item { + background: transparent; + /*padding-left:5px; + padding-right: 5px; + padding-bottom: 1px; + padding-top: 1px;*/ +} + +QMenuBar::item:selected { + background: transparent; + border: 0px solid #696968; + background-color: #b28416; +} + +QMenuBar::item:pressed { + /*padding: 2px; + padding-left: 10px; + padding-right: 10px;*/ + border: 0px solid #696968; + background-color: #b28416; + color: White; + /*margin-bottom: 0px; + padding-bottom: 0px;*/ +} + +/* QMenu ------------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + +--------------------------------------------------------------------------- */ +QMenu { + border-bottom: 2px rgba(0,0,0,140); + border-right: 2px rgba(0,0,0,140); + color: White; + margin: 0px; + background-color: #505050; + selection-background-color: #b28416; +} + +QMenu::separator { + height: 2px; + background-color: #3c3c3c; + margin-left: 30%; + margin-right: 30%; +} + +QMenu::item { + background-color: transparent; + padding: 2px 2px; /* make room for icon at left */ + /* Reserve space for selection border */ + border: 0px transparent #696968; +} + +QMenu::item:selected { + color: White; + background-color: #b28416; +} + +QMenu::item:pressed { + background-color: #b28416; +} + +QMenu::icon { + margin-left: 5px; + width: 14px; + height: 14px; +} + +QMenu::indicator { + margin-left: 2px; + margin-right: 2px; + padding: 0px; + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ +} + +QMenu::icon:checked { /* appearance of a 'checked' icon */ + background: #996b00; + margin-left: -5px; + border: 5px solid #996b00; + position: absolute; + border-radius: 0px; +} +QMenu::indicator:non-exclusive:unchecked { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { + border: none; + image: url(qss:images_dark-light/checkbox_unchecked_focus.png); +} + +QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QMenu::indicator:non-exclusive:checked { + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + background: #b28416; + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:checked:disabled { + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:exclusive:unchecked { + image: url(qss:images_dark-light/transparent.svg); +} + +QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { + border: none; + outline: none; + background: #b28416; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); +} + +QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + background: #b28416; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); +} + +QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image:url(qss:images_dark-light/right_arrow_lighter.svg); + height: 12px; + width: 12px; + background-color: transparent; +} + +/* QAbstractItemView ------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QAbstractItemView { + alternate-background-color: #5b5b5b; + color: White; + border: 1px solid #696968; + border-radius: 2px; +} + +QAbstractItemView QLineEdit { + padding: 2px; +} + +/* QAbstractScrollArea ---------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QAbstractScrollArea { + background-color: transparent; + border: 0px solid #696968; + border-radius: 0px; + /* fix #159 */ + padding: 0px; + /* remove min-height to fix #244 */ + color: White; +} + +QAbstractScrollArea:disabled { + color: #353535; +} + +/* QScrollArea ------------------------------------------------------------ + +--------------------------------------------------------------------------- +text input field disabled!!!!*/ +QScrollArea QWidget:disabled { + background-color: #7F7F7F; +} + +/* QScrollBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + +--------------------------------------------------------------------------- */ +QScrollBar:horizontal { + height: 16px; + margin: 2px 8px 2px 8px; + border: 0px solid #696968; + border-radius: 1.9px; + background-color: #7F7F7F; +} + +QScrollBar:vertical { + background-color: #7F7F7F; + width: 16px; + margin: 8px 2px 8px 2px; + border: 0px solid #696968; + border-radius: 1.9px; +} + +QScrollBar::handle:horizontal { + background-color: #696969; + border: 1px solid #7F7F7F; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:hover { + background-color: #b28416; + border: #696968; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:focus { + border: 1px solid #996b00; +} + +QScrollBar::handle:vertical { + background-color: #696969; + border: 1px solid #696968; + min-height: 8px; + border-radius: 4px; +} + +QScrollBar::handle:vertical:hover { + background-color: #b28416; + border: #696968; + border-radius: 4px; + min-height: 8px; +} + +QScrollBar::handle:vertical:focus { + border: 1px solid #996b00; +} + +QScrollBar::add-line:horizontal { + border-image: url(qss:images_dark-light/right_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + border-image: url(qss:images_dark-light/down_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/left_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images_dark-light/left_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/up_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + background-color: #b28416; + border-image: url(qss:images_dark-light/up_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; +} + +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +/* QTextEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + + +report view +--------------------------------------------------------------------------- */ +QTextEdit { + background-color: #7F7F7F; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; +} + +QTextEdit:focus { + border: 1px solid #996b00; +} + +QTextEdit:selected { + background: #346792; + color: white; +} + +/* QPlainTextEdit --------------------------------------------------------- +Python +--------------------------------------------------------------------------- */ +QPlainTextEdit { + background-color: #3c3c3c; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; +} + +QPlainTextEdit:focus { + border: 1px solid #996b00; +} + +QPlainTextEdit:selected { + background: #b28416; + color: White; +} + +/* QSizeGrip -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + +--------------------------------------------------------------------------- */ +QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/sizegrip_light.svg); +} + +/* QStackedWidget --------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QStackedWidget { + padding: 0px; + border: 0px solid #696968; +} + +/* QToolBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + +--------------------------------------------------------------------------- */ +QToolBar { + background-color: #7F7F7F; + border-bottom: 0px solid rgba(0,0,0,120); + padding: 1px; + font-weight: bold; + spacing: 1px; +} + +QToolBar:disabled { + /* Fixes #272 */ + background-color: #7F7F7F; +} + +QToolBar::handle:horizontal { + width: 8px; + margin: 3px 3px; + background-position: top right; + background-repeat: repeat-y; + background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); +} + +QToolBar::handle:vertical { + height: 8px; + margin: 3px 3px; + background-position: left bottom; + background-repeat: repeat-x; + background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); +} + +QToolBar::separator:horizontal { + width: 2px; + margin: 4px 4px; + background-color: transparent; +} + +QToolBar::separator:vertical { + height: 2px; + margin: 4px 4px; + background-color: transparent; +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ +QToolButton#qt_toolbar_ext_button { +margin: 0px; +padding: 0px; +background-color: #696969; +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +background-repeat: none; +background-position: center center; +} + +QToolButton#qt_toolbar_ext_button:hover { +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +background-color: #b28416; +} + +QToolButton#qt_toolbar_ext_button:on { +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +border-color: #696968; +background-color: #b28416; } -/*================================================================================================== -Text/Python editor (macros, etc...) -==================================================================================================*/ -QPlainTextEdit, -QPlainTextEdit:focus { - background-color: #c8c8c8; - selection-color: white; - selection-background-color: #d0970c; - border: 1px solid #505050; - border-radius: 3px; - margin: 4px; +/* QAbstractSpinBox ------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractSpinBox, +QSpinBox { + background-color: #505050; + border: 1px solid transparent; + color: White; + /* This fixes 103, 111 */ + /* padding-top: 0px; + /* This fixes 103, 111 */ + /*padding-bottom: 0px; + /*padding-left: 4px; + /*padding-right: 4px; + border-radius: 1.9px;*/ + min-height: 1.7em; + /* min-width: 5px; removed to fix 109 */ +} + +QAbstractSpinBox:up-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + subcontrol-origin: border; + subcontrol-position: top right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-bottom: -1px;*/ +} + +QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_light.svg); + /* height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_lighter.svg); +} + +QAbstractSpinBox:down-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + subcontrol-origin: border; + subcontrol-position: bottom right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-top: -1px;*/ +} + +QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + /*height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + +QAbstractSpinBox:hover { + /*border: 1px solid #b28416; + color: White;*/ +} + +QAbstractSpinBox:focus { + border: 1px solid #996b00; +} + +QAbstractSpinBox:selected { + background: #996b00; + /*color: White;*/ +} + +/* ------------------------------------------------------------------------ */ +/* DISPLAYS --------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QLabel ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + +--------------------------------------------------------------------------- */ +QLabel { + background-color: transparent; + border: 0px solid #696968; + padding: 2px; + margin: 0px; + color: White; +} + +QLabel:disabled { + background-color: transparent; + border: 0px solid #696968; + color: #c2c7cb; +} + +QLabel[haslink="true"] { + color: orange; +} + + +/* QTextBrowser ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QTextBrowser { + background-color: #505050; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; +} + +QTextBrowser:disabled { + background-color: #7F7F7F; + border: 1px solid #696968; + color: #c2c7cb; + border-radius: 1.9px; +} + +QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #b28416; +} + +/* QGraphicsView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QGraphicsView { + background-color: transparent; + border: 0px solid #b28416; + color: White; + border-radius: 0px; +} + +QGraphicsView:disabled { + background-color: #505050; + border: 0px solid #696968; + color: #c2c7cb; + border-radius: 0px; +} + +QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 0px solid #ff00f7; +} + +/* QCalendarWidget -------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCalendarWidget { + border: 1px solid #696968; + border-radius: 1.9px; +} + +QCalendarWidget:disabled { + background-color: #353535; + color: #c2c7cb; +} + +/* QLCDNumber ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QLCDNumber { + background-color: #1aff00; + color: White; +} + +QLCDNumber:disabled { + background-color: #7F7F7F; + color: #c2c7cb; +} + +/* QProgressBar ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + +--------------------------------------------------------------------------- */ +QProgressBar { + background-color: #c2c7cb; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar:disabled { + background-color: #505050; + border: 1px solid #696968; + color: #696969; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #b28416; + color: #7F7F7F; + border-radius: 1.9px; +} + +QProgressBar::chunk:disabled { + background-color: #505050; + color: #696968; + border-radius: 1.9px; +} + +/* ------------------------------------------------------------------------ */ +/* BUTTONS ---------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QPushButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + +--------------------------------------------------------------------------- */ +QPushButton { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + color: White; + border: 1px solid #505051; + border-bottom-color: #1e1e1e; /* simulates shadow under the button */ + border-radius: 4px; + padding: 2px; +} + +QPushButton:disabled { + background-color: #7F7F7F; + color: #c2c7cb; + +} + +QPushButton:checked { + background-color: #b28416; + outline: none; +} + +QPushButton:checked:disabled { + background-color: #b28416; + color: #3c3c3c; + outline: none; +} + +QPushButton:checked:selected { + background: #b28416; +} + +QPushButton:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); + color: White; +} + +QPushButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #996b00, stop:1 #b28416); +} + +QPushButton:selected { + background: #996b00; + color: White; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + bottom: 4px; +} + +QDialogButtonBox QPushButton { + /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; +} + +/* QToolButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + +--------------------------------------------------------------------------- */ +QToolButton { + background-color: transparent; + color: White; + border-radius: 1px; + padding: 0px; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ +} + +QToolButton:disabled { + background-color: rgba(0, 0, 0, 0.065); + color: #c2c7cb; + border-radius: 1px; + padding: 0px; +} + +QToolButton:checked { + background-color: #b28416; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:disabled { + background-color: #b65555; + color: #c2c7cb; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:hover { + background-color: #b28416; + color: White; +} + +QToolButton:checked:pressed { + background-color: #b28416; +} + +QToolButton:checked:selected { + background: #996b00; + color: White; +} + +QToolButton:hover { + background-color: #b28416; + color: White; +} + +QToolButton:pressed { + background-color: #996b00; +} + +QToolButton:selected { + background: #b28416; + color: White; +} + +QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 20px; +} + +QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; +} +QToolButton[popupMode="0"]::menu-button { + border: none; +} + +QToolButton[popupMode="0"]::menu-button:hover { + border: none; + border-left: 2px solid #fe0000; + border-radius: 0px; +} +QToolButton[popupMode="1"]::menu-button { + border: none; +} + +QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 2px solid #e5ff00; + border-radius: 0px; +} + +QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 20px; +} + +QToolButton::menu-button { + border-bottom: 0px solid #ffffff; + border-radius: 2px; + /* 16px width + 4px for border = 20px allocated above */ + width: 1.6ex; + padding: 2px; + border-radius: 2px; + border: 0px #000000; +} + +QToolButton::menu-button:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + +} + +QToolButton::menu-button:checked:hover { + /* background: rgba(0, 0, 0, 0.5);*/ +} + +QToolButton::menu-indicator { + /* Exclude a shift for better image */ + subcontrol-position: right bottom; + /* Shift it a bit */ +} + +QToolButton::menu-arrow { + image: url(qss:images_dark-light/more_arrow_light.svg); + width: 1.5ex; + height: 1.5ex; + subcontrol-position: right bottom; + background: transparent; +} +QToolButton::menu-arrow:open { + subcontrol-position: right bottom; + image: url(qss:images_dark-light/more_arrow_light.svg); +} +QToolButton::menu-arrow:hover { + image: url(qss:images_dark-light/more_arrow_light.svg); + background-color: rgba(0, 0, 0, 0.498); + border: 1px solid rgba(0, 0, 0, 0.498); +} + +/* QCommandLinkButton ----------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCommandLinkButton { + background-color: transparent; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + padding: 0px; + margin: 0px; +} + +QCommandLinkButton:disabled { + background-color: transparent; + color: #c2c7cb; +} + +/* ------------------------------------------------------------------------ */ +/* INPUTS - NO FIELDS ----------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QComboBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QComboBox { + border: 1px solid transparent; + background: #505050; + border-radius: 2px; + selection-background-color: #b28416; + padding-left: 2px; + padding-right: 2px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ +} +QComboBox:editable { + background: white; +} +QComboBox QAbstractItemView { + border: 0px solid #696968; + border-radius: 0px; + background-color: #505050; + selection-background-color: #b28416; +} + +QComboBox QAbstractItemView:hover { + background-color:#505050; + color: White; +} + +QComboBox QAbstractItemView:selected { + background: #b28416; + color: White; +} + +QComboBox QAbstractItemView:alternate { + background: #3c3c3c; +} + +QComboBox:disabled { + background-color: #7F7F7F; + color: #353535; +} + +QComboBox:hover { + /*background-color: #b28416;*/ + border: 1px solid #b28416; +} + +QComboBox:focus { + border: 1px solid #996b00; +} + +QComboBox:on { + selection-background-color: #996b00; +} + +QComboBox::indicator { + border: none; + border-radius: 0px; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: #b28416; + /* Needed to remove indicator - fix #132 */ +} + +QComboBox::indicator:alternate { + background: #696968; +} + +QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ +} + +QComboBox::item:alternate { + background: #3c3c3c; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + subcontrol-position: top right; + width: 14px; + border-left: 1px solid transparent; +} +QComboBox::drop-down:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); +} + +QComboBox::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 10px; + width: 10px; +} + +QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); } /*================================================================================================== Tasks panel (custom FreeCAD class) ==================================================================================================*/ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: white; + qproperty-groupBackground: #3c3c3c; + border: 0px solid #696968; + +} + /* Action group */ QFrame[class="panel"] { - background-color: transparent; /* temporal (transparent background) */ +background-color: transparent; /* temporal (transparent background) */ + } QSint--ActionGroup { - padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ - margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ } /* Separator line */ @@ -1067,1253 +1498,1031 @@ 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); +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; +border-top: 1px solid #696968; +border-left: 1px solid #696968; +border-right: 1px solid #696968; +background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); +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); +background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); } QSint--ActionGroup QToolButton[class="header"] { - color: #e0e0e0; /* Task Panel Header text color */ - text-align: left; - font-weight: bold; - border: none; - margin: 0px; - padding: 0px; +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_dark-light/down_arrow_light.svg); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; +background-color: transparent; +background-image: url(qss:images_dark-light/down_arrow_light.svg); +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_dark-light/down_arrow_lighter.svg); +background-color: transparent; +background-image: url(qss:images_dark-light/down_arrow_lighter.svg); } QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images_dark-light/up_arrow_light.svg); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_light.svg); +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_dark-light/up_arrow_lighter.svg); +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_lighter.svg); } 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; +background-color: transparent; /* Task Panel background color */ +margin: 0px; +padding: 0px; +border-bottom: 1px solid #696968; +border-left: 1px solid #696968; +border-right: 1px solid #696968; +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 */ +background-color: #7F7F7F; /* 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 */ +border-bottom-color: #b28416; /* 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 */ +border-top-color: #b28416; /* 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 */ +border-right-color: #b28416; /* 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 */ +border-left-color: #b28416; /* same as Task Panel background color */ } /* Fix for buttons with icons that showed cropped (still not happy with result) */ QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { - padding: 2px; /* bigger padding crops text and icons... */ - margin: 0px; +padding: 2px; /* bigger padding crops text and icons... */ +margin: 0px; } -/* Fix for lists inside task panels */ -/* QSint--ActionGroup QFrame[class="content"] QTreeView, +/* Fix for lists inside task panels */ /* sketcher constraints list */ +QSint--ActionGroup QFrame[class="content"] QTreeView, QSint--ActionGroup QFrame[class="content"] QListView, QSint--ActionGroup QFrame[class="content"] QTableView { - color: #f5f5f5; - background-color: #787878; -} */ - - -/*================================================================================================== -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 */ - min-height: 20px; /* important to be a pair number in order to up/down buttons to be divisible by two (if not set could create a blank line in Ubuntu. Its downside is that it's needed to reset it (min-width: 0px) on following elements that can't have it such as fields inside QToolBar and inside QTreeView (Property editor) */ - padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ -} - -/* more contrast for QTexEdits */ -QTextEdit { - color: black; -} - -/* 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 (like Report view)*/ -QTextEdit:!editable, -QTextEdit:!editable:focus { - 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; -} - -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_dark-light/up_arrow_light.svg); - top: 2px; /* fix symmetry 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_dark-light/up_arrow_lighter.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -QAbstractSpinBox::down-arrow, -QSpinBox::down-arrow, -QDoubleSpinBox::down-arrow, -QTimeEdit::down-arrow, -QDateEdit::down-arrow, -QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -/* 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_dark-light/down_arrow_light.svg); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QComboBox::down-arrow:off, -QComboBox::down-arrow:disabled { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - -/* 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 */ +color: white; +background-color: #505050; } -/*================================================================================================== -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, -Gui--PropertyEditor--PropertyEditor > 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 */ -} - -Gui--PropertyEditor--PropertyEditor > QWidget > QPushButton { - text-align:left; - padding-left: 2px; -} - -/* 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; -} - -QPushButton:checked { - background-color: #daa116; - border-color: #d0970c; -} - -/*================================================================================================== -Tool button Icon fix in save dialogs -==================================================================================================*/ -/* found under Tools -> Save Picture */ /* Draft -> ShapeString -> Font file */ - -QFileDialog#QFileDialog QToolButton { - background-color: transparent; - padding: 1px; - border: 1px; - margin: 0px; -} - - -/*================================================================================================== -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); -} - - -/*================================================================================================== -Tool button inside Task Panel content that works as QPushButtons -==================================================================================================*/ /* found inside Part Design Workbench and "make a draft on a face" Task panel options */ QSint--ActionGroup QFrame[class="content"] 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: 2px 6px; /* different than regular QPushButton */ - margin: 2px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 4px; + color: white; + text-align: center; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + border: 0px solid #adadad; + padding: 1px 1px; /* different than regular QPushButton */ + margin: 0px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 1px; } -QSint--ActionGroup QFrame[class="content"] QToolButton:hover, +QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); + +} QSint--ActionGroup QFrame[class="content"] 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); + border: 1px solid #996b00; } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #6e6e6e; - border-color: #5a5a5a; - background-color: #5a5a5a; + color: #696969; + background-color: #505050; } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #d0970c, stop:1 #daa116); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); + } -/* QToolButtons with a menu found in Sketcher task panel*/ -QSint--ActionGroup QToolButton::menu-button { - border: none; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - padding: 2px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; +/* QSlider ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + +--------------------------------------------------------------------------- */ +QSlider:disabled { + background: #7F7F7F; } -QSint--ActionGroup QToolButton#settingsButton, -QSint--ActionGroup QToolButton#filterButton, -QSint--ActionGroup QToolButton#manualUpdate { - padding-right: 20px; /* make way for the popup button */ -} - -/* to give widget inside the menu same look as regular menu */ -QSint--ActionGroup QToolButton#filterButton QListWidget { - color: #e0e0e0; - background-color: #5a5a5a; - padding: 0px; - margin: 0px; -} - - -/*================================================================================================== -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_dark-light/radiobutton_light.svg); -} - -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 { - color: #f5f5f5; - background-color: transparent; - border: 1px solid #f5f5f5; -} - -QRadioButton:focus { - border: none; -} - - -/*================================================================================================== -Checkbox -==================================================================================================*/ -QCheckBox, -QCheckBox:disabled { - color: black; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: black; - background-color: rgba(255,255,255,20); - border: 1px solid #5a5a5a; - width: 11px; - height: 11px; - border-radius:2px; -} - -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed, -QGroupBox::indicator:pressed, -QGroupBox::indicator:non-exclusive:checked:pressed, -QGroupBox::indicator:indeterminate:pressed, -QGroupBox::indicator:checked:pressed { - border-color: #e0c992; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #daa116; /* QRadioButton has the same color */ - border: 1px solid #d0970c; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox:disabled { - color: rgba(255,255,255,40); - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled { - background-color: rgba(255,255,255,20); - border: 1px solid rgba(255,255,255,20); -} - -QCheckBox::indicator:indeterminate, -QGroupBox::indicator:indeterminate { - background-color: #daa116; - border: 1px solid #d0970c; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox:focus { - border: none; -} - - -/*================================================================================================== -Checkboxes inside QListWidget and QTreeView -==================================================================================================*/ -QListWidget::indicator, -QTreeView::indicator { - color: #c8c8c8; - background-color: rgba(255,255,255,20); - border: 1px solid #5a5a5a; - width: 11px; - height: 11px; - border-radius:2px; -} - -/* fix for QTreeView::indicator losing its margin */ -QTreeView::indicator { - margin: 3px; -} - -QListWidget::indicator:selected, -QTreeView::indicator:selected { - background-color: #e6e6e6; -} - -QListWidget::indicator:checked:selected, -QListWidget::indicator:indeterminate:selected, -QTreeView::indicator:checked:selected, -QTreeView::indicator:indeterminate:selected { - background-color: #e3b64d; /* slightly lighter than default */ - border-color: #b28416; /* slightly darker than default */ -} - -QListWidget::indicator:pressed, -QListWidget::indicator:non-exclusive:checked:pressed, -QListWidget::indicator:indeterminate:pressed, -QListWidget::indicator:checked:pressed, -QTreeView::indicator:pressed, -QTreeView::indicator:non-exclusive:checked:pressed, -QTreeView::indicator:indeterminate:pressed, -QTreeView::indicator:checked:pressed { - border-color: #e0c992; -} - -QListWidget::indicator:checked, -QTreeView::indicator:checked { - background-color: #daa116; /* QRadioButton has the same color */ - border: 1px solid #d0970c; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QListWidget::indicator:disabled, -QTreeView::indicator:disabled { - background-color: rgba(255,255,255,20); - border: 1px solid rgba(255,255,255,20); -} - -QListWidget::indicator:indeterminate, -QTreeView::indicator:indeterminate { - background-color: #daa116; - border: 1px solid #d0970c; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - - -/*================================================================================================== -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:focus { + border: 1px solid #996b00; } QSlider::groove:horizontal { - height: 8px; + background: #7F7F7F; + border: 1px solid #696968; + height: 4px; + margin: 0px; + border-radius: 1.9px; } QSlider::groove:vertical { - width: 8px; + background: #b28416; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; } -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #5a5a5a; - background-color: #5a5a5a; +QSlider::add-page:vertical { + background: #b28416; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; } -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #505050; - border: 1px solid #505050; - width: 14px; - height: 14px; - border-radius: 8px; +QSlider::add-page:vertical :disabled { + background: #696968; +} + +QSlider::sub-page:horizontal { + background: #b28416; + border: 1px solid #0073ff; + height: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::sub-page:horizontal:disabled { + background: #b28416; } QSlider::handle:horizontal { - margin: -4px 0; + background: #353535; + border: 1px solid #7F7F7F; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 1.9px; +} + +QSlider::handle:horizontal:hover { + background: #b28416; + border: 1px solid #b28416; +} + +QSlider::handle:horizontal:focus { + border: 1px solid #996b00; } QSlider::handle:vertical { - margin: 0 -4px; + background: #c2c7cb; + border: 1px solid #696968; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 1.9px; } -QSlider::handle:horizontal:hover, -QSlider::handle:vertical:hover, -QSlider::handle:horizontal:pressed, -QSlider::handle:vertical:pressed { - border-color: #daa116; - background-color: #daa116; +QSlider::handle:vertical:hover { + background: #b28416; + border: 2px solid #b28416; } -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #5a5a5a; - background-color: #5a5a5a; +QSlider::handle:vertical:focus { + border: 1px solid #996b00; } +/* QLineEdit -------------------------------------------------------------- -/*================================================================================================== -Toolbar buttons -==================================================================================================*/ -/*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: 0px 2px; - padding: 0px; - min-width: 70px; /* necessary to show its content */ +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + +--------------------------------------------------------------------------- */ +QLineEdit { + background-color: #505050; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #696968; + border-radius: 2px; + color: White; } -QToolBar > QComboBox, -QToolBar > QAbstractSpinBox, -QToolBar > QSpinBox, -QToolBar > QDoubleSpinBox, -QToolBar > QLineEdit, -QToolBar > QTextEdit, -QToolBar > QTimeEdit, -QToolBar > QDateEdit, -QToolBar > QDateTimeEdit { - min-height: 0px; /* reset it inside Tool Bar due to the user ability to set the "size of toolbar icons" inside Preferences */ +QLineEdit:disabled { + background-color: #7F7F7F; + color: #c2c7cb; } -QToolBar > QPushButton { - padding: 0px; - margin: 1px; /* doesn't work with :left, :right:, :top or :bottom sub-controls */ - min-width: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - min-height: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - border-radius: 4px; /* same as regular QPushButton */ +QLineEdit:hover { + border: 1px solid #b28416; + color: White; } -QToolBar > QPushButton:checked { - border: 1px solid #e3b64d; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #e3d8b9, stop:1 #e3b64d); +QLineEdit:focus { + border: 2px solid #996b00; } -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 */ - text-align: left; /* bug fix #4559 */ +QLineEdit:selected { + background-color: #b28416; + color: white; } -QToolBar > QPushButton:checked:hover { - border-color: #e2ac2a; +/* QTabWiget -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabWidget { + padding: 2px; + selection-background-color: #b28416; } -QToolBar > QPushButton:!checked:hover { - color: #e3d8b9; - border-color: #505050; +QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 1.9px; } -QToolBar > QPushButton:checked:pressed { - background-color: #e3b64d; +QTabWidget::pane { + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; } -QToolBar > QPushButton:!checked:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5a5a5a, stop:1 #6e6e6e); +QTabWidget::pane:selected { + background-color: #b28416; + border: 1px solid #346792; +} +/* QTabBar ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + /* left: 5px; move to the right by 5px - removed for fix */ } -QToolBar > QPushButton:checked:disabled, -QToolBar > QPushButton:!checked:disabled { - border: none; - background-color: transparent; +QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 1px; + image: url(qss:images_dark-light/close_light.svg); } -QToolBar > QToolButton { - margin: 2px; - padding: 2px; - border-radius: 3px; +QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + /*background-color: rgba(255, 0, 0, 0.3);*/ } -QToolBar > QToolButton:hover { - background-color: rgba(0,0,0,20); +QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(qss:images_dark-light/close_.svg); } -QToolBar > QToolButton:pressed { - background-color: rgba(0,0,0,30); +QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ + padding: 4px; } -/* 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; +QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + color: #f5f5f5; } -QToolBar > QToolButton#qt_toolbutton_menubutton:hover, -QToolBar > QToolButton#qt_toolbutton_menubutton:pressed, -QToolBar > QToolButton#qt_toolbutton_menubutton:open { - border: 1px solid #e3b64d; +QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + color: #f5f5f5; } -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; +QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + color: #f5f5f5; } -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); +QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + color: #f5f5f5; } -QToolBar > QToolButton::menu-arrow { - background-image: url(qss:images_dark-light/down_arrow_dark.svg); - background-position: center center; - background-repeat: none; - subcontrol-origin: padding; - subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ +QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + color: #f5f5f5; } -QToolBar > QToolButton::menu-arrow:hover { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); +QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + color: #f5f5f5; + } -QToolBar > QToolButton::menu-arrow:open { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); +QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + color: #f5f5f5; + } -/* when QToolButton is checked: */ -QToolBar > QToolButton:checked { - border: 1px solid #e3b64d; - background-color: rgba(124,171,249,60); /* transparency for #e3b64d color */ +QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + color: #f5f5f5; } -QToolBar > QToolButton:checked:hover { - border: 1px solid #e3b64d; - background-color: rgba(124,171,249,80); /* transparency for #e3b64d color */ +QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + color: #f5f5f5; } -/*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_dark-light/more_dark.svg);*/ - image: transparent; - background-repeat: none; - background-position: center left; +QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + color: #f5f5f5; } -QToolBar QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #5a5a5a; - background-color: #5a5a5a; +QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + color: #f5f5f5; } -QToolBar QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #5a5a5a; - background-color: #5a5a5a; +QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + color: #f5f5f5; } - -/*================================================================================================== -Tables (spreadsheets) -==================================================================================================*/ -QTableView { - gridline-color: #a0a0a0; - selection-color: #624b14; - selection-background-color: #e3d8b9; +QTabBar::tab:top, QDockWidget QTabBar::tab:top { + color: #f5f5f5; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; } -QTableView::item:hover { - background-color: rgba(0,0,0,10); /* temporal: is it displayed in Linux or Windows? on OSX it isn't */ +QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + color: white; + border-top: 4px solid #b28416; /* selection color */ + border-bottom: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + } + +QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + /*border: 1px solid #b28416;*/ + border: 0px solid #b28416; + background-color: #b28416; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; } -QTableView::item:disabled { - color: #8c8c8c; +QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + color: #f5f5f5; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-top: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; } -QTableView::item:selected { - color: #624b14; - border-color: #e3d8b9; /* same as focused background color */ - border-bottom-color: #e3b64d; /* same as focused border color */ +QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + color: white; + border-bottom: 4px solid #b28416; /* selection color */ + border-top: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + } -/* fix for elements inside the cells */ -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit, -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - border-radius: 0px; +QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { +/*border: 1px solid #b28416;*/ + border: 0px solid #b28416; + background-color: #b28416; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; } -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit { - color: black; - background-color: transparent; - border-color: transparent; +QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #7F7F7F; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 4px; + min-height: 5px; } -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - background-color: rgba(0,0,0,30); +QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #7F7F7F; + border: 0px solid #996b00; } -QTableView > QWidget > QComboBox:focus, -QTableView > QWidget > QAbstractSpinBox:focus, -QTableView > QWidget > QSpinBox:focus, -QTableView > QWidget > QDoubleSpinBox:focus, -QTableView > QWidget > QLineEdit:focus, -QTableView > QWidget > QTextEdit:focus, -QTableView > QWidget > QTimeEdit:focus, -QTableView > QWidget > QDateEdit:focus, -QTableView > QWidget > QDateTimeEdit:focus { - color: #624b14; - selection-color: white; - selection-background-color: #daa116; - border-color: #e3d8b9; - background-color: #e3d8b9; +QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 0px solid #b28416; + background-color: #b28416; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; } -QTableView > QWidget > QComboBox:disabled, -QTableView > QWidget > QAbstractSpinBox:disabled, -QTableView > QWidget > QSpinBox:disabled, -QTableView > QWidget > QDoubleSpinBox:disabled, -QTableView > QWidget > QLineEdit:disabled, -QTableView > QWidget > QTextEdit:disabled, -QTableView > QWidget > QTimeEdit:disabled, -QTableView > QWidget > QDateEdit:disabled, -QTableView > QWidget > QDateTimeEdit:disabled { - color: rgba(0,0,0,120); - background-color: transparent; - border-color: transparent; +QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #7F7F7F; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + min-height: 5px; + border: 10px; } -QTableView > QWidget > QComboBox:read-only, -QTableView > QWidget > QAbstractSpinBox:read-only, -QTableView > QWidget > QSpinBox:read-only, -QTableView > QWidget > QDoubleSpinBox:read-only, -QTableView > QWidget > QLineEdit:read-only, -QTableView > QWidget > QTextEdit:read-only, -QTableView > QWidget > QTimeEdit:read-only, -QTableView > QWidget > QDateEdit:read-only, -QTableView > QWidget > QDateTimeEdit:read-only { - color: black; - background-color: transparent; - border-color: transparent; +QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #7F7F7F; + border: 0px solid #996b00; } - -/*================================================================================================== -SELECTORTOOLBAR widget (3rd party plugin) -==================================================================================================*/ -QToolBar:horizontal#Selector, -QToolBar:vertical#Selector { - background-color: rgba(0,0,0,120); - margin: 0px; - padding: 0px; +QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 0px solid #b28416; + background-color: #b28416; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; } -QToolBar::handle:top#Selector, -QToolBar::handle:bottom#Selector, -QToolBar::handle:horizontal#Selector { - alignment: bottom left; +QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #7F7F7F; + height: 12px; + width: 12px; } -QToolBar::handle:left#Selector, -QToolBar::handle:right#Selector, -QToolBar::handle:vertical#Selector { - width: 100%; - alignment: center left; +QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + border: 0px solid #b28416; + background-color: #b28416; } -QToolBar:top#Selector QToolButton, -QToolBar:bottom#Selector QToolButton, -QToolBar:horizontal#Selector QToolButton { - alignment: bottom left; +QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 0px solid #b28416; + background-color: #b28416; } -QToolBar:left#Selector QToolButton, -QToolBar:right#Selector QToolButton, -QToolBar:vertical#Selector QToolButton { - alignment: center left; +QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_lighter.svg); } -QToolButton[toolbar_orientation="horizontal"] { - /* nothing, when Horizontal there's no need to add special parameters */ +QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(qss:images_dark-light/left_arrow_disabled_light.svg); } -QToolButton[toolbar_orientation="vertical"] { - /* nothing, when Horizontal there's no need to add special parameters */ +QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_lighter.svg); } -QToolBar#Selector QToolButton { - border: none; - margin: 0px; - padding: 2px 6px; - border-radius: 0px; +QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(qss:images_dark-light/right_arrow_disabled_light.svg); } -/* Active tab */ -QToolBar#Selector QToolButton:checked { +/* QDockWiget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QDockWidget { + background-color: #7F7F7F; + border: 1px solid #505051; + border-radius: 1.9px; + titlebar-close-icon: url(qss:images_dark-light/transparent.svg); + titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); +} + +QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + text-align: center; + font-weight: bold; +} + +QDockWidget::close-button { + icon-size: 10px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/close_light.svg); +} + +QDockWidget::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); +} + +QDockWidget::close-button:pressed { + image: url(qss:images_dark-light/close_light.svg); +} + +QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/undock_light.svg); +} + +QDockWidget::float-button:hover { + /*background-color: #b28416;*/ + image: url(qss:images_dark-light/undock_blue.svg); +} + +QDockWidget::float-button:pressed { + image: url(qss:images_dark-light/undock_light.svg); +} + +/* QTreeView QListView QTableView ----------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + +--------------------------------------------------------------------------- */ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_light.svg) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_light.svg) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; +} + +QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; +} + +QTreeView::indicator:checked, +QListView::indicator:checked, +QTableView::indicator:checked, +QColumnView::indicator:checked { + image: url(qss:images_dark-light/checkbox_light.svg); +} + +QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, +QListView::indicator:checked:hover, +QListView::indicator:checked:focus, +QListView::indicator:checked:pressed, +QTableView::indicator:checked:hover, +QTableView::indicator:checked:focus, +QTableView::indicator:checked:pressed, +QColumnView::indicator:checked:hover, +QColumnView::indicator:checked:focus, +QColumnView::indicator:checked:pressed { + image: url(qss:images_dark-light/checkbox_light_hover.svg); +} + +QTreeView::indicator:unchecked, +QListView::indicator:unchecked, +QTableView::indicator:unchecked, +QColumnView::indicator:unchecked { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, +QListView::indicator:unchecked:hover, +QListView::indicator:unchecked:focus, +QListView::indicator:unchecked:pressed, +QTableView::indicator:unchecked:hover, +QTableView::indicator:unchecked:focus, +QTableView::indicator:unchecked:pressed, +QColumnView::indicator:unchecked:hover, +QColumnView::indicator:unchecked:focus, +QColumnView::indicator:unchecked:pressed { + image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); +} + +QTreeView::indicator:indeterminate, +QListView::indicator:indeterminate, +QTableView::indicator:indeterminate, +QColumnView::indicator:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, +QListView::indicator:indeterminate:hover, +QListView::indicator:indeterminate:focus, +QListView::indicator:indeterminate:pressed, +QTableView::indicator:indeterminate:hover, +QTableView::indicator:indeterminate:focus, +QTableView::indicator:indeterminate:pressed, +QColumnView::indicator:indeterminate:hover, +QColumnView::indicator:indeterminate:focus, +QColumnView::indicator:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView, +QListView, +QTableView, +QColumnView { + background-color: #7F7F7F; /* background of a lot of stuff including spreadsheets.*/ + border: 0px solid #696968; + color: White; + gridline-color: #696968; + border-radius: 0px; +} + +QTreeView:disabled, +QListView:disabled, +QTableView:disabled, +QColumnView:disabled { + background-color: #505050; + color: #c2c7cb; +} + +QTreeView:selected, +QListView:selected, +QTableView:selected, +QColumnView:selected { + background-color: #b28416; + color: White; +} + +QTreeView:focus, +QListView:focus, +QTableView:focus, +QColumnView:focus { + border: 1px solid #996b00; +} + +QTreeView::item:pressed, +QListView::item:pressed, +QTableView::item:pressed, +QColumnView::item:pressed { + background-color: #b28416; +} + +QTreeView::item:selected:active, +QListView::item:selected:active, +QTableView::item:selected:active, +QColumnView::item:selected:active { + background-color: #b28416; +} + +QTreeView::item:selected:!active, +QListView::item:selected:!active, +QTableView::item:selected:!active, +QColumnView::item:selected:!active { + color: White; + background-color: #353535; +} + +QTreeView::item:!selected:hover, +QListView::item:!selected:hover, +QTableView::item:!selected:hover, +QColumnView::item:!selected:hover { + outline: 0; + color: White; + background-color: #b28416; +} + +QTableCornerButton::section { + background-color: #7F7F7F; + border: 1px transparent #696968; + border-radius: 0px; +} + +QTableView::item { color: white; - background-color: #6e6e6e; +} +QTableView { + /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ + /*qproperty-aliasBgColor: #f700ff;*/ } -/* Unactive tabs */ -QToolBar#Selector QToolButton:!checked { - color: rgba(255,255,255,160); - background-color: transparent; - margin: 0px; +/* QHeaderView ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + +--------------------------------------------------------------------------- */ +QHeaderView { + background-color: transparent; + text-align: center; } -/* Unactive tabs (hover) */ -QToolBar#Selector QToolButton:!checked:hover { - color: rgba(255,255,255,255); - background-color: rgba(255,255,255,20); +QHeaderView:disabled { + background-color: #7f7f7f; + color: rgb(174, 174, 174); } -/* Unactive tabs (pressed) */ -QToolBar#Selector QToolButton:!checked:pressed { - background-color: rgba(255,255,255,40); +QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + color: White; + border: 1px solid #505051; + font-size: 13px; + font-weight: bold; } - -/*================================================================================================== -TABBAR widget (3rd party plugin) -==================================================================================================*/ -QTabWidget#TabBar > QTabBar { - border-top: 0; +QHeaderView::section::horizontal { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 5px; + padding-right: 0px; } -QTabWidget#TabBar > QTabBar::tab:top, -QTabWidget#TabBar > QTabBar::tab:bottom { - min-width: -1; +QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 0px solid #696968; } -QTabWidget#TabBar > QTabBar::tab:left, -QTabWidget#TabBar > QTabBar::tab:right { - min-height: -1; +QHeaderView::section::horizontal:disabled { + color: #353535; } - -/*================================================================================================== -EXPERIMENTAL -==================================================================================================*/ - -/* Fix for preventing elements in different rows to accidentally overlap */ -QDialog QGroupBox QFrame { - margin: 2px 0px; +QHeaderView::section::vertical { + padding-top: 1px; + padding-bottom: 0; + padding-left: 1px; + padding-right: 0px; + border-top: 0px solid #696968; } -*[mandatoryField="true"] { background-color: cyan } - -/* Hack to avoid QPushButton text partially hidden under menu-indicator */ -QPushButton#NavigationIndicator::menu-indicator { - image: none; - width: 0px; +QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 2px solid #505051; } -/*================================================================================================== -SKETCHER -==================================================================================================*/ +QHeaderView::section::vertical:disabled { + border-top: 2px solid #505051; +} -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ +QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/down_arrow_light.svg); } -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ + +QHeaderView::up-arrow { + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/up_arrow_light.svg); } -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ + +/* QToolBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox +used in PATH + +--------------------------------------------------------------------------- */ +QToolBox { + padding: 0px; + border: 1px solid #696969; + border-radius: 4px; + background-color: transparent; } -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ + +QToolBox:selected { + padding: 0px; + border: 0px solid #b28416; } -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ + +QToolBox::tab { + background-color: transparent; + border: 0px solid #696969; + color: white; + background-image: url(qss:images_dark-light/down_arrow_lighter.svg); + background-repeat: none; + background-position: center left; } -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ + +QToolBox::tab:disabled { + color: #696969; } -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; + +QToolBox::tab:selected { + background-color: #696969; + background-image: url(qss:images_dark-light/transparent.svg); + padding-right: 5px; + background-repeat: none; } -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; + +QToolBox::tab:selected:disabled { + background-color: #696969; + border-bottom: 0px solid #cccccc; + color: white; } -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; + +QToolBox::tab:!selected { + } + +QToolBox::tab:!selected:disabled { + background-color: #7F7F7F; +} + +QToolBox::tab:hover { + background-color: #b28416; + } + +QToolBox QScrollArea QWidget QWidget { + padding: 0px; + border: 0px; + background-color: transparent; +} + +/* QFrame ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe +https://doc.qt.io/qt-5/qframe.html#-prop +https://doc.qt.io/qt-5/qframe.html#details +https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + +--------------------------------------------------------------------------- */ +/* (dot) .QFrame fix #141, #126, #123 */ +.QFrame { + border-radius: 0px; + border: 0px solid #696968; + background-color: #696969; + /* No frame */ + /* HLine */ + /* HLine */ +} + +.QFrame[frameShape="0"] { + border-radius: 1.9px; + border: 1px solid #696968; +} + +.QFrame[frameShape="4"] { + max-height: 1px; + border: none; + background-color: #696968; +} + +.QFrame[frameShape="5"] { + max-width: 1px; + border: none; + background-color: #7F7F7F; +} + +/* QSplitter -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter + +--------------------------------------------------------------------------- */ +QSplitter { + background-color: #3c3c3c; + spacing: 1px; + padding: 1px; + margin: 1px; +} + +QSplitter::handle { + margin: 0px 0px; + padding: 0px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + width: 1px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + height: 1px; +} + +QSplitter::handle:hover { + background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); + background-position: center center; + background-repeat: none; + background-color: #b28416; +} + +/* QDateEdit, QDateTimeEdit ----------------------------------------------- + +--------------------------------------------------------------------------- */ +QDateEdit, QDateTimeEdit { + selection-background-color: #b28416; + border-style: solid; + border: 1px solid #696968; + border-radius: 1.9px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; +} + +QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #b28416; +} + +QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #696968; +} + +QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 8px; + width: 8px; +} + +QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + +QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #7F7F7F; + border-radius: 2px; + border: 1px solid #696968; + selection-background-color: #b28416; +} + +/* QAbstractView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractView:hover { + border: 1px solid #b28416; + color: White; +} + +QAbstractView:selected { + background: #b28416; + color: White; +} + +/* PlotWidget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; +} \ No newline at end of file diff --git a/src/Gui/Stylesheets/Dark-pink.qss b/src/Gui/Stylesheets/Dark-pink.qss new file mode 100644 index 0000000000..33968175c7 --- /dev/null +++ b/src/Gui/Stylesheets/Dark-pink.qss @@ -0,0 +1,2528 @@ +/* +ABOUT +============================================================================================================ +Revised stylesheet based on the orignal from Pablo Gil Fernández made by MisterMaker + +KNOWN BUGS and TO DO +============================================================================================================ +Please, follow the link to get updated information: +https://forum.freecad.org/viewtopic.php?t=78431 + +INSTALLATION WHEN NECESSARY +============================================================================================================ +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/ + +============================================================================================================ +TO MODIFY USE THESE COLORS: + #bc1cc8 + #920077 + + +See Qt documentation: + + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ + + +/* Reset elements ------------------------------------------------------------ + +Resetting everything helps to unify styles across different operating systems + +--------------------------------------------------------------------------- */ +* { + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; + border-image: none; + outline: 0; +} + +/* specific reset for elements inside QToolBar */ +QToolBar * { + margin: 0px; + padding: 0px; +} + +/*hacks */ +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; + +} +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 1px; + margin: 0px; + padding: 0px; +} + +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; + +} + +/*================================================================================================== +Main window +==================================================================================================*/ +QMainWindow, +QDialog, +QDockWidget, +QToolBar { + background-color: #7F7F7F; /* main background color */ +} + +QMdiArea { + background-image: url(qss:images_dark-light/background_freecad_dark.svg); + background-position: center center; + background-repeat: no-repeat; +} +/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ +Gui--NavigationIndicatorGui--BlenderNavigationStyle { +/*QAction#a4 {*/ + qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); +} +/*===== +/* QWidget ---------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QWidget { + background-color: #7F7F7F; + border: 0px solid #696968; + padding: 0px; + color: White; + selection-background-color: #bc1cc8; + selection-color: White; +} + +QWidget:disabled { + background-color: transparent; + color: #c2c7cb; + selection-background-color: #bc1cc8; + selection-color: #c2c7cb; +} + +QWidget::item:selected { + background-color: #bc1cc8; +} + + /* Causes issue with colorselector. + QWidget::item:hover:!selected { + background-color: #bc1cc8; + }*/ + +/* QMainWindow ------------------------------------------------------------ + +This adjusts the splitter in the dock widget, not qsplitter +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow + +--------------------------------------------------------------------------- */ +QMainWindow::separator { + /*background-color: #3c3c3c;*/ + border: 0px solid #696968; + spacing: 0px; + padding: 1px; +} + +QMainWindow::separator:vertical:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #bc1cc8, stop:0.8 transparent); + /*background-color: #bc1cc8;*/ + image: url(qss:images_dark-light/splitter_vertical_light.svg); +} + +QMainWindow::separator:horizontal:hover { + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #bc1cc8, stop:0.8 transparent); + /*background-color: #bc1cc8;*/ + image: url(qss:images_dark-light/splitter_horizontal_light.svg); +} + +QMainWindow::separator:horizontal { + width: 4px; + margin-top: 0.1px; + margin-bottom: 0.1px; + /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ +} + +QMainWindow::separator:vertical { + height: 4px; + margin-left: 0.1px; + margin-right: 0.1px; + /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ +} + +/* QToolTip --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + +--------------------------------------------------------------------------- */ +QToolTip { + background-color: #505050; + color: White; + /* If you remove the border property, background stops working on Windows */ + border: none; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ +} + +/* QStatusBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + +--------------------------------------------------------------------------- */ +QStatusBar { + border: 0px solid #3c3c3c; + /* Fixes Spyder #9120, #9121 */ + background: #7F7F7F; + /* Fixes #205, white vertical borders separating items */ +} + +QStatusBar::item { + border: none; +} + +QStatusBar QToolTip { + background-color: #7F7F7F; + border: 1px solid #696968; + color: #7F7F7F; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; +} + +QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; +} + +/* QCheckBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + +--------------------------------------------------------------------------- */ +QCheckBox { + color: white; + padding: 0px; + outline: none; + border: 1px solid transparent; + background-color: transparent; +} + +QCheckBox:focus { + border: 1px solid #920077 ; +} + +QCheckBox QWidget:disabled { + background-color: transparent; + color: #c2c7cb; +} + +QCheckBox::indicator { + color: white; + background-color: #505050; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked { + background-color: #505050; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { + background-color: #bc1cc8; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked:disabled { + background-color: #7F7F7F; + image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QCheckBox::indicator:checked { + background-color: #505050; + /*border: 1px solid #696968; /* QRadioButton has the same color */ + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { + background-color: #bc1cc8; +} + +QCheckBox::indicator:checked:disabled { + background-color: #7F7F7F; + image: url(qss:images_dark-light/check_light.svg); +} + +QCheckBox::indicator:indeterminate { + background-color: #505050; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QCheckBox::indicator:indeterminate:disabled { + background-color: #7F7F7F; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + background-color: #bc1cc8; /* QRadioButton has the same color */ +} + +/* QGroupBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + +--------------------------------------------------------------------------- */ +QGroupBox { + font-weight: bold; + border: 1px solid #696968; + border-radius: 1.9px; + padding: 2px; + margin-top: 10px; + margin-bottom: 4px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: 6px; +} + +QGroupBox::indicator { + color: white; + background-color: #3c3c3c; + border: 1px solid #696968; + width: 12px; + height: 12px; + border-radius:1px; +} + +QGroupBox::indicator:unchecked { + background-color: #696968; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + background-color: #bc1cc8; +} + +QGroupBox::indicator:unchecked:disabled { + background-color: #505050; + border: 1px solid #696968; +} + +QGroupBox::indicator:checked { + border: none; + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + background-color: #bc1cc8; +} + +QGroupBox::indicator:checked:disabled { + background-color: #bc1cc8; +} + +/* QRadioButton ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + +--------------------------------------------------------------------------- */ +QRadioButton { + background-color: transparent; + color: White; + border: none; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + outline: none; +} + +QRadioButton:focus { + border: 1px solid #920077 ; +} + +QRadioButton:disabled { + background-color: #696968; + color: #353535; +} + +QRadioButton QWidget { + background-color: transparent; + color: White; + spacing: 0px; + padding: 0px; + outline: none; + border: none; +} + +QRadioButton::indicator { + background-color: #3c3c3c; + border: 1px solid #696968; + border-radius: 6px; + margin-left: 0px; + height: 11px; + width: 11px; +} + +QRadioButton::indicator:unchecked { + /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ +} + +QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { + background-color: #bc1cc8; + border: 1px solid #bc1cc8; + border-radius: 6px; +} + +QRadioButton::indicator:unchecked:disabled { + /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ + border: 1px solid #696968; +} + +QRadioButton::indicator:checked { + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { + background-color: #bc1cc8; + border: 1px solid #bc1cc8; + border-radius: 6px; + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +QRadioButton::indicator:checked:disabled { + outline: none; + background-color: #696968; + image:url(qss:images_dark-light/radiobutton_dark.svg); +} + +/* QMenuBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + +--------------------------------------------------------------------------- */ +QMenuBar { + background-color: #505050; + /*padding: 1px; + border: 0px solid rgba(0,0,0,140);*/ + color: White; + selection-background-color: #bc1cc8; +} + +QMenuBar:focus { + border: 1px solid #920077 ; +} + +QMenuBar::item { + background: transparent; + /*padding-left:5px; + padding-right: 5px; + padding-bottom: 1px; + padding-top: 1px;*/ +} + +QMenuBar::item:selected { + background: transparent; + border: 0px solid #696968; + background-color: #bc1cc8; +} + +QMenuBar::item:pressed { + /*padding: 2px; + padding-left: 10px; + padding-right: 10px;*/ + border: 0px solid #696968; + background-color: #bc1cc8; + color: White; + /*margin-bottom: 0px; + padding-bottom: 0px;*/ +} + +/* QMenu ------------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + +--------------------------------------------------------------------------- */ +QMenu { + border-bottom: 2px rgba(0,0,0,140); + border-right: 2px rgba(0,0,0,140); + color: White; + margin: 0px; + background-color: #505050; + selection-background-color: #bc1cc8; +} + +QMenu::separator { + height: 2px; + background-color: #3c3c3c; + margin-left: 30%; + margin-right: 30%; +} + +QMenu::item { + background-color: transparent; + padding: 2px 2px; /* make room for icon at left */ + /* Reserve space for selection border */ + border: 0px transparent #696968; +} + +QMenu::item:selected { + color: White; + background-color: #bc1cc8; +} + +QMenu::item:pressed { + background-color: #bc1cc8; +} + +QMenu::icon { + margin-left: 5px; + width: 14px; + height: 14px; +} + +QMenu::indicator { + margin-left: 2px; + margin-right: 2px; + padding: 0px; + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ +} + +QMenu::icon:checked { /* appearance of a 'checked' icon */ + background: #920077 ; + margin-left: -5px; + border: 5px solid #920077 ; + position: absolute; + border-radius: 0px; +} +QMenu::indicator:non-exclusive:unchecked { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { + border: none; + image: url(qss:images_dark-light/checkbox_unchecked_focus.png); +} + +QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QMenu::indicator:non-exclusive:checked { + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + background: #bc1cc8; + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:checked:disabled { + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:exclusive:unchecked { + image: url(qss:images_dark-light/transparent.svg); +} + +QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { + border: none; + outline: none; + background: #bc1cc8; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); +} + +QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + background: #bc1cc8; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); +} + +QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image:url(qss:images_dark-light/right_arrow_lighter.svg); + height: 12px; + width: 12px; + background-color: transparent; +} + +/* QAbstractItemView ------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QAbstractItemView { + alternate-background-color: #5b5b5b; + color: White; + border: 1px solid #696968; + border-radius: 2px; +} + +QAbstractItemView QLineEdit { + padding: 2px; +} + +/* QAbstractScrollArea ---------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QAbstractScrollArea { + background-color: transparent; + border: 0px solid #696968; + border-radius: 0px; + /* fix #159 */ + padding: 0px; + /* remove min-height to fix #244 */ + color: White; +} + +QAbstractScrollArea:disabled { + color: #353535; +} + +/* QScrollArea ------------------------------------------------------------ + +--------------------------------------------------------------------------- +text input field disabled!!!!*/ +QScrollArea QWidget:disabled { + background-color: #7F7F7F; +} + +/* QScrollBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + +--------------------------------------------------------------------------- */ +QScrollBar:horizontal { + height: 16px; + margin: 2px 8px 2px 8px; + border: 0px solid #696968; + border-radius: 1.9px; + background-color: #7F7F7F; +} + +QScrollBar:vertical { + background-color: #7F7F7F; + width: 16px; + margin: 8px 2px 8px 2px; + border: 0px solid #696968; + border-radius: 1.9px; +} + +QScrollBar::handle:horizontal { + background-color: #696969; + border: 1px solid #7F7F7F; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:hover { + background-color: #bc1cc8; + border: #696968; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:focus { + border: 1px solid #920077 ; +} + +QScrollBar::handle:vertical { + background-color: #696969; + border: 1px solid #696968; + min-height: 8px; + border-radius: 4px; +} + +QScrollBar::handle:vertical:hover { + background-color: #bc1cc8; + border: #696968; + border-radius: 4px; + min-height: 8px; +} + +QScrollBar::handle:vertical:focus { + border: 1px solid #920077 ; +} + +QScrollBar::add-line:horizontal { + border-image: url(qss:images_dark-light/right_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + border-image: url(qss:images_dark-light/down_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/left_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images_dark-light/left_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/up_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + background-color: #bc1cc8; + border-image: url(qss:images_dark-light/up_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; +} + +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +/* QTextEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + + +report view +--------------------------------------------------------------------------- */ +QTextEdit { + background-color: #7F7F7F; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; +} + +QTextEdit:focus { + border: 1px solid #920077 ; +} + +QTextEdit:selected { + background: #346792; + color: white; +} + +/* QPlainTextEdit --------------------------------------------------------- +Python +--------------------------------------------------------------------------- */ +QPlainTextEdit { + background-color: #3c3c3c; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; +} + +QPlainTextEdit:focus { + border: 1px solid #920077 ; +} + +QPlainTextEdit:selected { + background: #bc1cc8; + color: White; +} + +/* QSizeGrip -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + +--------------------------------------------------------------------------- */ +QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/sizegrip_light.svg); +} + +/* QStackedWidget --------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QStackedWidget { + padding: 0px; + border: 0px solid #696968; +} + +/* QToolBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + +--------------------------------------------------------------------------- */ +QToolBar { + background-color: #7F7F7F; + border-bottom: 0px solid rgba(0,0,0,120); + padding: 1px; + font-weight: bold; + spacing: 1px; +} + +QToolBar:disabled { + /* Fixes #272 */ + background-color: #7F7F7F; +} + +QToolBar::handle:horizontal { + width: 8px; + margin: 3px 3px; + background-position: top right; + background-repeat: repeat-y; + background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); +} + +QToolBar::handle:vertical { + height: 8px; + margin: 3px 3px; + background-position: left bottom; + background-repeat: repeat-x; + background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); +} + +QToolBar::separator:horizontal { + width: 2px; + margin: 4px 4px; + background-color: transparent; +} + +QToolBar::separator:vertical { + height: 2px; + margin: 4px 4px; + background-color: transparent; +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ +QToolButton#qt_toolbar_ext_button { +margin: 0px; +padding: 0px; +background-color: #696969; +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +background-repeat: none; +background-position: center center; +} + +QToolButton#qt_toolbar_ext_button:hover { +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +background-color: #bc1cc8; +} + +QToolButton#qt_toolbar_ext_button:on { +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +border-color: #696968; +background-color: #bc1cc8; +} + + +/* QAbstractSpinBox ------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractSpinBox, +QSpinBox { + background-color: #505050; + border: 1px solid transparent; + color: White; + /* This fixes 103, 111 */ + /* padding-top: 0px; + /* This fixes 103, 111 */ + /*padding-bottom: 0px; + /*padding-left: 4px; + /*padding-right: 4px; + border-radius: 1.9px;*/ + min-height: 1.7em; + /* min-width: 5px; removed to fix 109 */ +} + +QAbstractSpinBox:up-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + subcontrol-origin: border; + subcontrol-position: top right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-bottom: -1px;*/ +} + +QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_light.svg); + /* height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_lighter.svg); +} + +QAbstractSpinBox:down-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + subcontrol-origin: border; + subcontrol-position: bottom right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-top: -1px;*/ +} + +QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + /*height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + +QAbstractSpinBox:hover { + /*border: 1px solid #bc1cc8; + color: White;*/ +} + +QAbstractSpinBox:focus { + border: 1px solid #920077 ; +} + +QAbstractSpinBox:selected { + background: #920077 ; + /*color: White;*/ +} + +/* ------------------------------------------------------------------------ */ +/* DISPLAYS --------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QLabel ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + +--------------------------------------------------------------------------- */ +QLabel { + background-color: transparent; + border: 0px solid #696968; + padding: 2px; + margin: 0px; + color: White; +} + +QLabel:disabled { + background-color: transparent; + border: 0px solid #696968; + color: #c2c7cb; +} + +QLabel[haslink="true"] { + color: orange; +} + + +/* QTextBrowser ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QTextBrowser { + background-color: #505050; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; +} + +QTextBrowser:disabled { + background-color: #7F7F7F; + border: 1px solid #696968; + color: #c2c7cb; + border-radius: 1.9px; +} + +QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #bc1cc8; +} + +/* QGraphicsView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QGraphicsView { + background-color: transparent; + border: 0px solid #bc1cc8; + color: White; + border-radius: 0px; +} + +QGraphicsView:disabled { + background-color: #505050; + border: 0px solid #696968; + color: #c2c7cb; + border-radius: 0px; +} + +QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 0px solid #ff00f7; +} + +/* QCalendarWidget -------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCalendarWidget { + border: 1px solid #696968; + border-radius: 1.9px; +} + +QCalendarWidget:disabled { + background-color: #353535; + color: #c2c7cb; +} + +/* QLCDNumber ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QLCDNumber { + background-color: #1aff00; + color: White; +} + +QLCDNumber:disabled { + background-color: #7F7F7F; + color: #c2c7cb; +} + +/* QProgressBar ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + +--------------------------------------------------------------------------- */ +QProgressBar { + background-color: #c2c7cb; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar:disabled { + background-color: #505050; + border: 1px solid #696968; + color: #696969; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #bc1cc8; + color: #7F7F7F; + border-radius: 1.9px; +} + +QProgressBar::chunk:disabled { + background-color: #505050; + color: #696968; + border-radius: 1.9px; +} + +/* ------------------------------------------------------------------------ */ +/* BUTTONS ---------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QPushButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + +--------------------------------------------------------------------------- */ +QPushButton { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + color: White; + border: 1px solid #505051; + border-bottom-color: #1e1e1e; /* simulates shadow under the button */ + border-radius: 4px; + padding: 2px; +} + +QPushButton:disabled { + background-color: #7F7F7F; + color: #c2c7cb; + +} + +QPushButton:checked { + background-color: #bc1cc8; + outline: none; +} + +QPushButton:checked:disabled { + background-color: #bc1cc8; + color: #3c3c3c; + outline: none; +} + +QPushButton:checked:selected { + background: #bc1cc8; +} + +QPushButton:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #bc1cc8, stop:1 #920077 ); + color: White; +} + +QPushButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #920077 , stop:1 #bc1cc8); +} + +QPushButton:selected { + background: #920077 ; + color: White; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + bottom: 4px; +} + +QDialogButtonBox QPushButton { + /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; +} + +/* QToolButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + +--------------------------------------------------------------------------- */ +QToolButton { + background-color: transparent; + color: White; + border-radius: 1px; + padding: 0px; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ +} + +QToolButton:disabled { + background-color: rgba(0, 0, 0, 0.065); + color: #c2c7cb; + border-radius: 1px; + padding: 0px; +} + +QToolButton:checked { + background-color: #bc1cc8; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:disabled { + background-color: #b65555; + color: #c2c7cb; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:hover { + background-color: #bc1cc8; + color: White; +} + +QToolButton:checked:pressed { + background-color: #bc1cc8; +} + +QToolButton:checked:selected { + background: #920077 ; + color: White; +} + +QToolButton:hover { + background-color: #bc1cc8; + color: White; +} + +QToolButton:pressed { + background-color: #920077 ; +} + +QToolButton:selected { + background: #bc1cc8; + color: White; +} + +QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 20px; +} + +QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; +} +QToolButton[popupMode="0"]::menu-button { + border: none; +} + +QToolButton[popupMode="0"]::menu-button:hover { + border: none; + border-left: 2px solid #fe0000; + border-radius: 0px; +} +QToolButton[popupMode="1"]::menu-button { + border: none; +} + +QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 2px solid #e5ff00; + border-radius: 0px; +} + +QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 20px; +} + +QToolButton::menu-button { + border-bottom: 0px solid #ffffff; + border-radius: 2px; + /* 16px width + 4px for border = 20px allocated above */ + width: 1.6ex; + padding: 2px; + border-radius: 2px; + border: 0px #000000; +} + +QToolButton::menu-button:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + +} + +QToolButton::menu-button:checked:hover { + /* background: rgba(0, 0, 0, 0.5);*/ +} + +QToolButton::menu-indicator { + /* Exclude a shift for better image */ + subcontrol-position: right bottom; + /* Shift it a bit */ +} + +QToolButton::menu-arrow { + image: url(qss:images_dark-light/more_arrow_light.svg); + width: 1.5ex; + height: 1.5ex; + subcontrol-position: right bottom; + background: transparent; +} +QToolButton::menu-arrow:open { + subcontrol-position: right bottom; + image: url(qss:images_dark-light/more_arrow_light.svg); +} +QToolButton::menu-arrow:hover { + image: url(qss:images_dark-light/more_arrow_light.svg); + background-color: rgba(0, 0, 0, 0.498); + border: 1px solid rgba(0, 0, 0, 0.498); +} + +/* QCommandLinkButton ----------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCommandLinkButton { + background-color: transparent; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + padding: 0px; + margin: 0px; +} + +QCommandLinkButton:disabled { + background-color: transparent; + color: #c2c7cb; +} + +/* ------------------------------------------------------------------------ */ +/* INPUTS - NO FIELDS ----------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QComboBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QComboBox { + border: 1px solid transparent; + background: #505050; + border-radius: 2px; + selection-background-color: #bc1cc8; + padding-left: 2px; + padding-right: 2px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ +} +QComboBox:editable { + background: white; +} +QComboBox QAbstractItemView { + border: 0px solid #696968; + border-radius: 0px; + background-color: #505050; + selection-background-color: #bc1cc8; +} + +QComboBox QAbstractItemView:hover { + background-color:#505050; + color: White; +} + +QComboBox QAbstractItemView:selected { + background: #bc1cc8; + color: White; +} + +QComboBox QAbstractItemView:alternate { + background: #3c3c3c; +} + +QComboBox:disabled { + background-color: #7F7F7F; + color: #353535; +} + +QComboBox:hover { + /*background-color: #bc1cc8;*/ + border: 1px solid #bc1cc8; +} + +QComboBox:focus { + border: 1px solid #920077 ; +} + +QComboBox:on { + selection-background-color: #920077 ; +} + +QComboBox::indicator { + border: none; + border-radius: 0px; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: #bc1cc8; + /* Needed to remove indicator - fix #132 */ +} + +QComboBox::indicator:alternate { + background: #696968; +} + +QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ +} + +QComboBox::item:alternate { + background: #3c3c3c; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + subcontrol-position: top right; + width: 14px; + border-left: 1px solid transparent; +} +QComboBox::drop-down:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #bc1cc8, stop:1 #920077 ); +} + +QComboBox::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 10px; + width: 10px; +} + +QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + + +/*================================================================================================== +Tasks panel (custom FreeCAD class) +==================================================================================================*/ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: white; + qproperty-groupBackground: #3c3c3c; + border: 0px solid #696968; + +} + +/* Action group */ +QFrame[class="panel"] { +background-color: transparent; /* temporal (transparent background) */ + +} + +QSint--ActionGroup { +padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +} + +/* 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-top: 1px solid #696968; +border-left: 1px solid #696968; +border-right: 1px solid #696968; +background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); +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(x1:0, y1:0, x2:0, y2:1, stop:0 #bc1cc8, stop:1 #920077 ); +} + +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_dark-light/down_arrow_light.svg); +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_dark-light/down_arrow_lighter.svg); +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_light.svg); +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_dark-light/up_arrow_lighter.svg); +} + +QSint--ActionGroup QFrame[class="content"] { +background-color: transparent; /* Task Panel background color */ +margin: 0px; +padding: 0px; +border-bottom: 1px solid #696968; +border-left: 1px solid #696968; +border-right: 1px solid #696968; +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: #7F7F7F; /* Task Panel background color */ +} + +/* Fixs for tabs inside Task Panel */ +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { +border-bottom-color: #bc1cc8; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { +border-top-color: #bc1cc8; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { +border-right-color: #bc1cc8; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { +border-left-color: #bc1cc8; /* same as Task Panel background color */ +} + +/* Fix for buttons with icons that showed cropped (still not happy with result) */ +QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { +padding: 2px; /* bigger padding crops text and icons... */ +margin: 0px; +} + +/* Fix for lists inside task panels */ /* sketcher constraints list */ +QSint--ActionGroup QFrame[class="content"] QTreeView, +QSint--ActionGroup QFrame[class="content"] QListView, +QSint--ActionGroup QFrame[class="content"] QTableView { +color: white; +background-color: #505050; +} + + +/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ +QSint--ActionGroup QFrame[class="content"] QToolButton { + color: white; + text-align: center; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + border: 0px solid #adadad; + padding: 1px 1px; /* different than regular QPushButton */ + margin: 0px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 1px; +} + +QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #bc1cc8, stop:1 #920077 ); + +} +QSint--ActionGroup QFrame[class="content"] QToolButton:focus { + border: 1px solid #920077 ; +} + +QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, +QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { + color: #696969; + background-color: #505050; +} + +QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #bc1cc8, stop:1 #920077 ); + +} + +/* QSlider ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + +--------------------------------------------------------------------------- */ +QSlider:disabled { + background: #7F7F7F; +} + +QSlider:focus { + border: 1px solid #920077 ; +} + +QSlider::groove:horizontal { + background: #7F7F7F; + border: 1px solid #696968; + height: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::groove:vertical { + background: #bc1cc8; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::add-page:vertical { + background: #bc1cc8; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::add-page:vertical :disabled { + background: #696968; +} + +QSlider::sub-page:horizontal { + background: #bc1cc8; + border: 1px solid #0073ff; + height: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::sub-page:horizontal:disabled { + background: #bc1cc8; +} + +QSlider::handle:horizontal { + background: #353535; + border: 1px solid #7F7F7F; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 1.9px; +} + +QSlider::handle:horizontal:hover { + background: #bc1cc8; + border: 1px solid #bc1cc8; +} + +QSlider::handle:horizontal:focus { + border: 1px solid #920077 ; +} + +QSlider::handle:vertical { + background: #c2c7cb; + border: 1px solid #696968; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 1.9px; +} + +QSlider::handle:vertical:hover { + background: #bc1cc8; + border: 2px solid #bc1cc8; +} + +QSlider::handle:vertical:focus { + border: 1px solid #920077 ; +} + +/* QLineEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + +--------------------------------------------------------------------------- */ +QLineEdit { + background-color: #505050; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #696968; + border-radius: 2px; + color: White; +} + +QLineEdit:disabled { + background-color: #7F7F7F; + color: #c2c7cb; +} + +QLineEdit:hover { + border: 1px solid #bc1cc8; + color: White; +} + +QLineEdit:focus { + border: 2px solid #920077 ; +} + +QLineEdit:selected { + background-color: #bc1cc8; + color: white; +} + +/* QTabWiget -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabWidget { + padding: 2px; + selection-background-color: #bc1cc8; +} + +QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 1.9px; +} + +QTabWidget::pane { + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; +} + +QTabWidget::pane:selected { + background-color: #bc1cc8; + border: 1px solid #346792; +} +/* QTabBar ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + /* left: 5px; move to the right by 5px - removed for fix */ +} + +QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 1px; + image: url(qss:images_dark-light/close_light.svg); +} + +QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + /*background-color: rgba(255, 0, 0, 0.3);*/ +} + +QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(qss:images_dark-light/close_.svg); +} + +QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ + padding: 4px; +} + +QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + color: #f5f5f5; +} + +QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + color: #f5f5f5; +} + +QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + color: #f5f5f5; +} + +QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + color: #f5f5f5; +} + +QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + color: #f5f5f5; +} + +QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + color: #f5f5f5; + +} + +QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + color: #f5f5f5; + +} + +QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + color: #f5f5f5; +} + +QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + color: #f5f5f5; +} + +QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + color: #f5f5f5; +} + +QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + color: #f5f5f5; +} + +QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + color: #f5f5f5; +} + +QTabBar::tab:top, QDockWidget QTabBar::tab:top { + color: #f5f5f5; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; +} + +QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + color: white; + border-top: 4px solid #bc1cc8; /* selection color */ + border-bottom: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + } + +QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + /*border: 1px solid #bc1cc8;*/ + border: 0px solid #bc1cc8; + background-color: #bc1cc8; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; +} + +QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + color: #f5f5f5; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-top: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; +} + +QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + color: white; + border-bottom: 4px solid #bc1cc8; /* selection color */ + border-top: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + +} + +QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { +/*border: 1px solid #bc1cc8;*/ + border: 0px solid #bc1cc8; + background-color: #bc1cc8; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; +} + +QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #7F7F7F; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 4px; + min-height: 5px; +} + +QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #7F7F7F; + border: 0px solid #920077 ; +} + +QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 0px solid #bc1cc8; + background-color: #bc1cc8; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; +} + +QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #7F7F7F; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + min-height: 5px; + border: 10px; +} + +QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #7F7F7F; + border: 0px solid #920077 ; +} + +QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 0px solid #bc1cc8; + background-color: #bc1cc8; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; +} + +QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #7F7F7F; + height: 12px; + width: 12px; +} + +QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + border: 0px solid #bc1cc8; + background-color: #bc1cc8; +} + +QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 0px solid #bc1cc8; + background-color: #bc1cc8; +} + +QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_lighter.svg); +} + +QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(qss:images_dark-light/left_arrow_disabled_light.svg); +} + +QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_lighter.svg); +} + +QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(qss:images_dark-light/right_arrow_disabled_light.svg); +} + +/* QDockWiget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QDockWidget { + background-color: #7F7F7F; + border: 1px solid #505051; + border-radius: 1.9px; + titlebar-close-icon: url(qss:images_dark-light/transparent.svg); + titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); +} + +QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + text-align: center; + font-weight: bold; +} + +QDockWidget::close-button { + icon-size: 10px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/close_light.svg); +} + +QDockWidget::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); +} + +QDockWidget::close-button:pressed { + image: url(qss:images_dark-light/close_light.svg); +} + +QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/undock_light.svg); +} + +QDockWidget::float-button:hover { + /*background-color: #bc1cc8;*/ + image: url(qss:images_dark-light/undock_blue.svg); +} + +QDockWidget::float-button:pressed { + image: url(qss:images_dark-light/undock_light.svg); +} + +/* QTreeView QListView QTableView ----------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + +--------------------------------------------------------------------------- */ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_light.svg) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_light.svg) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; +} + +QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; +} + +QTreeView::indicator:checked, +QListView::indicator:checked, +QTableView::indicator:checked, +QColumnView::indicator:checked { + image: url(qss:images_dark-light/checkbox_light.svg); +} + +QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, +QListView::indicator:checked:hover, +QListView::indicator:checked:focus, +QListView::indicator:checked:pressed, +QTableView::indicator:checked:hover, +QTableView::indicator:checked:focus, +QTableView::indicator:checked:pressed, +QColumnView::indicator:checked:hover, +QColumnView::indicator:checked:focus, +QColumnView::indicator:checked:pressed { + image: url(qss:images_dark-light/checkbox_light_hover.svg); +} + +QTreeView::indicator:unchecked, +QListView::indicator:unchecked, +QTableView::indicator:unchecked, +QColumnView::indicator:unchecked { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, +QListView::indicator:unchecked:hover, +QListView::indicator:unchecked:focus, +QListView::indicator:unchecked:pressed, +QTableView::indicator:unchecked:hover, +QTableView::indicator:unchecked:focus, +QTableView::indicator:unchecked:pressed, +QColumnView::indicator:unchecked:hover, +QColumnView::indicator:unchecked:focus, +QColumnView::indicator:unchecked:pressed { + image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); +} + +QTreeView::indicator:indeterminate, +QListView::indicator:indeterminate, +QTableView::indicator:indeterminate, +QColumnView::indicator:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, +QListView::indicator:indeterminate:hover, +QListView::indicator:indeterminate:focus, +QListView::indicator:indeterminate:pressed, +QTableView::indicator:indeterminate:hover, +QTableView::indicator:indeterminate:focus, +QTableView::indicator:indeterminate:pressed, +QColumnView::indicator:indeterminate:hover, +QColumnView::indicator:indeterminate:focus, +QColumnView::indicator:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView, +QListView, +QTableView, +QColumnView { + background-color: #7F7F7F; /* background of a lot of stuff including spreadsheets.*/ + border: 0px solid #696968; + color: White; + gridline-color: #696968; + border-radius: 0px; +} + +QTreeView:disabled, +QListView:disabled, +QTableView:disabled, +QColumnView:disabled { + background-color: #505050; + color: #c2c7cb; +} + +QTreeView:selected, +QListView:selected, +QTableView:selected, +QColumnView:selected { + background-color: #bc1cc8; + color: White; +} + +QTreeView:focus, +QListView:focus, +QTableView:focus, +QColumnView:focus { + border: 1px solid #920077 ; +} + +QTreeView::item:pressed, +QListView::item:pressed, +QTableView::item:pressed, +QColumnView::item:pressed { + background-color: #bc1cc8; +} + +QTreeView::item:selected:active, +QListView::item:selected:active, +QTableView::item:selected:active, +QColumnView::item:selected:active { + background-color: #bc1cc8; +} + +QTreeView::item:selected:!active, +QListView::item:selected:!active, +QTableView::item:selected:!active, +QColumnView::item:selected:!active { + color: White; + background-color: #353535; +} + +QTreeView::item:!selected:hover, +QListView::item:!selected:hover, +QTableView::item:!selected:hover, +QColumnView::item:!selected:hover { + outline: 0; + color: White; + background-color: #bc1cc8; +} + +QTableCornerButton::section { + background-color: #7F7F7F; + border: 1px transparent #696968; + border-radius: 0px; +} + +QTableView::item { + color: white; +} +QTableView { + /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ + /*qproperty-aliasBgColor: #f700ff;*/ +} + +/* QHeaderView ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + +--------------------------------------------------------------------------- */ +QHeaderView { + background-color: transparent; + text-align: center; +} + +QHeaderView:disabled { + background-color: #7f7f7f; + color: rgb(174, 174, 174); +} + +QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); + color: White; + border: 1px solid #505051; + font-size: 13px; + font-weight: bold; +} + +QHeaderView::section::horizontal { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 5px; + padding-right: 0px; +} + +QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 0px solid #696968; +} + +QHeaderView::section::horizontal:disabled { + color: #353535; +} + +QHeaderView::section::vertical { + padding-top: 1px; + padding-bottom: 0; + padding-left: 1px; + padding-right: 0px; + border-top: 0px solid #696968; +} + +QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 2px solid #505051; +} + +QHeaderView::section::vertical:disabled { + border-top: 2px solid #505051; +} + +QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/down_arrow_light.svg); +} + +QHeaderView::up-arrow { + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/up_arrow_light.svg); +} + +/* QToolBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox +used in PATH + +--------------------------------------------------------------------------- */ +QToolBox { + padding: 0px; + border: 1px solid #696969; + border-radius: 4px; + background-color: transparent; +} + +QToolBox:selected { + padding: 0px; + border: 0px solid #bc1cc8; +} + +QToolBox::tab { + background-color: transparent; + border: 0px solid #696969; + color: white; + background-image: url(qss:images_dark-light/down_arrow_lighter.svg); + background-repeat: none; + background-position: center left; +} + +QToolBox::tab:disabled { + color: #696969; +} + +QToolBox::tab:selected { + background-color: #696969; + background-image: url(qss:images_dark-light/transparent.svg); + padding-right: 5px; + background-repeat: none; +} + +QToolBox::tab:selected:disabled { + background-color: #696969; + border-bottom: 0px solid #cccccc; + color: white; +} + +QToolBox::tab:!selected { + +} + +QToolBox::tab:!selected:disabled { + background-color: #7F7F7F; +} + +QToolBox::tab:hover { + background-color: #bc1cc8; + } + +QToolBox QScrollArea QWidget QWidget { + padding: 0px; + border: 0px; + background-color: transparent; +} + +/* QFrame ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe +https://doc.qt.io/qt-5/qframe.html#-prop +https://doc.qt.io/qt-5/qframe.html#details +https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + +--------------------------------------------------------------------------- */ +/* (dot) .QFrame fix #141, #126, #123 */ +.QFrame { + border-radius: 0px; + border: 0px solid #696968; + background-color: #696969; + /* No frame */ + /* HLine */ + /* HLine */ +} + +.QFrame[frameShape="0"] { + border-radius: 1.9px; + border: 1px solid #696968; +} + +.QFrame[frameShape="4"] { + max-height: 1px; + border: none; + background-color: #696968; +} + +.QFrame[frameShape="5"] { + max-width: 1px; + border: none; + background-color: #7F7F7F; +} + +/* QSplitter -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter + +--------------------------------------------------------------------------- */ +QSplitter { + background-color: #3c3c3c; + spacing: 1px; + padding: 1px; + margin: 1px; +} + +QSplitter::handle { + margin: 0px 0px; + padding: 0px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + width: 1px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + height: 1px; +} + +QSplitter::handle:hover { + background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); + background-position: center center; + background-repeat: none; + background-color: #bc1cc8; +} + +/* QDateEdit, QDateTimeEdit ----------------------------------------------- + +--------------------------------------------------------------------------- */ +QDateEdit, QDateTimeEdit { + selection-background-color: #bc1cc8; + border-style: solid; + border: 1px solid #696968; + border-radius: 1.9px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; +} + +QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #bc1cc8; +} + +QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #696968; +} + +QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 8px; + width: 8px; +} + +QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + +QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #7F7F7F; + border-radius: 2px; + border: 1px solid #696968; + selection-background-color: #bc1cc8; +} + +/* QAbstractView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractView:hover { + border: 1px solid #bc1cc8; + color: White; +} + +QAbstractView:selected { + background: #bc1cc8; + color: White; +} + +/* PlotWidget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; +} \ No newline at end of file diff --git a/src/Gui/Stylesheets/Darker-blue.qss b/src/Gui/Stylesheets/Darker-blue.qss index 257d91bf7d..fc8f2b85e1 100644 --- a/src/Gui/Stylesheets/Darker-blue.qss +++ b/src/Gui/Stylesheets/Darker-blue.qss @@ -1,71 +1,40 @@ /* ABOUT ============================================================================================================ -version 2.22 -Qt theme (stylesheet) specially developed for FreeCAD (https://www.freecad.org/). -It might work with other software that uses Qt styling. +Revised stylesheet based on the orignal from Pablo Gil Fernández made by MisterMaker - -LICENSE +KNOWN BUGS and TO DO ============================================================================================================ -Copyright (c) 2019 Pablo Gil Fernández +Please, follow the link to get updated information: +https://forum.freecad.org/viewtopic.php?t=78431 -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 +INSTALLATION WHEN NECESSARY ============================================================================================================ 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/ - -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 lighter) - black - #1e1e1e - #2a2a2a = background - #333333 - #424242 - #3c3c3c - #444444 = main background color - #545454 = secondary - #787878 - #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 +============================================================================================================ +TO MODIFY USE THESE COLORS: + #2053c0 + #1b3774 -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: https://forum.freecad.org/viewtopic.php?f=10&t=12417 +See Qt documentation: -*/ + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ -/*================================================================================================== -Reset elements -==================================================================================================*/ -/* Resetting everything helps to unify styles across different operating systems */ +/* Reset elements ------------------------------------------------------------ + +Resetting everything helps to unify styles across different operating systems + +--------------------------------------------------------------------------- */ * { padding: 0px; margin: 0px; @@ -73,2273 +42,2487 @@ Reset elements border-style: none; border-image: none; outline: 0; - color: #f5f5f5; /* Default color for labels and different text elements that usually use dark colors */ -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { + } + + /* specific reset for elements inside QToolBar */ + QToolBar * { margin: 0px; padding: 0px; -} - - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #444444; /* main background color */ -} - -QMdiArea { + } + + /*hacks */ + 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; + + } + Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, + Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 1px; + margin: 0px; + padding: 0px; + } + + 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; + + } + + /*================================================================================================== + Main window + ==================================================================================================*/ + QMainWindow, + QDialog, + QDockWidget, + QToolBar { + background-color: #444444; /* main background color */ + } + + QMdiArea { background-image: url(qss:images_dark-light/background_freecad_dark.svg); background-position: center center; background-repeat: no-repeat; -} - - -/*================================================================================================== -Sub windows -==================================================================================================*/ -QMdiSubWindow { - border:1px solid #333333; - margin-top: 30px; - margin-left: 4px; - margin-right: 4px; - margin-bottom:4px; -} - - -/*================================================================================================== -MENUS -==================================================================================================*/ -QMenuBar, -QMenuBar::item { - color: #f5f5f5; - background-color: #444444; /* main background color */ -} - -QMenu, -QMenu::item { - color: #f5f5f5; - background-color: #2a2a2a; - text-decoration: none; -} - -QMenuBar::item:selected, -QMenuBar::item:pressed, -QMenu::item:selected, -QMenu::item:pressed { - color: #ffffff; + } + /*navgation src/Mod/Tux/NavigationIndicatorGui.py */ + Gui--NavigationIndicatorGui--BlenderNavigationStyle { + /*QAction#a4 {*/ + qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); + } + /*===== + /* QWidget ---------------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QWidget { + background-color: #444444; + border: 0px solid #696968; + padding: 0px; + color: White; + selection-background-color: #2053c0; + selection-color: White; + } + + QWidget:disabled { + background-color: transparent; + color: #c2c7cb; + selection-background-color: #2053c0; + selection-color: #c2c7cb; + } + + QWidget::item:selected { background-color: #2053c0; -} - -QMenu::right-arrow { - width: 10px; - height: 10px; - image:url(qss:images_dark-light/right_arrow_dark.svg); - margin-right: 2px; -} - -QMenu::right-arrow:selected { - image:url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QMenu::item { - padding: 2px 4px; /* make room for icon at left */ - border: 1px solid transparent; /* reserve space for selection border */ -} - -QMenu::icon { - margin-left: 1px; - margin-right: 1px; -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #2053c0; - border: 2px #2053c0; - position: absolute; - border-radius: 2px; -} - -QMenu::separator { - height: 1px; - background-color: rgba(255,255,255,30); - margin: 6px 4px; -} - -QMenu::indicator:non-exclusive:checked { - color: white; -} - -/* Fix for elements inside a drop-down menu */ -QMenu QRadioButton, -QMenu QCheckBox, -QMenu QPushButton, -QMenu QToolButton { - color: white; /* same as regular QRadioButton and QCheckBox */ -} - -QMenu QRadioButton:hover, -QMenu QCheckBox:hover, -QMenu QPushButton:hover, -QMenu QToolButton:hover, -QMenu QPushButton:pressed, -QMenu QToolButton:pressed, -QMenu QPushButton:selected, -QMenu QToolButton:selected { - color: white; - background-color: #2053c0; /* same as QMenu::item:selected and QMenu::item:pressed */ -} - -QMenu QRadioButton:disabled, -QMenu QCheckBox:disabled { - color: #f5f5f5; -} - -QMenu QRadioButton::indicator:disabled, -QMenu QCheckBox::indicator:disabled { - color: #f5f5f5; - background-color: transparent; - border: 1px solid #f5f5f5; -} - - -/*================================================================================================== -Tool bar -==================================================================================================*/ -QToolBar { - padding: 2px; -} - -QToolBar::handle:top, -QToolBar::handle:bottom, -QToolBar::handle:horizontal { - background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); - width: 10px; - margin: 4px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:left, -QToolBar::handle:right, -QToolBar::handle:vertical { - background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); - height: 10px; - margin: 2px 4px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:top, -QToolBar::separator:bottom, -QToolBar::separator:horizontal { - width: 1px; - margin: 6px 4px; - background-color: rgba(0,0,0,30); -} - -QToolBar::separator:left, -QToolBar::separator:right, -QToolBar::separator:vertical { - height: 1px; - margin: 4px 6px; - background-color: rgba(0,0,0,30); -} - - -/*================================================================================================== -Group box -==================================================================================================*/ -QGroupBox { - color: rgba(255,255,255,120); - border:1px solid rgba(255,255,255,20); /* lighter than its own border-color */; - border-radius: 3px; - margin-top: 10px; - padding: 6px; - background-color: rgba(255,255,255,0); -} - -QGroupBox:title { - top: -8px; - left: 12px; -} - -/* NOTE: QGroupBox checkboxes are styles with regular ones so that the all get the same style */ -/* QGroupBox::indicator { - width: 13px; - height: 13px; -} - -QGroupBox::indicator:unchecked { - image: url(:/images/checkbox_unchecked.png); -} */ - - -/*================================================================================================== -Tooltip -==================================================================================================*/ -QToolTip { - color: #ffffff; - background-color: #1e1e1e; - /*opacity: 90%; doesn't correctly work */ - padding: 4px; - border-radius: 3px; /* has no effect */ -} - - -/*================================================================================================== -Dock widget -==================================================================================================*/ -QDockWidget { - color: #a0a0a0; - titlebar-close-icon: url(qss:images_dark-light/close_light.svg); - titlebar-normal-icon: url(qss:images_dark-light/undock_light.svg); -} - -QDockWidget::title { - text-align: center; - background-color: rgba(0,0,0,40); - border: 4px solid #444444; /* 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,60); -} - -QDockWidget::close-button:pressed, -QDockWidget::float-button:pressed { - background-color: rgba(0,0,0,120); -} - -/* fix for Python Console (probably there is a smarter way to arrive to it) */ -QDockWidget > QFrame { - background-color: #787878; - border: 1px solid #333333; -} - - -/*================================================================================================== -Progress bar -==================================================================================================*/ -QProgressBar, -QProgressBar:horizontal { - color: white; - background-color: rgba(0,0,0,70); - text-align: center; - border: 1px solid rgba(0,0,0,140); + } + + /* Causes issue with colorselector. + QWidget::item:hover:!selected { + background-color: #2053c0; + }*/ + + /* QMainWindow ------------------------------------------------------------ + + This adjusts the splitter in the dock widget, not qsplitter + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow + + --------------------------------------------------------------------------- */ + QMainWindow::separator { + /*background-color: #3c3c3c;*/ + border: 0px solid #696968; + spacing: 0px; 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 #3874f2, stop:1 #5e90fa); - border-radius: 3px; -} - - -/*================================================================================================== -Scroll -==================================================================================================*/ -QAbstractScrollArea { - border-radius: 2px; - background-color: transparent; -} - -QAbstractScrollArea::corner { + } + + QMainWindow::separator:vertical:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #2053c0, stop:0.8 transparent); + /*background-color: #2053c0;*/ + image: url(qss:images_dark-light/splitter_vertical_light.svg); + } + + QMainWindow::separator:horizontal:hover { + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #2053c0, stop:0.8 transparent); + /*background-color: #2053c0;*/ + image: url(qss:images_dark-light/splitter_horizontal_light.svg); + } + + QMainWindow::separator:horizontal { + width: 4px; + margin-top: 0.1px; + margin-bottom: 0.1px; + /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ + } + + QMainWindow::separator:vertical { + height: 4px; + margin-left: 0.1px; + margin-right: 0.1px; + /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ + } + + /* QToolTip --------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + + --------------------------------------------------------------------------- */ + QToolTip { + background-color: #1c1b22; + color: White; + /* If you remove the border property, background stops working on Windows */ border: none; - background-color: transparent; -} - -QScrollBar:horizontal { - background-color: transparent; - height: 15px; - margin: 0px; -} - -QScrollBar::handle:vertical, -QScrollBar::handle:horizontal { - background-color: rgba(255,255,255,80); -} - -QScrollBar::handle:vertical:hover, -QScrollBar::handle:horizontal:hover { - background-color: rgba(255,255,255,100); -} - -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_dark-light/left_arrow_light.svg); - 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_dark-light/right_arrow_light.svg); - 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_dark-light/left_arrow_lighter.svg); -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -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_dark-light/up_arrow_light.svg); - 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_dark-light/down_arrow_light.svg); - 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_dark-light/up_arrow_lighter.svg); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -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 #787878; -} - -QTabWidget::pane:bottom { - bottom: -1px; - border-bottom: 1px solid #787878; -} - -QTabWidget::pane:left { - right: -1px; - border-right: 1px solid #787878; -} - -QTabWidget::pane:right { - left: -1px; - border-left: 1px solid #787878; -} - -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 reset as follows: */ -QTabBar { - border-top: 1px solid #787878; /* 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; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ + } + + /* QStatusBar ------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + + --------------------------------------------------------------------------- */ + QStatusBar { + border: 0px solid #3c3c3c; + /* Fixes Spyder #9120, #9121 */ + background: #444444; + /* Fixes #205, white vertical borders separating items */ + } + + QStatusBar::item { + border: none; + } + + QStatusBar QToolTip { + background-color: #444444; + border: 1px solid #696968; + color: #444444; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; + } + + QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; + } + + /* QCheckBox -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + + --------------------------------------------------------------------------- */ + QCheckBox { + color: white; + padding: 0px; + outline: none; 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: #f5f5f5; - background-color: #444444; /* same as tab content background color */ - border-color: #787878; -} - -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: #444444; /* 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: #444444; /* 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: #444444; /* 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: #444444; /* same as tab content background color */ -} - -QTabBar::tab:!selected { - color: rgba(255,255,255,120); -} - -QTabBar::tab:!selected:hover { - color: rgba(255,255,255,180); - background-color: rgba(255,255,255,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 #444444) */ -} - -/* 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: #787878; -} - -QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { + background-color: transparent; + } + + QCheckBox:focus { + border: 1px solid #1b3774; + } + + QCheckBox QWidget:disabled { + background-color: transparent; + color: #c2c7cb; + } + + QCheckBox::indicator { color: white; + background-color: #1c1b22; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QCheckBox::indicator:unchecked { + background-color: #1c1b22; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { background-color: #2053c0; -} - - -/*================================================================================================== -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_dark-light/close_dark.svg); - 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 #333333; /* same as regular QTreeView, QListView and QTableView */ - min-height: 40px; /* necessary 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: #444444; /* same as main background color */ -} - -QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_dark.svg); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_dark.svg); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QTabBar::tear { - /* default OS tear better */ -} - - -/*================================================================================================== -Tree and list views -==================================================================================================*/ -QTreeView, -QListView, -QTableView { - color: #e0e0e0; - background-color: #545454; - alternate-background-color: #444444; /* related with QListView background */ - border: 1px solid #333333; - selection-color: #ffffff; - selection-background-color: #2053c0; /* 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:hover, -QTreeView::item:hover { - background-color: transparent; /* fix to homogenize it on all OSs */ -} - -QListView::item:selected, -QTreeView::item:selected { - color: #ffffff; /* should be similar to QListView selection-color */ - background-color: #2053c0; /* 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: #444444; /* same as Group header background */ -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #2053c0; /* 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 hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #1b3774; - background-color: #2053c0; /* same as focused background color */ -} - -/* 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; -} - -/* reset min-height 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 > Gui--ColorButton { - min-height: 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: #2a2a2a; /* same as focused background color */ - border-bottom-color: #1e1e1e; /* 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; - border-radius: 0px; /* reset */ -} - - -/*================================================================================================== -Header of tree and list views -==================================================================================================*/ -QHeaderView { - color: #d2d2d2; - background-color: #2a2a2a; - 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: #2a2a2a; -} - -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: #2a2a2a; - 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_dark-light/up_arrow_light.svg); -} - -QHeaderView::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QHeaderView::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -/* Group header inside Property Editor (FreeCAD custom widget) */ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: #bebebe; - qproperty-groupBackground: #2a2a2a; -} - - -/*================================================================================================== -Branch system for QTreeViews -==================================================================================================*/ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_light.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_light.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; -} - - -/*================================================================================================== -Splitter and windows separator -==================================================================================================*/ -QSplitter::handle { - margin: 0px 11px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - background-position: center center; - background-repeat: none; - margin: 4px 2px 4px 2px; - width: 2px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - margin: 2px 4px 2px 4px; - height: 2px; -} - -/* Similar to the splitter is the following window separator (but horizontal/vertical is on the opposite way) */ -QMainWindow::separator { - background-position: center center; - background-repeat: none; -} - -QMainWindow::separator:horizontal { - height: 2px; - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - margin: 4px 2px 4px 2px; -} - -QMainWindow::separator:vertical { - width: 2px; - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - margin: 2px 4px 2px 4px; -} - - -/*================================================================================================== -Text/Python editor (macros, etc...) -==================================================================================================*/ -QPlainTextEdit, -QPlainTextEdit:focus { - background-color: #787878; - selection-color: #cbd8e6; - selection-background-color: #2053c0; - border: 1px solid #333333; - border-radius: 3px; - margin: 4px; -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -/* Action group */ -QFrame[class="panel"] { - background-color: transparent; /* temporal (transparent background) */ -} - -QSint--ActionGroup { - padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ - margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* 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: #2a2a2a; /* 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 #1b3774, stop:1 #1b3774); -} - -QSint--ActionGroup QToolButton[class="header"] { - color: #f5f5f5; /* Task Panel Header text color */ - text-align: left; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QCheckBox::indicator:unchecked:disabled { + background-color: #444444; + image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); + } + + QCheckBox::indicator:checked { + background-color: #1c1b22; + /*border: 1px solid #696968; /* QRadioButton has the same color */ + image:url(qss:images_dark-light/checkbox_light.svg); + } + + QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { + background-color: #2053c0; + } + + QCheckBox::indicator:checked:disabled { + background-color: #444444; + image: url(qss:images_dark-light/check_light.svg); + } + + QCheckBox::indicator:indeterminate { + background-color: #1c1b22; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QCheckBox::indicator:indeterminate:disabled { + background-color: #444444; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + background-color: #2053c0; /* QRadioButton has the same color */ + } + + /* QGroupBox -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + + --------------------------------------------------------------------------- */ + QGroupBox { font-weight: bold; - border: none; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { - background-color: transparent; - background-image: url(qss:images_dark-light/down_arrow_light.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images_dark-light/up_arrow_light.svg); - 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_dark-light/up_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="content"] { - background-color: #545454; /* 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: #545454; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { - border-bottom-color: #545454; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { - border-top-color: #545454; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { - border-right-color: #545454; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { - border-left-color: #545454; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { - padding: 2px; /* bigger padding crops text and icons... */ - margin: 0px; -} - -/* Fix for lists inside task panels */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { - color: #f5f5f5; - background-color: #787878; -} - - -/*================================================================================================== -Buttons -==================================================================================================*/ -/* Common */ -QComboBox, -QAbstractSpinBox, -QSpinBox, -QDoubleSpinBox, -QLineEdit, -QTextEdit, -QTimeEdit, -QDateEdit, -QDateTimeEdit { - color: #bebebe; - background-color: #2a2a2a; - selection-color: white; - selection-background-color: #1b3774 ; - border: 1px solid #2a2a2a; - border-radius: 3px; - min-width: 50px; /* it ensures the default value is correctly displayed */ - min-height: 20px; /* important to be a pair number in order to up/down buttons to be divisible by two (if not set could create a blank line in Ubuntu. Its downside is that it's needed to reset it (min-width: 0px) on following elements that can't have it such as fields inside QToolBar and inside QTreeView (Property editor) */ - padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ -} - -/* more contrast for QTextEdits */ -QTextEdit { - color: black; -} - -/* 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 (like Report view)*/ -QTextEdit:!editable, -QTextEdit:!editable:focus { - background-color: #787878; - border: 1px solid #424242; -} - -QComboBox:focus, -QAbstractSpinBox:focus, -QSpinBox:focus, -QDoubleSpinBox:focus, -QLineEdit:focus, -QTextEdit:focus, -QTimeEdit:focus, -QDateEdit:focus, -QDateTimeEdit:focus { - color: #f5f5f5; - border-color: #1b3774; - border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #1b3774, stop:1 #1b3774); /* same as up/down or drop-down button color */ - background-color: #2053c0; -} - -QComboBox:disabled, -QAbstractSpinBox:disabled, -QSpinBox:disabled, -QDoubleSpinBox:disabled, -QLineEdit:disabled, -QTextEdit:disabled, -QTimeEdit:disabled, -QDateEdit:disabled, -QDateTimeEdit:disabled { - color: #545454; - background-color: #2a2a2a; /* same as enabled color */ - border-color: #2a2a2a; /* 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: #2a2a2a; /* 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; -} - -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 #1b3774, stop:1 #1b3774); -} - -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 #1b3774, stop:1 #1b3774); -} - -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_dark-light/up_arrow_light.svg); - top: 2px; /* fix symmetry 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_dark-light/up_arrow_lighter.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -QAbstractSpinBox::down-arrow, -QSpinBox::down-arrow, -QDoubleSpinBox::down-arrow, -QTimeEdit::down-arrow, -QDateEdit::down-arrow, -QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -/* ComboBox */ - -QComboBox::drop-down { - background-color: #333333; /* 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 #1b3774, stop:1 #1b3774); -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QComboBox::down-arrow:off, -QComboBox::down-arrow:disabled { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - -/* ComboBox menu */ -QComboBox { - selection-color: #f5f5f5; - selection-background-color: #2053c0; -} - -QComboBox QAbstractItemView { - color: #bebebe; /* same as regular QComboBox color */ - background-color: transparent; - selection-color: #f5f5f5; - selection-background-color: #2053c0; - 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 #333333, stop:1 #2a2a2a); - border: 1px solid #2a2a2a; - border-bottom-color: #1e1e1e; /* 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: #cbd8e6; - border-color: #1b3774; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); -} - -QPushButton:disabled, -QPushButton:disabled:checked { - color: #2a2a2a; - background-color: #3c3c3c; /* same as enabled color */ - border-color: #3c3c3c; /* same as enabled color */ -} - -QPushButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1b3774, stop:1 #2053c0); -} - -QPushButton:checked { - background-color: #2053c0; - border-color: #1b3774; -} - -/* 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 #2a2a2a, stop:1 #1e1e1e); - border: 1px solid #1e1e1e; - border-bottom-color: black; /* 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: #1b3774; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); -} - -Gui--ColorButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1b3774, stop:1 #2053c0); -} - -/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QPushButton, -Gui--PropertyEditor--PropertyEditor > QWidget > QPushButton { - background-color: #2a2a2a; - border: 1px solid #1e1e1e; - 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 */ -} - -Gui--PropertyEditor--PropertyEditor > QWidget > QPushButton { - text-align:left; - padding-left: 2px; -} - -/* Fix for Expressions description QFrame that is "broken" with initial reset */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget > QWidget > QFrame { - background-color: #444444; /* main background color */ - border: 1px solid #444444; - border-radius: 2px; - padding: 2px 6px; -} - -QPushButton:checked { - background-color: #2053c0; - border-color: #2053c0; -} - -/*================================================================================================== -Tool button Icon fix in save dialogs -==================================================================================================*/ -/* found under Tools -> Save Picture */ /* Draft -> ShapeString -> Font file */ - -QFileDialog#QFileDialog QToolButton { - background-color: transparent; - padding: 1px; - border: 1px; - margin: 0px; -} - - -/*================================================================================================== -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 #2a2a2a, stop:1 #1e1e1e); - border: 1px solid #1e1e1e; - border-bottom-color: black; /* 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: #cbd8e6; - border-color: #1b3774; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); -} - -QDialog QToolButton:disabled, -QDialog QToolButton:disabled:checked { - color: #444444; - border-color: #424242; - background-color: #424242; -} - -QDialog QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1b3774, stop:1 #2053c0); -} - - -/*================================================================================================== -Tool button inside Task Panel content that works as QPushButtons -==================================================================================================*/ -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: #e0e0e0; - text-align: center; - background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #2a2a2a, stop:1 #1e1e1e); - border: 1px solid #1e1e1e; - border-bottom-color: black; /* simulates shadow under the button */ - padding: 2px 6px; /* different than regular QPushButton */ - margin: 2px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 4px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover, -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - color: white; - border-color: #1b3774; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #444444; - border-color: #424242; - background-color: #424242; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1b3774, stop:1 #2053c0); -} - -/* QToolButtons with a menu found in Sketcher task panel*/ -QSint--ActionGroup QToolButton::menu-button { - border: none; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; + border: 1px solid #696968; + border-radius: 1.9px; padding: 2px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; + margin-top: 10px; + margin-bottom: 4px; + } + + QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: 6px; + } + + QGroupBox::indicator { + color: white; + background-color: #3c3c3c; + border: 1px solid #696968; + width: 12px; + height: 12px; + border-radius:1px; + } + + QGroupBox::indicator:unchecked { + background-color: #696968; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + background-color: #2053c0; + } + + QGroupBox::indicator:unchecked:disabled { + background-color: #1c1b22; + border: 1px solid #696968; + } + + QGroupBox::indicator:checked { + border: none; + image:url(qss:images_dark-light/checkbox_light.svg); + } + + QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + background-color: #2053c0; + } + + QGroupBox::indicator:checked:disabled { + background-color: #2053c0; + } + + /* QRadioButton ----------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + + --------------------------------------------------------------------------- */ + QRadioButton { background-color: transparent; -} - -QSint--ActionGroup QToolButton#settingsButton, -QSint--ActionGroup QToolButton#filterButton, -QSint--ActionGroup QToolButton#manualUpdate { - padding-right: 20px; /* make way for the popup button */ -} - -/* to give widget inside the menu same look as regular menu */ -QSint--ActionGroup QToolButton#filterButton QListWidget { - color: #f5f5f5; - background: #2a2a2a; + color: White; + border: none; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + outline: none; + } + + QRadioButton:focus { + border: 1px solid #1b3774; + } + + QRadioButton:disabled { + background-color: #696968; + color: #353535; + } + + QRadioButton QWidget { + background-color: transparent; + color: White; + spacing: 0px; padding: 0px; - margin: 0px; -} - - -/*================================================================================================== -QComboBox inside Task Panel content -==================================================================================================*/ -/* Fix for QComboBox inside Task Panel due to not correctly styling it with regular */ -/* found inside TechDraw Workbench and "insert multiple views" from toolbar */ -/* TODO: external border not working, in the rest of GUI works setting up Qmenu background color but inside Task Panel it doesn't... */ -QSint--ActionGroup QFrame[class="content"] QMenu, -QSint--ActionGroup QFrame[class="content"] QMenu::item { - background-color: #2a2a2a; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox QAbstractItemView { - background-color: #2a2a2a; -} - - -/*================================================================================================== -Radio button -==================================================================================================*/ -QRadioButton::indicator:unchecked{ - color: black; - background-color: rgba(0,0,0,40); - border: 1px solid #787878; -} - -QRadioButton::indicator:checked { - background-color: #2053c0; /* QCheckBox has the same color */ - border: 1px solid #2053c0; /* QCheckBox has the same color */ - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton, -QRadioButton:disabled { - color: #f5f5f5; - padding: 3px; outline: none; - background-color: transparent; -} - -QRadioButton:disabled { - color: rgba(255,255,255,40); -} - -QRadioButton::indicator { - width: 11px; - height: 11px; + border: none; + } + + QRadioButton::indicator { + background-color: #3c3c3c; + border: 1px solid #696968; border-radius: 6px; -} - -QRadioButton::indicator:pressed { - border-color: #cbd8e6; -} - -QRadioButton::indicator:disabled { - color: #424242; - background-color: transparent; - border: 1px solid #424242; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton:focus { - border: none; -} - - -/*================================================================================================== -Checkbox -==================================================================================================*/ -QCheckBox, -QCheckBox:disabled { - color: #f5f5f5; - padding: 3px; + margin-left: 0px; + height: 11px; + width: 11px; + } + + QRadioButton::indicator:unchecked { + /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ + } + + QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { + background-color: #2053c0; + border: 1px solid #2053c0; + border-radius: 6px; + } + + QRadioButton::indicator:unchecked:disabled { + /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ + border: 1px solid #696968; + } + + QRadioButton::indicator:checked { + image:url(qss:images_dark-light/radiobutton_light.svg); + } + + QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { + background-color: #2053c0; + border: 1px solid #2053c0; + border-radius: 6px; + image:url(qss:images_dark-light/radiobutton_light.svg); + } + + QRadioButton::indicator:checked:disabled { outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: black; - background-color: rgba(0,0,0,40); - border: 1px solid #787878; - width: 11px; - height: 11px; - border-radius:2px; -} - -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed, -QGroupBox::indicator:pressed, -QGroupBox::indicator:non-exclusive:checked:pressed, -QGroupBox::indicator:indeterminate:pressed, -QGroupBox::indicator:checked:pressed { - border-color: #cbd8e6; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #2053c0; /* QRadioButton has the same color */ - border: 1px solid #2053c0; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox:disabled { - color: rgba(255,255,255,40); - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled { - background-color: rgba(0,0,0,0); - border: 1px solid rgba(0,0,0,20); -} - -QCheckBox::indicator:indeterminate, -QGroupBox::indicator:indeterminate { + background-color: #696968; + image:url(qss:images_dark-light/radiobutton_dark.svg); + } + + /* QMenuBar --------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + + --------------------------------------------------------------------------- */ + QMenuBar { + background-color: #161616; + /*padding: 1px; + border: 0px solid rgba(0,0,0,140);*/ + color: White; + selection-background-color: #2053c0; + } + + QMenuBar:focus { + border: 1px solid #1b3774; + } + + QMenuBar::item { + background: transparent; + /*padding-left:5px; + padding-right: 5px; + padding-bottom: 1px; + padding-top: 1px;*/ + } + + QMenuBar::item:selected { + background: transparent; + border: 0px solid #696968; background-color: #2053c0; - border: 1px solid #2053c0; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox:focus { - border: none; -} - - -/*================================================================================================== -Checkboxes inside QListWidget and QTreeView -==================================================================================================*/ -QListWidget::indicator, -QTreeView::indicator { - color: #c8c8c8; - background-color: rgba(255,255,255,20); - border: 1px solid #424242; - width: 11px; - height: 11px; - border-radius:2px; -} - -/* fix for QTreeView::indicator losing its margin */ -QTreeView::indicator { - margin: 3px; -} - -QListWidget::indicator:selected, -QTreeView::indicator:selected { - background-color: #e6e6e6; -} - -QListWidget::indicator:checked:selected, -QListWidget::indicator:indeterminate:selected, -QTreeView::indicator:checked:selected, -QTreeView::indicator:indeterminate:selected { - background-color: #2053c0; /* slightly lighter than default */ - border-color: #2053c0; /* slightly darker than default */ -} - -QListWidget::indicator:pressed, -QListWidget::indicator:non-exclusive:checked:pressed, -QListWidget::indicator:indeterminate:pressed, -QListWidget::indicator:checked:pressed, -QTreeView::indicator:pressed, -QTreeView::indicator:non-exclusive:checked:pressed, -QTreeView::indicator:indeterminate:pressed, -QTreeView::indicator:checked:pressed { - border-color: #cbd8e6; -} - -QListWidget::indicator:checked, -QTreeView::indicator:checked { - background-color: #2053c0; /* QRadioButton has the same color */ - border: 1px solid #2053c0; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QListWidget::indicator:disabled, -QTreeView::indicator:disabled { - background-color: rgba(255,255,255,20); - border: 1px solid rgba(255,255,255,20); -} - -QListWidget::indicator:indeterminate, -QTreeView::indicator:indeterminate { + } + + QMenuBar::item:pressed { + /*padding: 2px; + padding-left: 10px; + padding-right: 10px;*/ + border: 0px solid #696968; background-color: #2053c0; - border: 1px solid #2053c0; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - - -/*================================================================================================== -Slider -==================================================================================================*/ -QSlider, -QSlider:active, -QSlider:!active { - border: none; + color: White; + /*margin-bottom: 0px; + padding-bottom: 0px;*/ + } + + /* QMenu ------------------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + + --------------------------------------------------------------------------- */ + QMenu { + border-bottom: 2px rgba(0,0,0,140); + border-right: 2px rgba(0,0,0,140); + color: White; + margin: 0px; + background-color: #161616; + selection-background-color: #2053c0; + } + + QMenu::separator { + height: 2px; + background-color: #3c3c3c; + margin-left: 30%; + margin-right: 30%; + } + + QMenu::item { background-color: transparent; -} - -QSlider:horizontal { - padding: 0px 10px; -} - -QSlider:vertical { - padding: 10px 0px; -} - -QSlider::groove { - background-color: rgba(255,255,255,30); - border: 1px solid rgba(255,255,255,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: #424242; - background-color: #424242; -} - -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #2a2a2a; - border: 1px solid #2a2a2a; + padding: 2px 2px; /* make room for icon at left */ + /* Reserve space for selection border */ + border: 0px transparent #696968; + } + + QMenu::item:selected { + color: White; + background-color: #2053c0; + } + + QMenu::item:pressed { + background-color: #2053c0; + } + + QMenu::icon { + margin-left: 5px; 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: #adc5ed; - background-color: #2053c0; -} - -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #424242; - background-color: #424242; -} - - -/*================================================================================================== -Toolbar buttons -==================================================================================================*/ -/*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: 0px 2px; + } + + QMenu::indicator { + margin-left: 2px; + margin-right: 2px; padding: 0px; - min-width: 70px; /* necessary to show its content */ -} - -QToolBar > QComboBox, -QToolBar > QAbstractSpinBox, -QToolBar > QSpinBox, -QToolBar > QDoubleSpinBox, -QToolBar > QLineEdit, -QToolBar > QTextEdit, -QToolBar > QTimeEdit, -QToolBar > QDateEdit, -QToolBar > QDateTimeEdit { - min-height: 0px; /* reset it inside Tool Bar due to the user ability to set the "size of toolbar icons" inside Preferences */ -} - -QToolBar > QPushButton { - padding: 0px; - margin: 1px; /* doesn't work with :left, :right:, :top or :bottom sub-controls */ - min-width: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - min-height: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - border-radius: 4px; /* same as regular QPushButton */ -} - -QToolBar > QPushButton:checked { - border: 1px solid #7cabf9; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #2053c0); -} - -QToolBar > QPushButton:!checked { - background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #444444, stop:1 #3c3c3c); - border: 1px solid #424242; - border-bottom-color: #333333; /* simulates shadow under the button */ - text-align: left; /* bug fix #4559 */ -} - -QToolBar > QPushButton:checked:hover { - border-color: #6f9efa; -} - -QToolBar > QPushButton:!checked:hover { - color: #cbd8e6; - border-color: #333333; -} - -QToolBar > QPushButton:checked:pressed { - background-color: #2053c0; -} - -QToolBar > QPushButton:!checked:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #424242, stop:1 #444444); -} - -QToolBar > QPushButton:checked:disabled, -QToolBar > QPushButton:!checked:disabled { + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ + } + + QMenu::icon:checked { /* appearance of a 'checked' icon */ + background: #1b3774; + margin-left: -5px; + border: 5px solid #1b3774; + position: absolute; + border-radius: 0px; + } + QMenu::indicator:non-exclusive:unchecked { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { border: none; - background-color: transparent; -} - -QToolBar > QToolButton { - margin: 2px; - padding: 2px; - border-radius: 3px; -} - -QToolBar > QToolButton:hover { - background-color: rgba(255,255,255,20); -} - -QToolBar > QToolButton:pressed { - background-color: rgba(255,255,255,30); -} - -/* 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 { + image: url(qss:images_dark-light/checkbox_unchecked_focus.png); + } + + QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); + } + + QMenu::indicator:non-exclusive:checked { + image:url(qss:images_dark-light/checkbox_light.svg); + } + + QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + background: #2053c0; + image:url(qss:images_dark-light/checkbox_light.svg); + } + + QMenu::indicator:non-exclusive:checked:disabled { + image:url(qss:images_dark-light/checkbox_light.svg); + } + + QMenu::indicator:non-exclusive:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QMenu::indicator:exclusive:unchecked { + image: url(qss:images_dark-light/transparent.svg); + } + + QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { 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: #2053c0; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QMenu::indicator:exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); + } + + QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + background: #2053c0; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); + } + + QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); + } + + QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image:url(qss:images_dark-light/right_arrow_lighter.svg); + height: 12px; + width: 12px; background-color: transparent; -} + } + + /* QAbstractItemView ------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + + --------------------------------------------------------------------------- */ + QAbstractItemView { + alternate-background-color: #5b5b5b; + color: White; + border: 1px solid #696968; + border-radius: 2px; + } + + QAbstractItemView QLineEdit { + padding: 2px; + } + + /* QAbstractScrollArea ---------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + + --------------------------------------------------------------------------- */ + QAbstractScrollArea { + background-color: transparent; + border: 0px solid #696968; + border-radius: 0px; + /* fix #159 */ + padding: 0px; + /* remove min-height to fix #244 */ + color: White; + } + + QAbstractScrollArea:disabled { + color: #353535; + } + + /* QScrollArea ------------------------------------------------------------ + + --------------------------------------------------------------------------- + text input field disabled!!!!*/ + QScrollArea QWidget:disabled { + background-color: #444444; + } + + /* QScrollBar ------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + + --------------------------------------------------------------------------- */ + QScrollBar:horizontal { + height: 16px; + margin: 2px 8px 2px 8px; + border: 0px solid #696968; + border-radius: 4px; + background-color: #444444; + } + + QScrollBar:vertical { + background-color: #444444; + width: 16px; + margin: 8px 2px 8px 2px; + border: 0px solid #696968; + border-radius: 4px; + } + + QScrollBar::handle:horizontal { + background-color: #696969; + border: 1px solid #444444; + border-radius: 4px; + min-width: 8px; + } + + QScrollBar::handle:horizontal:hover { + background-color: #2053c0; + border: #696968; + border-radius: 4px; + min-width: 8px; + } + + QScrollBar::handle:horizontal:focus { + border: 1px solid #1b3774; + } + + QScrollBar::handle:vertical { + background-color: #696969; + border: 1px solid #696968; + min-height: 8px; + border-radius: 4px; + } + + QScrollBar::handle:vertical:hover { + background-color: #2053c0; + border: #696968; + border-radius: 4px; + min-height: 8px; + } + + QScrollBar::handle:vertical:focus { + border: 1px solid #1b3774; + } + + QScrollBar::add-line:horizontal { + border-image: url(qss:images_dark-light/right_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; + } + + QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; + } + + QScrollBar::add-line:vertical { + border-image: url(qss:images_dark-light/down_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; + } + + QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; + } + + QScrollBar::sub-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/left_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; + } + + QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images_dark-light/left_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; + } + + QScrollBar::sub-line:vertical { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/up_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; + } + + QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + border-image: url(qss:images_dark-light/up_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; + } + + QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; + } + + QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; + } + + QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; + } + + QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; + } + + /* QTextEdit -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + + + report view + --------------------------------------------------------------------------- */ + QTextEdit { + background-color: #444444; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; + } + + QTextEdit:focus { + border: 1px solid #1b3774; + } + + QTextEdit:selected { + background: #346792; + color: white; + } + + /* QPlainTextEdit --------------------------------------------------------- + Python + --------------------------------------------------------------------------- */ + QPlainTextEdit { + background-color: #3c3c3c; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; + } + + QPlainTextEdit:focus { + border: 1px solid #1b3774; + } + + QPlainTextEdit:selected { + background: #2053c0; + color: White; + } + + /* QSizeGrip -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + + --------------------------------------------------------------------------- */ + QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/sizegrip_light.svg); + } + + /* QStackedWidget --------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QStackedWidget { + padding: 0px; + border: 0px solid #696968; + } + + /* QToolBar --------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + + --------------------------------------------------------------------------- */ + QToolBar { + background-color: #444444; + border-bottom: 0px solid rgba(0,0,0,120); + padding: 1px; + font-weight: bold; + spacing: 1px; + } + + QToolBar:disabled { + /* Fixes #272 */ + background-color: #444444; + } + + QToolBar::handle:horizontal { + width: 8px; + margin: 3px 3px; + background-position: top right; + background-repeat: repeat-y; + background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); + } + + QToolBar::handle:vertical { + height: 8px; + margin: 3px 3px; + background-position: left bottom; + background-repeat: repeat-x; + background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); + } + + QToolBar::separator:horizontal { + width: 2px; + margin: 4px 4px; + background-color: transparent; + } + + QToolBar::separator:vertical { + height: 2px; + margin: 4px 4px; + background-color: transparent; + } + + /*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ + QToolButton#qt_toolbar_ext_button { + margin: 0px; + padding: 0px; + background-color: #696969; + /*background-image: url(qss:images_dark-light/more_light.svg);*/ + background-repeat: none; + background-position: center center; + } + + QToolButton#qt_toolbar_ext_button:hover { + /*background-image: url(qss:images_dark-light/more_light.svg);*/ + background-color: #2053c0; + } + + QToolButton#qt_toolbar_ext_button:on { + /*background-image: url(qss:images_dark-light/more_light.svg);*/ + border-color: #696968; + background-color: #2053c0; + } + + + /* QAbstractSpinBox ------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QAbstractSpinBox, + QSpinBox { + background-color: #1c1b22; + border: 1px solid transparent; + color: White; + /* This fixes 103, 111 */ + /* padding-top: 0px; + /* This fixes 103, 111 */ + /*padding-bottom: 0px; + /*padding-left: 4px; + /*padding-right: 4px; + border-radius: 1.9px;*/ + min-height: 1.7em; + /* min-width: 5px; removed to fix 109 */ + } + + QAbstractSpinBox:up-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + subcontrol-origin: border; + subcontrol-position: top right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-bottom: -1px;*/ + } + + QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_light.svg); + /* height: 8px; + width: 8px;*/ + } + + QAbstractSpinBox::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_lighter.svg); + } + + QAbstractSpinBox:down-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + subcontrol-origin: border; + subcontrol-position: bottom right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-top: -1px;*/ + } + + QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + /*height: 8px; + width: 8px;*/ + } + + QAbstractSpinBox::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_lighter.svg); + } + + QAbstractSpinBox:hover { + /*border: 1px solid #2053c0; + color: White;*/ + } + + QAbstractSpinBox:focus { + border: 1px solid #1b3774; + } + + QAbstractSpinBox:selected { + background: #1b3774; + /*color: White;*/ + } + + /* ------------------------------------------------------------------------ */ + /* DISPLAYS --------------------------------------------------------------- */ + /* ------------------------------------------------------------------------ */ + /* QLabel ----------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + + --------------------------------------------------------------------------- */ + QLabel { + background-color: transparent; + border: 0px solid #696968; + padding: 2px; + margin: 0px; + color: White; + } + + QLabel:disabled { + background-color: transparent; + border: 0px solid #696968; + color: #c2c7cb; + } + + QLabel[haslink="true"] { + color: orange; + } + + + /* QTextBrowser ----------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + + --------------------------------------------------------------------------- */ + QTextBrowser { + background-color: #1c1b22; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + } + + QTextBrowser:disabled { + background-color: #444444; + border: 1px solid #696968; + color: #c2c7cb; + border-radius: 1.9px; + } + + QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #2053c0; + } + + /* QGraphicsView ---------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QGraphicsView { + background-color: transparent; + border: 0px solid #2053c0; + color: White; + border-radius: 0px; + } + + QGraphicsView:disabled { + background-color: #1c1b22; + border: 0px solid #696968; + color: #c2c7cb; + border-radius: 0px; + } + + QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 0px solid #ff00f7; + } + + /* QCalendarWidget -------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QCalendarWidget { + border: 1px solid #696968; + border-radius: 1.9px; + } + + QCalendarWidget:disabled { + background-color: #353535; + color: #c2c7cb; + } + + /* QLCDNumber ------------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QLCDNumber { + background-color: #1aff00; + color: White; + } + + QLCDNumber:disabled { + background-color: #444444; + color: #c2c7cb; + } + + /* QProgressBar ----------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + + --------------------------------------------------------------------------- */ + QProgressBar { + background-color: #c2c7cb; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + text-align: center; + } + + QProgressBar:disabled { + background-color: #161616; + border: 1px solid #696968; + color: #696969; + border-radius: 1.9px; + text-align: center; + } + + QProgressBar::chunk { + background-color: #2053c0; + color: #444444; + border-radius: 1.9px; + } + + QProgressBar::chunk:disabled { + background-color: #161616; + color: #696968; + border-radius: 1.9px; + } + + /* ------------------------------------------------------------------------ */ + /* BUTTONS ---------------------------------------------------------------- */ + /* ------------------------------------------------------------------------ */ + /* QPushButton ------------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + + --------------------------------------------------------------------------- */ + QPushButton { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + color: White; + border: 1px solid #2a2a2a; + border-bottom-color: #1e1e1e; /* simulates shadow under the button */ + border-radius: 4px; + padding: 2px; + } + + QPushButton:disabled { + background-color: #444444; + color: #c2c7cb; -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 #2053c0, stop:1 #7cabf9); + } + + QPushButton:checked { + background-color: #2053c0; + outline: none; + } + + QPushButton:checked:disabled { + background-color: #2053c0; + color: #3c3c3c; + outline: none; + } + + QPushButton:checked:selected { + background: #2053c0; + } + + QPushButton:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); + color: White; + } + + QPushButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #1b3774, stop:1 #2053c0); } - -QToolBar > QToolButton::menu-arrow { - background-image: url(qss:images_dark-light/down_arrow_dark.svg); - background-position: center center; - background-repeat: none; + + QPushButton:selected { + background: #1b3774; + color: White; + } + + QPushButton::menu-indicator { subcontrol-origin: padding; subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ -} - -QToolBar > QToolButton::menu-arrow:hover { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QToolBar > QToolButton::menu-arrow:open { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -/* when QToolButton is checked: */ -QToolBar > QToolButton:checked { - border: 1px solid #7cabf9; - background-color: rgba(124,171,249,60); /* transparency for #7cabf9 color */ -} - -QToolBar > QToolButton:checked:hover { - border: 1px solid #7cabf9; - background-color: rgba(124,171,249,80); /* transparency for #7cabf9 color */ -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" */ -QToolBar QToolButton#qt_toolbar_ext_button { - margin: 0px; + bottom: 4px; + } + + QDialogButtonBox QPushButton { + /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; + } + + /* QToolButton ------------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + + --------------------------------------------------------------------------- */ + QToolButton { + background-color: transparent; + color: White; + border-radius: 1px; padding: 0px; - /*background-image: url(qss:images_dark-light/more_dark.svg);*/ - image: transparent; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ + } + + QToolButton:disabled { + background-color: rgba(0, 0, 0, 0.065); + color: #c2c7cb; + border-radius: 1px; + padding: 0px; + } + + QToolButton:checked { + background-color: #2053c0; + border-radius: 1.9px; + padding: 0px; + outline: none; + } + + QToolButton:checked:disabled { + background-color: #b65555; + color: #c2c7cb; + border-radius: 1.9px; + padding: 0px; + outline: none; + } + + QToolButton:checked:hover { + background-color: #2053c0; + color: White; + } + + QToolButton:checked:pressed { + background-color: #2053c0; + } + + QToolButton:checked:selected { + background: #1b3774; + color: White; + } + + QToolButton:hover { + background-color: #2053c0; + color: White; + } + + QToolButton:pressed { + background-color: #1b3774; + } + + QToolButton:selected { + background: #2053c0; + color: White; + } + + QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 20px; + } + + QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; + } + QToolButton[popupMode="0"]::menu-button { + border: none; + } + + QToolButton[popupMode="0"]::menu-button:hover { + border: none; + border-left: 2px solid #fe0000; + border-radius: 0px; + } + QToolButton[popupMode="1"]::menu-button { + border: none; + } + + QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 2px solid #e5ff00; + border-radius: 0px; + } + + QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 20px; + } + + QToolButton::menu-button { + border-bottom: 0px solid #ffffff; + border-radius: 2px; + /* 16px width + 4px for border = 20px allocated above */ + width: 1.6ex; + padding: 2px; + border-radius: 2px; + border: 0px #000000; + } + + QToolButton::menu-button:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + + } + + QToolButton::menu-button:checked:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + } + + QToolButton::menu-indicator { + /* Exclude a shift for better image */ + subcontrol-position: right bottom; + /* Shift it a bit */ + } + + QToolButton::menu-arrow { + image: url(qss:images_dark-light/more_arrow_light.svg); + width: 1.5ex; + height: 1.5ex; + subcontrol-position: right bottom; + background: transparent; + } + QToolButton::menu-arrow:open { + subcontrol-position: right bottom; + image: url(qss:images_dark-light/more_arrow_light.svg); + } + QToolButton::menu-arrow:hover { + image: url(qss:images_dark-light/more_arrow_light.svg); + background-color: rgba(0, 0, 0, 0.498); + border: 1px solid rgba(0, 0, 0, 0.498); + } + + /* QCommandLinkButton ----------------------------------------------------- + + --------------------------------------------------------------------------- */ + QCommandLinkButton { + background-color: transparent; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + padding: 0px; + margin: 0px; + } + + QCommandLinkButton:disabled { + background-color: transparent; + color: #c2c7cb; + } + + /* ------------------------------------------------------------------------ */ + /* INPUTS - NO FIELDS ----------------------------------------------------- */ + /* ------------------------------------------------------------------------ */ + /* QComboBox -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + + --------------------------------------------------------------------------- */ + QComboBox { + border: 1px solid transparent; + background: #1c1b22; + border-radius: 2px; + selection-background-color: #2053c0; + padding-left: 2px; + padding-right: 2px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ + } + QComboBox:editable { + background: white; + } + QComboBox QAbstractItemView { + border: 0px solid #696968; + border-radius: 0px; + background-color: #1c1b22; + selection-background-color: #2053c0; + } + + QComboBox QAbstractItemView:hover { + background-color:#1c1b22; + color: White; + } + + QComboBox QAbstractItemView:selected { + background: #2053c0; + color: White; + } + + QComboBox QAbstractItemView:alternate { + background: #3c3c3c; + } + + QComboBox:disabled { + background-color: #444444; + color: #353535; + } + + QComboBox:hover { + /*background-color: #2053c0;*/ + border: 1px solid #2053c0; + } + + QComboBox:focus { + border: 1px solid #1b3774; + } + + QComboBox:on { + selection-background-color: #1b3774; + } + + QComboBox::indicator { + border: none; + border-radius: 0px; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: #2053c0; + /* Needed to remove indicator - fix #132 */ + } + + QComboBox::indicator:alternate { + background: #696968; + } + + QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ + } + + QComboBox::item:alternate { + background: #3c3c3c; + } + + QComboBox::drop-down { + subcontrol-origin: padding; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + subcontrol-position: top right; + width: 14px; + border-left: 1px solid transparent; + } + QComboBox::drop-down:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); + } + + QComboBox::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 10px; + width: 10px; + } + + QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); + } + + + /*================================================================================================== + Tasks panel (custom FreeCAD class) + ==================================================================================================*/ + Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: white; + qproperty-groupBackground: #3c3c3c; + border: 0px solid #696968; + + } + + /* Action group */ + QFrame[class="panel"] { + background-color: transparent; /* temporal (transparent background) */ + + } + + QSint--ActionGroup { + padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ + margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ + } + + /* 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-top: 1px solid #696968; + border-left: 1px solid #696968; + border-right: 1px solid #696968; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + 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(x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); + } + + 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_dark-light/down_arrow_light.svg); + 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_dark-light/down_arrow_lighter.svg); + } + + QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { + background-color: transparent; + background-image: url(qss:images_dark-light/up_arrow_light.svg); + 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_dark-light/up_arrow_lighter.svg); + } + + QSint--ActionGroup QFrame[class="content"] { + background-color: transparent; /* Task Panel background color */ + margin: 0px; + padding: 0px; + border-bottom: 1px solid #696968; + border-left: 1px solid #696968; + border-right: 1px solid #696968; + 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: #444444; /* Task Panel background color */ + } + + /* Fixs for tabs inside Task Panel */ + QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { + border-bottom-color: #2053c0; /* same as Task Panel background color */ + } + + QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { + border-top-color: #2053c0; /* same as Task Panel background color */ + } + + QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { + border-right-color: #2053c0; /* same as Task Panel background color */ + } + + QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { + border-left-color: #2053c0; /* same as Task Panel background color */ + } + + /* Fix for buttons with icons that showed cropped (still not happy with result) */ + QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { + padding: 2px; /* bigger padding crops text and icons... */ + margin: 0px; + } + + /* Fix for lists inside task panels */ /* sketcher constraints list */ + QSint--ActionGroup QFrame[class="content"] QTreeView, + QSint--ActionGroup QFrame[class="content"] QListView, + QSint--ActionGroup QFrame[class="content"] QTableView { + color: white; + background-color: #1c1b22; + } + + + /* found inside Part Design Workbench and "make a draft on a face" Task panel options */ + QSint--ActionGroup QFrame[class="content"] QToolButton { + color: white; + text-align: center; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + border: 0px solid #adadad; + padding: 1px 1px; /* different than regular QPushButton */ + margin: 0px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 1px; + } + + QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); + + } + QSint--ActionGroup QFrame[class="content"] QToolButton:focus { + border: 1px solid #1b3774; + } + + QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, + QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { + color: #696969; + background-color: #1c1b22; + } + + QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); + + } + + /* QSlider ---------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + + --------------------------------------------------------------------------- */ + QSlider:disabled { + background: #444444; + } + + QSlider:focus { + border: 1px solid #1b3774; + } + + QSlider::groove:horizontal { + background: #444444; + border: 1px solid #696968; + height: 4px; + margin: 0px; + border-radius: 1.9px; + } + + QSlider::groove:vertical { + background: #2053c0; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; + } + + QSlider::add-page:vertical { + background: #2053c0; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; + } + + QSlider::add-page:vertical :disabled { + background: #696968; + } + + QSlider::sub-page:horizontal { + background: #2053c0; + border: 1px solid #0073ff; + height: 4px; + margin: 0px; + border-radius: 1.9px; + } + + QSlider::sub-page:horizontal:disabled { + background: #2053c0; + } + + QSlider::handle:horizontal { + background: #353535; + border: 1px solid #444444; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 1.9px; + } + + QSlider::handle:horizontal:hover { + background: #2053c0; + border: 1px solid #2053c0; + } + + QSlider::handle:horizontal:focus { + border: 1px solid #1b3774; + } + + QSlider::handle:vertical { + background: #c2c7cb; + border: 1px solid #696968; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 1.9px; + } + + QSlider::handle:vertical:hover { + background: #2053c0; + border: 2px solid #2053c0; + } + + QSlider::handle:vertical:focus { + border: 1px solid #1b3774; + } + + /* QLineEdit -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + + --------------------------------------------------------------------------- */ + QLineEdit { + background-color: #1c1b22; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #696968; + border-radius: 2px; + color: White; + } + + QLineEdit:disabled { + background-color: #444444; + color: #c2c7cb; + } + + QLineEdit:hover { + border: 1px solid #2053c0; + color: White; + } + + QLineEdit:focus { + border: 2px solid #1b3774; + } + + QLineEdit:selected { + background-color: #2053c0; + color: white; + } + + /* QTabWiget -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + + --------------------------------------------------------------------------- */ + QTabWidget { + padding: 2px; + selection-background-color: #2053c0; + } + + QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 1.9px; + } + + QTabWidget::pane { + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; + } + + QTabWidget::pane:selected { + background-color: #2053c0; + border: 1px solid #346792; + } + /* QTabBar ---------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + + --------------------------------------------------------------------------- */ + QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + /* left: 5px; move to the right by 5px - removed for fix */ + } + + QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 1px; + image: url(qss:images_dark-light/close_light.svg); + } + + QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + /*background-color: rgba(255, 0, 0, 0.3);*/ + } + + QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(qss:images_dark-light/close_.svg); + } + + QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ + padding: 4px; + } + + QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + color: #adadad; + } + + QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + color: #adadad; + } + + QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + color: #adadad; + } + + QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + color: #adadad; + } + + QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + color: #adadad; + } + + QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + color: #adadad; + + } + + QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + color: #adadad; + + } + + QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + color: #adadad; + } + + QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + color: #adadad; + } + + QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + color: #adadad; + } + + QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + color: #adadad; + } + + QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + color: #adadad; + } + + QTabBar::tab:top, QDockWidget QTabBar::tab:top { + color: #696969; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; + } + + QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + color: white; + border-top: 4px solid #2053c0; /* selection color */ + border-bottom: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + } + + QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + /*border: 1px solid #2053c0;*/ + border: 0px solid #2053c0; + background-color: #2053c0; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; + } + + QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + color: #adadad; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-top: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; + } + + QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + color: white; + border-bottom: 4px solid #2053c0; /* selection color */ + border-top: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + + } + + QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { + /*border: 1px solid #2053c0;*/ + border: 0px solid #2053c0; + background-color: #2053c0; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; + } + + QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #444444; + margin-top: 2px; + margin-left:10px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 4px; + min-height: 5px; + } + + QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #444444; + border: 0px solid #1b3774; + } + + QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 0px solid #2053c0; + background-color: #2053c0; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; + } + + QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #444444; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + min-height: 5px; + border: 10px; + } + + QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #444444; + border: 0px solid #1b3774; + } + + QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 0px solid #2053c0; + background-color: #2053c0; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; + } + + QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #444444; + height: 12px; + width: 12px; + } + + QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + border: 0px solid #2053c0; + background-color: #2053c0; + } + + QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 0px solid #2053c0; + background-color: #2053c0; + } + + QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_lighter.svg); + } + + QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(qss:images_dark-light/left_arrow_disabled_light.svg); + } + + QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_lighter.svg); + } + + QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(qss:images_dark-light/right_arrow_disabled_light.svg); + } + + /* QDockWiget ------------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QDockWidget { + background-color: #444444; + border: 1px solid #2a2a2a; + border-radius: 1.9px; + titlebar-close-icon: url(qss:images_dark-light/transparent.svg); + titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); + } + + QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + text-align: center; + font-weight: bold; + } + + QDockWidget::close-button { + icon-size: 10px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/close_light.svg); + } + + QDockWidget::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + } + + QDockWidget::close-button:pressed { + image: url(qss:images_dark-light/close_light.svg); + } + + QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/undock_light.svg); + } + + QDockWidget::float-button:hover { + /*background-color: #2053c0;*/ + image: url(qss:images_dark-light/undock_blue.svg); + } + + QDockWidget::float-button:pressed { + image: url(qss:images_dark-light/undock_light.svg); + } + + /* QTreeView QListView QTableView ----------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + + --------------------------------------------------------------------------- */ + QTreeView::branch { + background: transparent; + } + + QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; + } + + QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_light.svg) 0; + } + + QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_light.svg) 0; + } + + QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; + } + + QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; + } + + QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; + } + + QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; + } + + QTreeView::indicator:checked, + QListView::indicator:checked, + QTableView::indicator:checked, + QColumnView::indicator:checked { + image: url(qss:images_dark-light/checkbox_light.svg); + } + + QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, + QListView::indicator:checked:hover, + QListView::indicator:checked:focus, + QListView::indicator:checked:pressed, + QTableView::indicator:checked:hover, + QTableView::indicator:checked:focus, + QTableView::indicator:checked:pressed, + QColumnView::indicator:checked:hover, + QColumnView::indicator:checked:focus, + QColumnView::indicator:checked:pressed { + image: url(qss:images_dark-light/checkbox_light_hover.svg); + } + + QTreeView::indicator:unchecked, + QListView::indicator:unchecked, + QTableView::indicator:unchecked, + QColumnView::indicator:unchecked { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, + QListView::indicator:unchecked:hover, + QListView::indicator:unchecked:focus, + QListView::indicator:unchecked:pressed, + QTableView::indicator:unchecked:hover, + QTableView::indicator:unchecked:focus, + QTableView::indicator:unchecked:pressed, + QColumnView::indicator:unchecked:hover, + QColumnView::indicator:unchecked:focus, + QColumnView::indicator:unchecked:pressed { + image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); + } + + QTreeView::indicator:indeterminate, + QListView::indicator:indeterminate, + QTableView::indicator:indeterminate, + QColumnView::indicator:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, + QListView::indicator:indeterminate:hover, + QListView::indicator:indeterminate:focus, + QListView::indicator:indeterminate:pressed, + QTableView::indicator:indeterminate:hover, + QTableView::indicator:indeterminate:focus, + QTableView::indicator:indeterminate:pressed, + QColumnView::indicator:indeterminate:hover, + QColumnView::indicator:indeterminate:focus, + QColumnView::indicator:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); + } + + QTreeView, + QListView, + QTableView, + QColumnView { + background-color: #444444; /* background of a lot of stuff including spreadsheets.*/ + border: 0px solid #696968; + color: White; + gridline-color: #696968; + border-radius: 0px; + } + + QTreeView:disabled, + QListView:disabled, + QTableView:disabled, + QColumnView:disabled { + background-color: #1c1b22; + color: #c2c7cb; + } + + QTreeView:selected, + QListView:selected, + QTableView:selected, + QColumnView:selected { + background-color: #2053c0; + color: White; + } + + QTreeView:focus, + QListView:focus, + QTableView:focus, + QColumnView:focus { + border: 1px solid #1b3774; + } + + QTreeView::item:pressed, + QListView::item:pressed, + QTableView::item:pressed, + QColumnView::item:pressed { + background-color: #2053c0; + } + + QTreeView::item:selected:active, + QListView::item:selected:active, + QTableView::item:selected:active, + QColumnView::item:selected:active { + background-color: #2053c0; + } + + QTreeView::item:selected:!active, + QListView::item:selected:!active, + QTableView::item:selected:!active, + QColumnView::item:selected:!active { + color: White; + background-color: #353535; + } + + QTreeView::item:!selected:hover, + QListView::item:!selected:hover, + QTableView::item:!selected:hover, + QColumnView::item:!selected:hover { + outline: 0; + color: White; + background-color: #2053c0; + } + + QTableCornerButton::section { + background-color: #444444; + border: 1px transparent #696968; + border-radius: 0px; + } + + QTableView::item { + color: white; + } + QTableView { + /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ + /*qproperty-aliasBgColor: #f700ff;*/ + } + + /* QHeaderView ------------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + + --------------------------------------------------------------------------- */ + QHeaderView { + background-color: transparent; + text-align: center; + } + + QHeaderView:disabled { + background-color: #444444; + color: rgb(174, 174, 174); + } + + QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + color: White; + border: 1px solid #2a2a2a; + font-size: 13px; + font-weight: bold; + } + + QHeaderView::section::horizontal { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 5px; + padding-right: 0px; + } + + QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 0px solid #696968; + } + + QHeaderView::section::horizontal:disabled { + color: #353535; + } + + QHeaderView::section::vertical { + padding-top: 1px; + padding-bottom: 0; + padding-left: 1px; + padding-right: 0px; + border-top: 0px solid #2a2a2a; + } + + QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 2px solid #2a2a2a; + } + + QHeaderView::section::vertical:disabled { + border-top: 2px solid #2a2a2a; + } + + QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/down_arrow_light.svg); + } + + QHeaderView::up-arrow { + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/up_arrow_light.svg); + } + + /* QToolBox -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox + used in PATH + + --------------------------------------------------------------------------- */ + QToolBox { + padding: 0px; + border: 1px solid #696969; + border-radius: 4px; + background-color: transparent; + } + + QToolBox:selected { + padding: 0px; + border: 0px solid #2053c0; + } + + QToolBox::tab { + background-color: transparent; + border: 0px solid #696969; + color: white; + background-image: url(qss:images_dark-light/down_arrow_lighter.svg); background-repeat: none; background-position: center left; -} - -QToolBar QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #424242; - background-color: #424242; -} - -QToolBar QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #424242; - background-color: #424242; -} - - -/*================================================================================================== -Tables (spreadsheets) -==================================================================================================*/ -QTableView { - gridline-color: #a0a0a0; - selection-color: #1b3774; - selection-background-color: #adc5ed; -} - -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: #333333; -} - -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 > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit, -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - border-radius: 0px; -} - -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit { - color: black; - background-color: transparent; - border-color: transparent; -} - -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - background-color: rgba(0,0,0,30); -} - -QTableView > QWidget > QComboBox:focus, -QTableView > QWidget > QAbstractSpinBox:focus, -QTableView > QWidget > QSpinBox:focus, -QTableView > QWidget > QDoubleSpinBox:focus, -QTableView > QWidget > QLineEdit:focus, -QTableView > QWidget > QTextEdit:focus, -QTableView > QWidget > QTimeEdit:focus, -QTableView > QWidget > QDateEdit:focus, -QTableView > QWidget > QDateTimeEdit:focus { - color: #1b3774; - selection-color: white; - selection-background-color: #2053c0; - border-color: #cbd8e6; - background-color: #cbd8e6; -} - -QTableView > QWidget > QComboBox:disabled, -QTableView > QWidget > QAbstractSpinBox:disabled, -QTableView > QWidget > QSpinBox:disabled, -QTableView > QWidget > QDoubleSpinBox:disabled, -QTableView > QWidget > QLineEdit:disabled, -QTableView > QWidget > QTextEdit:disabled, -QTableView > QWidget > QTimeEdit:disabled, -QTableView > QWidget > QDateEdit:disabled, -QTableView > QWidget > QDateTimeEdit:disabled { - color: rgba(0,0,0,120); - background-color: transparent; - border-color: transparent; -} - -QTableView > QWidget > QComboBox:read-only, -QTableView > QWidget > QAbstractSpinBox:read-only, -QTableView > QWidget > QSpinBox:read-only, -QTableView > QWidget > QDoubleSpinBox:read-only, -QTableView > QWidget > QLineEdit:read-only, -QTableView > QWidget > QTextEdit:read-only, -QTableView > QWidget > QTimeEdit:read-only, -QTableView > QWidget > QDateEdit:read-only, -QTableView > QWidget > QDateTimeEdit:read-only { - color: black; - background-color: transparent; - border-color: transparent; -} - - -/*================================================================================================== -SELECTORTOOLBAR widget (3rd party plugin) -==================================================================================================*/ -QToolBar:horizontal#Selector, -QToolBar:vertical#Selector { - background-color: rgba(0,0,0,120); - margin: 0px; - padding: 0px; -} - -QToolBar::handle:top#Selector, -QToolBar::handle:bottom#Selector, -QToolBar::handle:horizontal#Selector { - alignment: bottom left; -} - -QToolBar::handle:left#Selector, -QToolBar::handle:right#Selector, -QToolBar::handle:vertical#Selector { - width: 100%; - alignment: center left; -} - -QToolBar:top#Selector QToolButton, -QToolBar:bottom#Selector QToolButton, -QToolBar:horizontal#Selector QToolButton { - alignment: bottom left; -} - -QToolBar:left#Selector QToolButton, -QToolBar:right#Selector QToolButton, -QToolBar:vertical#Selector QToolButton { - alignment: center left; -} - -QToolButton[toolbar_orientation="horizontal"] { - /* nothing, when Horizontal there's no need to add special parameters */ -} - -QToolButton[toolbar_orientation="vertical"] { - /* nothing, when Horizontal there's no need to add special parameters */ -} - -QToolBar#Selector QToolButton { - border: none; - margin: 0px; - padding: 2px 6px; - border-radius: 0px; -} - -/* Active tab */ -QToolBar#Selector QToolButton:checked { + } + + QToolBox::tab:disabled { + color: #696969; + } + + QToolBox::tab:selected { + background-color: #696969; + background-image: url(qss:images_dark-light/transparent.svg); + padding-right: 5px; + background-repeat: none; + } + + QToolBox::tab:selected:disabled { + background-color: #696969; + border-bottom: 0px solid #cccccc; color: white; + } + + QToolBox::tab:!selected { + + } + + QToolBox::tab:!selected:disabled { background-color: #444444; -} - -/* Unactive tabs */ -QToolBar#Selector QToolButton:!checked { - color: rgba(255,255,255,160); + } + + QToolBox::tab:hover { + background-color: #2053c0; + } + + QToolBox QScrollArea QWidget QWidget { + padding: 0px; + border: 0px; background-color: transparent; - margin: 0px; -} - -/* Unactive tabs (hover) */ -QToolBar#Selector QToolButton:!checked:hover { - color: rgba(255,255,255,255); - background-color: rgba(255,255,255,20); -} - -/* Unactive tabs (pressed) */ -QToolBar#Selector QToolButton:!checked:pressed { - background-color: rgba(255,255,255,40); -} - - -/*================================================================================================== -TABBAR widget (3rd party plugin) -==================================================================================================*/ -QTabWidget#TabBar > QTabBar { - border-top: 0; -} - -QTabWidget#TabBar > QTabBar::tab:top, -QTabWidget#TabBar > QTabBar::tab:bottom { - min-width: -1; -} - -QTabWidget#TabBar > QTabBar::tab:left, -QTabWidget#TabBar > QTabBar::tab:right { - min-height: -1; -} - - -/*================================================================================================== -EXPERIMENTAL -==================================================================================================*/ - -/* Fix for preventing elements in different rows to accidentally overlap */ -QDialog QGroupBox QFrame { - margin: 2px 0px; -} - -*[mandatoryField="true"] { background-color: cyan } - -/* Hack to avoid QPushButton text partially hidden under menu-indicator */ -QPushButton#NavigationIndicator::menu-indicator { - image: none; - width: 0px; -} - -QToolBar QToolButton[popupMode="1"] { - width: 100px; - background: red; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} + } + + /* QFrame ----------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + https://doc.qt.io/qt-5/qframe.html#-prop + https://doc.qt.io/qt-5/qframe.html#details + https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + + --------------------------------------------------------------------------- */ + /* (dot) .QFrame fix #141, #126, #123 */ + .QFrame { + border-radius: 0px; + border: 0px solid #696968; + background-color: #696969; + /* No frame */ + /* HLine */ + /* HLine */ + } + + .QFrame[frameShape="0"] { + border-radius: 1.9px; + border: 1px solid #696968; + } + + .QFrame[frameShape="4"] { + max-height: 1px; + border: none; + background-color: #696968; + } + + .QFrame[frameShape="5"] { + max-width: 1px; + border: none; + background-color: #444444; + } + + /* QSplitter -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter + + --------------------------------------------------------------------------- */ + QSplitter { + background-color: #3c3c3c; + spacing: 1px; + padding: 1px; + margin: 1px; + } + + QSplitter::handle { + margin: 0px 0px; + padding: 0px; + } + + QSplitter::handle:horizontal { + background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + width: 1px; + } + + QSplitter::handle:vertical { + background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + height: 1px; + } + + QSplitter::handle:hover { + background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); + background-position: center center; + background-repeat: none; + background-color: #2053c0; + } + + /* QDateEdit, QDateTimeEdit ----------------------------------------------- + + --------------------------------------------------------------------------- */ + QDateEdit, QDateTimeEdit { + selection-background-color: #2053c0; + border-style: solid; + border: 1px solid #696968; + border-radius: 1.9px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; + } + + QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #2053c0; + } + + QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #696968; + } + + QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 8px; + width: 8px; + } + + QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); + } + + QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #444444; + border-radius: 2px; + border: 1px solid #696968; + selection-background-color: #2053c0; + } + + /* QAbstractView ---------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QAbstractView:hover { + border: 1px solid #2053c0; + color: White; + } + + QAbstractView:selected { + background: #2053c0; + color: White; + } + + /* PlotWidget ------------------------------------------------------------- + + --------------------------------------------------------------------------- */ + PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; + } \ No newline at end of file diff --git a/src/Gui/Stylesheets/Darker-green.qss b/src/Gui/Stylesheets/Darker-green.qss index e121ab3fef..3f4e661694 100644 --- a/src/Gui/Stylesheets/Darker-green.qss +++ b/src/Gui/Stylesheets/Darker-green.qss @@ -1,87 +1,88 @@ /* ABOUT ============================================================================================================ -version 2.22 -Qt theme (stylesheet) specially developed for FreeCAD (https://www.freecad.org/). -It might work with other software that uses Qt styling. +Revised stylesheet based on the orignal from Pablo Gil Fernández made by MisterMaker - -LICENSE +KNOWN BUGS and TO DO ============================================================================================================ -Copyright (c) 2019 Pablo Gil Fernández +Please, follow the link to get updated information: +https://forum.freecad.org/viewtopic.php?t=78431 -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 +INSTALLATION WHEN NECESSARY ============================================================================================================ 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/ - -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 lighter) - black - #1e1e1e - #2a2a2a = background - #333333 - #424242 - #3c3c3c - #444444 = main background color - #545454 = secondary - #787878 - #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 +============================================================================================================ +TO MODIFY USE THESE COLORS: + #74831d + #6d8000 -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: https://forum.freecad.org/viewtopic.php?f=10&t=12417 +See Qt documentation: -*/ + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ -/*================================================================================================== -Reset elements -==================================================================================================*/ -/* Resetting everything helps to unify styles across different operating systems */ +/* Reset elements ------------------------------------------------------------ + +Resetting everything helps to unify styles across different operating systems + +--------------------------------------------------------------------------- */ * { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; - color: #f5f5f5; /* Default color for labels and different text elements that usually use dark colors */ + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; + border-image: none; + outline: 0; } /* specific reset for elements inside QToolBar */ QToolBar * { + margin: 0px; + padding: 0px; +} + +/*hacks */ + 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; + +} +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 1px; margin: 0px; padding: 0px; } +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; + +} /*================================================================================================== Main window @@ -94,970 +95,1399 @@ QToolBar { } QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; + background-image: url(qss:images_dark-light/background_freecad_dark.svg); + background-position: center center; + background-repeat: no-repeat; +} +/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ +Gui--NavigationIndicatorGui--BlenderNavigationStyle { +/*QAction#a4 {*/ + qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); +} +/*===== +/* QWidget ---------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QWidget { + background-color: #444444; + border: 0px solid #696968; + padding: 0px; + color: White; + selection-background-color: #74831d; + selection-color: White; } - -/*================================================================================================== -Sub windows -==================================================================================================*/ -QMdiSubWindow { - border:1px solid #333333; - margin-top: 30px; - margin-left: 4px; - margin-right: 4px; - margin-bottom:4px; +QWidget:disabled { + background-color: transparent; + color: #c2c7cb; + selection-background-color: #74831d; + selection-color: #c2c7cb; } - -/*================================================================================================== -MENUS -==================================================================================================*/ -QMenuBar, -QMenuBar::item { - color: #f5f5f5; - background-color: #444444; /* main background color */ +QWidget::item:selected { + background-color: #74831d; } -QMenu, -QMenu::item { - color: #f5f5f5; - background-color: #2a2a2a; - text-decoration: none; -} - -QMenuBar::item:selected, -QMenuBar::item:pressed, -QMenu::item:selected, -QMenu::item:pressed { - color: #ffffff; + /* Causes issue with colorselector. + QWidget::item:hover:!selected { background-color: #74831d; -} + }*/ -QMenu::right-arrow { - width: 10px; - height: 10px; - image:url(qss:images_dark-light/right_arrow_dark.svg); - margin-right: 2px; -} +/* QMainWindow ------------------------------------------------------------ -QMenu::right-arrow:selected { - image:url(qss:images_dark-light/right_arrow_lighter.svg); -} +This adjusts the splitter in the dock widget, not qsplitter +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow -QMenu::item { - padding: 2px 4px; /* make room for icon at left */ - border: 1px solid transparent; /* reserve space for selection border */ -} - -QMenu::icon { - margin-left: 1px; - margin-right: 1px; -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #74831d; - border: 2px #74831d; - position: absolute; - border-radius: 2px; -} - -QMenu::separator { - height: 1px; - background-color: rgba(255,255,255,30); - margin: 6px 4px; -} - -QMenu::indicator:non-exclusive:checked { - color: white; -} - -/* Fix for elements inside a drop-down menu */ -QMenu QRadioButton, -QMenu QCheckBox, -QMenu QPushButton, -QMenu QToolButton { - color: white; /* same as regular QRadioButton and QCheckBox */ -} - -QMenu QRadioButton:hover, -QMenu QCheckBox:hover, -QMenu QPushButton:hover, -QMenu QToolButton:hover, -QMenu QPushButton:pressed, -QMenu QToolButton:pressed, -QMenu QPushButton:selected, -QMenu QToolButton:selected { - color: white; - background-color: #74831d; /* same as QMenu::item:selected and QMenu::item:pressed */ -} - -QMenu QRadioButton:disabled, -QMenu QCheckBox:disabled { - color: #f5f5f5; -} - -QMenu QRadioButton::indicator:disabled, -QMenu QCheckBox::indicator:disabled { - color: #f5f5f5; - background-color: transparent; - border: 1px solid #f5f5f5; -} - - -/*================================================================================================== -Tool bar -==================================================================================================*/ -QToolBar { - padding: 2px; -} - -QToolBar::handle:top, -QToolBar::handle:bottom, -QToolBar::handle:horizontal { - background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); - width: 10px; - margin: 4px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:left, -QToolBar::handle:right, -QToolBar::handle:vertical { - background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); - height: 10px; - margin: 2px 4px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:top, -QToolBar::separator:bottom, -QToolBar::separator:horizontal { - width: 1px; - margin: 6px 4px; - background-color: rgba(0,0,0,30); -} - -QToolBar::separator:left, -QToolBar::separator:right, -QToolBar::separator:vertical { - height: 1px; - margin: 4px 6px; - background-color: rgba(0,0,0,30); -} - - -/*================================================================================================== -Group box -==================================================================================================*/ -QGroupBox { - color: rgba(255,255,255,120); - border:1px solid rgba(255,255,255,20); /* lighter than its own border-color */; - border-radius: 3px; - margin-top: 10px; - padding: 6px; - background-color: rgba(255,255,255,0); -} - -QGroupBox:title { - top: -8px; - left: 12px; -} - -/* NOTE: QGroupBox checkboxes are styles with regular ones so that the all get the same style */ -/* QGroupBox::indicator { - width: 13px; - height: 13px; -} - -QGroupBox::indicator:unchecked { - image: url(:/images/checkbox_unchecked.png); -} */ - - -/*================================================================================================== -Tooltip -==================================================================================================*/ -QToolTip { - color: #ffffff; - background-color: #1e1e1e; - /*opacity: 90%; doesn't correctly work */ - padding: 4px; - border-radius: 3px; /* has no effect */ -} - - -/*================================================================================================== -Dock widget -==================================================================================================*/ -QDockWidget { - color: #a0a0a0; - titlebar-close-icon: url(qss:images_dark-light/close_light.svg); - titlebar-normal-icon: url(qss:images_dark-light/undock_light.svg); -} - -QDockWidget::title { - text-align: center; - background-color: rgba(0,0,0,40); - border: 4px solid #444444; /* 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,60); -} - -QDockWidget::close-button:pressed, -QDockWidget::float-button:pressed { - background-color: rgba(0,0,0,120); -} - -/* fix for Python Console (probably there is a smarter way to arrive to it) */ -QDockWidget > QFrame { - background-color: #787878; - border: 1px solid #333333; -} - - -/*================================================================================================== -Progress bar -==================================================================================================*/ -QProgressBar, -QProgressBar:horizontal { - color: white; - background-color: rgba(0,0,0,70); - text-align: center; - border: 1px solid rgba(0,0,0,140); - 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 #819c0c, stop:1 #94b30f); - 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(255,255,255,80); -} - -QScrollBar::handle:vertical:hover, -QScrollBar::handle:horizontal:hover { - background-color: rgba(255,255,255,100); -} - -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_dark-light/left_arrow_light.svg); - 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_dark-light/right_arrow_light.svg); - 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_dark-light/left_arrow_lighter.svg); -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -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_dark-light/up_arrow_light.svg); - 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_dark-light/down_arrow_light.svg); - 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_dark-light/up_arrow_lighter.svg); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -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 #787878; -} - -QTabWidget::pane:bottom { - bottom: -1px; - border-bottom: 1px solid #787878; -} - -QTabWidget::pane:left { - right: -1px; - border-right: 1px solid #787878; -} - -QTabWidget::pane:right { - left: -1px; - border-left: 1px solid #787878; -} - -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 reset as follows: */ -QTabBar { - border-top: 1px solid #787878; /* 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: #f5f5f5; - background-color: #444444; /* same as tab content background color */ - border-color: #787878; -} - -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: #444444; /* 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: #444444; /* 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: #444444; /* 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: #444444; /* same as tab content background color */ -} - -QTabBar::tab:!selected { - color: rgba(255,255,255,120); -} - -QTabBar::tab:!selected:hover { - color: rgba(255,255,255,180); - background-color: rgba(255,255,255,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 #444444) */ -} - -/* 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: #787878; -} - -QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { - color: white; - background-color: #74831d; -} - - -/*================================================================================================== -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_dark-light/close_dark.svg); - 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 #333333; /* same as regular QTreeView, QListView and QTableView */ - min-height: 40px; /* necessary 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: #444444; /* same as main background color */ -} - -QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_dark.svg); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_dark.svg); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QTabBar::tear { - /* default OS tear better */ -} - - -/*================================================================================================== -Tree and list views -==================================================================================================*/ -QTreeView, -QListView, -QTableView { - color: #e0e0e0; - background-color: #545454; - alternate-background-color: #444444; /* related with QListView background */ - border: 1px solid #333333; - selection-color: #ffffff; - selection-background-color: #74831d; /* 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:hover, -QTreeView::item:hover { - background-color: transparent; /* fix to homogenize it on all OSs */ -} - -QListView::item:selected, -QTreeView::item:selected { - color: #ffffff; /* should be similar to QListView selection-color */ - background-color: #74831d; /* 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: #444444; /* same as Group header background */ -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #74831d; /* 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 hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #566214; - background-color: #74831d; /* same as focused background color */ -} - -/* 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; -} - -/* reset min-height 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 > Gui--ColorButton { - min-height: 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: #2a2a2a; /* same as focused background color */ - border-bottom-color: #1e1e1e; /* 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; - border-radius: 0px; /* reset */ -} - - -/*================================================================================================== -Header of tree and list views -==================================================================================================*/ -QHeaderView { - color: #d2d2d2; - background-color: #2a2a2a; - 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: #2a2a2a; -} - -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: #2a2a2a; - 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_dark-light/up_arrow_light.svg); -} - -QHeaderView::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QHeaderView::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -/* Group header inside Property Editor (FreeCAD custom widget) */ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: #bebebe; - qproperty-groupBackground: #2a2a2a; -} - - -/*================================================================================================== -Branch system for QTreeViews -==================================================================================================*/ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_light.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_light.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; -} - - -/*================================================================================================== -Splitter and windows separator -==================================================================================================*/ -QSplitter::handle { - margin: 0px 11px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - background-position: center center; - background-repeat: none; - margin: 4px 2px 4px 2px; - width: 2px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - margin: 2px 4px 2px 4px; - height: 2px; -} - -/* Similar to the splitter is the following window separator (but horizontal/vertical is on the opposite way) */ +--------------------------------------------------------------------------- */ QMainWindow::separator { - background-position: center center; - background-repeat: none; + /*background-color: #3c3c3c;*/ + border: 0px solid #696968; + spacing: 0px; + padding: 1px; +} + +QMainWindow::separator:vertical:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #74831d, stop:0.8 transparent); + /*background-color: #74831d;*/ + image: url(qss:images_dark-light/splitter_vertical_light.svg); +} + +QMainWindow::separator:horizontal:hover { + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #74831d, stop:0.8 transparent); + /*background-color: #74831d;*/ + image: url(qss:images_dark-light/splitter_horizontal_light.svg); } QMainWindow::separator:horizontal { - height: 2px; - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - margin: 4px 2px 4px 2px; + width: 4px; + margin-top: 0.1px; + margin-bottom: 0.1px; + /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ } QMainWindow::separator:vertical { - width: 2px; - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - margin: 2px 4px 2px 4px; + height: 4px; + margin-left: 0.1px; + margin-right: 0.1px; + /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ +} + +/* QToolTip --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + +--------------------------------------------------------------------------- */ +QToolTip { + background-color: #1c1b22; + color: White; + /* If you remove the border property, background stops working on Windows */ + border: none; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ +} + +/* QStatusBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + +--------------------------------------------------------------------------- */ +QStatusBar { + border: 0px solid #3c3c3c; + /* Fixes Spyder #9120, #9121 */ + background: #444444; + /* Fixes #205, white vertical borders separating items */ +} + +QStatusBar::item { + border: none; +} + +QStatusBar QToolTip { + background-color: #444444; + border: 1px solid #696968; + color: #444444; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; +} + +QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; +} + +/* QCheckBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + +--------------------------------------------------------------------------- */ +QCheckBox { + color: white; + padding: 0px; + outline: none; + border: 1px solid transparent; + background-color: transparent; +} + +QCheckBox:focus { + border: 1px solid #6d8000; +} + +QCheckBox QWidget:disabled { + background-color: transparent; + color: #c2c7cb; +} + +QCheckBox::indicator { + color: white; + background-color: #1c1b22; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked { + background-color: #1c1b22; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { + background-color: #74831d; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked:disabled { + background-color: #444444; + image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QCheckBox::indicator:checked { + background-color: #1c1b22; + /*border: 1px solid #696968; /* QRadioButton has the same color */ + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { + background-color: #74831d; +} + +QCheckBox::indicator:checked:disabled { + background-color: #444444; + image: url(qss:images_dark-light/check_light.svg); +} + +QCheckBox::indicator:indeterminate { + background-color: #1c1b22; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QCheckBox::indicator:indeterminate:disabled { + background-color: #444444; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + background-color: #74831d; /* QRadioButton has the same color */ +} + +/* QGroupBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + +--------------------------------------------------------------------------- */ +QGroupBox { + font-weight: bold; + border: 1px solid #696968; + border-radius: 1.9px; + padding: 2px; + margin-top: 10px; + margin-bottom: 4px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: 6px; +} + +QGroupBox::indicator { + color: white; + background-color: #3c3c3c; + border: 1px solid #696968; + width: 12px; + height: 12px; + border-radius:1px; +} + +QGroupBox::indicator:unchecked { + background-color: #696968; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + background-color: #74831d; +} + +QGroupBox::indicator:unchecked:disabled { + background-color: #1c1b22; + border: 1px solid #696968; +} + +QGroupBox::indicator:checked { + border: none; + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + background-color: #74831d; +} + +QGroupBox::indicator:checked:disabled { + background-color: #74831d; +} + +/* QRadioButton ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + +--------------------------------------------------------------------------- */ +QRadioButton { + background-color: transparent; + color: White; + border: none; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + outline: none; +} + +QRadioButton:focus { + border: 1px solid #6d8000; +} + +QRadioButton:disabled { + background-color: #696968; + color: #353535; +} + +QRadioButton QWidget { + background-color: transparent; + color: White; + spacing: 0px; + padding: 0px; + outline: none; + border: none; +} + +QRadioButton::indicator { + background-color: #3c3c3c; + border: 1px solid #696968; + border-radius: 6px; + margin-left: 0px; + height: 11px; + width: 11px; +} + +QRadioButton::indicator:unchecked { + /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ +} + +QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { + background-color: #74831d; + border: 1px solid #74831d; + border-radius: 6px; +} + +QRadioButton::indicator:unchecked:disabled { + /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ + border: 1px solid #696968; +} + +QRadioButton::indicator:checked { + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { + background-color: #74831d; + border: 1px solid #74831d; + border-radius: 6px; + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +QRadioButton::indicator:checked:disabled { + outline: none; + background-color: #696968; + image:url(qss:images_dark-light/radiobutton_dark.svg); +} + +/* QMenuBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + +--------------------------------------------------------------------------- */ +QMenuBar { + background-color: #161616; + /*padding: 1px; + border: 0px solid rgba(0,0,0,140);*/ + color: White; + selection-background-color: #74831d; +} + +QMenuBar:focus { + border: 1px solid #6d8000; +} + +QMenuBar::item { + background: transparent; + /*padding-left:5px; + padding-right: 5px; + padding-bottom: 1px; + padding-top: 1px;*/ +} + +QMenuBar::item:selected { + background: transparent; + border: 0px solid #696968; + background-color: #74831d; +} + +QMenuBar::item:pressed { + /*padding: 2px; + padding-left: 10px; + padding-right: 10px;*/ + border: 0px solid #696968; + background-color: #74831d; + color: White; + /*margin-bottom: 0px; + padding-bottom: 0px;*/ +} + +/* QMenu ------------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + +--------------------------------------------------------------------------- */ +QMenu { + border-bottom: 2px rgba(0,0,0,140); + border-right: 2px rgba(0,0,0,140); + color: White; + margin: 0px; + background-color: #161616; + selection-background-color: #74831d; +} + +QMenu::separator { + height: 2px; + background-color: #3c3c3c; + margin-left: 30%; + margin-right: 30%; +} + +QMenu::item { + background-color: transparent; + padding: 2px 2px; /* make room for icon at left */ + /* Reserve space for selection border */ + border: 0px transparent #696968; +} + +QMenu::item:selected { + color: White; + background-color: #74831d; +} + +QMenu::item:pressed { + background-color: #74831d; +} + +QMenu::icon { + margin-left: 5px; + width: 14px; + height: 14px; +} + +QMenu::indicator { + margin-left: 2px; + margin-right: 2px; + padding: 0px; + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ +} + +QMenu::icon:checked { /* appearance of a 'checked' icon */ + background: #6d8000; + margin-left: -5px; + border: 5px solid #6d8000; + position: absolute; + border-radius: 0px; +} +QMenu::indicator:non-exclusive:unchecked { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { + border: none; + image: url(qss:images_dark-light/checkbox_unchecked_focus.png); +} + +QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QMenu::indicator:non-exclusive:checked { + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + background: #74831d; + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:checked:disabled { + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:exclusive:unchecked { + image: url(qss:images_dark-light/transparent.svg); +} + +QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { + border: none; + outline: none; + background: #74831d; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); +} + +QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + background: #74831d; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); +} + +QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image:url(qss:images_dark-light/right_arrow_lighter.svg); + height: 12px; + width: 12px; + background-color: transparent; +} + +/* QAbstractItemView ------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QAbstractItemView { + alternate-background-color: #5b5b5b; + color: White; + border: 1px solid #696968; + border-radius: 2px; +} + +QAbstractItemView QLineEdit { + padding: 2px; +} + +/* QAbstractScrollArea ---------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QAbstractScrollArea { + background-color: transparent; + border: 0px solid #696968; + border-radius: 0px; + /* fix #159 */ + padding: 0px; + /* remove min-height to fix #244 */ + color: White; +} + +QAbstractScrollArea:disabled { + color: #353535; +} + +/* QScrollArea ------------------------------------------------------------ + +--------------------------------------------------------------------------- +text input field disabled!!!!*/ +QScrollArea QWidget:disabled { + background-color: #444444; +} + +/* QScrollBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + +--------------------------------------------------------------------------- */ +QScrollBar:horizontal { + height: 16px; + margin: 2px 8px 2px 8px; + border: 0px solid #696968; + border-radius: 4px; + background-color: #444444; +} + +QScrollBar:vertical { + background-color: #444444; + width: 16px; + margin: 8px 2px 8px 2px; + border: 0px solid #696968; + border-radius: 4px; +} + +QScrollBar::handle:horizontal { + background-color: #696969; + border: 1px solid #444444; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:hover { + background-color: #74831d; + border: #696968; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:focus { + border: 1px solid #6d8000; +} + +QScrollBar::handle:vertical { + background-color: #696969; + border: 1px solid #696968; + min-height: 8px; + border-radius: 4px; +} + +QScrollBar::handle:vertical:hover { + background-color: #74831d; + border: #696968; + border-radius: 4px; + min-height: 8px; +} + +QScrollBar::handle:vertical:focus { + border: 1px solid #6d8000; +} + +QScrollBar::add-line:horizontal { + border-image: url(qss:images_dark-light/right_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + border-image: url(qss:images_dark-light/down_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/left_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images_dark-light/left_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/up_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + border-image: url(qss:images_dark-light/up_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; +} + +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +/* QTextEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + + +report view +--------------------------------------------------------------------------- */ +QTextEdit { + background-color: #444444; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; +} + +QTextEdit:focus { + border: 1px solid #6d8000; +} + +QTextEdit:selected { + background: #346792; + color: white; +} + +/* QPlainTextEdit --------------------------------------------------------- +Python +--------------------------------------------------------------------------- */ +QPlainTextEdit { + background-color: #3c3c3c; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; +} + +QPlainTextEdit:focus { + border: 1px solid #6d8000; +} + +QPlainTextEdit:selected { + background: #74831d; + color: White; +} + +/* QSizeGrip -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + +--------------------------------------------------------------------------- */ +QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/sizegrip_light.svg); +} + +/* QStackedWidget --------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QStackedWidget { + padding: 0px; + border: 0px solid #696968; +} + +/* QToolBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + +--------------------------------------------------------------------------- */ +QToolBar { + background-color: #444444; + border-bottom: 0px solid rgba(0,0,0,120); + padding: 1px; + font-weight: bold; + spacing: 1px; +} + +QToolBar:disabled { + /* Fixes #272 */ + background-color: #444444; +} + +QToolBar::handle:horizontal { + width: 8px; + margin: 3px 3px; + background-position: top right; + background-repeat: repeat-y; + background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); +} + +QToolBar::handle:vertical { + height: 8px; + margin: 3px 3px; + background-position: left bottom; + background-repeat: repeat-x; + background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); +} + +QToolBar::separator:horizontal { + width: 2px; + margin: 4px 4px; + background-color: transparent; +} + +QToolBar::separator:vertical { + height: 2px; + margin: 4px 4px; + background-color: transparent; +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ +QToolButton#qt_toolbar_ext_button { +margin: 0px; +padding: 0px; +background-color: #696969; +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +background-repeat: none; +background-position: center center; +} + +QToolButton#qt_toolbar_ext_button:hover { +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +background-color: #74831d; +} + +QToolButton#qt_toolbar_ext_button:on { +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +border-color: #696968; +background-color: #74831d; } -/*================================================================================================== -Text/Python editor (macros, etc...) -==================================================================================================*/ -QPlainTextEdit, -QPlainTextEdit:focus { - background-color: #787878; - selection-color: #dadfc5; - selection-background-color: #74831d; - border: 1px solid #333333; - border-radius: 3px; - margin: 4px; +/* QAbstractSpinBox ------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractSpinBox, +QSpinBox { + background-color: #1c1b22; + border: 1px solid transparent; + color: White; + /* This fixes 103, 111 */ + /* padding-top: 0px; + /* This fixes 103, 111 */ + /*padding-bottom: 0px; + /*padding-left: 4px; + /*padding-right: 4px; + border-radius: 1.9px;*/ + min-height: 1.7em; + /* min-width: 5px; removed to fix 109 */ +} + +QAbstractSpinBox:up-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + subcontrol-origin: border; + subcontrol-position: top right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-bottom: -1px;*/ +} + +QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_light.svg); + /* height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_lighter.svg); +} + +QAbstractSpinBox:down-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + subcontrol-origin: border; + subcontrol-position: bottom right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-top: -1px;*/ +} + +QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + /*height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + +QAbstractSpinBox:hover { + /*border: 1px solid #74831d; + color: White;*/ +} + +QAbstractSpinBox:focus { + border: 1px solid #6d8000; +} + +QAbstractSpinBox:selected { + background: #6d8000; + /*color: White;*/ +} + +/* ------------------------------------------------------------------------ */ +/* DISPLAYS --------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QLabel ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + +--------------------------------------------------------------------------- */ +QLabel { + background-color: transparent; + border: 0px solid #696968; + padding: 2px; + margin: 0px; + color: White; +} + +QLabel:disabled { + background-color: transparent; + border: 0px solid #696968; + color: #c2c7cb; +} + +QLabel[haslink="true"] { + color: orange; +} + + +/* QTextBrowser ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QTextBrowser { + background-color: #1c1b22; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; +} + +QTextBrowser:disabled { + background-color: #444444; + border: 1px solid #696968; + color: #c2c7cb; + border-radius: 1.9px; +} + +QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #74831d; +} + +/* QGraphicsView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QGraphicsView { + background-color: transparent; + border: 0px solid #74831d; + color: White; + border-radius: 0px; +} + +QGraphicsView:disabled { + background-color: #1c1b22; + border: 0px solid #696968; + color: #c2c7cb; + border-radius: 0px; +} + +QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 0px solid #ff00f7; +} + +/* QCalendarWidget -------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCalendarWidget { + border: 1px solid #696968; + border-radius: 1.9px; +} + +QCalendarWidget:disabled { + background-color: #353535; + color: #c2c7cb; +} + +/* QLCDNumber ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QLCDNumber { + background-color: #1aff00; + color: White; +} + +QLCDNumber:disabled { + background-color: #444444; + color: #c2c7cb; +} + +/* QProgressBar ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + +--------------------------------------------------------------------------- */ +QProgressBar { + background-color: #c2c7cb; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar:disabled { + background-color: #161616; + border: 1px solid #696968; + color: #696969; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #74831d; + color: #444444; + border-radius: 1.9px; +} + +QProgressBar::chunk:disabled { + background-color: #161616; + color: #696968; + border-radius: 1.9px; +} + +/* ------------------------------------------------------------------------ */ +/* BUTTONS ---------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QPushButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + +--------------------------------------------------------------------------- */ +QPushButton { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + color: White; + border: 1px solid #2a2a2a; + border-bottom-color: #1e1e1e; /* simulates shadow under the button */ + border-radius: 4px; + padding: 2px; +} + +QPushButton:disabled { + background-color: #444444; + color: #c2c7cb; + +} + +QPushButton:checked { + background-color: #74831d; + outline: none; +} + +QPushButton:checked:disabled { + background-color: #74831d; + color: #3c3c3c; + outline: none; +} + +QPushButton:checked:selected { + background: #74831d; +} + +QPushButton:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #6d8000); + color: White; +} + +QPushButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #6d8000, stop:1 #74831d); +} + +QPushButton:selected { + background: #6d8000; + color: White; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + bottom: 4px; +} + +QDialogButtonBox QPushButton { + /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; +} + +/* QToolButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + +--------------------------------------------------------------------------- */ +QToolButton { + background-color: transparent; + color: White; + border-radius: 1px; + padding: 0px; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ +} + +QToolButton:disabled { + background-color: rgba(0, 0, 0, 0.065); + color: #c2c7cb; + border-radius: 1px; + padding: 0px; +} + +QToolButton:checked { + background-color: #74831d; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:disabled { + background-color: #b65555; + color: #c2c7cb; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:hover { + background-color: #74831d; + color: White; +} + +QToolButton:checked:pressed { + background-color: #74831d; +} + +QToolButton:checked:selected { + background: #6d8000; + color: White; +} + +QToolButton:hover { + background-color: #74831d; + color: White; +} + +QToolButton:pressed { + background-color: #6d8000; +} + +QToolButton:selected { + background: #74831d; + color: White; +} + +QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 20px; +} + +QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; +} +QToolButton[popupMode="0"]::menu-button { + border: none; +} + +QToolButton[popupMode="0"]::menu-button:hover { + border: none; + border-left: 2px solid #fe0000; + border-radius: 0px; +} +QToolButton[popupMode="1"]::menu-button { + border: none; +} + +QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 2px solid #e5ff00; + border-radius: 0px; +} + +QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 20px; +} + +QToolButton::menu-button { + border-bottom: 0px solid #ffffff; + border-radius: 2px; + /* 16px width + 4px for border = 20px allocated above */ + width: 1.6ex; + padding: 2px; + border-radius: 2px; + border: 0px #000000; +} + +QToolButton::menu-button:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + +} + +QToolButton::menu-button:checked:hover { + /* background: rgba(0, 0, 0, 0.5);*/ +} + +QToolButton::menu-indicator { + /* Exclude a shift for better image */ + subcontrol-position: right bottom; + /* Shift it a bit */ +} + +QToolButton::menu-arrow { + image: url(qss:images_dark-light/more_arrow_light.svg); + width: 1.5ex; + height: 1.5ex; + subcontrol-position: right bottom; + background: transparent; +} +QToolButton::menu-arrow:open { + subcontrol-position: right bottom; + image: url(qss:images_dark-light/more_arrow_light.svg); +} +QToolButton::menu-arrow:hover { + image: url(qss:images_dark-light/more_arrow_light.svg); + background-color: rgba(0, 0, 0, 0.498); + border: 1px solid rgba(0, 0, 0, 0.498); +} + +/* QCommandLinkButton ----------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCommandLinkButton { + background-color: transparent; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + padding: 0px; + margin: 0px; +} + +QCommandLinkButton:disabled { + background-color: transparent; + color: #c2c7cb; +} + +/* ------------------------------------------------------------------------ */ +/* INPUTS - NO FIELDS ----------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QComboBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QComboBox { + border: 1px solid transparent; + background: #1c1b22; + border-radius: 2px; + selection-background-color: #74831d; + padding-left: 2px; + padding-right: 2px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ +} +QComboBox:editable { + background: white; +} +QComboBox QAbstractItemView { + border: 0px solid #696968; + border-radius: 0px; + background-color: #1c1b22; + selection-background-color: #74831d; +} + +QComboBox QAbstractItemView:hover { + background-color:#1c1b22; + color: White; +} + +QComboBox QAbstractItemView:selected { + background: #74831d; + color: White; +} + +QComboBox QAbstractItemView:alternate { + background: #3c3c3c; +} + +QComboBox:disabled { + background-color: #444444; + color: #353535; +} + +QComboBox:hover { + /*background-color: #74831d;*/ + border: 1px solid #74831d; +} + +QComboBox:focus { + border: 1px solid #6d8000; +} + +QComboBox:on { + selection-background-color: #6d8000; +} + +QComboBox::indicator { + border: none; + border-radius: 0px; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: #74831d; + /* Needed to remove indicator - fix #132 */ +} + +QComboBox::indicator:alternate { + background: #696968; +} + +QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ +} + +QComboBox::item:alternate { + background: #3c3c3c; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + subcontrol-position: top right; + width: 14px; + border-left: 1px solid transparent; +} +QComboBox::drop-down:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #6d8000); +} + +QComboBox::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 10px; + width: 10px; +} + +QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); } /*================================================================================================== Tasks panel (custom FreeCAD class) ==================================================================================================*/ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: white; + qproperty-groupBackground: #3c3c3c; + border: 0px solid #696968; + +} + /* Action group */ QFrame[class="panel"] { - background-color: transparent; /* temporal (transparent background) */ +background-color: transparent; /* temporal (transparent background) */ + } QSint--ActionGroup { - padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ - margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ } /* Separator line */ @@ -1067,1279 +1497,1032 @@ 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); +border-color: rgba(0,0,0,60); } /* Panel header */ QSint--ActionGroup QFrame[class="header"] { - border: none; - background-color: #2a2a2a; /* 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; +border-top: 1px solid #696968; +border-left: 1px solid #696968; +border-right: 1px solid #696968; +background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); +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 #566214, stop:1 #566214); +background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #6d8000); } QSint--ActionGroup QToolButton[class="header"] { - color: #f5f5f5; /* Task Panel Header text color */ - text-align: left; - font-weight: bold; - border: none; - margin: 0px; - padding: 0px; +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_dark-light/down_arrow_light.svg); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; +background-color: transparent; +background-image: url(qss:images_dark-light/down_arrow_light.svg); +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_dark-light/down_arrow_lighter.svg); +background-color: transparent; +background-image: url(qss:images_dark-light/down_arrow_lighter.svg); } QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images_dark-light/up_arrow_light.svg); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_light.svg); +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_dark-light/up_arrow_lighter.svg); +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_lighter.svg); } QSint--ActionGroup QFrame[class="content"] { - background-color: #545454; /* 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; +background-color: transparent; /* Task Panel background color */ +margin: 0px; +padding: 0px; +border-bottom: 1px solid #696968; +border-left: 1px solid #696968; +border-right: 1px solid #696968; +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: #545454; /* Task Panel background color */ +background-color: #444444; /* Task Panel background color */ } /* Fixs for tabs inside Task Panel */ QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { - border-bottom-color: #545454; /* same as Task Panel background color */ +border-bottom-color: #74831d; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { - border-top-color: #545454; /* same as Task Panel background color */ +border-top-color: #74831d; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { - border-right-color: #545454; /* same as Task Panel background color */ +border-right-color: #74831d; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { - border-left-color: #545454; /* same as Task Panel background color */ +border-left-color: #74831d; /* same as Task Panel background color */ } /* Fix for buttons with icons that showed cropped (still not happy with result) */ QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { - padding: 2px; /* bigger padding crops text and icons... */ - margin: 0px; +padding: 2px; /* bigger padding crops text and icons... */ +margin: 0px; } -/* Fix for lists inside task panels */ +/* Fix for lists inside task panels */ /* sketcher constraints list */ QSint--ActionGroup QFrame[class="content"] QTreeView, QSint--ActionGroup QFrame[class="content"] QListView, QSint--ActionGroup QFrame[class="content"] QTableView { - color: #f5f5f5; - background-color: #787878; +color: white; +background-color: #1c1b22; } -/*================================================================================================== -Buttons -==================================================================================================*/ -/* Common */ -QComboBox, -QAbstractSpinBox, -QSpinBox, -QDoubleSpinBox, -QLineEdit, -QTextEdit, -QTimeEdit, -QDateEdit, -QDateTimeEdit { - color: #bebebe; - background-color: #2a2a2a; - selection-color: white; - selection-background-color: #566214 ; - border: 1px solid #2a2a2a; - border-radius: 3px; - min-width: 50px; /* it ensures the default value is correctly displayed */ - min-height: 20px; /* important to be a pair number in order to up/down buttons to be divisible by two (if not set could create a blank line in Ubuntu. Its downside is that it's needed to reset it (min-width: 0px) on following elements that can't have it such as fields inside QToolBar and inside QTreeView (Property editor) */ - padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ -} - -/* more contrast for QTextEdits */ -QTextEdit { - color: black; -} - -/* 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 (like Report view)*/ -QTextEdit:!editable, -QTextEdit:!editable:focus { - background-color: #787878; - border: 1px solid #424242; -} - -QComboBox:focus, -QAbstractSpinBox:focus, -QSpinBox:focus, -QDoubleSpinBox:focus, -QLineEdit:focus, -QTextEdit:focus, -QTimeEdit:focus, -QDateEdit:focus, -QDateTimeEdit:focus { - color: #f5f5f5; - border-color: #566214; - border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #566214, stop:1 #566214); /* same as up/down or drop-down button color */ - background-color: #74831d; -} - -QComboBox:disabled, -QAbstractSpinBox:disabled, -QSpinBox:disabled, -QDoubleSpinBox:disabled, -QLineEdit:disabled, -QTextEdit:disabled, -QTimeEdit:disabled, -QDateEdit:disabled, -QDateTimeEdit:disabled { - color: #545454; - background-color: #2a2a2a; /* same as enabled color */ - border-color: #2a2a2a; /* 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: #2a2a2a; /* 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; -} - -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 #566214, stop:1 #566214); -} - -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 #566214, stop:1 #566214); -} - -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_dark-light/up_arrow_light.svg); - top: 2px; /* fix symmetry 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_dark-light/up_arrow_lighter.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -QAbstractSpinBox::down-arrow, -QSpinBox::down-arrow, -QDoubleSpinBox::down-arrow, -QTimeEdit::down-arrow, -QDateEdit::down-arrow, -QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -/* ComboBox */ - -QComboBox::drop-down { - background-color: #333333; /* 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 #566214, stop:1 #566214); -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QComboBox::down-arrow:off, -QComboBox::down-arrow:disabled { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - -/* ComboBox menu */ -QComboBox { - selection-color: #f5f5f5; - selection-background-color: #74831d; -} - -QComboBox QAbstractItemView { - color: #bebebe; /* same as regular QComboBox color */ - background-color: transparent; - selection-color: #f5f5f5; - selection-background-color: #74831d; - 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 #333333, stop:1 #2a2a2a); - border: 1px solid #2a2a2a; - border-bottom-color: #1e1e1e; /* 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: #dadfc5; - border-color: #566214; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #566214); -} - -QPushButton:disabled, -QPushButton:disabled:checked { - color: #2a2a2a; - background-color: #3c3c3c; /* same as enabled color */ - border-color: #3c3c3c; /* same as enabled color */ -} - -QPushButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #566214, stop:1 #74831d); -} - -QPushButton:checked { - background-color: #74831d; - border-color: #566214; -} - -/* 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 #2a2a2a, stop:1 #1e1e1e); - border: 1px solid #1e1e1e; - border-bottom-color: black; /* 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: #566214; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #566214); -} - -Gui--ColorButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #566214, stop:1 #74831d); -} - -/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QPushButton, -Gui--PropertyEditor--PropertyEditor > QWidget > QPushButton { - background-color: #2a2a2a; - border: 1px solid #1e1e1e; - 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 */ -} - -Gui--PropertyEditor--PropertyEditor > QWidget > QPushButton { - text-align:left; - padding-left: 2px; -} - -/* Fix for Expressions description QFrame that is "broken" with initial reset */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget > QWidget > QFrame { - background-color: #444444; /* main background color */ - border: 1px solid #444444; - border-radius: 2px; - padding: 2px 6px; -} - -QPushButton:checked { - background-color: #74831d; - border-color: #74831d; -} - -/*================================================================================================== -Tool button Icon fix in save dialogs -==================================================================================================*/ -/* found under Tools -> Save Picture */ /* Draft -> ShapeString -> Font file */ - -QFileDialog#QFileDialog QToolButton { - background-color: transparent; - padding: 1px; - border: 1px; - margin: 0px; -} - - -/*================================================================================================== -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 #2a2a2a, stop:1 #1e1e1e); - border: 1px solid #1e1e1e; - border-bottom-color: black; /* 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: #dadfc5; - border-color: #566214; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #566214); -} - -QDialog QToolButton:disabled, -QDialog QToolButton:disabled:checked { - color: #444444; - border-color: #424242; - background-color: #424242; -} - -QDialog QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #566214, stop:1 #74831d); -} - - -/*================================================================================================== -Tool button inside Task Panel content that works as QPushButtons -==================================================================================================*/ /* found inside Part Design Workbench and "make a draft on a face" Task panel options */ QSint--ActionGroup QFrame[class="content"] QToolButton { - color: #e0e0e0; - text-align: center; - background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #2a2a2a, stop:1 #1e1e1e); - border: 1px solid #1e1e1e; - border-bottom-color: black; /* simulates shadow under the button */ - padding: 2px 6px; /* different than regular QPushButton */ - margin: 2px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 4px; + color: white; + text-align: center; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + border: 0px solid #adadad; + padding: 1px 1px; /* different than regular QPushButton */ + margin: 0px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 1px; } -QSint--ActionGroup QFrame[class="content"] QToolButton:hover, +QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #6d8000); + +} QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - color: white; - border-color: #566214; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #566214); + border: 1px solid #6d8000; } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #444444; - border-color: #424242; - background-color: #424242; + color: #696969; + background-color: #1c1b22; } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #566214, stop:1 #74831d); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #6d8000); + } -/* QToolButtons with a menu found in Sketcher task panel*/ -QSint--ActionGroup QToolButton::menu-button { - border: none; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - padding: 2px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; +/* QSlider ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + +--------------------------------------------------------------------------- */ +QSlider:disabled { + background: #444444; } -QSint--ActionGroup QToolButton#settingsButton, -QSint--ActionGroup QToolButton#filterButton, -QSint--ActionGroup QToolButton#manualUpdate { - padding-right: 20px; /* make way for the popup button */ -} - -/* to give widget inside the menu same look as regular menu */ -QSint--ActionGroup QToolButton#filterButton QListWidget { - color: #f5f5f5; - background: #2a2a2a; - padding: 0px; - margin: 0px; -} - - -/*================================================================================================== -QComboBox inside Task Panel content -==================================================================================================*/ -/* Fix for QComboBox inside Task Panel due to not correctly styling it with regular */ -/* found inside TechDraw Workbench and "insert multiple views" from toolbar */ -/* TODO: external border not working, in the rest of GUI works setting up Qmenu background color but inside Task Panel it doesn't... */ -QSint--ActionGroup QFrame[class="content"] QMenu, -QSint--ActionGroup QFrame[class="content"] QMenu::item { - background-color: #2a2a2a; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox QAbstractItemView { - background-color: #2a2a2a; -} - - -/*================================================================================================== -Radio button -==================================================================================================*/ -QRadioButton::indicator:unchecked{ - color: black; - background-color: rgba(0,0,0,40); - border: 1px solid #787878; -} - -QRadioButton::indicator:checked { - background-color: #74831d; /* QCheckBox has the same color */ - border: 1px solid #74831d; /* QCheckBox has the same color */ - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton, -QRadioButton:disabled { - color: #f5f5f5; - padding: 3px; - outline: none; - background-color: transparent; -} - -QRadioButton:disabled { - color: rgba(255,255,255,40); -} - -QRadioButton::indicator { - width: 11px; - height: 11px; - border-radius: 6px; -} - -QRadioButton::indicator:pressed { - border-color: #dadfc5; -} - -QRadioButton::indicator:disabled { - color: #424242; - background-color: transparent; - border: 1px solid #424242; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton:focus { - border: none; -} - - -/*================================================================================================== -Checkbox -==================================================================================================*/ -QCheckBox, -QCheckBox:disabled { - color: #f5f5f5; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: black; - background-color: rgba(0,0,0,40); - border: 1px solid #787878; - width: 11px; - height: 11px; - border-radius:2px; -} - -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed, -QGroupBox::indicator:pressed, -QGroupBox::indicator:non-exclusive:checked:pressed, -QGroupBox::indicator:indeterminate:pressed, -QGroupBox::indicator:checked:pressed { - border-color: #dadfc5; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #74831d; /* QRadioButton has the same color */ - border: 1px solid #74831d; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox:disabled { - color: rgba(255,255,255,40); - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled { - background-color: rgba(0,0,0,0); - border: 1px solid rgba(0,0,0,20); -} - -QCheckBox::indicator:indeterminate, -QGroupBox::indicator:indeterminate { - background-color: #74831d; - border: 1px solid #74831d; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox:focus { - border: none; -} - - -/*================================================================================================== -Checkboxes inside QListWidget and QTreeView -==================================================================================================*/ -QListWidget::indicator, -QTreeView::indicator { - color: #c8c8c8; - background-color: rgba(255,255,255,20); - border: 1px solid #424242; - width: 11px; - height: 11px; - border-radius:2px; -} - -/* fix for QTreeView::indicator losing its margin */ -QTreeView::indicator { - margin: 3px; -} - -QListWidget::indicator:selected, -QTreeView::indicator:selected { - background-color: #e6e6e6; -} - -QListWidget::indicator:checked:selected, -QListWidget::indicator:indeterminate:selected, -QTreeView::indicator:checked:selected, -QTreeView::indicator:indeterminate:selected { - background-color: #74831d; /* slightly lighter than default */ - border-color: #74831d; /* slightly darker than default */ -} - -QListWidget::indicator:pressed, -QListWidget::indicator:non-exclusive:checked:pressed, -QListWidget::indicator:indeterminate:pressed, -QListWidget::indicator:checked:pressed, -QTreeView::indicator:pressed, -QTreeView::indicator:non-exclusive:checked:pressed, -QTreeView::indicator:indeterminate:pressed, -QTreeView::indicator:checked:pressed { - border-color: #dadfc5; -} - -QListWidget::indicator:checked, -QTreeView::indicator:checked { - background-color: #74831d; /* QRadioButton has the same color */ - border: 1px solid #74831d; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QListWidget::indicator:disabled, -QTreeView::indicator:disabled { - background-color: rgba(255,255,255,20); - border: 1px solid rgba(255,255,255,20); -} - -QListWidget::indicator:indeterminate, -QTreeView::indicator:indeterminate { - background-color: #74831d; - border: 1px solid #74831d; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - - -/*================================================================================================== -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(255,255,255,30); - border: 1px solid rgba(255,255,255,40); - border-radius: 5px; - margin: 4px 0px; +QSlider:focus { + border: 1px solid #6d8000; } QSlider::groove:horizontal { - height: 8px; + background: #444444; + border: 1px solid #696968; + height: 4px; + margin: 0px; + border-radius: 1.9px; } QSlider::groove:vertical { - width: 8px; + background: #74831d; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; } -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #424242; - background-color: #424242; +QSlider::add-page:vertical { + background: #74831d; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; } -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #2a2a2a; - border: 1px solid #2a2a2a; - width: 14px; - height: 14px; - border-radius: 8px; +QSlider::add-page:vertical :disabled { + background: #696968; +} + +QSlider::sub-page:horizontal { + background: #74831d; + border: 1px solid #0073ff; + height: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::sub-page:horizontal:disabled { + background: #74831d; } QSlider::handle:horizontal { - margin: -4px 0; + background: #353535; + border: 1px solid #444444; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 1.9px; +} + +QSlider::handle:horizontal:hover { + background: #74831d; + border: 1px solid #74831d; +} + +QSlider::handle:horizontal:focus { + border: 1px solid #6d8000; } QSlider::handle:vertical { - margin: 0 -4px; + background: #c2c7cb; + border: 1px solid #696968; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 1.9px; } -QSlider::handle:horizontal:hover, -QSlider::handle:vertical:hover, -QSlider::handle:horizontal:pressed, -QSlider::handle:vertical:pressed { - border-color: #c5d675; - background-color: #74831d; +QSlider::handle:vertical:hover { + background: #74831d; + border: 2px solid #74831d; } -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #424242; - background-color: #424242; +QSlider::handle:vertical:focus { + border: 1px solid #6d8000; } +/* QLineEdit -------------------------------------------------------------- -/*================================================================================================== -Toolbar buttons -==================================================================================================*/ -/*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: 0px 2px; - padding: 0px; - min-width: 70px; /* necessary to show its content */ +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + +--------------------------------------------------------------------------- */ +QLineEdit { + background-color: #1c1b22; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #696968; + border-radius: 2px; + color: White; } -QToolBar > QComboBox, -QToolBar > QAbstractSpinBox, -QToolBar > QSpinBox, -QToolBar > QDoubleSpinBox, -QToolBar > QLineEdit, -QToolBar > QTextEdit, -QToolBar > QTimeEdit, -QToolBar > QDateEdit, -QToolBar > QDateTimeEdit { - min-height: 0px; /* reset it inside Tool Bar due to the user ability to set the "size of toolbar icons" inside Preferences */ +QLineEdit:disabled { + background-color: #444444; + color: #c2c7cb; } -QToolBar > QPushButton { - padding: 0px; - margin: 1px; /* doesn't work with :left, :right:, :top or :bottom sub-controls */ - min-width: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - min-height: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - border-radius: 4px; /* same as regular QPushButton */ +QLineEdit:hover { + border: 1px solid #74831d; + color: White; } -QToolBar > QPushButton:checked { - border: 1px solid #a5c61a; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #74831d); +QLineEdit:focus { + border: 2px solid #6d8000; } -QToolBar > QPushButton:!checked { - background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #444444, stop:1 #3c3c3c); - border: 1px solid #424242; - border-bottom-color: #333333; /* simulates shadow under the button */ - text-align: left; /* bug fix #4559 */ +QLineEdit:selected { + background-color: #74831d; + color: white; } -QToolBar > QPushButton:checked:hover { - border-color: #9bbc12; +/* QTabWiget -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabWidget { + padding: 2px; + selection-background-color: #74831d; } -QToolBar > QPushButton:!checked:hover { - color: #dadfc5; - border-color: #333333; +QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 1.9px; } -QToolBar > QPushButton:checked:pressed { - background-color: #74831d; +QTabWidget::pane { + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; } -QToolBar > QPushButton:!checked:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #424242, stop:1 #444444); +QTabWidget::pane:selected { + background-color: #74831d; + border: 1px solid #346792; +} +/* QTabBar ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + /* left: 5px; move to the right by 5px - removed for fix */ } -QToolBar > QPushButton:checked:disabled, -QToolBar > QPushButton:!checked:disabled { - border: none; - background-color: transparent; +QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 1px; + image: url(qss:images_dark-light/close_light.svg); } -QToolBar > QToolButton { - margin: 2px; - padding: 2px; - border-radius: 3px; +QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + /*background-color: rgba(255, 0, 0, 0.3);*/ } -QToolBar > QToolButton:hover { - background-color: rgba(255,255,255,20); +QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(qss:images_dark-light/close_.svg); } -QToolBar > QToolButton:pressed { - background-color: rgba(255,255,255,30); +QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ + padding: 4px; } -/* 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; +QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + color: #adadad; } -QToolBar > QToolButton#qt_toolbutton_menubutton:hover, -QToolBar > QToolButton#qt_toolbutton_menubutton:pressed, -QToolBar > QToolButton#qt_toolbutton_menubutton:open { - border: 1px solid #a5c61a; +QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + color: #adadad; } -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; +QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + color: #adadad; } -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 #74831d, stop:1 #a5c61a); +QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + color: #adadad; } -QToolBar > QToolButton::menu-arrow { - background-image: url(qss:images_dark-light/down_arrow_dark.svg); - background-position: center center; - background-repeat: none; - subcontrol-origin: padding; - subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ +QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + color: #adadad; } -QToolBar > QToolButton::menu-arrow:hover { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); +QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + color: #adadad; + } -QToolBar > QToolButton::menu-arrow:open { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); +QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + color: #adadad; + } -/* when QToolButton is checked: */ -QToolBar > QToolButton:checked { - border: 1px solid #a5c61a; - background-color: rgba(124,171,249,60); /* transparency for #a5c61a color */ +QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + color: #adadad; } -QToolBar > QToolButton:checked:hover { - border: 1px solid #a5c61a; - background-color: rgba(124,171,249,80); /* transparency for #a5c61a color */ +QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + color: #adadad; } -/*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_dark-light/more_dark.svg);*/ - image: transparent; - background-repeat: none; - background-position: center left; +QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + color: #adadad; } -QToolBar QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #424242; - background-color: #424242; +QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + color: #adadad; } -QToolBar QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #424242; - background-color: #424242; +QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + color: #adadad; } - -/*================================================================================================== -Tables (spreadsheets) -==================================================================================================*/ -QTableView { - gridline-color: #a0a0a0; - selection-color: #566214; - selection-background-color: #c5d675; +QTabBar::tab:top, QDockWidget QTabBar::tab:top { + color: #696969; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; } -QTableView::item:hover { - background-color: rgba(0,0,0,10); /* temporal: is it displayed in Linux or Windows? on OSX it isn't */ +QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + color: white; + border-top: 4px solid #74831d; /* selection color */ + border-bottom: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + } + +QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + /*border: 1px solid #74831d;*/ + border: 0px solid #74831d; + background-color: #74831d; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; } -QTableView::item:disabled { - color: #333333; +QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + color: #adadad; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-top: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; } -QTableView::item:selected { - color: #566214; - border-color: #dadfc5; /* same as focused background color */ - border-bottom-color: #a5c61a; /* same as focused border color */ +QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + color: white; + border-bottom: 4px solid #74831d; /* selection color */ + border-top: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + } -/* fix for elements inside the cells */ -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit, -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - border-radius: 0px; +QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { +/*border: 1px solid #74831d;*/ + border: 0px solid #74831d; + background-color: #74831d; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; } -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit { - color: black; - background-color: transparent; - border-color: transparent; +QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #444444; + margin-top: 2px; + margin-left:10px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 4px; + min-height: 5px; } -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - background-color: rgba(0,0,0,30); +QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #444444; + border: 0px solid #6d8000; } -QTableView > QWidget > QComboBox:focus, -QTableView > QWidget > QAbstractSpinBox:focus, -QTableView > QWidget > QSpinBox:focus, -QTableView > QWidget > QDoubleSpinBox:focus, -QTableView > QWidget > QLineEdit:focus, -QTableView > QWidget > QTextEdit:focus, -QTableView > QWidget > QTimeEdit:focus, -QTableView > QWidget > QDateEdit:focus, -QTableView > QWidget > QDateTimeEdit:focus { - color: #566214; - selection-color: white; - selection-background-color: #74831d; - border-color: #dadfc5; - background-color: #dadfc5; +QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 0px solid #74831d; + background-color: #74831d; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; } -QTableView > QWidget > QComboBox:disabled, -QTableView > QWidget > QAbstractSpinBox:disabled, -QTableView > QWidget > QSpinBox:disabled, -QTableView > QWidget > QDoubleSpinBox:disabled, -QTableView > QWidget > QLineEdit:disabled, -QTableView > QWidget > QTextEdit:disabled, -QTableView > QWidget > QTimeEdit:disabled, -QTableView > QWidget > QDateEdit:disabled, -QTableView > QWidget > QDateTimeEdit:disabled { - color: rgba(0,0,0,120); - background-color: transparent; - border-color: transparent; +QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #444444; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + min-height: 5px; + border: 10px; } -QTableView > QWidget > QComboBox:read-only, -QTableView > QWidget > QAbstractSpinBox:read-only, -QTableView > QWidget > QSpinBox:read-only, -QTableView > QWidget > QDoubleSpinBox:read-only, -QTableView > QWidget > QLineEdit:read-only, -QTableView > QWidget > QTextEdit:read-only, -QTableView > QWidget > QTimeEdit:read-only, -QTableView > QWidget > QDateEdit:read-only, -QTableView > QWidget > QDateTimeEdit:read-only { - color: black; - background-color: transparent; - border-color: transparent; +QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #444444; + border: 0px solid #6d8000; } - -/*================================================================================================== -SELECTORTOOLBAR widget (3rd party plugin) -==================================================================================================*/ -QToolBar:horizontal#Selector, -QToolBar:vertical#Selector { - background-color: rgba(0,0,0,120); - margin: 0px; - padding: 0px; +QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 0px solid #74831d; + background-color: #74831d; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; } -QToolBar::handle:top#Selector, -QToolBar::handle:bottom#Selector, -QToolBar::handle:horizontal#Selector { - alignment: bottom left; +QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #444444; + height: 12px; + width: 12px; } -QToolBar::handle:left#Selector, -QToolBar::handle:right#Selector, -QToolBar::handle:vertical#Selector { - width: 100%; - alignment: center left; +QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + border: 0px solid #74831d; + background-color: #74831d; } -QToolBar:top#Selector QToolButton, -QToolBar:bottom#Selector QToolButton, -QToolBar:horizontal#Selector QToolButton { - alignment: bottom left; +QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 0px solid #74831d; + background-color: #74831d; } -QToolBar:left#Selector QToolButton, -QToolBar:right#Selector QToolButton, -QToolBar:vertical#Selector QToolButton { - alignment: center left; +QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_lighter.svg); } -QToolButton[toolbar_orientation="horizontal"] { - /* nothing, when Horizontal there's no need to add special parameters */ +QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(qss:images_dark-light/left_arrow_disabled_light.svg); } -QToolButton[toolbar_orientation="vertical"] { - /* nothing, when Horizontal there's no need to add special parameters */ +QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_lighter.svg); } -QToolBar#Selector QToolButton { - border: none; - margin: 0px; - padding: 2px 6px; - border-radius: 0px; +QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(qss:images_dark-light/right_arrow_disabled_light.svg); } -/* Active tab */ -QToolBar#Selector QToolButton:checked { +/* QDockWiget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QDockWidget { + background-color: #444444; + border: 1px solid #2a2a2a; + border-radius: 1.9px; + titlebar-close-icon: url(qss:images_dark-light/transparent.svg); + titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); +} + +QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + text-align: center; + font-weight: bold; +} + +QDockWidget::close-button { + icon-size: 10px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/close_light.svg); +} + +QDockWidget::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); +} + +QDockWidget::close-button:pressed { + image: url(qss:images_dark-light/close_light.svg); +} + +QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/undock_light.svg); +} + +QDockWidget::float-button:hover { + /*background-color: #74831d;*/ + image: url(qss:images_dark-light/undock_blue.svg); +} + +QDockWidget::float-button:pressed { + image: url(qss:images_dark-light/undock_light.svg); +} + +/* QTreeView QListView QTableView ----------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + +--------------------------------------------------------------------------- */ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_light.svg) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_light.svg) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; +} + +QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; +} + +QTreeView::indicator:checked, +QListView::indicator:checked, +QTableView::indicator:checked, +QColumnView::indicator:checked { + image: url(qss:images_dark-light/checkbox_light.svg); +} + +QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, +QListView::indicator:checked:hover, +QListView::indicator:checked:focus, +QListView::indicator:checked:pressed, +QTableView::indicator:checked:hover, +QTableView::indicator:checked:focus, +QTableView::indicator:checked:pressed, +QColumnView::indicator:checked:hover, +QColumnView::indicator:checked:focus, +QColumnView::indicator:checked:pressed { + image: url(qss:images_dark-light/checkbox_light_hover.svg); +} + +QTreeView::indicator:unchecked, +QListView::indicator:unchecked, +QTableView::indicator:unchecked, +QColumnView::indicator:unchecked { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, +QListView::indicator:unchecked:hover, +QListView::indicator:unchecked:focus, +QListView::indicator:unchecked:pressed, +QTableView::indicator:unchecked:hover, +QTableView::indicator:unchecked:focus, +QTableView::indicator:unchecked:pressed, +QColumnView::indicator:unchecked:hover, +QColumnView::indicator:unchecked:focus, +QColumnView::indicator:unchecked:pressed { + image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); +} + +QTreeView::indicator:indeterminate, +QListView::indicator:indeterminate, +QTableView::indicator:indeterminate, +QColumnView::indicator:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, +QListView::indicator:indeterminate:hover, +QListView::indicator:indeterminate:focus, +QListView::indicator:indeterminate:pressed, +QTableView::indicator:indeterminate:hover, +QTableView::indicator:indeterminate:focus, +QTableView::indicator:indeterminate:pressed, +QColumnView::indicator:indeterminate:hover, +QColumnView::indicator:indeterminate:focus, +QColumnView::indicator:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView, +QListView, +QTableView, +QColumnView { + background-color: #444444; /* background of a lot of stuff including spreadsheets.*/ + border: 0px solid #696968; + color: White; + gridline-color: #696968; + border-radius: 0px; +} + +QTreeView:disabled, +QListView:disabled, +QTableView:disabled, +QColumnView:disabled { + background-color: #1c1b22; + color: #c2c7cb; +} + +QTreeView:selected, +QListView:selected, +QTableView:selected, +QColumnView:selected { + background-color: #74831d; + color: White; +} + +QTreeView:focus, +QListView:focus, +QTableView:focus, +QColumnView:focus { + border: 1px solid #6d8000; +} + +QTreeView::item:pressed, +QListView::item:pressed, +QTableView::item:pressed, +QColumnView::item:pressed { + background-color: #74831d; +} + +QTreeView::item:selected:active, +QListView::item:selected:active, +QTableView::item:selected:active, +QColumnView::item:selected:active { + background-color: #74831d; +} + +QTreeView::item:selected:!active, +QListView::item:selected:!active, +QTableView::item:selected:!active, +QColumnView::item:selected:!active { + color: White; + background-color: #353535; +} + +QTreeView::item:!selected:hover, +QListView::item:!selected:hover, +QTableView::item:!selected:hover, +QColumnView::item:!selected:hover { + outline: 0; + color: White; + background-color: #74831d; +} + +QTableCornerButton::section { + background-color: #444444; + border: 1px transparent #696968; + border-radius: 0px; +} + +QTableView::item { color: white; - background-color: #444444; +} +QTableView { + /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ + /*qproperty-aliasBgColor: #f700ff;*/ } -/* Unactive tabs */ -QToolBar#Selector QToolButton:!checked { - color: rgba(255,255,255,160); - background-color: transparent; - margin: 0px; +/* QHeaderView ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + +--------------------------------------------------------------------------- */ +QHeaderView { + background-color: transparent; + text-align: center; } -/* Unactive tabs (hover) */ -QToolBar#Selector QToolButton:!checked:hover { - color: rgba(255,255,255,255); - background-color: rgba(255,255,255,20); +QHeaderView:disabled { + background-color: #444444; + color: rgb(174, 174, 174); } -/* Unactive tabs (pressed) */ -QToolBar#Selector QToolButton:!checked:pressed { - background-color: rgba(255,255,255,40); +QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + color: White; + border: 1px solid #2a2a2a; + font-size: 13px; + font-weight: bold; } - -/*================================================================================================== -TABBAR widget (3rd party plugin) -==================================================================================================*/ -QTabWidget#TabBar > QTabBar { - border-top: 0; +QHeaderView::section::horizontal { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 5px; + padding-right: 0px; } -QTabWidget#TabBar > QTabBar::tab:top, -QTabWidget#TabBar > QTabBar::tab:bottom { - min-width: -1; +QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 0px solid #696968; } -QTabWidget#TabBar > QTabBar::tab:left, -QTabWidget#TabBar > QTabBar::tab:right { - min-height: -1; +QHeaderView::section::horizontal:disabled { + color: #353535; } - -/*================================================================================================== -EXPERIMENTAL -==================================================================================================*/ - -/* Fix for preventing elements in different rows to accidentally overlap */ -QDialog QGroupBox QFrame { - margin: 2px 0px; +QHeaderView::section::vertical { + padding-top: 1px; + padding-bottom: 0; + padding-left: 1px; + padding-right: 0px; + border-top: 0px solid #2a2a2a; } -*[mandatoryField="true"] { background-color: cyan } - -/* Hack to avoid QPushButton text partially hidden under menu-indicator */ -QPushButton#NavigationIndicator::menu-indicator { - image: none; - width: 0px; +QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 2px solid #2a2a2a; } -QToolBar QToolButton[popupMode="1"] { - width: 100px; - background: red; +QHeaderView::section::vertical:disabled { + border-top: 2px solid #2a2a2a; } -/*================================================================================================== -SKETCHER -==================================================================================================*/ +QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/down_arrow_light.svg); +} -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ +QHeaderView::up-arrow { + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/up_arrow_light.svg); } -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ + +/* QToolBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox +used in PATH + +--------------------------------------------------------------------------- */ +QToolBox { + padding: 0px; + border: 1px solid #696969; + border-radius: 4px; + background-color: transparent; } -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ + +QToolBox:selected { + padding: 0px; + border: 0px solid #74831d; } -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ + +QToolBox::tab { + background-color: transparent; + border: 0px solid #696969; + color: white; + background-image: url(qss:images_dark-light/down_arrow_lighter.svg); + background-repeat: none; + background-position: center left; } -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ + +QToolBox::tab:disabled { + color: #696969; } -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ + +QToolBox::tab:selected { + background-color: #696969; + background-image: url(qss:images_dark-light/transparent.svg); + padding-right: 5px; + background-repeat: none; } -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; + +QToolBox::tab:selected:disabled { + background-color: #696969; + border-bottom: 0px solid #cccccc; + color: white; } -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; + +QToolBox::tab:!selected { + } -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; + +QToolBox::tab:!selected:disabled { + background-color: #444444; } + +QToolBox::tab:hover { + background-color: #74831d; + } + +QToolBox QScrollArea QWidget QWidget { + padding: 0px; + border: 0px; + background-color: transparent; +} + +/* QFrame ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe +https://doc.qt.io/qt-5/qframe.html#-prop +https://doc.qt.io/qt-5/qframe.html#details +https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + +--------------------------------------------------------------------------- */ +/* (dot) .QFrame fix #141, #126, #123 */ +.QFrame { + border-radius: 0px; + border: 0px solid #696968; + background-color: #696969; + /* No frame */ + /* HLine */ + /* HLine */ +} + +.QFrame[frameShape="0"] { + border-radius: 1.9px; + border: 1px solid #696968; +} + +.QFrame[frameShape="4"] { + max-height: 1px; + border: none; + background-color: #696968; +} + +.QFrame[frameShape="5"] { + max-width: 1px; + border: none; + background-color: #444444; +} + +/* QSplitter -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter + +--------------------------------------------------------------------------- */ +QSplitter { + background-color: #3c3c3c; + spacing: 1px; + padding: 1px; + margin: 1px; +} + +QSplitter::handle { + margin: 0px 0px; + padding: 0px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + width: 1px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + height: 1px; +} + +QSplitter::handle:hover { + background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); + background-position: center center; + background-repeat: none; + background-color: #74831d; +} + +/* QDateEdit, QDateTimeEdit ----------------------------------------------- + +--------------------------------------------------------------------------- */ +QDateEdit, QDateTimeEdit { + selection-background-color: #74831d; + border-style: solid; + border: 1px solid #696968; + border-radius: 1.9px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; +} + +QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #74831d; +} + +QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #696968; +} + +QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 8px; + width: 8px; +} + +QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + +QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #444444; + border-radius: 2px; + border: 1px solid #696968; + selection-background-color: #74831d; +} + +/* QAbstractView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractView:hover { + border: 1px solid #74831d; + color: White; +} + +QAbstractView:selected { + background: #74831d; + color: White; +} + +/* PlotWidget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; +} \ No newline at end of file diff --git a/src/Gui/Stylesheets/Darker-orange.qss b/src/Gui/Stylesheets/Darker-orange.qss index 6e6739fe8e..969e2a4846 100644 --- a/src/Gui/Stylesheets/Darker-orange.qss +++ b/src/Gui/Stylesheets/Darker-orange.qss @@ -1,87 +1,88 @@ /* ABOUT ============================================================================================================ -version 2.22 -Qt theme (stylesheet) specially developed for FreeCAD (https://www.freecad.org/). -It might work with other software that uses Qt styling. +Revised stylesheet based on the orignal from Pablo Gil Fernández made by MisterMaker - -LICENSE +KNOWN BUGS and TO DO ============================================================================================================ -Copyright (c) 2019 Pablo Gil Fernández +Please, follow the link to get updated information: +https://forum.freecad.org/viewtopic.php?t=78431 -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 +INSTALLATION WHEN NECESSARY ============================================================================================================ 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/ - -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 lighter) - black - #1e1e1e - #2a2a2a = background - #333333 - #424242 - #3c3c3c - #444444 = main background color - #545454 = secondary - #787878 - #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 +============================================================================================================ +TO MODIFY USE THESE COLORS: + #b28416 + #996b00 -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: https://forum.freecad.org/viewtopic.php?f=10&t=12417 +See Qt documentation: -*/ + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ -/*================================================================================================== -Reset elements -==================================================================================================*/ -/* Resetting everything helps to unify styles across different operating systems */ +/* Reset elements ------------------------------------------------------------ + +Resetting everything helps to unify styles across different operating systems + +--------------------------------------------------------------------------- */ * { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; - color: #f5f5f5; /* Default color for labels and different text elements that usually use dark colors */ + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; + border-image: none; + outline: 0; } /* specific reset for elements inside QToolBar */ QToolBar * { + margin: 0px; + padding: 0px; +} + +/*hacks */ + 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; + +} +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 1px; margin: 0px; padding: 0px; } +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; + +} /*================================================================================================== Main window @@ -94,970 +95,1399 @@ QToolBar { } QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; + background-image: url(qss:images_dark-light/background_freecad_dark.svg); + background-position: center center; + background-repeat: no-repeat; +} +/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ +Gui--NavigationIndicatorGui--BlenderNavigationStyle { +/*QAction#a4 {*/ + qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); +} +/*===== +/* QWidget ---------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QWidget { + background-color: #444444; + border: 0px solid #696968; + padding: 0px; + color: White; + selection-background-color: #b28416; + selection-color: White; } - -/*================================================================================================== -Sub windows -==================================================================================================*/ -QMdiSubWindow { - border:1px solid #333333; - margin-top: 30px; - margin-left: 4px; - margin-right: 4px; - margin-bottom:4px; +QWidget:disabled { + background-color: transparent; + color: #c2c7cb; + selection-background-color: #b28416; + selection-color: #c2c7cb; } - -/*================================================================================================== -MENUS -==================================================================================================*/ -QMenuBar, -QMenuBar::item { - color: #f5f5f5; - background-color: #444444; /* main background color */ +QWidget::item:selected { + background-color: #b28416; } -QMenu, -QMenu::item { - color: #f5f5f5; - background-color: #2a2a2a; - text-decoration: none; -} - -QMenuBar::item:selected, -QMenuBar::item:pressed, -QMenu::item:selected, -QMenu::item:pressed { - color: #ffffff; + /* Causes issue with colorselector. + QWidget::item:hover:!selected { background-color: #b28416; -} + }*/ -QMenu::right-arrow { - width: 10px; - height: 10px; - image:url(qss:images_dark-light/right_arrow_dark.svg); - margin-right: 2px; -} +/* QMainWindow ------------------------------------------------------------ -QMenu::right-arrow:selected { - image:url(qss:images_dark-light/right_arrow_lighter.svg); -} +This adjusts the splitter in the dock widget, not qsplitter +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow -QMenu::item { - padding: 2px 4px; /* make room for icon at left */ - border: 1px solid transparent; /* reserve space for selection border */ -} - -QMenu::icon { - margin-left: 1px; - margin-right: 1px; -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #b28416; - border: 2px #b28416; - position: absolute; - border-radius: 2px; -} - -QMenu::separator { - height: 1px; - background-color: rgba(255,255,255,30); - margin: 6px 4px; -} - -QMenu::indicator:non-exclusive:checked { - color: white; -} - -/* Fix for elements inside a drop-down menu */ -QMenu QRadioButton, -QMenu QCheckBox, -QMenu QPushButton, -QMenu QToolButton { - color: white; /* same as regular QRadioButton and QCheckBox */ -} - -QMenu QRadioButton:hover, -QMenu QCheckBox:hover, -QMenu QPushButton:hover, -QMenu QToolButton:hover, -QMenu QPushButton:pressed, -QMenu QToolButton:pressed, -QMenu QPushButton:selected, -QMenu QToolButton:selected { - color: white; - background-color: #b28416; /* same as QMenu::item:selected and QMenu::item:pressed */ -} - -QMenu QRadioButton:disabled, -QMenu QCheckBox:disabled { - color: #f5f5f5; -} - -QMenu QRadioButton::indicator:disabled, -QMenu QCheckBox::indicator:disabled { - color: #f5f5f5; - background-color: transparent; - border: 1px solid #f5f5f5; -} - - -/*================================================================================================== -Tool bar -==================================================================================================*/ -QToolBar { - padding: 2px; -} - -QToolBar::handle:top, -QToolBar::handle:bottom, -QToolBar::handle:horizontal { - background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); - width: 10px; - margin: 4px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:left, -QToolBar::handle:right, -QToolBar::handle:vertical { - background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); - height: 10px; - margin: 2px 4px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:top, -QToolBar::separator:bottom, -QToolBar::separator:horizontal { - width: 1px; - margin: 6px 4px; - background-color: rgba(0,0,0,30); -} - -QToolBar::separator:left, -QToolBar::separator:right, -QToolBar::separator:vertical { - height: 1px; - margin: 4px 6px; - background-color: rgba(0,0,0,30); -} - - -/*================================================================================================== -Group box -==================================================================================================*/ -QGroupBox { - color: rgba(255,255,255,120); - border:1px solid rgba(255,255,255,20); /* lighter than its own border-color */; - border-radius: 3px; - margin-top: 10px; - padding: 6px; - background-color: rgba(255,255,255,0); -} - -QGroupBox:title { - top: -8px; - left: 12px; -} - -/* NOTE: QGroupBox checkboxes are styles with regular ones so that the all get the same style */ -/* QGroupBox::indicator { - width: 13px; - height: 13px; -} - -QGroupBox::indicator:unchecked { - image: url(:/images/checkbox_unchecked.png); -} */ - - -/*================================================================================================== -Tooltip -==================================================================================================*/ -QToolTip { - color: #ffffff; - background-color: #1e1e1e; - /*opacity: 90%; doesn't correctly work */ - padding: 4px; - border-radius: 3px; /* has no effect */ -} - - -/*================================================================================================== -Dock widget -==================================================================================================*/ -QDockWidget { - color: #a0a0a0; - titlebar-close-icon: url(qss:images_dark-light/close_light.svg); - titlebar-normal-icon: url(qss:images_dark-light/undock_light.svg); -} - -QDockWidget::title { - text-align: center; - background-color: rgba(0,0,0,40); - border: 4px solid #444444; /* 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,60); -} - -QDockWidget::close-button:pressed, -QDockWidget::float-button:pressed { - background-color: rgba(0,0,0,120); -} - -/* fix for Python Console (probably there is a smarter way to arrive to it) */ -QDockWidget > QFrame { - background-color: #787878; - border: 1px solid #333333; -} - - -/*================================================================================================== -Progress bar -==================================================================================================*/ -QProgressBar, -QProgressBar:horizontal { - color: white; - background-color: rgba(0,0,0,70); - text-align: center; - border: 1px solid rgba(0,0,0,140); - 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 #d0970c, stop:1 #daa116); - 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(255,255,255,80); -} - -QScrollBar::handle:vertical:hover, -QScrollBar::handle:horizontal:hover { - background-color: rgba(255,255,255,100); -} - -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_dark-light/left_arrow_light.svg); - 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_dark-light/right_arrow_light.svg); - 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_dark-light/left_arrow_lighter.svg); -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -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_dark-light/up_arrow_light.svg); - 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_dark-light/down_arrow_light.svg); - 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_dark-light/up_arrow_lighter.svg); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -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 #787878; -} - -QTabWidget::pane:bottom { - bottom: -1px; - border-bottom: 1px solid #787878; -} - -QTabWidget::pane:left { - right: -1px; - border-right: 1px solid #787878; -} - -QTabWidget::pane:right { - left: -1px; - border-left: 1px solid #787878; -} - -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 reset as follows: */ -QTabBar { - border-top: 1px solid #787878; /* 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: #f5f5f5; - background-color: #444444; /* same as tab content background color */ - border-color: #787878; -} - -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: #444444; /* 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: #444444; /* 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: #444444; /* 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: #444444; /* same as tab content background color */ -} - -QTabBar::tab:!selected { - color: rgba(255,255,255,120); -} - -QTabBar::tab:!selected:hover { - color: rgba(255,255,255,180); - background-color: rgba(255,255,255,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 #444444) */ -} - -/* 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: #787878; -} - -QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { - color: white; - background-color: #b28416; -} - - -/*================================================================================================== -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_dark-light/close_dark.svg); - 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 #333333; /* same as regular QTreeView, QListView and QTableView */ - min-height: 40px; /* necessary 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: #444444; /* same as main background color */ -} - -QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_dark.svg); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_dark.svg); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QTabBar::tear { - /* default OS tear better */ -} - - -/*================================================================================================== -Tree and list views -==================================================================================================*/ -QTreeView, -QListView, -QTableView { - color: #e0e0e0; - background-color: #545454; - alternate-background-color: #444444; /* related with QListView background */ - border: 1px solid #333333; - selection-color: #ffffff; - selection-background-color: #b28416; /* 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:hover, -QTreeView::item:hover { - background-color: transparent; /* fix to homogenize it on all OSs */ -} - -QListView::item:selected, -QTreeView::item:selected { - color: #ffffff; /* should be similar to QListView selection-color */ - background-color: #b28416; /* 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: #444444; /* same as Group header background */ -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #b28416; /* 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 hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #624b14; - background-color: #b28416; /* same as focused background color */ -} - -/* 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; -} - -/* reset min-height 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 > Gui--ColorButton { - min-height: 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: #2a2a2a; /* same as focused background color */ - border-bottom-color: #1e1e1e; /* 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; - border-radius: 0px; /* reset */ -} - - -/*================================================================================================== -Header of tree and list views -==================================================================================================*/ -QHeaderView { - color: #d2d2d2; - background-color: #2a2a2a; - 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: #2a2a2a; -} - -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: #2a2a2a; - 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_dark-light/up_arrow_light.svg); -} - -QHeaderView::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QHeaderView::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -/* Group header inside Property Editor (FreeCAD custom widget) */ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: #bebebe; - qproperty-groupBackground: #2a2a2a; -} - - -/*================================================================================================== -Branch system for QTreeViews -==================================================================================================*/ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_light.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_light.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; -} - - -/*================================================================================================== -Splitter and windows separator -==================================================================================================*/ -QSplitter::handle { - margin: 0px 11px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - background-position: center center; - background-repeat: none; - margin: 4px 2px 4px 2px; - width: 2px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - margin: 2px 4px 2px 4px; - height: 2px; -} - -/* Similar to the splitter is the following window separator (but horizontal/vertical is on the opposite way) */ +--------------------------------------------------------------------------- */ QMainWindow::separator { - background-position: center center; - background-repeat: none; + /*background-color: #3c3c3c;*/ + border: 0px solid #696968; + spacing: 0px; + padding: 1px; +} + +QMainWindow::separator:vertical:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #b28416, stop:0.8 transparent); + /*background-color: #b28416;*/ + image: url(qss:images_dark-light/splitter_vertical_light.svg); +} + +QMainWindow::separator:horizontal:hover { + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #b28416, stop:0.8 transparent); + /*background-color: #b28416;*/ + image: url(qss:images_dark-light/splitter_horizontal_light.svg); } QMainWindow::separator:horizontal { - height: 2px; - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - margin: 4px 2px 4px 2px; + width: 4px; + margin-top: 0.1px; + margin-bottom: 0.1px; + /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ } QMainWindow::separator:vertical { - width: 2px; - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - margin: 2px 4px 2px 4px; + height: 4px; + margin-left: 0.1px; + margin-right: 0.1px; + /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ +} + +/* QToolTip --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + +--------------------------------------------------------------------------- */ +QToolTip { + background-color: #1c1b22; + color: White; + /* If you remove the border property, background stops working on Windows */ + border: none; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ +} + +/* QStatusBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + +--------------------------------------------------------------------------- */ +QStatusBar { + border: 0px solid #3c3c3c; + /* Fixes Spyder #9120, #9121 */ + background: #444444; + /* Fixes #205, white vertical borders separating items */ +} + +QStatusBar::item { + border: none; +} + +QStatusBar QToolTip { + background-color: #444444; + border: 1px solid #696968; + color: #444444; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; +} + +QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; +} + +/* QCheckBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + +--------------------------------------------------------------------------- */ +QCheckBox { + color: white; + padding: 0px; + outline: none; + border: 1px solid transparent; + background-color: transparent; +} + +QCheckBox:focus { + border: 1px solid #996b00; +} + +QCheckBox QWidget:disabled { + background-color: transparent; + color: #c2c7cb; +} + +QCheckBox::indicator { + color: white; + background-color: #1c1b22; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked { + background-color: #1c1b22; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { + background-color: #b28416; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked:disabled { + background-color: #444444; + image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QCheckBox::indicator:checked { + background-color: #1c1b22; + /*border: 1px solid #696968; /* QRadioButton has the same color */ + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { + background-color: #b28416; +} + +QCheckBox::indicator:checked:disabled { + background-color: #444444; + image: url(qss:images_dark-light/check_light.svg); +} + +QCheckBox::indicator:indeterminate { + background-color: #1c1b22; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QCheckBox::indicator:indeterminate:disabled { + background-color: #444444; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + background-color: #b28416; /* QRadioButton has the same color */ +} + +/* QGroupBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + +--------------------------------------------------------------------------- */ +QGroupBox { + font-weight: bold; + border: 1px solid #696968; + border-radius: 1.9px; + padding: 2px; + margin-top: 10px; + margin-bottom: 4px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: 6px; +} + +QGroupBox::indicator { + color: white; + background-color: #3c3c3c; + border: 1px solid #696968; + width: 12px; + height: 12px; + border-radius:1px; +} + +QGroupBox::indicator:unchecked { + background-color: #696968; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + background-color: #b28416; +} + +QGroupBox::indicator:unchecked:disabled { + background-color: #1c1b22; + border: 1px solid #696968; +} + +QGroupBox::indicator:checked { + border: none; + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + background-color: #b28416; +} + +QGroupBox::indicator:checked:disabled { + background-color: #b28416; +} + +/* QRadioButton ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + +--------------------------------------------------------------------------- */ +QRadioButton { + background-color: transparent; + color: White; + border: none; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + outline: none; +} + +QRadioButton:focus { + border: 1px solid #996b00; +} + +QRadioButton:disabled { + background-color: #696968; + color: #353535; +} + +QRadioButton QWidget { + background-color: transparent; + color: White; + spacing: 0px; + padding: 0px; + outline: none; + border: none; +} + +QRadioButton::indicator { + background-color: #3c3c3c; + border: 1px solid #696968; + border-radius: 6px; + margin-left: 0px; + height: 11px; + width: 11px; +} + +QRadioButton::indicator:unchecked { + /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ +} + +QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { + background-color: #b28416; + border: 1px solid #b28416; + border-radius: 6px; +} + +QRadioButton::indicator:unchecked:disabled { + /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ + border: 1px solid #696968; +} + +QRadioButton::indicator:checked { + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { + background-color: #b28416; + border: 1px solid #b28416; + border-radius: 6px; + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +QRadioButton::indicator:checked:disabled { + outline: none; + background-color: #696968; + image:url(qss:images_dark-light/radiobutton_dark.svg); +} + +/* QMenuBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + +--------------------------------------------------------------------------- */ +QMenuBar { + background-color: #161616; + /*padding: 1px; + border: 0px solid rgba(0,0,0,140);*/ + color: White; + selection-background-color: #b28416; +} + +QMenuBar:focus { + border: 1px solid #996b00; +} + +QMenuBar::item { + background: transparent; + /*padding-left:5px; + padding-right: 5px; + padding-bottom: 1px; + padding-top: 1px;*/ +} + +QMenuBar::item:selected { + background: transparent; + border: 0px solid #696968; + background-color: #b28416; +} + +QMenuBar::item:pressed { + /*padding: 2px; + padding-left: 10px; + padding-right: 10px;*/ + border: 0px solid #696968; + background-color: #b28416; + color: White; + /*margin-bottom: 0px; + padding-bottom: 0px;*/ +} + +/* QMenu ------------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + +--------------------------------------------------------------------------- */ +QMenu { + border-bottom: 2px rgba(0,0,0,140); + border-right: 2px rgba(0,0,0,140); + color: White; + margin: 0px; + background-color: #161616; + selection-background-color: #b28416; +} + +QMenu::separator { + height: 2px; + background-color: #3c3c3c; + margin-left: 30%; + margin-right: 30%; +} + +QMenu::item { + background-color: transparent; + padding: 2px 2px; /* make room for icon at left */ + /* Reserve space for selection border */ + border: 0px transparent #696968; +} + +QMenu::item:selected { + color: White; + background-color: #b28416; +} + +QMenu::item:pressed { + background-color: #b28416; +} + +QMenu::icon { + margin-left: 5px; + width: 14px; + height: 14px; +} + +QMenu::indicator { + margin-left: 2px; + margin-right: 2px; + padding: 0px; + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ +} + +QMenu::icon:checked { /* appearance of a 'checked' icon */ + background: #996b00; + margin-left: -5px; + border: 5px solid #996b00; + position: absolute; + border-radius: 0px; +} +QMenu::indicator:non-exclusive:unchecked { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { + border: none; + image: url(qss:images_dark-light/checkbox_unchecked_focus.png); +} + +QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QMenu::indicator:non-exclusive:checked { + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + background: #b28416; + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:checked:disabled { + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:exclusive:unchecked { + image: url(qss:images_dark-light/transparent.svg); +} + +QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { + border: none; + outline: none; + background: #b28416; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); +} + +QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + background: #b28416; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); +} + +QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image:url(qss:images_dark-light/right_arrow_lighter.svg); + height: 12px; + width: 12px; + background-color: transparent; +} + +/* QAbstractItemView ------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QAbstractItemView { + alternate-background-color: #5b5b5b; + color: White; + border: 1px solid #696968; + border-radius: 2px; +} + +QAbstractItemView QLineEdit { + padding: 2px; +} + +/* QAbstractScrollArea ---------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QAbstractScrollArea { + background-color: transparent; + border: 0px solid #696968; + border-radius: 0px; + /* fix #159 */ + padding: 0px; + /* remove min-height to fix #244 */ + color: White; +} + +QAbstractScrollArea:disabled { + color: #353535; +} + +/* QScrollArea ------------------------------------------------------------ + +--------------------------------------------------------------------------- +text input field disabled!!!!*/ +QScrollArea QWidget:disabled { + background-color: #444444; +} + +/* QScrollBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + +--------------------------------------------------------------------------- */ +QScrollBar:horizontal { + height: 16px; + margin: 2px 8px 2px 8px; + border: 0px solid #696968; + border-radius: 4px; + background-color: #444444; +} + +QScrollBar:vertical { + background-color: #444444; + width: 16px; + margin: 8px 2px 8px 2px; + border: 0px solid #696968; + border-radius: 4px; +} + +QScrollBar::handle:horizontal { + background-color: #696969; + border: 1px solid #444444; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:hover { + background-color: #b28416; + border: #696968; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:focus { + border: 1px solid #996b00; +} + +QScrollBar::handle:vertical { + background-color: #696969; + border: 1px solid #696968; + min-height: 8px; + border-radius: 4px; +} + +QScrollBar::handle:vertical:hover { + background-color: #b28416; + border: #696968; + border-radius: 4px; + min-height: 8px; +} + +QScrollBar::handle:vertical:focus { + border: 1px solid #996b00; +} + +QScrollBar::add-line:horizontal { + border-image: url(qss:images_dark-light/right_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + border-image: url(qss:images_dark-light/down_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/left_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images_dark-light/left_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/up_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + border-image: url(qss:images_dark-light/up_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; +} + +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +/* QTextEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + + +report view +--------------------------------------------------------------------------- */ +QTextEdit { + background-color: #444444; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; +} + +QTextEdit:focus { + border: 1px solid #996b00; +} + +QTextEdit:selected { + background: #346792; + color: white; +} + +/* QPlainTextEdit --------------------------------------------------------- +Python +--------------------------------------------------------------------------- */ +QPlainTextEdit { + background-color: #3c3c3c; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; +} + +QPlainTextEdit:focus { + border: 1px solid #996b00; +} + +QPlainTextEdit:selected { + background: #b28416; + color: White; +} + +/* QSizeGrip -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + +--------------------------------------------------------------------------- */ +QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/sizegrip_light.svg); +} + +/* QStackedWidget --------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QStackedWidget { + padding: 0px; + border: 0px solid #696968; +} + +/* QToolBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + +--------------------------------------------------------------------------- */ +QToolBar { + background-color: #444444; + border-bottom: 0px solid rgba(0,0,0,120); + padding: 1px; + font-weight: bold; + spacing: 1px; +} + +QToolBar:disabled { + /* Fixes #272 */ + background-color: #444444; +} + +QToolBar::handle:horizontal { + width: 8px; + margin: 3px 3px; + background-position: top right; + background-repeat: repeat-y; + background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); +} + +QToolBar::handle:vertical { + height: 8px; + margin: 3px 3px; + background-position: left bottom; + background-repeat: repeat-x; + background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); +} + +QToolBar::separator:horizontal { + width: 2px; + margin: 4px 4px; + background-color: transparent; +} + +QToolBar::separator:vertical { + height: 2px; + margin: 4px 4px; + background-color: transparent; +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ +QToolButton#qt_toolbar_ext_button { +margin: 0px; +padding: 0px; +background-color: #696969; +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +background-repeat: none; +background-position: center center; +} + +QToolButton#qt_toolbar_ext_button:hover { +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +background-color: #b28416; +} + +QToolButton#qt_toolbar_ext_button:on { +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +border-color: #696968; +background-color: #b28416; } -/*================================================================================================== -Text/Python editor (macros, etc...) -==================================================================================================*/ -QPlainTextEdit, -QPlainTextEdit:focus { - background-color: #787878; - selection-color: #e3d8b9; - selection-background-color: #b28416; - border: 1px solid #333333; - border-radius: 3px; - margin: 4px; +/* QAbstractSpinBox ------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractSpinBox, +QSpinBox { + background-color: #1c1b22; + border: 1px solid transparent; + color: White; + /* This fixes 103, 111 */ + /* padding-top: 0px; + /* This fixes 103, 111 */ + /*padding-bottom: 0px; + /*padding-left: 4px; + /*padding-right: 4px; + border-radius: 1.9px;*/ + min-height: 1.7em; + /* min-width: 5px; removed to fix 109 */ +} + +QAbstractSpinBox:up-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + subcontrol-origin: border; + subcontrol-position: top right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-bottom: -1px;*/ +} + +QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_light.svg); + /* height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_lighter.svg); +} + +QAbstractSpinBox:down-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + subcontrol-origin: border; + subcontrol-position: bottom right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-top: -1px;*/ +} + +QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + /*height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + +QAbstractSpinBox:hover { + /*border: 1px solid #b28416; + color: White;*/ +} + +QAbstractSpinBox:focus { + border: 1px solid #996b00; +} + +QAbstractSpinBox:selected { + background: #996b00; + /*color: White;*/ +} + +/* ------------------------------------------------------------------------ */ +/* DISPLAYS --------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QLabel ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + +--------------------------------------------------------------------------- */ +QLabel { + background-color: transparent; + border: 0px solid #696968; + padding: 2px; + margin: 0px; + color: White; +} + +QLabel:disabled { + background-color: transparent; + border: 0px solid #696968; + color: #c2c7cb; +} + +QLabel[haslink="true"] { + color: orange; +} + + +/* QTextBrowser ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QTextBrowser { + background-color: #1c1b22; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; +} + +QTextBrowser:disabled { + background-color: #444444; + border: 1px solid #696968; + color: #c2c7cb; + border-radius: 1.9px; +} + +QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #b28416; +} + +/* QGraphicsView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QGraphicsView { + background-color: transparent; + border: 0px solid #b28416; + color: White; + border-radius: 0px; +} + +QGraphicsView:disabled { + background-color: #1c1b22; + border: 0px solid #696968; + color: #c2c7cb; + border-radius: 0px; +} + +QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 0px solid #ff00f7; +} + +/* QCalendarWidget -------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCalendarWidget { + border: 1px solid #696968; + border-radius: 1.9px; +} + +QCalendarWidget:disabled { + background-color: #353535; + color: #c2c7cb; +} + +/* QLCDNumber ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QLCDNumber { + background-color: #1aff00; + color: White; +} + +QLCDNumber:disabled { + background-color: #444444; + color: #c2c7cb; +} + +/* QProgressBar ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + +--------------------------------------------------------------------------- */ +QProgressBar { + background-color: #c2c7cb; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar:disabled { + background-color: #161616; + border: 1px solid #696968; + color: #696969; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #b28416; + color: #444444; + border-radius: 1.9px; +} + +QProgressBar::chunk:disabled { + background-color: #161616; + color: #696968; + border-radius: 1.9px; +} + +/* ------------------------------------------------------------------------ */ +/* BUTTONS ---------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QPushButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + +--------------------------------------------------------------------------- */ +QPushButton { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + color: White; + border: 1px solid #2a2a2a; + border-bottom-color: #1e1e1e; /* simulates shadow under the button */ + border-radius: 4px; + padding: 2px; +} + +QPushButton:disabled { + background-color: #444444; + color: #c2c7cb; + +} + +QPushButton:checked { + background-color: #b28416; + outline: none; +} + +QPushButton:checked:disabled { + background-color: #b28416; + color: #3c3c3c; + outline: none; +} + +QPushButton:checked:selected { + background: #b28416; +} + +QPushButton:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); + color: White; +} + +QPushButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #996b00, stop:1 #b28416); +} + +QPushButton:selected { + background: #996b00; + color: White; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + bottom: 4px; +} + +QDialogButtonBox QPushButton { + /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; +} + +/* QToolButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + +--------------------------------------------------------------------------- */ +QToolButton { + background-color: transparent; + color: White; + border-radius: 1px; + padding: 0px; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ +} + +QToolButton:disabled { + background-color: rgba(0, 0, 0, 0.065); + color: #c2c7cb; + border-radius: 1px; + padding: 0px; +} + +QToolButton:checked { + background-color: #b28416; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:disabled { + background-color: #b65555; + color: #c2c7cb; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:hover { + background-color: #b28416; + color: White; +} + +QToolButton:checked:pressed { + background-color: #b28416; +} + +QToolButton:checked:selected { + background: #996b00; + color: White; +} + +QToolButton:hover { + background-color: #b28416; + color: White; +} + +QToolButton:pressed { + background-color: #996b00; +} + +QToolButton:selected { + background: #b28416; + color: White; +} + +QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 20px; +} + +QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; +} +QToolButton[popupMode="0"]::menu-button { + border: none; +} + +QToolButton[popupMode="0"]::menu-button:hover { + border: none; + border-left: 2px solid #fe0000; + border-radius: 0px; +} +QToolButton[popupMode="1"]::menu-button { + border: none; +} + +QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 2px solid #e5ff00; + border-radius: 0px; +} + +QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 20px; +} + +QToolButton::menu-button { + border-bottom: 0px solid #ffffff; + border-radius: 2px; + /* 16px width + 4px for border = 20px allocated above */ + width: 1.6ex; + padding: 2px; + border-radius: 2px; + border: 0px #000000; +} + +QToolButton::menu-button:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + +} + +QToolButton::menu-button:checked:hover { + /* background: rgba(0, 0, 0, 0.5);*/ +} + +QToolButton::menu-indicator { + /* Exclude a shift for better image */ + subcontrol-position: right bottom; + /* Shift it a bit */ +} + +QToolButton::menu-arrow { + image: url(qss:images_dark-light/more_arrow_light.svg); + width: 1.5ex; + height: 1.5ex; + subcontrol-position: right bottom; + background: transparent; +} +QToolButton::menu-arrow:open { + subcontrol-position: right bottom; + image: url(qss:images_dark-light/more_arrow_light.svg); +} +QToolButton::menu-arrow:hover { + image: url(qss:images_dark-light/more_arrow_light.svg); + background-color: rgba(0, 0, 0, 0.498); + border: 1px solid rgba(0, 0, 0, 0.498); +} + +/* QCommandLinkButton ----------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCommandLinkButton { + background-color: transparent; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + padding: 0px; + margin: 0px; +} + +QCommandLinkButton:disabled { + background-color: transparent; + color: #c2c7cb; +} + +/* ------------------------------------------------------------------------ */ +/* INPUTS - NO FIELDS ----------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QComboBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QComboBox { + border: 1px solid transparent; + background: #1c1b22; + border-radius: 2px; + selection-background-color: #b28416; + padding-left: 2px; + padding-right: 2px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ +} +QComboBox:editable { + background: white; +} +QComboBox QAbstractItemView { + border: 0px solid #696968; + border-radius: 0px; + background-color: #1c1b22; + selection-background-color: #b28416; +} + +QComboBox QAbstractItemView:hover { + background-color:#1c1b22; + color: White; +} + +QComboBox QAbstractItemView:selected { + background: #b28416; + color: White; +} + +QComboBox QAbstractItemView:alternate { + background: #3c3c3c; +} + +QComboBox:disabled { + background-color: #444444; + color: #353535; +} + +QComboBox:hover { + /*background-color: #b28416;*/ + border: 1px solid #b28416; +} + +QComboBox:focus { + border: 1px solid #996b00; +} + +QComboBox:on { + selection-background-color: #996b00; +} + +QComboBox::indicator { + border: none; + border-radius: 0px; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: #b28416; + /* Needed to remove indicator - fix #132 */ +} + +QComboBox::indicator:alternate { + background: #696968; +} + +QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ +} + +QComboBox::item:alternate { + background: #3c3c3c; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + subcontrol-position: top right; + width: 14px; + border-left: 1px solid transparent; +} +QComboBox::drop-down:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); +} + +QComboBox::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 10px; + width: 10px; +} + +QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); } /*================================================================================================== Tasks panel (custom FreeCAD class) ==================================================================================================*/ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: white; + qproperty-groupBackground: #3c3c3c; + border: 0px solid #696968; + +} + /* Action group */ QFrame[class="panel"] { - background-color: transparent; /* temporal (transparent background) */ +background-color: transparent; /* temporal (transparent background) */ + } QSint--ActionGroup { - padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ - margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ } /* Separator line */ @@ -1067,1273 +1497,1032 @@ 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); +border-color: rgba(0,0,0,60); } /* Panel header */ QSint--ActionGroup QFrame[class="header"] { - border: none; - background-color: #2a2a2a; /* 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; +border-top: 1px solid #696968; +border-left: 1px solid #696968; +border-right: 1px solid #696968; +background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); +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 #624b14, stop:1 #624b14); +background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); } QSint--ActionGroup QToolButton[class="header"] { - color: #f5f5f5; /* Task Panel Header text color */ - text-align: left; - font-weight: bold; - border: none; - margin: 0px; - padding: 0px; +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_dark-light/down_arrow_light.svg); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; +background-color: transparent; +background-image: url(qss:images_dark-light/down_arrow_light.svg); +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_dark-light/down_arrow_lighter.svg); +background-color: transparent; +background-image: url(qss:images_dark-light/down_arrow_lighter.svg); } QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images_dark-light/up_arrow_light.svg); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_light.svg); +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_dark-light/up_arrow_lighter.svg); +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_lighter.svg); } QSint--ActionGroup QFrame[class="content"] { - background-color: #545454; /* 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; +background-color: transparent; /* Task Panel background color */ +margin: 0px; +padding: 0px; +border-bottom: 1px solid #696968; +border-left: 1px solid #696968; +border-right: 1px solid #696968; +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: #545454; /* Task Panel background color */ +background-color: #444444; /* Task Panel background color */ } /* Fixs for tabs inside Task Panel */ QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { - border-bottom-color: #545454; /* same as Task Panel background color */ +border-bottom-color: #b28416; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { - border-top-color: #545454; /* same as Task Panel background color */ +border-top-color: #b28416; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { - border-right-color: #545454; /* same as Task Panel background color */ +border-right-color: #b28416; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { - border-left-color: #545454; /* same as Task Panel background color */ +border-left-color: #b28416; /* same as Task Panel background color */ } /* Fix for buttons with icons that showed cropped (still not happy with result) */ QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { - padding: 2px; /* bigger padding crops text and icons... */ - margin: 0px; +padding: 2px; /* bigger padding crops text and icons... */ +margin: 0px; } -/* Fix for lists inside task panels */ +/* Fix for lists inside task panels */ /* sketcher constraints list */ QSint--ActionGroup QFrame[class="content"] QTreeView, QSint--ActionGroup QFrame[class="content"] QListView, QSint--ActionGroup QFrame[class="content"] QTableView { - color: #f5f5f5; - background-color: #787878; +color: white; +background-color: #1c1b22; } -/*================================================================================================== -Buttons -==================================================================================================*/ -/* Common */ -QComboBox, -QAbstractSpinBox, -QSpinBox, -QDoubleSpinBox, -QLineEdit, -QTextEdit, -QTimeEdit, -QDateEdit, -QDateTimeEdit { - color: #bebebe; - background-color: #2a2a2a; - selection-color: white; - selection-background-color: #624b14 ; - border: 1px solid #2a2a2a; - border-radius: 3px; - min-width: 50px; /* it ensures the default value is correctly displayed */ - min-height: 20px; /* important to be a pair number in order to up/down buttons to be divisible by two (if not set could create a blank line in Ubuntu. Its downside is that it's needed to reset it (min-width: 0px) on following elements that can't have it such as fields inside QToolBar and inside QTreeView (Property editor) */ - padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ -} - -/* more contrast for QTextEdits */ -QTextEdit { - color: black; -} - -/* 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 (like Report view)*/ -QTextEdit:!editable, -QTextEdit:!editable:focus { - background-color: #787878; - border: 1px solid #424242; -} - -QComboBox:focus, -QAbstractSpinBox:focus, -QSpinBox:focus, -QDoubleSpinBox:focus, -QLineEdit:focus, -QTextEdit:focus, -QTimeEdit:focus, -QDateEdit:focus, -QDateTimeEdit:focus { - color: #f5f5f5; - border-color: #624b14; - border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #624b14, stop:1 #624b14); /* same as up/down or drop-down button color */ - background-color: #b28416; -} - -QComboBox:disabled, -QAbstractSpinBox:disabled, -QSpinBox:disabled, -QDoubleSpinBox:disabled, -QLineEdit:disabled, -QTextEdit:disabled, -QTimeEdit:disabled, -QDateEdit:disabled, -QDateTimeEdit:disabled { - color: #545454; - background-color: #2a2a2a; /* same as enabled color */ - border-color: #2a2a2a; /* 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: #2a2a2a; /* 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; -} - -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 #624b14, stop:1 #624b14); -} - -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 #624b14, stop:1 #624b14); -} - -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_dark-light/up_arrow_light.svg); - top: 2px; /* fix symmetry 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_dark-light/up_arrow_lighter.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -QAbstractSpinBox::down-arrow, -QSpinBox::down-arrow, -QDoubleSpinBox::down-arrow, -QTimeEdit::down-arrow, -QDateEdit::down-arrow, -QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -/* ComboBox */ - -QComboBox::drop-down { - background-color: #333333; /* 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 #624b14, stop:1 #624b14); -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QComboBox::down-arrow:off, -QComboBox::down-arrow:disabled { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - -/* ComboBox menu */ -QComboBox { - selection-color: #f5f5f5; - selection-background-color: #b28416; -} - -QComboBox QAbstractItemView { - color: #bebebe; /* same as regular QComboBox color */ - background-color: transparent; - selection-color: #f5f5f5; - selection-background-color: #b28416; - 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 #333333, stop:1 #2a2a2a); - border: 1px solid #2a2a2a; - border-bottom-color: #1e1e1e; /* 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: #e3d8b9; - border-color: #624b14; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #624b14); -} - -QPushButton:disabled, -QPushButton:disabled:checked { - color: #2a2a2a; - background-color: #3c3c3c; /* same as enabled color */ - border-color: #3c3c3c; /* same as enabled color */ -} - -QPushButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #624b14, stop:1 #b28416); -} - -QPushButton:checked { - background-color: #b28416; - border-color: #624b14; -} - -/* 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 #2a2a2a, stop:1 #1e1e1e); - border: 1px solid #1e1e1e; - border-bottom-color: black; /* 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: #624b14; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #624b14); -} - -Gui--ColorButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #624b14, stop:1 #b28416); -} - -/* Pushbutton style for "..." inside Placement cell which launches Placement tool */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QPushButton { - background-color: #2a2a2a; - border: 1px solid #1e1e1e; - 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: #444444; /* main background color */ - border: 1px solid #444444; - border-radius: 2px; - padding: 2px 6px; -} - -QPushButton:checked { - background-color: #b28416; - border-color: #b28416; -} - -/*================================================================================================== -Tool button Icon fix in save dialogs -==================================================================================================*/ -/* found under Tools -> Save Picture */ /* Draft -> ShapeString -> Font file */ - -QFileDialog#QFileDialog QToolButton { - background-color: transparent; - padding: 1px; - border: 1px; - margin: 0px; -} - - -/*================================================================================================== -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 #2a2a2a, stop:1 #1e1e1e); - border: 1px solid #1e1e1e; - border-bottom-color: black; /* 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: #e3d8b9; - border-color: #624b14; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #624b14); -} - -QDialog QToolButton:disabled, -QDialog QToolButton:disabled:checked { - color: #444444; - border-color: #424242; - background-color: #424242; -} - -QDialog QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #624b14, stop:1 #b28416); -} - - -/*================================================================================================== -Tool button inside Task Panel content that works as QPushButtons -==================================================================================================*/ /* found inside Part Design Workbench and "make a draft on a face" Task panel options */ QSint--ActionGroup QFrame[class="content"] QToolButton { - color: #e0e0e0; - text-align: center; - background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #2a2a2a, stop:1 #1e1e1e); - border: 1px solid #1e1e1e; - border-bottom-color: black; /* simulates shadow under the button */ - padding: 2px 6px; /* different than regular QPushButton */ - margin: 2px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 4px; + color: white; + text-align: center; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + border: 0px solid #adadad; + padding: 1px 1px; /* different than regular QPushButton */ + margin: 0px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 1px; } -QSint--ActionGroup QFrame[class="content"] QToolButton:hover, +QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); + +} QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - color: white; - border-color: #624b14; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #624b14); + border: 1px solid #996b00; } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #444444; - border-color: #424242; - background-color: #424242; + color: #696969; + background-color: #1c1b22; } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #624b14, stop:1 #b28416); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); + } -/* QToolButtons with a menu found in Sketcher task panel*/ -QSint--ActionGroup QToolButton::menu-button { - border: none; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - padding: 2px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; +/* QSlider ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + +--------------------------------------------------------------------------- */ +QSlider:disabled { + background: #444444; } -QSint--ActionGroup QToolButton#settingsButton, -QSint--ActionGroup QToolButton#filterButton, -QSint--ActionGroup QToolButton#manualUpdate { - padding-right: 20px; /* make way for the popup button */ -} - -/* to give widget inside the menu same look as regular menu */ -QSint--ActionGroup QToolButton#filterButton QListWidget { - color: #f5f5f5; - background-color: #2a2a2a; - padding: 0px; - margin: 0px; -} - - -/*================================================================================================== -QComboBox inside Task Panel content -==================================================================================================*/ -/* Fix for QComboBox inside Task Panel due to not correctly styling it with regular */ -/* found inside TechDraw Workbench and "insert multiple views" from toolbar */ -/* TODO: external border not working, in the rest of GUI works setting up Qmenu background color but inside Task Panel it doesn't... */ -QSint--ActionGroup QFrame[class="content"] QMenu, -QSint--ActionGroup QFrame[class="content"] QMenu::item { - background-color: #2a2a2a; -} - -QSint--ActionGroup QFrame[class="content"] QComboBox QAbstractItemView { - background-color: #2a2a2a; -} - - -/*================================================================================================== -Radio button -==================================================================================================*/ -QRadioButton::indicator:unchecked{ - color: black; - background-color: rgba(0,0,0,40); - border: 1px solid #787878; -} - -QRadioButton::indicator:checked { - background-color: #b28416; /* QCheckBox has the same color */ - border: 1px solid #b28416; /* QCheckBox has the same color */ - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton, -QRadioButton:disabled { - color: #f5f5f5; - padding: 3px; - outline: none; - background-color: transparent; -} - -QRadioButton:disabled { - color: rgba(255,255,255,40); -} - -QRadioButton::indicator { - width: 11px; - height: 11px; - border-radius: 6px; -} - -QRadioButton::indicator:pressed { - border-color: #e3d8b9; -} - -QRadioButton::indicator:disabled { - color: #424242; - background-color: transparent; - border: 1px solid #424242; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton:focus { - border: none; -} - - -/*================================================================================================== -Checkbox -==================================================================================================*/ -QCheckBox, -QCheckBox:disabled { - color: #f5f5f5; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: black; - background-color: rgba(0,0,0,40); - border: 1px solid #787878; - width: 11px; - height: 11px; - border-radius:2px; -} - -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed, -QGroupBox::indicator:pressed, -QGroupBox::indicator:non-exclusive:checked:pressed, -QGroupBox::indicator:indeterminate:pressed, -QGroupBox::indicator:checked:pressed { - border-color: #e3d8b9; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #b28416; /* QRadioButton has the same color */ - border: 1px solid #b28416; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox:disabled { - color: rgba(255,255,255,40); - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled { - background-color: rgba(0,0,0,0); - border: 1px solid rgba(0,0,0,20); -} - -QCheckBox::indicator:indeterminate, -QGroupBox::indicator:indeterminate { - background-color: #b28416; - border: 1px solid #b28416; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox:focus { - border: none; -} - - -/*================================================================================================== -Checkboxes inside QListWidget and QTreeView -==================================================================================================*/ -QListWidget::indicator, -QTreeView::indicator { - color: #c8c8c8; - background-color: rgba(255,255,255,20); - border: 1px solid #424242; - width: 11px; - height: 11px; - border-radius:2px; -} - -/* fix for QTreeView::indicator losing its margin */ -QTreeView::indicator { - margin: 3px; -} - -QListWidget::indicator:selected, -QTreeView::indicator:selected { - background-color: #e6e6e6; -} - -QListWidget::indicator:checked:selected, -QListWidget::indicator:indeterminate:selected, -QTreeView::indicator:checked:selected, -QTreeView::indicator:indeterminate:selected { - background-color: #b28416; /* slightly lighter than default */ - border-color: #b28416; /* slightly darker than default */ -} - -QListWidget::indicator:pressed, -QListWidget::indicator:non-exclusive:checked:pressed, -QListWidget::indicator:indeterminate:pressed, -QListWidget::indicator:checked:pressed, -QTreeView::indicator:pressed, -QTreeView::indicator:non-exclusive:checked:pressed, -QTreeView::indicator:indeterminate:pressed, -QTreeView::indicator:checked:pressed { - border-color: #e3d8b9; -} - -QListWidget::indicator:checked, -QTreeView::indicator:checked { - background-color: #b28416; /* QRadioButton has the same color */ - border: 1px solid #b28416; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QListWidget::indicator:disabled, -QTreeView::indicator:disabled { - background-color: rgba(255,255,255,20); - border: 1px solid rgba(255,255,255,20); -} - -QListWidget::indicator:indeterminate, -QTreeView::indicator:indeterminate { - background-color: #b28416; - border: 1px solid #b28416; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - - -/*================================================================================================== -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(255,255,255,30); - border: 1px solid rgba(255,255,255,40); - border-radius: 5px; - margin: 4px 0px; +QSlider:focus { + border: 1px solid #996b00; } QSlider::groove:horizontal { - height: 8px; + background: #444444; + border: 1px solid #696968; + height: 4px; + margin: 0px; + border-radius: 1.9px; } QSlider::groove:vertical { - width: 8px; + background: #b28416; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; } -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #424242; - background-color: #424242; +QSlider::add-page:vertical { + background: #b28416; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; } -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #2a2a2a; - border: 1px solid #2a2a2a; - width: 14px; - height: 14px; - border-radius: 8px; +QSlider::add-page:vertical :disabled { + background: #696968; +} + +QSlider::sub-page:horizontal { + background: #b28416; + border: 1px solid #0073ff; + height: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::sub-page:horizontal:disabled { + background: #b28416; } QSlider::handle:horizontal { - margin: -4px 0; + background: #353535; + border: 1px solid #444444; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 1.9px; +} + +QSlider::handle:horizontal:hover { + background: #b28416; + border: 1px solid #b28416; +} + +QSlider::handle:horizontal:focus { + border: 1px solid #996b00; } QSlider::handle:vertical { - margin: 0 -4px; + background: #c2c7cb; + border: 1px solid #696968; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 1.9px; } -QSlider::handle:horizontal:hover, -QSlider::handle:vertical:hover, -QSlider::handle:horizontal:pressed, -QSlider::handle:vertical:pressed { - border-color: #e0c992; - background-color: #b28416; +QSlider::handle:vertical:hover { + background: #b28416; + border: 2px solid #b28416; } -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #424242; - background-color: #424242; +QSlider::handle:vertical:focus { + border: 1px solid #996b00; } +/* QLineEdit -------------------------------------------------------------- -/*================================================================================================== -Toolbar buttons -==================================================================================================*/ -/*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: 0px 2px; - padding: 0px; - min-width: 70px; /* necessary to show its content */ +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + +--------------------------------------------------------------------------- */ +QLineEdit { + background-color: #1c1b22; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #696968; + border-radius: 2px; + color: White; } -QToolBar > QComboBox, -QToolBar > QAbstractSpinBox, -QToolBar > QSpinBox, -QToolBar > QDoubleSpinBox, -QToolBar > QLineEdit, -QToolBar > QTextEdit, -QToolBar > QTimeEdit, -QToolBar > QDateEdit, -QToolBar > QDateTimeEdit { - min-height: 0px; /* reset it inside Tool Bar due to the user ability to set the "size of toolbar icons" inside Preferences */ +QLineEdit:disabled { + background-color: #444444; + color: #c2c7cb; } -QToolBar > QPushButton { - padding: 0px; - margin: 1px; /* doesn't work with :left, :right:, :top or :bottom sub-controls */ - min-width: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - min-height: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - border-radius: 4px; /* same as regular QPushButton */ +QLineEdit:hover { + border: 1px solid #b28416; + color: White; } -QToolBar > QPushButton:checked { - border: 1px solid #e3b64d; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #b28416); +QLineEdit:focus { + border: 2px solid #996b00; } -QToolBar > QPushButton:!checked { - background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #444444, stop:1 #3c3c3c); - border: 1px solid #424242; - border-bottom-color: #333333; /* simulates shadow under the button */ - text-align: left; /* bug fix #4559 */ +QLineEdit:selected { + background-color: #b28416; + color: white; } -QToolBar > QPushButton:checked:hover { - border-color: #e2ac2a; +/* QTabWiget -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabWidget { + padding: 2px; + selection-background-color: #b28416; } -QToolBar > QPushButton:!checked:hover { - color: #e3d8b9; - border-color: #333333; +QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 1.9px; } -QToolBar > QPushButton:checked:pressed { - background-color: #b28416; +QTabWidget::pane { + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; } -QToolBar > QPushButton:!checked:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #424242, stop:1 #444444); +QTabWidget::pane:selected { + background-color: #b28416; + border: 1px solid #346792; +} +/* QTabBar ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + /* left: 5px; move to the right by 5px - removed for fix */ } -QToolBar > QPushButton:checked:disabled, -QToolBar > QPushButton:!checked:disabled { - border: none; - background-color: transparent; +QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 1px; + image: url(qss:images_dark-light/close_light.svg); } -QToolBar > QToolButton { - margin: 2px; - padding: 2px; - border-radius: 3px; +QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + /*background-color: rgba(255, 0, 0, 0.3);*/ } -QToolBar > QToolButton:hover { - background-color: rgba(255,255,255,20); +QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(qss:images_dark-light/close_.svg); } -QToolBar > QToolButton:pressed { - background-color: rgba(255,255,255,30); +QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ + padding: 4px; } -/* 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; +QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + color: #adadad; } -QToolBar > QToolButton#qt_toolbutton_menubutton:hover, -QToolBar > QToolButton#qt_toolbutton_menubutton:pressed, -QToolBar > QToolButton#qt_toolbutton_menubutton:open { - border: 1px solid #e3b64d; +QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + color: #adadad; } -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; +QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + color: #adadad; } -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 #b28416, stop:1 #e3b64d); +QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + color: #adadad; } -QToolBar > QToolButton::menu-arrow { - background-image: url(qss:images_dark-light/down_arrow_dark.svg); - background-position: center center; - background-repeat: none; - subcontrol-origin: padding; - subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ +QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + color: #adadad; } -QToolBar > QToolButton::menu-arrow:hover { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); +QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + color: #adadad; + } -QToolBar > QToolButton::menu-arrow:open { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); +QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + color: #adadad; + } -/* when QToolButton is checked: */ -QToolBar > QToolButton:checked { - border: 1px solid #e3b64d; - background-color: rgba(124,171,249,60); /* transparency for #e3b64d color */ +QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + color: #adadad; } -QToolBar > QToolButton:checked:hover { - border: 1px solid #e3b64d; - background-color: rgba(124,171,249,80); /* transparency for #e3b64d color */ +QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + color: #adadad; } -/*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_dark-light/more_dark.svg);*/ - image: transparent; - background-repeat: none; - background-position: center left; +QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + color: #adadad; } -QToolBar QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #424242; - background-color: #424242; +QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + color: #adadad; } -QToolBar QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #424242; - background-color: #424242; +QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + color: #adadad; } - -/*================================================================================================== -Tables (spreadsheets) -==================================================================================================*/ -QTableView { - gridline-color: #a0a0a0; - selection-color: #624b14; - selection-background-color: #e0c992; +QTabBar::tab:top, QDockWidget QTabBar::tab:top { + color: #696969; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; } -QTableView::item:hover { - background-color: rgba(0,0,0,10); /* temporal: is it displayed in Linux or Windows? on OSX it isn't */ +QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + color: white; + border-top: 4px solid #b28416; /* selection color */ + border-bottom: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + } + +QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + /*border: 1px solid #b28416;*/ + border: 0px solid #b28416; + background-color: #b28416; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; } -QTableView::item:disabled { - color: #333333; +QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + color: #adadad; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-top: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; } -QTableView::item:selected { - color: #624b14; - border-color: #e3d8b9; /* same as focused background color */ - border-bottom-color: #e3b64d; /* same as focused border color */ +QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + color: white; + border-bottom: 4px solid #b28416; /* selection color */ + border-top: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + } -/* fix for elements inside the cells */ -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit, -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - border-radius: 0px; +QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { +/*border: 1px solid #b28416;*/ + border: 0px solid #b28416; + background-color: #b28416; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; } -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit { - color: black; - background-color: transparent; - border-color: transparent; +QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #444444; + margin-top: 2px; + margin-left:10px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 4px; + min-height: 5px; } -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - background-color: rgba(0,0,0,30); +QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #444444; + border: 0px solid #996b00; } -QTableView > QWidget > QComboBox:focus, -QTableView > QWidget > QAbstractSpinBox:focus, -QTableView > QWidget > QSpinBox:focus, -QTableView > QWidget > QDoubleSpinBox:focus, -QTableView > QWidget > QLineEdit:focus, -QTableView > QWidget > QTextEdit:focus, -QTableView > QWidget > QTimeEdit:focus, -QTableView > QWidget > QDateEdit:focus, -QTableView > QWidget > QDateTimeEdit:focus { - color: #624b14; - selection-color: white; - selection-background-color: #b28416; - border-color: #e3d8b9; - background-color: #e3d8b9; +QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 0px solid #b28416; + background-color: #b28416; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; } -QTableView > QWidget > QComboBox:disabled, -QTableView > QWidget > QAbstractSpinBox:disabled, -QTableView > QWidget > QSpinBox:disabled, -QTableView > QWidget > QDoubleSpinBox:disabled, -QTableView > QWidget > QLineEdit:disabled, -QTableView > QWidget > QTextEdit:disabled, -QTableView > QWidget > QTimeEdit:disabled, -QTableView > QWidget > QDateEdit:disabled, -QTableView > QWidget > QDateTimeEdit:disabled { - color: rgba(0,0,0,120); - background-color: transparent; - border-color: transparent; +QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #444444; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + min-height: 5px; + border: 10px; } -QTableView > QWidget > QComboBox:read-only, -QTableView > QWidget > QAbstractSpinBox:read-only, -QTableView > QWidget > QSpinBox:read-only, -QTableView > QWidget > QDoubleSpinBox:read-only, -QTableView > QWidget > QLineEdit:read-only, -QTableView > QWidget > QTextEdit:read-only, -QTableView > QWidget > QTimeEdit:read-only, -QTableView > QWidget > QDateEdit:read-only, -QTableView > QWidget > QDateTimeEdit:read-only { - color: black; - background-color: transparent; - border-color: transparent; +QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #444444; + border: 0px solid #996b00; } - -/*================================================================================================== -SELECTORTOOLBAR widget (3rd party plugin) -==================================================================================================*/ -QToolBar:horizontal#Selector, -QToolBar:vertical#Selector { - background-color: rgba(0,0,0,120); - margin: 0px; - padding: 0px; +QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 0px solid #b28416; + background-color: #b28416; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; } -QToolBar::handle:top#Selector, -QToolBar::handle:bottom#Selector, -QToolBar::handle:horizontal#Selector { - alignment: bottom left; +QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #444444; + height: 12px; + width: 12px; } -QToolBar::handle:left#Selector, -QToolBar::handle:right#Selector, -QToolBar::handle:vertical#Selector { - width: 100%; - alignment: center left; +QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + border: 0px solid #b28416; + background-color: #b28416; } -QToolBar:top#Selector QToolButton, -QToolBar:bottom#Selector QToolButton, -QToolBar:horizontal#Selector QToolButton { - alignment: bottom left; +QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 0px solid #b28416; + background-color: #b28416; } -QToolBar:left#Selector QToolButton, -QToolBar:right#Selector QToolButton, -QToolBar:vertical#Selector QToolButton { - alignment: center left; +QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_lighter.svg); } -QToolButton[toolbar_orientation="horizontal"] { - /* nothing, when Horizontal there's no need to add special parameters */ +QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(qss:images_dark-light/left_arrow_disabled_light.svg); } -QToolButton[toolbar_orientation="vertical"] { - /* nothing, when Horizontal there's no need to add special parameters */ +QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_lighter.svg); } -QToolBar#Selector QToolButton { - border: none; - margin: 0px; - padding: 2px 6px; - border-radius: 0px; +QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(qss:images_dark-light/right_arrow_disabled_light.svg); } -/* Active tab */ -QToolBar#Selector QToolButton:checked { +/* QDockWiget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QDockWidget { + background-color: #444444; + border: 1px solid #2a2a2a; + border-radius: 1.9px; + titlebar-close-icon: url(qss:images_dark-light/transparent.svg); + titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); +} + +QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + text-align: center; + font-weight: bold; +} + +QDockWidget::close-button { + icon-size: 10px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/close_light.svg); +} + +QDockWidget::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); +} + +QDockWidget::close-button:pressed { + image: url(qss:images_dark-light/close_light.svg); +} + +QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/undock_light.svg); +} + +QDockWidget::float-button:hover { + /*background-color: #b28416;*/ + image: url(qss:images_dark-light/undock_blue.svg); +} + +QDockWidget::float-button:pressed { + image: url(qss:images_dark-light/undock_light.svg); +} + +/* QTreeView QListView QTableView ----------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + +--------------------------------------------------------------------------- */ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_light.svg) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_light.svg) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; +} + +QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; +} + +QTreeView::indicator:checked, +QListView::indicator:checked, +QTableView::indicator:checked, +QColumnView::indicator:checked { + image: url(qss:images_dark-light/checkbox_light.svg); +} + +QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, +QListView::indicator:checked:hover, +QListView::indicator:checked:focus, +QListView::indicator:checked:pressed, +QTableView::indicator:checked:hover, +QTableView::indicator:checked:focus, +QTableView::indicator:checked:pressed, +QColumnView::indicator:checked:hover, +QColumnView::indicator:checked:focus, +QColumnView::indicator:checked:pressed { + image: url(qss:images_dark-light/checkbox_light_hover.svg); +} + +QTreeView::indicator:unchecked, +QListView::indicator:unchecked, +QTableView::indicator:unchecked, +QColumnView::indicator:unchecked { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, +QListView::indicator:unchecked:hover, +QListView::indicator:unchecked:focus, +QListView::indicator:unchecked:pressed, +QTableView::indicator:unchecked:hover, +QTableView::indicator:unchecked:focus, +QTableView::indicator:unchecked:pressed, +QColumnView::indicator:unchecked:hover, +QColumnView::indicator:unchecked:focus, +QColumnView::indicator:unchecked:pressed { + image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); +} + +QTreeView::indicator:indeterminate, +QListView::indicator:indeterminate, +QTableView::indicator:indeterminate, +QColumnView::indicator:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, +QListView::indicator:indeterminate:hover, +QListView::indicator:indeterminate:focus, +QListView::indicator:indeterminate:pressed, +QTableView::indicator:indeterminate:hover, +QTableView::indicator:indeterminate:focus, +QTableView::indicator:indeterminate:pressed, +QColumnView::indicator:indeterminate:hover, +QColumnView::indicator:indeterminate:focus, +QColumnView::indicator:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView, +QListView, +QTableView, +QColumnView { + background-color: #444444; /* background of a lot of stuff including spreadsheets.*/ + border: 0px solid #696968; + color: White; + gridline-color: #696968; + border-radius: 0px; +} + +QTreeView:disabled, +QListView:disabled, +QTableView:disabled, +QColumnView:disabled { + background-color: #1c1b22; + color: #c2c7cb; +} + +QTreeView:selected, +QListView:selected, +QTableView:selected, +QColumnView:selected { + background-color: #b28416; + color: White; +} + +QTreeView:focus, +QListView:focus, +QTableView:focus, +QColumnView:focus { + border: 1px solid #996b00; +} + +QTreeView::item:pressed, +QListView::item:pressed, +QTableView::item:pressed, +QColumnView::item:pressed { + background-color: #b28416; +} + +QTreeView::item:selected:active, +QListView::item:selected:active, +QTableView::item:selected:active, +QColumnView::item:selected:active { + background-color: #b28416; +} + +QTreeView::item:selected:!active, +QListView::item:selected:!active, +QTableView::item:selected:!active, +QColumnView::item:selected:!active { + color: White; + background-color: #353535; +} + +QTreeView::item:!selected:hover, +QListView::item:!selected:hover, +QTableView::item:!selected:hover, +QColumnView::item:!selected:hover { + outline: 0; + color: White; + background-color: #b28416; +} + +QTableCornerButton::section { + background-color: #444444; + border: 1px transparent #696968; + border-radius: 0px; +} + +QTableView::item { color: white; - background-color: #444444; +} +QTableView { + /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ + /*qproperty-aliasBgColor: #f700ff;*/ } -/* Unactive tabs */ -QToolBar#Selector QToolButton:!checked { - color: rgba(255,255,255,160); - background-color: transparent; - margin: 0px; +/* QHeaderView ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + +--------------------------------------------------------------------------- */ +QHeaderView { + background-color: transparent; + text-align: center; } -/* Unactive tabs (hover) */ -QToolBar#Selector QToolButton:!checked:hover { - color: rgba(255,255,255,255); - background-color: rgba(255,255,255,20); +QHeaderView:disabled { + background-color: #444444; + color: rgb(174, 174, 174); } -/* Unactive tabs (pressed) */ -QToolBar#Selector QToolButton:!checked:pressed { - background-color: rgba(255,255,255,40); +QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + color: White; + border: 1px solid #2a2a2a; + font-size: 13px; + font-weight: bold; } - -/*================================================================================================== -TABBAR widget (3rd party plugin) -==================================================================================================*/ -QTabWidget#TabBar > QTabBar { - border-top: 0; +QHeaderView::section::horizontal { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 5px; + padding-right: 0px; } -QTabWidget#TabBar > QTabBar::tab:top, -QTabWidget#TabBar > QTabBar::tab:bottom { - min-width: -1; +QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 0px solid #696968; } -QTabWidget#TabBar > QTabBar::tab:left, -QTabWidget#TabBar > QTabBar::tab:right { - min-height: -1; +QHeaderView::section::horizontal:disabled { + color: #353535; } - -/*================================================================================================== -EXPERIMENTAL -==================================================================================================*/ - -/* Fix for preventing elements in different rows to accidentally overlap */ -QDialog QGroupBox QFrame { - margin: 2px 0px; +QHeaderView::section::vertical { + padding-top: 1px; + padding-bottom: 0; + padding-left: 1px; + padding-right: 0px; + border-top: 0px solid #2a2a2a; } -*[mandatoryField="true"] { background-color: cyan } - -/* Hack to avoid QPushButton text partially hidden under menu-indicator */ -QPushButton#NavigationIndicator::menu-indicator { - image: none; - width: 0px; +QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 2px solid #2a2a2a; } -QToolBar QToolButton[popupMode="1"] { - width: 100px; - background: red; +QHeaderView::section::vertical:disabled { + border-top: 2px solid #2a2a2a; } -/*================================================================================================== -SKETCHER -==================================================================================================*/ +QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/down_arrow_light.svg); +} -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ +QHeaderView::up-arrow { + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/up_arrow_light.svg); } -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ + +/* QToolBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox +used in PATH + +--------------------------------------------------------------------------- */ +QToolBox { + padding: 0px; + border: 1px solid #696969; + border-radius: 4px; + background-color: transparent; } -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ + +QToolBox:selected { + padding: 0px; + border: 0px solid #b28416; } -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ + +QToolBox::tab { + background-color: transparent; + border: 0px solid #696969; + color: white; + background-image: url(qss:images_dark-light/down_arrow_lighter.svg); + background-repeat: none; + background-position: center left; } -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ + +QToolBox::tab:disabled { + color: #696969; } -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ + +QToolBox::tab:selected { + background-color: #696969; + background-image: url(qss:images_dark-light/transparent.svg); + padding-right: 5px; + background-repeat: none; } -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; + +QToolBox::tab:selected:disabled { + background-color: #696969; + border-bottom: 0px solid #cccccc; + color: white; } -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; + +QToolBox::tab:!selected { + } -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; + +QToolBox::tab:!selected:disabled { + background-color: #444444; } + +QToolBox::tab:hover { + background-color: #b28416; + } + +QToolBox QScrollArea QWidget QWidget { + padding: 0px; + border: 0px; + background-color: transparent; +} + +/* QFrame ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe +https://doc.qt.io/qt-5/qframe.html#-prop +https://doc.qt.io/qt-5/qframe.html#details +https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + +--------------------------------------------------------------------------- */ +/* (dot) .QFrame fix #141, #126, #123 */ +.QFrame { + border-radius: 0px; + border: 0px solid #696968; + background-color: #696969; + /* No frame */ + /* HLine */ + /* HLine */ +} + +.QFrame[frameShape="0"] { + border-radius: 1.9px; + border: 1px solid #696968; +} + +.QFrame[frameShape="4"] { + max-height: 1px; + border: none; + background-color: #696968; +} + +.QFrame[frameShape="5"] { + max-width: 1px; + border: none; + background-color: #444444; +} + +/* QSplitter -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter + +--------------------------------------------------------------------------- */ +QSplitter { + background-color: #3c3c3c; + spacing: 1px; + padding: 1px; + margin: 1px; +} + +QSplitter::handle { + margin: 0px 0px; + padding: 0px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + width: 1px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + height: 1px; +} + +QSplitter::handle:hover { + background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); + background-position: center center; + background-repeat: none; + background-color: #b28416; +} + +/* QDateEdit, QDateTimeEdit ----------------------------------------------- + +--------------------------------------------------------------------------- */ +QDateEdit, QDateTimeEdit { + selection-background-color: #b28416; + border-style: solid; + border: 1px solid #696968; + border-radius: 1.9px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; +} + +QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #b28416; +} + +QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #696968; +} + +QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 8px; + width: 8px; +} + +QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + +QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #444444; + border-radius: 2px; + border: 1px solid #696968; + selection-background-color: #b28416; +} + +/* QAbstractView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractView:hover { + border: 1px solid #b28416; + color: White; +} + +QAbstractView:selected { + background: #b28416; + color: White; +} + +/* PlotWidget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; +} \ No newline at end of file diff --git a/src/Gui/Stylesheets/Darker-pink.qss b/src/Gui/Stylesheets/Darker-pink.qss new file mode 100644 index 0000000000..2f9f7b7c6a --- /dev/null +++ b/src/Gui/Stylesheets/Darker-pink.qss @@ -0,0 +1,2528 @@ +/* +ABOUT +============================================================================================================ +Revised stylesheet based on the orignal from Pablo Gil Fernández made by MisterMaker + +KNOWN BUGS and TO DO +============================================================================================================ +Please, follow the link to get updated information: +https://forum.freecad.org/viewtopic.php?t=78431 + +INSTALLATION WHEN NECESSARY +============================================================================================================ +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/ + +============================================================================================================ +TO MODIFY USE THESE COLORS: + #b216a0 + #770069 + + +See Qt documentation: + + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ + + +/* Reset elements ------------------------------------------------------------ + +Resetting everything helps to unify styles across different operating systems + +--------------------------------------------------------------------------- */ +* { + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; + border-image: none; + outline: 0; +} + +/* specific reset for elements inside QToolBar */ +QToolBar * { + margin: 0px; + padding: 0px; +} + +/*hacks */ + 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; + +} +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 1px; + margin: 0px; + padding: 0px; +} + +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; + +} + +/*================================================================================================== +Main window +==================================================================================================*/ +QMainWindow, +QDialog, +QDockWidget, +QToolBar { + background-color: #444444; /* main background color */ +} + +QMdiArea { + background-image: url(qss:images_dark-light/background_freecad_dark.svg); + background-position: center center; + background-repeat: no-repeat; +} +/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ +Gui--NavigationIndicatorGui--BlenderNavigationStyle { +/*QAction#a4 {*/ + qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); +} +/*===== +/* QWidget ---------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QWidget { + background-color: #444444; + border: 0px solid #696968; + padding: 0px; + color: White; + selection-background-color: #b216a0; + selection-color: White; +} + +QWidget:disabled { + background-color: transparent; + color: #c2c7cb; + selection-background-color: #b216a0; + selection-color: #c2c7cb; +} + +QWidget::item:selected { + background-color: #b216a0; +} + + /* Causes issue with colorselector. + QWidget::item:hover:!selected { + background-color: #b216a0; + }*/ + +/* QMainWindow ------------------------------------------------------------ + +This adjusts the splitter in the dock widget, not qsplitter +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow + +--------------------------------------------------------------------------- */ +QMainWindow::separator { + /*background-color: #3c3c3c;*/ + border: 0px solid #696968; + spacing: 0px; + padding: 1px; +} + +QMainWindow::separator:vertical:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #b216a0, stop:0.8 transparent); + /*background-color: #b216a0;*/ + image: url(qss:images_dark-light/splitter_vertical_light.svg); +} + +QMainWindow::separator:horizontal:hover { + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #b216a0, stop:0.8 transparent); + /*background-color: #b216a0;*/ + image: url(qss:images_dark-light/splitter_horizontal_light.svg); +} + +QMainWindow::separator:horizontal { + width: 4px; + margin-top: 0.1px; + margin-bottom: 0.1px; + /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ +} + +QMainWindow::separator:vertical { + height: 4px; + margin-left: 0.1px; + margin-right: 0.1px; + /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ +} + +/* QToolTip --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + +--------------------------------------------------------------------------- */ +QToolTip { + background-color: #1c1b22; + color: White; + /* If you remove the border property, background stops working on Windows */ + border: none; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ +} + +/* QStatusBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + +--------------------------------------------------------------------------- */ +QStatusBar { + border: 0px solid #3c3c3c; + /* Fixes Spyder #9120, #9121 */ + background: #444444; + /* Fixes #205, white vertical borders separating items */ +} + +QStatusBar::item { + border: none; +} + +QStatusBar QToolTip { + background-color: #444444; + border: 1px solid #696968; + color: #444444; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; +} + +QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; +} + +/* QCheckBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + +--------------------------------------------------------------------------- */ +QCheckBox { + color: white; + padding: 0px; + outline: none; + border: 1px solid transparent; + background-color: transparent; +} + +QCheckBox:focus { + border: 1px solid #770069; +} + +QCheckBox QWidget:disabled { + background-color: transparent; + color: #c2c7cb; +} + +QCheckBox::indicator { + color: white; + background-color: #1c1b22; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked { + background-color: #1c1b22; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { + background-color: #b216a0; + image:url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QCheckBox::indicator:unchecked:disabled { + background-color: #444444; + image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QCheckBox::indicator:checked { + background-color: #1c1b22; + /*border: 1px solid #696968; /* QRadioButton has the same color */ + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { + background-color: #b216a0; +} + +QCheckBox::indicator:checked:disabled { + background-color: #444444; + image: url(qss:images_dark-light/check_light.svg); +} + +QCheckBox::indicator:indeterminate { + background-color: #1c1b22; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QCheckBox::indicator:indeterminate:disabled { + background-color: #444444; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + background-color: #b216a0; /* QRadioButton has the same color */ +} + +/* QGroupBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + +--------------------------------------------------------------------------- */ +QGroupBox { + font-weight: bold; + border: 1px solid #696968; + border-radius: 1.9px; + padding: 2px; + margin-top: 10px; + margin-bottom: 4px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: 6px; +} + +QGroupBox::indicator { + color: white; + background-color: #3c3c3c; + border: 1px solid #696968; + width: 12px; + height: 12px; + border-radius:1px; +} + +QGroupBox::indicator:unchecked { + background-color: #696968; + border: 1px solid #696968; + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + background-color: #b216a0; +} + +QGroupBox::indicator:unchecked:disabled { + background-color: #1c1b22; + border: 1px solid #696968; +} + +QGroupBox::indicator:checked { + border: none; + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + background-color: #b216a0; +} + +QGroupBox::indicator:checked:disabled { + background-color: #b216a0; +} + +/* QRadioButton ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + +--------------------------------------------------------------------------- */ +QRadioButton { + background-color: transparent; + color: White; + border: none; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + outline: none; +} + +QRadioButton:focus { + border: 1px solid #770069; +} + +QRadioButton:disabled { + background-color: #696968; + color: #353535; +} + +QRadioButton QWidget { + background-color: transparent; + color: White; + spacing: 0px; + padding: 0px; + outline: none; + border: none; +} + +QRadioButton::indicator { + background-color: #3c3c3c; + border: 1px solid #696968; + border-radius: 6px; + margin-left: 0px; + height: 11px; + width: 11px; +} + +QRadioButton::indicator:unchecked { + /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ +} + +QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { + background-color: #b216a0; + border: 1px solid #b216a0; + border-radius: 6px; +} + +QRadioButton::indicator:unchecked:disabled { + /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ + border: 1px solid #696968; +} + +QRadioButton::indicator:checked { + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { + background-color: #b216a0; + border: 1px solid #b216a0; + border-radius: 6px; + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +QRadioButton::indicator:checked:disabled { + outline: none; + background-color: #696968; + image:url(qss:images_dark-light/radiobutton_dark.svg); +} + +/* QMenuBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + +--------------------------------------------------------------------------- */ +QMenuBar { + background-color: #161616; + /*padding: 1px; + border: 0px solid rgba(0,0,0,140);*/ + color: White; + selection-background-color: #b216a0; +} + +QMenuBar:focus { + border: 1px solid #770069; +} + +QMenuBar::item { + background: transparent; + /*padding-left:5px; + padding-right: 5px; + padding-bottom: 1px; + padding-top: 1px;*/ +} + +QMenuBar::item:selected { + background: transparent; + border: 0px solid #696968; + background-color: #b216a0; +} + +QMenuBar::item:pressed { + /*padding: 2px; + padding-left: 10px; + padding-right: 10px;*/ + border: 0px solid #696968; + background-color: #b216a0; + color: White; + /*margin-bottom: 0px; + padding-bottom: 0px;*/ +} + +/* QMenu ------------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + +--------------------------------------------------------------------------- */ +QMenu { + border-bottom: 2px rgba(0,0,0,140); + border-right: 2px rgba(0,0,0,140); + color: White; + margin: 0px; + background-color: #161616; + selection-background-color: #b216a0; +} + +QMenu::separator { + height: 2px; + background-color: #3c3c3c; + margin-left: 30%; + margin-right: 30%; +} + +QMenu::item { + background-color: transparent; + padding: 2px 2px; /* make room for icon at left */ + /* Reserve space for selection border */ + border: 0px transparent #696968; +} + +QMenu::item:selected { + color: White; + background-color: #b216a0; +} + +QMenu::item:pressed { + background-color: #b216a0; +} + +QMenu::icon { + margin-left: 5px; + width: 14px; + height: 14px; +} + +QMenu::indicator { + margin-left: 2px; + margin-right: 2px; + padding: 0px; + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ +} + +QMenu::icon:checked { /* appearance of a 'checked' icon */ + background: #770069; + margin-left: -5px; + border: 5px solid #770069; + position: absolute; + border-radius: 0px; +} +QMenu::indicator:non-exclusive:unchecked { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { + border: none; + image: url(qss:images_dark-light/checkbox_unchecked_focus.png); +} + +QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QMenu::indicator:non-exclusive:checked { + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + background: #b216a0; + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:checked:disabled { + image:url(qss:images_dark-light/checkbox_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QMenu::indicator:exclusive:unchecked { + image: url(qss:images_dark-light/transparent.svg); +} + +QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { + border: none; + outline: none; + background: #b216a0; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); +} + +QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + background: #b216a0; + image: url(qss:images_dark-light/checkbox_unchecked_light.svg); +} + +QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(qss:images_dark-light/radiobutton_light.svg); +} + +QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image:url(qss:images_dark-light/right_arrow_lighter.svg); + height: 12px; + width: 12px; + background-color: transparent; +} + +/* QAbstractItemView ------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QAbstractItemView { + alternate-background-color: #5b5b5b; + color: White; + border: 1px solid #696968; + border-radius: 2px; +} + +QAbstractItemView QLineEdit { + padding: 2px; +} + +/* QAbstractScrollArea ---------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QAbstractScrollArea { + background-color: transparent; + border: 0px solid #696968; + border-radius: 0px; + /* fix #159 */ + padding: 0px; + /* remove min-height to fix #244 */ + color: White; +} + +QAbstractScrollArea:disabled { + color: #353535; +} + +/* QScrollArea ------------------------------------------------------------ + +--------------------------------------------------------------------------- +text input field disabled!!!!*/ +QScrollArea QWidget:disabled { + background-color: #444444; +} + +/* QScrollBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + +--------------------------------------------------------------------------- */ +QScrollBar:horizontal { + height: 16px; + margin: 2px 8px 2px 8px; + border: 0px solid #696968; + border-radius: 4px; + background-color: #444444; +} + +QScrollBar:vertical { + background-color: #444444; + width: 16px; + margin: 8px 2px 8px 2px; + border: 0px solid #696968; + border-radius: 4px; +} + +QScrollBar::handle:horizontal { + background-color: #696969; + border: 1px solid #444444; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:hover { + background-color: #b216a0; + border: #696968; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:focus { + border: 1px solid #770069; +} + +QScrollBar::handle:vertical { + background-color: #696969; + border: 1px solid #696968; + min-height: 8px; + border-radius: 4px; +} + +QScrollBar::handle:vertical:hover { + background-color: #b216a0; + border: #696968; + border-radius: 4px; + min-height: 8px; +} + +QScrollBar::handle:vertical:focus { + border: 1px solid #770069; +} + +QScrollBar::add-line:horizontal { + border-image: url(qss:images_dark-light/right_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + border-image: url(qss:images_dark-light/down_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/left_arrow_light.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images_dark-light/left_arrow_lighter.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/up_arrow_light.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + border-image: url(qss:images_dark-light/up_arrow_lighter.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; +} + +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +/* QTextEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + + +report view +--------------------------------------------------------------------------- */ +QTextEdit { + background-color: #444444; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; +} + +QTextEdit:focus { + border: 1px solid #770069; +} + +QTextEdit:selected { + background: #346792; + color: white; +} + +/* QPlainTextEdit --------------------------------------------------------- +Python +--------------------------------------------------------------------------- */ +QPlainTextEdit { + background-color: #3c3c3c; + color: White; + border-radius: 1.9px; + border: 0px solid #696968; +} + +QPlainTextEdit:focus { + border: 1px solid #770069; +} + +QPlainTextEdit:selected { + background: #b216a0; + color: White; +} + +/* QSizeGrip -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + +--------------------------------------------------------------------------- */ +QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/sizegrip_light.svg); +} + +/* QStackedWidget --------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QStackedWidget { + padding: 0px; + border: 0px solid #696968; +} + +/* QToolBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + +--------------------------------------------------------------------------- */ +QToolBar { + background-color: #444444; + border-bottom: 0px solid rgba(0,0,0,120); + padding: 1px; + font-weight: bold; + spacing: 1px; +} + +QToolBar:disabled { + /* Fixes #272 */ + background-color: #444444; +} + +QToolBar::handle:horizontal { + width: 8px; + margin: 3px 3px; + background-position: top right; + background-repeat: repeat-y; + background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); +} + +QToolBar::handle:vertical { + height: 8px; + margin: 3px 3px; + background-position: left bottom; + background-repeat: repeat-x; + background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); +} + +QToolBar::separator:horizontal { + width: 2px; + margin: 4px 4px; + background-color: transparent; +} + +QToolBar::separator:vertical { + height: 2px; + margin: 4px 4px; + background-color: transparent; +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ +QToolButton#qt_toolbar_ext_button { +margin: 0px; +padding: 0px; +background-color: #696969; +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +background-repeat: none; +background-position: center center; +} + +QToolButton#qt_toolbar_ext_button:hover { +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +background-color: #b216a0; +} + +QToolButton#qt_toolbar_ext_button:on { +/*background-image: url(qss:images_dark-light/more_light.svg);*/ +border-color: #696968; +background-color: #b216a0; +} + + +/* QAbstractSpinBox ------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractSpinBox, +QSpinBox { + background-color: #1c1b22; + border: 1px solid transparent; + color: White; + /* This fixes 103, 111 */ + /* padding-top: 0px; + /* This fixes 103, 111 */ + /*padding-bottom: 0px; + /*padding-left: 4px; + /*padding-right: 4px; + border-radius: 1.9px;*/ + min-height: 1.7em; + /* min-width: 5px; removed to fix 109 */ +} + +QAbstractSpinBox:up-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + subcontrol-origin: border; + subcontrol-position: top right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-bottom: -1px;*/ +} + +QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_light.svg); + /* height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_lighter.svg); +} + +QAbstractSpinBox:down-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + subcontrol-origin: border; + subcontrol-position: bottom right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-top: -1px;*/ +} + +QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + /*height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + +QAbstractSpinBox:hover { + /*border: 1px solid #b216a0; + color: White;*/ +} + +QAbstractSpinBox:focus { + border: 1px solid #770069; +} + +QAbstractSpinBox:selected { + background: #770069; + /*color: White;*/ +} + +/* ------------------------------------------------------------------------ */ +/* DISPLAYS --------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QLabel ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + +--------------------------------------------------------------------------- */ +QLabel { + background-color: transparent; + border: 0px solid #696968; + padding: 2px; + margin: 0px; + color: White; +} + +QLabel:disabled { + background-color: transparent; + border: 0px solid #696968; + color: #c2c7cb; +} + +QLabel[haslink="true"] { + color: orange; +} + + +/* QTextBrowser ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QTextBrowser { + background-color: #1c1b22; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; +} + +QTextBrowser:disabled { + background-color: #444444; + border: 1px solid #696968; + color: #c2c7cb; + border-radius: 1.9px; +} + +QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #b216a0; +} + +/* QGraphicsView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QGraphicsView { + background-color: transparent; + border: 0px solid #b216a0; + color: White; + border-radius: 0px; +} + +QGraphicsView:disabled { + background-color: #1c1b22; + border: 0px solid #696968; + color: #c2c7cb; + border-radius: 0px; +} + +QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 0px solid #ff00f7; +} + +/* QCalendarWidget -------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCalendarWidget { + border: 1px solid #696968; + border-radius: 1.9px; +} + +QCalendarWidget:disabled { + background-color: #353535; + color: #c2c7cb; +} + +/* QLCDNumber ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QLCDNumber { + background-color: #1aff00; + color: White; +} + +QLCDNumber:disabled { + background-color: #444444; + color: #c2c7cb; +} + +/* QProgressBar ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + +--------------------------------------------------------------------------- */ +QProgressBar { + background-color: #c2c7cb; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar:disabled { + background-color: #161616; + border: 1px solid #696968; + color: #696969; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #b216a0; + color: #444444; + border-radius: 1.9px; +} + +QProgressBar::chunk:disabled { + background-color: #161616; + color: #696968; + border-radius: 1.9px; +} + +/* ------------------------------------------------------------------------ */ +/* BUTTONS ---------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QPushButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + +--------------------------------------------------------------------------- */ +QPushButton { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + color: White; + border: 1px solid #2a2a2a; + border-bottom-color: #1e1e1e; /* simulates shadow under the button */ + border-radius: 4px; + padding: 2px; +} + +QPushButton:disabled { + background-color: #444444; + color: #c2c7cb; + +} + +QPushButton:checked { + background-color: #b216a0; + outline: none; +} + +QPushButton:checked:disabled { + background-color: #b216a0; + color: #3c3c3c; + outline: none; +} + +QPushButton:checked:selected { + background: #b216a0; +} + +QPushButton:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b216a0, stop:1 #770069); + color: White; +} + +QPushButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #770069, stop:1 #b216a0); +} + +QPushButton:selected { + background: #770069; + color: White; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + bottom: 4px; +} + +QDialogButtonBox QPushButton { + /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; +} + +/* QToolButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + +--------------------------------------------------------------------------- */ +QToolButton { + background-color: transparent; + color: White; + border-radius: 1px; + padding: 0px; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ +} + +QToolButton:disabled { + background-color: rgba(0, 0, 0, 0.065); + color: #c2c7cb; + border-radius: 1px; + padding: 0px; +} + +QToolButton:checked { + background-color: #b216a0; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:disabled { + background-color: #b65555; + color: #c2c7cb; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:hover { + background-color: #b216a0; + color: White; +} + +QToolButton:checked:pressed { + background-color: #b216a0; +} + +QToolButton:checked:selected { + background: #770069; + color: White; +} + +QToolButton:hover { + background-color: #b216a0; + color: White; +} + +QToolButton:pressed { + background-color: #770069; +} + +QToolButton:selected { + background: #b216a0; + color: White; +} + +QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 20px; +} + +QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; +} +QToolButton[popupMode="0"]::menu-button { + border: none; +} + +QToolButton[popupMode="0"]::menu-button:hover { + border: none; + border-left: 2px solid #fe0000; + border-radius: 0px; +} +QToolButton[popupMode="1"]::menu-button { + border: none; +} + +QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 2px solid #e5ff00; + border-radius: 0px; +} + +QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 20px; +} + +QToolButton::menu-button { + border-bottom: 0px solid #ffffff; + border-radius: 2px; + /* 16px width + 4px for border = 20px allocated above */ + width: 1.6ex; + padding: 2px; + border-radius: 2px; + border: 0px #000000; +} + +QToolButton::menu-button:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + +} + +QToolButton::menu-button:checked:hover { + /* background: rgba(0, 0, 0, 0.5);*/ +} + +QToolButton::menu-indicator { + /* Exclude a shift for better image */ + subcontrol-position: right bottom; + /* Shift it a bit */ +} + +QToolButton::menu-arrow { + image: url(qss:images_dark-light/more_arrow_light.svg); + width: 1.5ex; + height: 1.5ex; + subcontrol-position: right bottom; + background: transparent; +} +QToolButton::menu-arrow:open { + subcontrol-position: right bottom; + image: url(qss:images_dark-light/more_arrow_light.svg); +} +QToolButton::menu-arrow:hover { + image: url(qss:images_dark-light/more_arrow_light.svg); + background-color: rgba(0, 0, 0, 0.498); + border: 1px solid rgba(0, 0, 0, 0.498); +} + +/* QCommandLinkButton ----------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCommandLinkButton { + background-color: transparent; + border: 1px solid #696968; + color: White; + border-radius: 1.9px; + padding: 0px; + margin: 0px; +} + +QCommandLinkButton:disabled { + background-color: transparent; + color: #c2c7cb; +} + +/* ------------------------------------------------------------------------ */ +/* INPUTS - NO FIELDS ----------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QComboBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QComboBox { + border: 1px solid transparent; + background: #1c1b22; + border-radius: 2px; + selection-background-color: #b216a0; + padding-left: 2px; + padding-right: 2px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ +} +QComboBox:editable { + background: white; +} +QComboBox QAbstractItemView { + border: 0px solid #696968; + border-radius: 0px; + background-color: #1c1b22; + selection-background-color: #b216a0; +} + +QComboBox QAbstractItemView:hover { + background-color:#1c1b22; + color: White; +} + +QComboBox QAbstractItemView:selected { + background: #b216a0; + color: White; +} + +QComboBox QAbstractItemView:alternate { + background: #3c3c3c; +} + +QComboBox:disabled { + background-color: #444444; + color: #353535; +} + +QComboBox:hover { + /*background-color: #b216a0;*/ + border: 1px solid #b216a0; +} + +QComboBox:focus { + border: 1px solid #770069; +} + +QComboBox:on { + selection-background-color: #770069; +} + +QComboBox::indicator { + border: none; + border-radius: 0px; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: #b216a0; + /* Needed to remove indicator - fix #132 */ +} + +QComboBox::indicator:alternate { + background: #696968; +} + +QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ +} + +QComboBox::item:alternate { + background: #3c3c3c; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + subcontrol-position: top right; + width: 14px; + border-left: 1px solid transparent; +} +QComboBox::drop-down:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b216a0, stop:1 #770069); +} + +QComboBox::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 10px; + width: 10px; +} + +QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + + +/*================================================================================================== +Tasks panel (custom FreeCAD class) +==================================================================================================*/ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: white; + qproperty-groupBackground: #3c3c3c; + border: 0px solid #696968; + +} + +/* Action group */ +QFrame[class="panel"] { +background-color: transparent; /* temporal (transparent background) */ + +} + +QSint--ActionGroup { +padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +} + +/* 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-top: 1px solid #696968; +border-left: 1px solid #696968; +border-right: 1px solid #696968; +background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); +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(x1:0, y1:0, x2:0, y2:1, stop:0 #b216a0, stop:1 #770069); +} + +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_dark-light/down_arrow_light.svg); +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_dark-light/down_arrow_lighter.svg); +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_light.svg); +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_dark-light/up_arrow_lighter.svg); +} + +QSint--ActionGroup QFrame[class="content"] { +background-color: transparent; /* Task Panel background color */ +margin: 0px; +padding: 0px; +border-bottom: 1px solid #696968; +border-left: 1px solid #696968; +border-right: 1px solid #696968; +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: #444444; /* Task Panel background color */ +} + +/* Fixs for tabs inside Task Panel */ +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { +border-bottom-color: #b216a0; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { +border-top-color: #b216a0; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { +border-right-color: #b216a0; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { +border-left-color: #b216a0; /* same as Task Panel background color */ +} + +/* Fix for buttons with icons that showed cropped (still not happy with result) */ +QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { +padding: 2px; /* bigger padding crops text and icons... */ +margin: 0px; +} + +/* Fix for lists inside task panels */ /* sketcher constraints list */ +QSint--ActionGroup QFrame[class="content"] QTreeView, +QSint--ActionGroup QFrame[class="content"] QListView, +QSint--ActionGroup QFrame[class="content"] QTableView { +color: white; +background-color: #1c1b22; +} + + +/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ +QSint--ActionGroup QFrame[class="content"] QToolButton { + color: white; + text-align: center; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + border: 0px solid #adadad; + padding: 1px 1px; /* different than regular QPushButton */ + margin: 0px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 1px; +} + +QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b216a0, stop:1 #770069); + +} +QSint--ActionGroup QFrame[class="content"] QToolButton:focus { + border: 1px solid #770069; +} + +QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, +QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { + color: #696969; + background-color: #1c1b22; +} + +QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b216a0, stop:1 #770069); + +} + +/* QSlider ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + +--------------------------------------------------------------------------- */ +QSlider:disabled { + background: #444444; +} + +QSlider:focus { + border: 1px solid #770069; +} + +QSlider::groove:horizontal { + background: #444444; + border: 1px solid #696968; + height: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::groove:vertical { + background: #b216a0; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::add-page:vertical { + background: #b216a0; + border: 1px solid #696968; + width: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::add-page:vertical :disabled { + background: #696968; +} + +QSlider::sub-page:horizontal { + background: #b216a0; + border: 1px solid #0073ff; + height: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::sub-page:horizontal:disabled { + background: #b216a0; +} + +QSlider::handle:horizontal { + background: #353535; + border: 1px solid #444444; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 1.9px; +} + +QSlider::handle:horizontal:hover { + background: #b216a0; + border: 1px solid #b216a0; +} + +QSlider::handle:horizontal:focus { + border: 1px solid #770069; +} + +QSlider::handle:vertical { + background: #c2c7cb; + border: 1px solid #696968; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 1.9px; +} + +QSlider::handle:vertical:hover { + background: #b216a0; + border: 2px solid #b216a0; +} + +QSlider::handle:vertical:focus { + border: 1px solid #770069; +} + +/* QLineEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + +--------------------------------------------------------------------------- */ +QLineEdit { + background-color: #1c1b22; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #696968; + border-radius: 2px; + color: White; +} + +QLineEdit:disabled { + background-color: #444444; + color: #c2c7cb; +} + +QLineEdit:hover { + border: 1px solid #b216a0; + color: White; +} + +QLineEdit:focus { + border: 2px solid #770069; +} + +QLineEdit:selected { + background-color: #b216a0; + color: white; +} + +/* QTabWiget -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabWidget { + padding: 2px; + selection-background-color: #b216a0; +} + +QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 1.9px; +} + +QTabWidget::pane { + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; +} + +QTabWidget::pane:selected { + background-color: #b216a0; + border: 1px solid #346792; +} +/* QTabBar ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + /* left: 5px; move to the right by 5px - removed for fix */ +} + +QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 1px; + image: url(qss:images_dark-light/close_light.svg); +} + +QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + /*background-color: rgba(255, 0, 0, 0.3);*/ +} + +QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(qss:images_dark-light/close_.svg); +} + +QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ + padding: 4px; +} + +QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + color: #adadad; +} + +QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + color: #adadad; +} + +QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + color: #adadad; +} + +QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + color: #adadad; +} + +QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + color: #adadad; +} + +QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + color: #adadad; + +} + +QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + color: #adadad; + +} + +QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + color: #adadad; +} + +QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + color: #adadad; +} + +QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + color: #adadad; +} + +QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + color: #adadad; +} + +QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + color: #adadad; +} + +QTabBar::tab:top, QDockWidget QTabBar::tab:top { + color: #696969; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; +} + +QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + color: white; + border-top: 4px solid #b216a0; /* selection color */ + border-bottom: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + } + +QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + /*border: 1px solid #b216a0;*/ + border: 0px solid #b216a0; + background-color: #b216a0; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; +} + +QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + color: #adadad; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-top: 1px solid #696969; /* same as tab content background color */ + border-radius: 0px; +} + +QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + color: white; + border-bottom: 4px solid #b216a0; /* selection color */ + border-top: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #696969; + border-right: 1px solid #696969; + +} + +QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { +/*border: 1px solid #b216a0;*/ + border: 0px solid #b216a0; + background-color: #b216a0; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; +} + +QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #444444; + margin-top: 2px; + margin-left:10px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 4px; + min-height: 5px; +} + +QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #444444; + border: 0px solid #770069; +} + +QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 0px solid #b216a0; + background-color: #b216a0; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; +} + +QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #444444; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + min-height: 5px; + border: 10px; +} + +QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #444444; + border: 0px solid #770069; +} + +QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 0px solid #b216a0; + background-color: #b216a0; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; +} + +QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #444444; + height: 12px; + width: 12px; +} + +QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + border: 0px solid #b216a0; + background-color: #b216a0; +} + +QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 0px solid #b216a0; + background-color: #b216a0; +} + +QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_lighter.svg); +} + +QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(qss:images_dark-light/left_arrow_disabled_light.svg); +} + +QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_lighter.svg); +} + +QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(qss:images_dark-light/right_arrow_disabled_light.svg); +} + +/* QDockWiget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QDockWidget { + background-color: #444444; + border: 1px solid #2a2a2a; + border-radius: 1.9px; + titlebar-close-icon: url(qss:images_dark-light/transparent.svg); + titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); +} + +QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + text-align: center; + font-weight: bold; +} + +QDockWidget::close-button { + icon-size: 10px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/close_light.svg); +} + +QDockWidget::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); +} + +QDockWidget::close-button:pressed { + image: url(qss:images_dark-light/close_light.svg); +} + +QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/undock_light.svg); +} + +QDockWidget::float-button:hover { + /*background-color: #b216a0;*/ + image: url(qss:images_dark-light/undock_blue.svg); +} + +QDockWidget::float-button:pressed { + image: url(qss:images_dark-light/undock_light.svg); +} + +/* QTreeView QListView QTableView ----------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + +--------------------------------------------------------------------------- */ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_light.svg) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_light.svg) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; +} + +QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; +} + +QTreeView::indicator:checked, +QListView::indicator:checked, +QTableView::indicator:checked, +QColumnView::indicator:checked { + image: url(qss:images_dark-light/checkbox_light.svg); +} + +QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, +QListView::indicator:checked:hover, +QListView::indicator:checked:focus, +QListView::indicator:checked:pressed, +QTableView::indicator:checked:hover, +QTableView::indicator:checked:focus, +QTableView::indicator:checked:pressed, +QColumnView::indicator:checked:hover, +QColumnView::indicator:checked:focus, +QColumnView::indicator:checked:pressed { + image: url(qss:images_dark-light/checkbox_light_hover.svg); +} + +QTreeView::indicator:unchecked, +QListView::indicator:unchecked, +QTableView::indicator:unchecked, +QColumnView::indicator:unchecked { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, +QListView::indicator:unchecked:hover, +QListView::indicator:unchecked:focus, +QListView::indicator:unchecked:pressed, +QTableView::indicator:unchecked:hover, +QTableView::indicator:unchecked:focus, +QTableView::indicator:unchecked:pressed, +QColumnView::indicator:unchecked:hover, +QColumnView::indicator:unchecked:focus, +QColumnView::indicator:unchecked:pressed { + image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); +} + +QTreeView::indicator:indeterminate, +QListView::indicator:indeterminate, +QTableView::indicator:indeterminate, +QColumnView::indicator:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, +QListView::indicator:indeterminate:hover, +QListView::indicator:indeterminate:focus, +QListView::indicator:indeterminate:pressed, +QTableView::indicator:indeterminate:hover, +QTableView::indicator:indeterminate:focus, +QTableView::indicator:indeterminate:pressed, +QColumnView::indicator:indeterminate:hover, +QColumnView::indicator:indeterminate:focus, +QColumnView::indicator:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); +} + +QTreeView, +QListView, +QTableView, +QColumnView { + background-color: #444444; /* background of a lot of stuff including spreadsheets.*/ + border: 0px solid #696968; + color: White; + gridline-color: #696968; + border-radius: 0px; +} + +QTreeView:disabled, +QListView:disabled, +QTableView:disabled, +QColumnView:disabled { + background-color: #1c1b22; + color: #c2c7cb; +} + +QTreeView:selected, +QListView:selected, +QTableView:selected, +QColumnView:selected { + background-color: #b216a0; + color: White; +} + +QTreeView:focus, +QListView:focus, +QTableView:focus, +QColumnView:focus { + border: 1px solid #770069; +} + +QTreeView::item:pressed, +QListView::item:pressed, +QTableView::item:pressed, +QColumnView::item:pressed { + background-color: #b216a0; +} + +QTreeView::item:selected:active, +QListView::item:selected:active, +QTableView::item:selected:active, +QColumnView::item:selected:active { + background-color: #b216a0; +} + +QTreeView::item:selected:!active, +QListView::item:selected:!active, +QTableView::item:selected:!active, +QColumnView::item:selected:!active { + color: White; + background-color: #353535; +} + +QTreeView::item:!selected:hover, +QListView::item:!selected:hover, +QTableView::item:!selected:hover, +QColumnView::item:!selected:hover { + outline: 0; + color: White; + background-color: #b216a0; +} + +QTableCornerButton::section { + background-color: #444444; + border: 1px transparent #696968; + border-radius: 0px; +} + +QTableView::item { + color: white; +} +QTableView { + /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ + /*qproperty-aliasBgColor: #f700ff;*/ +} + +/* QHeaderView ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + +--------------------------------------------------------------------------- */ +QHeaderView { + background-color: transparent; + text-align: center; +} + +QHeaderView:disabled { + background-color: #444444; + color: rgb(174, 174, 174); +} + +QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); + color: White; + border: 1px solid #2a2a2a; + font-size: 13px; + font-weight: bold; +} + +QHeaderView::section::horizontal { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 5px; + padding-right: 0px; +} + +QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 0px solid #696968; +} + +QHeaderView::section::horizontal:disabled { + color: #353535; +} + +QHeaderView::section::vertical { + padding-top: 1px; + padding-bottom: 0; + padding-left: 1px; + padding-right: 0px; + border-top: 0px solid #2a2a2a; +} + +QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 2px solid #2a2a2a; +} + +QHeaderView::section::vertical:disabled { + border-top: 2px solid #2a2a2a; +} + +QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/down_arrow_light.svg); +} + +QHeaderView::up-arrow { + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/up_arrow_light.svg); +} + +/* QToolBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox +used in PATH + +--------------------------------------------------------------------------- */ +QToolBox { + padding: 0px; + border: 1px solid #696969; + border-radius: 4px; + background-color: transparent; +} + +QToolBox:selected { + padding: 0px; + border: 0px solid #b216a0; +} + +QToolBox::tab { + background-color: transparent; + border: 0px solid #696969; + color: white; + background-image: url(qss:images_dark-light/down_arrow_lighter.svg); + background-repeat: none; + background-position: center left; +} + +QToolBox::tab:disabled { + color: #696969; +} + +QToolBox::tab:selected { + background-color: #696969; + background-image: url(qss:images_dark-light/transparent.svg); + padding-right: 5px; + background-repeat: none; +} + +QToolBox::tab:selected:disabled { + background-color: #696969; + border-bottom: 0px solid #cccccc; + color: white; +} + +QToolBox::tab:!selected { + +} + +QToolBox::tab:!selected:disabled { + background-color: #444444; +} + +QToolBox::tab:hover { + background-color: #b216a0; + } + +QToolBox QScrollArea QWidget QWidget { + padding: 0px; + border: 0px; + background-color: transparent; +} + +/* QFrame ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe +https://doc.qt.io/qt-5/qframe.html#-prop +https://doc.qt.io/qt-5/qframe.html#details +https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + +--------------------------------------------------------------------------- */ +/* (dot) .QFrame fix #141, #126, #123 */ +.QFrame { + border-radius: 0px; + border: 0px solid #696968; + background-color: #696969; + /* No frame */ + /* HLine */ + /* HLine */ +} + +.QFrame[frameShape="0"] { + border-radius: 1.9px; + border: 1px solid #696968; +} + +.QFrame[frameShape="4"] { + max-height: 1px; + border: none; + background-color: #696968; +} + +.QFrame[frameShape="5"] { + max-width: 1px; + border: none; + background-color: #444444; +} + +/* QSplitter -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter + +--------------------------------------------------------------------------- */ +QSplitter { + background-color: #3c3c3c; + spacing: 1px; + padding: 1px; + margin: 1px; +} + +QSplitter::handle { + margin: 0px 0px; + padding: 0px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + width: 1px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + height: 1px; +} + +QSplitter::handle:hover { + background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); + background-position: center center; + background-repeat: none; + background-color: #b216a0; +} + +/* QDateEdit, QDateTimeEdit ----------------------------------------------- + +--------------------------------------------------------------------------- */ +QDateEdit, QDateTimeEdit { + selection-background-color: #b216a0; + border-style: solid; + border: 1px solid #696968; + border-radius: 1.9px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; +} + +QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #b216a0; +} + +QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #696968; +} + +QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_light.svg); + height: 8px; + width: 8px; +} + +QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_lighter.svg); +} + +QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #444444; + border-radius: 2px; + border: 1px solid #696968; + selection-background-color: #b216a0; +} + +/* QAbstractView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractView:hover { + border: 1px solid #b216a0; + color: White; +} + +QAbstractView:selected { + background: #b216a0; + color: White; +} + +/* PlotWidget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; +} \ No newline at end of file diff --git a/src/Gui/Stylesheets/Light-blue.qss b/src/Gui/Stylesheets/Light-blue.qss index e26bc216b7..81b3fc3477 100644 --- a/src/Gui/Stylesheets/Light-blue.qss +++ b/src/Gui/Stylesheets/Light-blue.qss @@ -1,71 +1,40 @@ /* ABOUT ============================================================================================================ -version 2.21 -Qt theme (stylesheet) specially developed for FreeCAD (https://www.freecad.org/). -It might work with other software that uses Qt styling. +Revised stylesheet based on the orignal from Pablo Gil Fernández made by MisterMaker - -LICENSE +KNOWN BUGS and TO DO ============================================================================================================ -Copyright (c) 2019 Pablo Gil Fernández +Please, follow the link to get updated information: +https://forum.freecad.org/viewtopic.php?t=78431 -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 +INSTALLATION WHEN NECESSARY ============================================================================================================ 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/ - -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 lighter) - 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 +============================================================================================================ +TO MODIFY USE THESE COLORS: + #8cb0ff + #b0c9ff +See Qt documentation: + + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: https://forum.freecad.org/viewtopic.php?f=10&t=12417 +/* Reset elements ------------------------------------------------------------ -*/ +Resetting everything helps to unify styles across different operating systems - -/*================================================================================================== -Reset elements -==================================================================================================*/ -/* Resetting everything helps to unify styles across different operating systems */ +--------------------------------------------------------------------------- */ * { padding: 0px; margin: 0px; @@ -73,2248 +42,2495 @@ Reset elements border-style: none; border-image: none; outline: 0; - color: #505050; /* Default color for labels and different text elements that usually use dark colors */ -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { + } + + /* specific reset for elements inside QToolBar */ + QToolBar * { margin: 0px; padding: 0px; -} - - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #f5f5f5; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); + } + + /*hacks */ + + 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; + + } + Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, + Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 1px; + margin: 0px; + padding: 0px; + } + + 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; + + } + + /*================================================================================================== + Main window + ==================================================================================================*/ + QMainWindow, + QDialog, + QDockWidget, + QToolBar { + background-color: #F6F6F6; /* main background color */ + } + + QMdiArea { + background-image: url(qss:images_dark-light/background_freecad.svg); background-position: center center; background-repeat: no-repeat; -} - - -/*================================================================================================== -Sub windows -==================================================================================================*/ -QMdiSubWindow { - border:1px solid #828282; - margin-top: 30px; - margin-left: 4px; - margin-right: 4px; - margin-bottom:4px; -} - - -/*================================================================================================== -MENUS -==================================================================================================*/ -QMenuBar, -QMenuBar::item { + } + /*navgation src/Mod/Tux/NavigationIndicatorGui.py */ + Gui--NavigationIndicatorGui--BlenderNavigationStyle { + /*QAction#a4 {*/ + qproperty-icon: url(:/icons/icons/NavigationBlender_dark.svg); + } + /*===== + /* QWidget ---------------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QWidget { + background-color: #F6F6F6; + border: 0px solid #C1C1C1; + padding: 0px; color: black; - background-color: #f5f5f5; /* main background color */ -} - -QMenu, -QMenu::item { - color: black; - background-color: #f5f5f5; /* main background color */ - text-decoration: none; -} - -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_dark-light/right_arrow_dark.svg); - margin-right: 2px; -} - -QMenu::right-arrow:selected { - image:url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QMenu::item { - padding: 2px 4px; /* make room for icon at left */ - border: 1px solid transparent; /* reserve space for selection border */ -} - -QMenu::icon { - margin-left: 1px; - margin-right: 1px; -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #5e90fa; - border: 2px #5e90fa; - position: absolute; - border-radius: 2px; -} - -QMenu::separator { - height: 1px; - background-color: rgba(0,0,0,30); - margin: 6px 4px; -} - -QMenu::indicator:non-exclusive:checked { - color: white; -} - -/* Fix for elements inside a drop-down menu */ -QMenu QRadioButton, -QMenu QCheckBox, -QMenu QPushButton, -QMenu QToolButton { - color: black; /* same as regular QRadioButton and QCheckBox */ -} - -QMenu QRadioButton:hover, -QMenu QCheckBox:hover, -QMenu QPushButton:hover, -QMenu QToolButton:hover, -QMenu QPushButton:pressed, -QMenu QToolButton:pressed, -QMenu QPushButton:selected, -QMenu QToolButton:selected { - color: white; - background-color: #5e90fa; /* same as QMenu::item:selected and QMenu::item:pressed */ -} - -QMenu QRadioButton:disabled, -QMenu QCheckBox:disabled { - color: #6e6e6e; -} - -QMenu QRadioButton::indicator:disabled, -QMenu QCheckBox::indicator:disabled { - color: #6e6e6e; + selection-background-color: #8cb0ff; + selection-color: black; + } + + QWidget:disabled { background-color: transparent; - border: 1px solid #6e6e6e; -} - - -/*================================================================================================== -Tool bar -==================================================================================================*/ -QToolBar { - border: none; - padding: 2px; -} - -QToolBar::handle:top, -QToolBar::handle:bottom, -QToolBar::handle:horizontal { - background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); - width: 10px; - margin: 4px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:left, -QToolBar::handle:right, -QToolBar::handle:vertical { - background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); - height: 10px; - margin: 2px 4px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:top, -QToolBar::separator:bottom, -QToolBar::separator:horizontal { - width: 1px; - margin: 6px 4px; - background-color: rgba(0,0,0,30); -} - -QToolBar::separator:left, -QToolBar::separator:right, -QToolBar::separator:vertical { - height: 1px; - margin: 4px 6px; - background-color: rgba(0,0,0,30); -} - - -/*================================================================================================== -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; -} - -/* NOTE: QGroupBox checkboxes are styles with regular ones so that the all get the same style */ -/* QGroupBox::indicator { - width: 13px; - height: 13px; -} - -QGroupBox::indicator:unchecked { - image: url(:/images/checkbox_unchecked.png); -} */ - - -/*================================================================================================== -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_dark-light/close_dark.svg); - titlebar-normal-icon: url(qss:images_dark-light/undock_dark.svg); -} - -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); + color: #A3A3A3; + selection-background-color: #8cb0ff; + selection-color: #A3A3A3; + } + + QWidget::item:selected { + background-color: #8cb0ff + ; + } + + /* Causes issue with colorselector. + QWidget::item:hover:!selected { + background-color: #8cb0ff; + }*/ + + /* QMainWindow ------------------------------------------------------------ + + This adjusts the splitter in the dock widget, not qsplitter + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow + + --------------------------------------------------------------------------- */ + QMainWindow::separator { + /*background-color: #f6f6f6;*/ + border: 0px solid #C1C1C1; + spacing: 0px; 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 #3874f2, stop:1 #5e90fa); - border-radius: 3px; -} - - -/*================================================================================================== -Scroll -==================================================================================================*/ -QAbstractScrollArea { - border-radius: 2px; - background-color: transparent; -} - -QAbstractScrollArea::corner { + } + + QMainWindow::separator:vertical:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #8cb0ff, stop:0.8 transparent); + /*background-color: #8cb0ff;*/ + image: url(qss:images_dark-light/splitter_vertical_dark.svg); + } + + QMainWindow::separator:horizontal:hover { + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #8cb0ff, stop:0.8 transparent); + /*background-color: #8cb0ff;*/ + image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + } + + QMainWindow::separator:horizontal { + width: 4px; + margin-top: 0.1px; + margin-bottom: 0.1px; + /* image: url(qss:images_dark-light/splitter_horizontal_light.svg);*/ + } + + QMainWindow::separator:vertical { + height: 4px; + margin-left: 0.1px; + margin-right: 0.1px; + /* image: url(qss:images_dark-light/splitter_vertical_light.svg);*/ + } + + /* QToolTip --------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + + --------------------------------------------------------------------------- */ + QToolTip { + background-color: #ffffff; + color: black; + /* If you remove the border property, background stops working on Windows */ 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,80); -} - -QScrollBar::handle:vertical:hover, -QScrollBar::handle:horizontal:hover { - background-color: rgba(0,0,0,100); -} - -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_dark-light/left_arrow_dark.svg); - 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_dark-light/right_arrow_dark.svg); - 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_dark-light/left_arrow_darker.svg); -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_darker.svg); -} - -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_dark-light/up_arrow_dark.svg); - 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_dark-light/down_arrow_dark.svg); - 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_dark-light/up_arrow_darker.svg); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -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 reset 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; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ + } + + /* QStatusBar ------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + + --------------------------------------------------------------------------- */ + QStatusBar { + border: 0px solid #C1C1C1; + /* Fixes Spyder #9120, #9121 */ + background: #F6F6F6; + /* Fixes #205, black vertical borders separating items */ + } + + QStatusBar::item { + border: none; + } + + QStatusBar QToolTip { + background-color: #F6F6F6; + border: 1px solid #C1C1C1; + color: #F6F6F6; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; + } + + QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; + } + + /* QCheckBox -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + + --------------------------------------------------------------------------- */ + QCheckBox { + color: black; + padding: 0px; + outline: none; 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: #f5f5f5; /* same as tab content background color */ - 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: 6px; -} - -QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { - background-color: #dcdcdc; -} - -QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { - color: white; - background-color: #5e90fa; -} - - -/*================================================================================================== -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_dark-light/close_dark.svg); - 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; /* necessary 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_dark-light/right_arrow_dark.svg); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_dark.svg); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -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:hover, -QTreeView::item:hover { - background-color: transparent; /* fix to homogenize it on all OSs */ -} - -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; + } + + QCheckBox:focus { + border: 1px solid #b0c9ff; + } + + QCheckBox QWidget:disabled { background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { + color: #A3A3A3; + } + + QCheckBox::indicator { color: black; - background-color: #cbd8e6; -} - -/* 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; -} - -/* reset min-height 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 > Gui--ColorButton { - min-height: 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; - border-radius: 0px; /* reset */ -} - - -/*================================================================================================== -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_dark-light/up_arrow_dark.svg); -} - -QHeaderView::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QHeaderView::down-arrow { - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - -QHeaderView::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -/* 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_dark-light/branch_vline_dark.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; -} - - -/*================================================================================================== -Splitter and windows separator -==================================================================================================*/ -QSplitter::handle { - margin: 0px 11px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - background-position: center center; - background-repeat: none; - margin: 4px 2px 4px 2px; - width: 2px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - margin: 2px 4px 2px 4px; - height: 2px; -} - -/* Similar to the splitter is the following window separator (but horizontal/vertical is on the opposite way) */ -QMainWindow::separator { - background-position: center center; - background-repeat: none; -} - -QMainWindow::separator:horizontal { - height: 2px; - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - margin: 4px 2px 4px 2px; -} - -QMainWindow::separator:vertical { - width: 2px; - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - margin: 2px 4px 2px 4px; -} - - -/*================================================================================================== -Text/Python editor (macros, etc...) -==================================================================================================*/ -QPlainTextEdit, -QPlainTextEdit:focus { - background-color: #f0f0f0; - selection-color: white; - selection-background-color: #3874f2; - border: 1px solid #c3c3c3; - border-radius: 3px; - margin: 4px; -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -/* Action group */ -QFrame[class="panel"] { - background-color: transparent; /* temporal (transparent background) */ -} - -QSint--ActionGroup { - padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ - margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* 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; + background-color: #ffffff; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); + } + + QCheckBox::indicator:unchecked { + background-color: #ffffff; + image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); + } + + QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { + background-color: #8cb0ff; + image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); + } + + QCheckBox::indicator:unchecked:disabled { + background-color: #F6F6F6; + image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); + } + + QCheckBox::indicator:checked { + background-color: #ffffff; + /*border: 1px solid #C1C1C1; /* QRadioButton has the same color */ + image:url(qss:images_dark-light/checkbox_dark.svg); + } + + QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { + background-color: #8cb0ff; + } + + QCheckBox::indicator:checked:disabled { + background-color: #F6F6F6; + image: url(qss:images_dark-light/check_dark.svg); + } + + QCheckBox::indicator:indeterminate { + background-color: #ffffff; + border: 1px solid #C1C1C1; + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); + } + + QCheckBox::indicator:indeterminate:disabled { + background-color: #F6F6F6; + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); + } + + QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + background-color: #8cb0ff; /* QRadioButton has the same color */ + } + + /* QGroupBox -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + + --------------------------------------------------------------------------- */ + QGroupBox { font-weight: bold; - border: none; - margin: 0px; - padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { - background-color: transparent; - background-image: url(qss:images_dark-light/down_arrow_light.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images_dark-light/up_arrow_light.svg); - 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_dark-light/up_arrow_lighter.svg); -} - -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 */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { - padding: 2px; /* bigger padding crops text and icons... */ - margin: 0px; -} - -/* Fix for lists inside task panels */ -/* QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { - color: #f5f5f5; - background-color: #787878; -} */ - - -/*================================================================================================== -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 */ - min-height: 20px; /* important to be a pair number in order to up/down buttons to be divisible by two (if not set could create a blank line in Ubuntu. Its downside is that it's needed to reset it (min-width: 0px) on following elements that can't have it such as fields inside QToolBar and inside QTreeView (Property editor) */ - padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ -} - -/* more contrast for QTexEdits */ -QTextEdit { - color: black; -} - -/* 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 (like Report view)*/ -QTextEdit:!editable, -QTextEdit:!editable:focus { - 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; -} - -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_dark-light/up_arrow_dark.svg); - top: 2px; /* fix symmetry 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_dark-light/up_arrow_lighter.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -QAbstractSpinBox::down-arrow, -QSpinBox::down-arrow, -QDoubleSpinBox::down-arrow, -QTimeEdit::down-arrow, -QDateEdit::down-arrow, -QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_dark.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -/* 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_dark-light/down_arrow_dark.svg); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QComboBox::down-arrow:off, -QComboBox::down-arrow:disabled { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - -/* 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, -Gui--PropertyEditor--PropertyEditor > 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 */ -} - -Gui--PropertyEditor--PropertyEditor > QWidget > QPushButton { - text-align:left; - padding-left: 2px; -} - -/* 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; -} - -QPushButton:checked { - background-color: #5e90fa; - border-color: #3874f2; -} - -/*================================================================================================== -Tool button Icon fix in save dialogs -==================================================================================================*/ -/* found under Tools -> Save Picture */ /* Draft -> ShapeString -> Font file */ - -QFileDialog#QFileDialog QToolButton { - background-color: transparent; - padding: 1px; - border: 1px; - margin: 0px; -} - - -/*================================================================================================== -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); -} - - -/*================================================================================================== -Tool button inside Task Panel content that works as QPushButtons -==================================================================================================*/ -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] 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: 2px 6px; /* different than regular QPushButton */ - margin: 2px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 4px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover, -QSint--ActionGroup QFrame[class="content"] 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); -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #b6b6b6; - border-color: #e6e6e6; - background-color: #e6e6e6; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #3874f2, stop:1 #5e90fa); -} - -/* QToolButtons with a menu found in Sketcher task panel*/ -QSint--ActionGroup QToolButton::menu-button { - border: none; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; + border: 1px solid #C1C1C1; + border-radius: 1.9px; padding: 2px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; -} - -QSint--ActionGroup QToolButton#settingsButton, -QSint--ActionGroup QToolButton#filterButton, -QSint--ActionGroup QToolButton#manualUpdate { - padding-right: 20px; /* make way for the popup button */ -} - -/* to give widget inside the menu same look as regular menu */ -QSint--ActionGroup QToolButton#filterButton QListWidget { + margin-top: 10px; + margin-bottom: 4px; + } + + QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: 6px; + } + + QGroupBox::indicator { color: black; - background: #f5f5f5; + background-color: #f6f6f6; + border: 1px solid #C1C1C1; + width: 12px; + height: 12px; + border-radius:1px; + } + + QGroupBox::indicator:unchecked { + background-color: #f6f6f6; + border: 1px solid #C1C1C1; + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); + } + + QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + background-color: #8cb0ff; + } + + QGroupBox::indicator:unchecked:disabled { + background-color: #ffffff; + border: 1px solid #C1C1C1; + } + + QGroupBox::indicator:checked { + border: none; + image:url(qss:images_dark-light/checkbox_dark.svg); + } + + QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + background-color: #8cb0ff; + } + + QGroupBox::indicator:checked:disabled { + background-color: #8cb0ff; + } + + /* QRadioButton ----------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + + --------------------------------------------------------------------------- */ + QRadioButton { + background-color: transparent; + color: black; + border: none; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + outline: none; + } + + QRadioButton:focus { + border: 1px solid #b0c9ff; + } + + QRadioButton:disabled { + background-color: #f6f6f6; + color: #BABABA; + } + + QRadioButton QWidget { + background-color: transparent; + color: black; + spacing: 0px; padding: 0px; - margin: 0px; -} - - -/*================================================================================================== -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_dark-light/radiobutton_light.svg); -} - -QRadioButton, -QRadioButton:disabled { - color: #505050; - padding: 3px; outline: none; - background-color: transparent; -} - -QRadioButton:disabled { - color: rgba(0,0,0,40); -} - -QRadioButton::indicator { - width: 11px; - height: 11px; + border: none; + } + + QRadioButton::indicator { + background-color: #f6f6f6; + border: 1px solid #C1C1C1; border-radius: 6px; -} - -QRadioButton::indicator:pressed { - border-color: #adc5ed; -} - -QRadioButton::indicator:disabled { - color: #6e6e6e; - background-color: transparent; - border: 1px solid #6e6e6e; -} - -QRadioButton:focus { - border: none; -} - - -/*================================================================================================== -Checkbox -==================================================================================================*/ -QCheckBox, -QCheckBox:disabled { - color: #505050; - padding: 3px; + margin-left: 0px; + height: 11px; + width: 11px; + } + + QRadioButton::indicator:unchecked { + /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ + } + + QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { + background-color: #8cb0ff; + border: 1px solid #8cb0ff; + border-radius: 6px; + } + + QRadioButton::indicator:unchecked:disabled { + /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ + border: 1px solid #C1C1C1; + } + + QRadioButton::indicator:checked { + image:url(qss:images_dark-light/radiobutton_dark.svg); + } + + QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { + background-color: #8cb0ff; + border: 1px solid #8cb0ff; + border-radius: 6px; + image:url(qss:images_dark-light/radiobutton_dark.svg); + } + + QRadioButton::indicator:checked:disabled { outline: none; + background-color: #f6f6f6; + image:url(qss:images_dark-light/radiobutton_light.svg); + } + + /* QMenuBar --------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + + --------------------------------------------------------------------------- */ + QMenuBar { + background-color: #ffffff; + /*padding: 1px; + border: 0px solid rgba(0,0,0,140);*/ + color: black; + selection-background-color: #8cb0ff; + } + + QMenuBar:focus { + border: 1px solid #8cb0ff; + } + + QMenuBar::item { + background: transparent; + /*padding-left:5px; + padding-right: 5px; + padding-bottom: 1px; + padding-top: 1px;*/ + } + + QMenuBar::item:selected { + background: transparent; + border: 0px solid #C1C1C1; + background-color: #8cb0ff; + } + + QMenuBar::item:pressed { + /*padding: 2px; + padding-left: 10px; + padding-right: 10px;*/ + border: 0px solid #C1C1C1; + background-color: #8cb0ff; + color: black; + /*margin-bottom: 0px; + padding-bottom: 0px;*/ + } + + /* QMenu ------------------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + + --------------------------------------------------------------------------- */ + QMenu { + border-bottom: 2px rgba(0,0,0,140); + border-right: 2px rgba(0,0,0,140); + color: black; + margin: 0px; + background-color: #ffffff; + selection-background-color: #8cb0ff; + } + + QMenu::separator { + height: 2px; + background-color: #f6f6f6; + margin-left: 30%; + margin-right: 30%; + } + + QMenu::item { background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: #c8c8c8; - background-color: rgba(0,0,0,20); - border: 1px solid #505050; - width: 11px; - height: 11px; - border-radius:2px; -} - -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed, -QGroupBox::indicator:pressed, -QGroupBox::indicator:non-exclusive:checked:pressed, -QGroupBox::indicator:indeterminate:pressed, -QGroupBox::indicator:checked:pressed { - border-color: #adc5ed; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #5e90fa; /* QRadioButton has the same color */ - border: 1px solid #3874f2; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox:disabled { - color: rgba(0,0,0,40); - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled { - background-color: rgba(0,0,0,20); - border: 1px solid rgba(0,0,0,20); -} - -QCheckBox::indicator:indeterminate, -QGroupBox::indicator:indeterminate { - background-color: #5e90fa; - border: 1px solid #3874f2; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox:focus { - border: none; -} - - -/*================================================================================================== -Checkboxes inside QListWidget and QTreeView -==================================================================================================*/ -QListWidget::indicator, -QTreeView::indicator { - color: #c8c8c8; - background-color: rgba(0,0,0,20); - border: 1px solid #505050; - width: 11px; - height: 11px; - border-radius:2px; -} - -/* fix for QTreeView::indicator losing its margin */ -QTreeView::indicator { - margin: 3px; -} - -QListWidget::indicator:selected, -QTreeView::indicator:selected { - background-color: #e6e6e6; -} - -QListWidget::indicator:checked:selected, -QListWidget::indicator:indeterminate:selected, -QTreeView::indicator:checked:selected, -QTreeView::indicator:indeterminate:selected { - background-color: #7cabf9; /* slightly lighter than default */ - border-color: #2053c0; /* slightly darker than default */ -} - -QListWidget::indicator:pressed, -QListWidget::indicator:non-exclusive:checked:pressed, -QListWidget::indicator:indeterminate:pressed, -QListWidget::indicator:checked:pressed, -QTreeView::indicator:pressed, -QTreeView::indicator:non-exclusive:checked:pressed, -QTreeView::indicator:indeterminate:pressed, -QTreeView::indicator:checked:pressed { - border-color: #adc5ed; -} - -QListWidget::indicator:checked, -QTreeView::indicator:checked { - background-color: #5e90fa; /* QRadioButton has the same color */ - border: 1px solid #3874f2; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QListWidget::indicator:disabled, -QTreeView::indicator:disabled { - background-color: rgba(0,0,0,20); - border: 1px solid rgba(0,0,0,20); -} - -QListWidget::indicator:indeterminate, -QTreeView::indicator:indeterminate { - background-color: #5e90fa; - border: 1px solid #3874f2; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - - -/*================================================================================================== -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; + padding: 2px 2px; /* make room for icon at left */ + /* Reserve space for selection border */ + border: 0px transparent #f6f6f6; + } + + QMenu::item:selected { + color: black; + background-color: #8cb0ff; + } + + QMenu::item:pressed { + background-color: #8cb0ff; + } + + QMenu::icon { + margin-left: 5px; 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 > 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: 0px 2px; + } + + QMenu::indicator { + margin-left: 2px; + margin-right: 2px; padding: 0px; - min-width: 70px; /* necessary to show its content */ -} - -QToolBar > QComboBox, -QToolBar > QAbstractSpinBox, -QToolBar > QSpinBox, -QToolBar > QDoubleSpinBox, -QToolBar > QLineEdit, -QToolBar > QTextEdit, -QToolBar > QTimeEdit, -QToolBar > QDateEdit, -QToolBar > QDateTimeEdit { - min-height: 0px; /* reset it inside Tool Bar due to the user ability to set the "size of toolbar icons" inside Preferences */ -} - -QToolBar > QPushButton { - padding: 0px; - margin: 1px; /* doesn't work with :left, :right:, :top or :bottom sub-controls */ - min-width: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - min-height: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - border-radius: 4px; /* same as regular QPushButton */ -} - -QToolBar > QPushButton:checked { - border: 1px solid #7cabf9; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #cbd8e6, stop:1 #7cabf9); -} - -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 */ - text-align: left; /* bug fix #4559 */ -} - -QToolBar > QPushButton:checked:hover { - border-color: #6f9efa; -} - -QToolBar > QPushButton:!checked:hover { - color: black; - border-color: #b6b6b6; -} - -QToolBar > QPushButton:checked:pressed { - background-color: #7cabf9; -} - -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 { + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ + } + + QMenu::icon:checked { /* appearance of a 'checked' icon */ + background: #b0c9ff; + margin-left: -5px; + border: 5px solid #b0c9ff; + position: absolute; + border-radius: 0px; + } + QMenu::indicator:non-exclusive:unchecked { + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); + } + + QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { border: none; - background-color: transparent; -} - -QToolBar > QToolButton { - margin: 2px; - padding: 2px; - border-radius: 3px; -} - -QToolBar > QToolButton:hover { - background-color: rgba(0,0,0,20); -} - -QToolBar > QToolButton:pressed { - background-color: rgba(0,0,0,30); -} - -/* 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 { + image: url(qss:images_dark-light/checkbox_unchecked_focus.png); + } + + QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); + } + + QMenu::indicator:non-exclusive:checked { + image:url(qss:images_dark-light/checkbox_dark.svg); + } + + QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + background: #8cb0ff; + image:url(qss:images_dark-light/checkbox_dark.svg); + } + + QMenu::indicator:non-exclusive:checked:disabled { + image:url(qss:images_dark-light/checkbox_dark.svg); + } + + QMenu::indicator:non-exclusive:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); + } + + QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); + } + + QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); + } + + QMenu::indicator:exclusive:unchecked { + image: url(qss:images_dark-light/transparent.svg); + } + + QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { 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: #8cb0ff; + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); + } + + QMenu::indicator:exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); + } + + QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(qss:images_dark-light/radiobutton_dark.svg); + } + + QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + background: #8cb0ff; + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); + } + + QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(qss:images_dark-light/radiobutton_dark.svg); + } + + QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image:url(qss:images_dark-light/right_arrow_darker.svg); + height: 12px; + width: 12px; 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_dark-light/down_arrow_dark.svg); - background-position: center center; - background-repeat: none; + } + + /* QAbstractItemView ------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + + --------------------------------------------------------------------------- */ + QAbstractItemView { + alternate-background-color: #ababab; + color: black; + border: 1px solid #C1C1C1; + border-radius: 2px; + } + + QAbstractItemView QLineEdit { + padding: 2px; + } + + /* QAbstractScrollArea ---------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + + --------------------------------------------------------------------------- */ + QAbstractScrollArea { + background-color: transparent; + border: 0px solid #C1C1C1; + border-radius: 0px; + /* fix #159 */ + padding: 0px; + /* remove min-height to fix #244 */ + color: black; + } + + QAbstractScrollArea:disabled { + color: #A3A3A3; + } + + /* QScrollArea ------------------------------------------------------------ + + --------------------------------------------------------------------------- + text input field disabled!!!!*/ + QScrollArea QWidget:disabled { + background-color: #F6F6F6; + } + + /* QScrollBar ------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + + --------------------------------------------------------------------------- */ + QScrollBar:horizontal { + height: 16px; + margin: 2px 16px 2px 16px; + border: 0px solid #C1C1C1; + border-radius: 1.9px; + background-color: #F6F6F6; + } + + QScrollBar:vertical { + background-color: #F6F6F6; + width: 16px; + margin: 16px 2px 16px 2px; + border: 0px solid #C1C1C1; + border-radius: 1.9px; + } + + QScrollBar::handle:horizontal { + background-color: #A3A3A3; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + min-width: 8px; + } + + QScrollBar::handle:horizontal:hover { + background-color: #8cb0ff; + border: #f6f6f6; + border-radius: 1.9px; + min-width: 8px; + } + + QScrollBar::handle:horizontal:focus { + border: 1px solid #b0c9ff; + } + + QScrollBar::handle:vertical { + background-color: #A3A3A3; + border: 1px solid #C1C1C1; + min-height: 8px; + border-radius: 1.9px; + } + + QScrollBar::handle:vertical:hover { + background-color: #8cb0ff; + border: #f6f6f6; + border-radius: 1.9px; + min-height: 8px; + } + + QScrollBar::handle:vertical:focus { + border: 1px solid #b0c9ff; + } + + QScrollBar::add-line:horizontal { + border-image: url(qss:images_dark-light/right_arrow_dark.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; + } + + QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_dark.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; + } + + QScrollBar::add-line:vertical { + border-image: url(qss:images_dark-light/down_arrow_dark.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; + } + + QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_darker.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; + } + + QScrollBar::sub-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/left_arrow_dark.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; + } + + QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images_dark-light/left_arrow_darker.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; + } + + QScrollBar::sub-line:vertical { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/up_arrow_dark.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; + } + + QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + border-image: url(qss:images_dark-light/up_arrow_darker.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; + } + + QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; + } + + QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; + } + + QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; + } + + QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; + } + + /* QTextEdit -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + + + report view + --------------------------------------------------------------------------- */ + QTextEdit { + background-color: #F6F6F6; + color: black; + border-radius: 1.9px; + border: 0px solid #C1C1C1; + } + + QTextEdit:focus { + border: 1px solid #b0c9ff; + } + + QTextEdit:selected { + background: #346792; + color: black; + } + + /* QPlainTextEdit --------------------------------------------------------- + Python + --------------------------------------------------------------------------- */ + QPlainTextEdit { + background-color: #f6f6f6; + color: black; + border-radius: 1.9px; + border: 0px solid #C1C1C1; + } + + QPlainTextEdit:focus { + border: 1px solid #b0c9ff; + } + + QPlainTextEdit:selected { + background: #8cb0ff; + color: black; + } + + /* QSizeGrip -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + + --------------------------------------------------------------------------- */ + QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/sizegrip_dark.svg); + } + + /* QStackedWidget --------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QStackedWidget { + padding: 0px; + border: 0px solid #C1C1C1; + } + + /* QToolBar --------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + + --------------------------------------------------------------------------- */ + QToolBar { + background-color: #F6F6F6; + border-bottom: 0px solid rgba(0,0,0,120); + padding: 1px; + font-weight: bold; + spacing: 1px; + } + + QToolBar:disabled { + /* Fixes #272 */ + background-color: #F6F6F6; + } + + QToolBar::handle:horizontal { + width: 8px; + margin: 3px 3px; + background-position: top right; + background-repeat: repeat-y; + background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); + } + + QToolBar::handle:vertical { + height: 8px; + margin: 3px 3px; + background-position: left bottom; + background-repeat: repeat-x; + background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); + } + + QToolBar::separator:horizontal { + width: 2px; + margin: 4px 4px; + background-color: transparent; + } + + QToolBar::separator:vertical { + height: 2px; + margin: 4px 4px; + background-color: transparent; + } + + /*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ + QToolButton#qt_toolbar_ext_button { + margin: 0px; + padding: 0px; + background-color: #A3A3A3; + /*background-image: url(qss:images_dark-light/more_dark.svg);*/ + background-repeat: none; + background-position: center center; + } + + QToolButton#qt_toolbar_ext_button:hover { + /*background-image: url(qss:images_dark-light/more_dark.svg);*/ + background-color: #8cb0ff; + } + + QToolButton#qt_toolbar_ext_button:on { + /*background-image: url(qss:images_dark-light/more_dark.svg);*/ + border-color: #f6f6f6; + background-color: #8cb0ff; + } + + + /* QAbstractSpinBox ------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QAbstractSpinBox, + QSpinBox { + background-color: #ffffff; + border: 1px solid transparent; + color: black; + /* This fixes 103, 111 */ + /* padding-top: 0px; + /* This fixes 103, 111 */ + /*padding-bottom: 0px; + /*padding-left: 4px; + /*padding-right: 4px; + border-radius: 1.9px;*/ + min-height: 1.7em; + /* min-width: 5px; removed to fix 109 */ + } + + QAbstractSpinBox:up-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + subcontrol-origin: border; + subcontrol-position: top right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-bottom: -1px;*/ + } + + QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); + /* height: 8px; + width: 8px;*/ + } + + QAbstractSpinBox::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_darker.svg); + } + + QAbstractSpinBox:down-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + subcontrol-origin: border; + subcontrol-position: bottom right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-top: -1px;*/ + } + + QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); + /*height: 8px; + width: 8px;*/ + } + + QAbstractSpinBox::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_darker.svg); + } + + QAbstractSpinBox:hover { + /*border: 1px solid #8cb0ff; + color: black;*/ + } + + QAbstractSpinBox:focus { + border: 1px solid #b0c9ff; + } + + QAbstractSpinBox:selected { + background: #b0c9ff; + /*color: black;*/ + } + + /* ------------------------------------------------------------------------ */ + /* DISPLAYS --------------------------------------------------------------- */ + /* ------------------------------------------------------------------------ */ + /* QLabel ----------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + + --------------------------------------------------------------------------- */ + QLabel { + background-color: transparent; + border: 0px solid #C1C1C1; + padding: 2px; + margin: 0px; + color: black; + } + + QLabel:disabled { + background-color: transparent; + border: 0px solid #C1C1C1; + color: #A3A3A3; + } + + QLabel[haslink="true"] { + color: orange; + } + + + /* QTextBrowser ----------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + + --------------------------------------------------------------------------- */ + QTextBrowser { + background-color: #ffffff; + border: 1px solid #C1C1C1; + color: black; + border-radius: 1.9px; + } + + QTextBrowser:disabled { + background-color: #F6F6F6; + border: 1px solid #C1C1C1; + color: #A3A3A3; + border-radius: 1.9px; + } + + QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #8cb0ff; + } + + /* QGraphicsView ---------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QGraphicsView { + background-color: transparent; + border: 0px solid #8cb0ff; + color: black; + border-radius: 0px; + } + + QGraphicsView:disabled { + background-color: #ffffff; + border: 0px solid #C1C1C1; + color: #A3A3A3; + border-radius: 0px; + } + + QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 0px solid #ff00f7; + } + + /* QCalendarWidget -------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QCalendarWidget { + border: 1px solid #C1C1C1; + border-radius: 1.9px; + } + + QCalendarWidget:disabled { + background-color: #BABABA; + color: #A3A3A3; + } + + /* QLCDNumber ------------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QLCDNumber { + background-color: #1aff00; + color: black; + } + + QLCDNumber:disabled { + background-color: #F6F6F6; + color: #A3A3A3; + } + + /* QProgressBar ----------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + + --------------------------------------------------------------------------- */ + QProgressBar { + background-color: #A3A3A3; + border: 1px solid #C1C1C1; + color: black; + border-radius: 1.9px; + text-align: center; + } + + QProgressBar:disabled { + background-color: #ffffff; + border: 1px solid #C1C1C1; + color: #A3A3A3; + border-radius: 1.9px; + text-align: center; + } + + QProgressBar::chunk { + background-color: #8cb0ff; + color: #F6F6F6; + border-radius: 1.9px; + } + + QProgressBar::chunk:disabled { + background-color: #ffffff; + color: #f6f6f6; + border-radius: 1.9px; + } + + /* ------------------------------------------------------------------------ */ + /* BUTTONS ---------------------------------------------------------------- */ + /* ------------------------------------------------------------------------ */ + /* QPushButton ------------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + + --------------------------------------------------------------------------- */ + QPushButton { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + color: black; + border: 1px solid #EDEDED; + border-bottom-color: #AFAFAF; /* simulates shadow under the button */ + border-radius: 4px; + padding: 2px; + } + + QPushButton:disabled { + background-color: #F6F6F6; + color: #A3A3A3; + + } + + QPushButton:checked { + background-color: #8cb0ff; + outline: none; + } + + QPushButton:checked:disabled { + background-color: #8cb0ff; + color: #f6f6f6; + outline: none; + } + + QPushButton:checked:selected { + background: #8cb0ff; + } + + QPushButton:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #8cb0ff, stop:1 #b0c9ff); + color: black; + } + + QPushButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b0c9ff, stop:1 #8cb0ff); + } + + QPushButton:selected { + background: #b0c9ff; + color: black; + } + + QPushButton::menu-indicator { subcontrol-origin: padding; subcontrol-position: bottom right; - height: 10px; /* same as arrow image */ -} - -QToolBar > QToolButton::menu-arrow:hover { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QToolBar > QToolButton::menu-arrow:open { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -/* when QToolButton is checked: */ -QToolButton:checked { - border: 1px solid #7cabf9; - background-color: rgba(124,171,249,60); /* transparency for #7cabf9 color */ -} - -QToolButton:checked:hover { - border: 1px solid #7cabf9; - background-color: rgba(124,171,249,80); /* transparency for #7cabf9 color */ -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" */ -QToolBar QToolButton#qt_toolbar_ext_button { - margin: 0px; + bottom: 4px; + } + + QDialogButtonBox QPushButton { + /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; + } + + /* QToolButton ------------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + + --------------------------------------------------------------------------- */ + QToolButton { + background-color: transparent; + color: black; + border-radius: 1px; padding: 0px; - /*background-image: url(qss:images_dark-light/more_dark.svg);*/ - image: transparent; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ + } + + QToolButton:disabled { + background-color: transparent; + color: #A3A3A3; + border-radius: 1px; + padding: 0px; + } + + QToolButton:checked { + background-color: #8cb0ff; + border-radius: 1.9px; + padding: 0px; + outline: none; + } + + QToolButton:checked:disabled { + background-color: #b65555; + color: #A3A3A3; + border-radius: 1.9px; + padding: 0px; + outline: none; + } + + QToolButton:checked:hover { + background-color: #8cb0ff; + color: black; + } + + QToolButton:checked:pressed { + background-color: #8cb0ff; + } + + QToolButton:checked:selected { + background: #b0c9ff; + color: black; + } + + QToolButton:hover { + background-color: #8cb0ff; + color: black; + } + + QToolButton:pressed { + background-color: #b0c9ff; + } + + QToolButton:selected { + background: #8cb0ff; + color: black; + } + + QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 20px; + } + + QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; + } + QToolButton[popupMode="0"]::menu-button { + border: none; + } + + QToolButton[popupMode="0"]::menu-button:hover { + border: none; + border-left: 2px solid #fe0000; + border-radius: 0px; + } + QToolButton[popupMode="1"]::menu-button { + border: none; + } + + QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 2px solid #e5ff00; + border-radius: 0px; + } + + QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 20px; + } + + QToolButton::menu-button { + border-bottom: 0px solid #b2b2b2; + border-radius: 2px; + /* 16px width + 4px for border = 20px allocated above */ + width: 1.6ex; + padding: 2px; + border-radius: 2px; + border: 0px #000000; + } + + QToolButton::menu-button:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + + } + + QToolButton::menu-button:checked:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + } + + QToolButton::menu-indicator { + /* Exclude a shift for better image */ + subcontrol-position: right bottom; + /* Shift it a bit */ + } + + QToolButton::menu-arrow { + image: url(qss:images_dark-light/more_arrow_dark.svg); + width: 1.5ex; + height: 1.5ex; + subcontrol-position: right bottom; + background: transparent; + } + QToolButton::menu-arrow:open { + subcontrol-position: right bottom; + image: url(qss:images_dark-light/more_arrow_dark.svg); + } + QToolButton::menu-arrow:hover { + image: url(qss:images_dark-light/more_arrow_dark.svg); + background-color: rgba(0, 0, 0, 0.498); + border: 1px solid rgba(0, 0, 0, 0.498); + } + + /* QCommandLinkButton ----------------------------------------------------- + + --------------------------------------------------------------------------- */ + QCommandLinkButton { + background-color: transparent; + border: 1px solid #C1C1C1; + color: black; + border-radius: 1.9px; + padding: 0px; + margin: 0px; + } + + QCommandLinkButton:disabled { + background-color: transparent; + color: #A3A3A3; + } + + /* ------------------------------------------------------------------------ */ + /* INPUTS - NO FIELDS ----------------------------------------------------- */ + /* ------------------------------------------------------------------------ */ + /* QComboBox -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + + --------------------------------------------------------------------------- */ + QComboBox { + border: 1px solid transparent; + background: #ffffff; + border-radius: 2px; + selection-background-color: #8cb0ff; + padding-left: 2px; + padding-right: 2px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ + } + QComboBox:editable { + background: black; + } + QComboBox QAbstractItemView { + border: 0px solid #C1C1C1; + border-radius: 0px; + background-color: #ffffff; + selection-background-color: #8cb0ff; + } + + QComboBox QAbstractItemView:hover { + background-color:#ffffff; + color: black; + } + + QComboBox QAbstractItemView:selected { + background: #8cb0ff; + color: black; + } + + QComboBox QAbstractItemView:alternate { + background: #f6f6f6; + } + + QComboBox:disabled { + background-color: #F6F6F6; + color: #BABABA; + } + + QComboBox:hover { + /*background-color: #8cb0ff;*/ + border: 1px solid #8cb0ff; + } + + QComboBox:focus { + border: 1px solid #b0c9ff; + } + + QComboBox:on { + selection-background-color: #b0c9ff; + } + + QComboBox::indicator { + border: none; + border-radius: 0px; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: #8cb0ff; + /* Needed to remove indicator - fix #132 */ + } + + QComboBox::indicator:alternate { + background: #f6f6f6; + } + + QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ + } + + QComboBox::item:alternate { + background: #f6f6f6; + } + + QComboBox::drop-down { + subcontrol-origin: padding; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + subcontrol-position: top right; + width: 14px; + border-left: 1px solid transparent; + } + QComboBox::drop-down:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #8cb0ff, stop:1 #b0c9ff); + } + + QComboBox::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); + height: 10px; + width: 10px; + } + + QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_darker.svg); + } + + + /*================================================================================================== + Tasks panel (custom FreeCAD class) + ==================================================================================================*/ + Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: black; + qproperty-groupBackground: #f6f6f6; + border: 0px solid #C1C1C1; + + } + + /* Action group */ + QFrame[class="panel"] { + background-color: transparent; /* temporal (transparent background) */ + + } + + QSint--ActionGroup { + padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ + margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ + } + + /* 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-top: 1px solid #C1C1C1; + border-left: 1px solid #C1C1C1; + border-right: 1px solid #C1C1C1; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + 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(x1:0, y1:0, x2:0, y2:1, stop:0 #8cb0ff, stop:1 #b0c9ff); + } + + QSint--ActionGroup QToolButton[class="header"] { + color: black; /* 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_dark-light/down_arrow_dark.svg); + 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_dark-light/down_arrow_darker.svg); + } + + QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { + background-color: transparent; + background-image: url(qss:images_dark-light/up_arrow_dark.svg); + 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_dark-light/up_arrow_darker.svg); + } + + QSint--ActionGroup QFrame[class="content"] { + background-color: transparent; /* Task Panel background color */ + margin: 0px; + padding: 0px; + border-bottom: 1px solid #C1C1C1; + border-left: 1px solid #C1C1C1; + border-right: 1px solid #C1C1C1; + 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: #F6F6F6; /* Task Panel background color */ + } + + /* Fixs for tabs inside Task Panel */ + QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { + border-bottom-color: #8cb0ff; /* same as Task Panel background color */ + } + + QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { + border-top-color: #8cb0ff; /* same as Task Panel background color */ + } + + QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { + border-right-color: #8cb0ff; /* same as Task Panel background color */ + } + + QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { + border-left-color: #8cb0ff; /* same as Task Panel background color */ + } + + /* Fix for buttons with icons that showed cropped (still not happy with result) */ + QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { + padding: 2px; /* bigger padding crops text and icons... */ + margin: 0px; + } + + /* Fix for lists inside task panels */ /* sketcher constraints list */ + QSint--ActionGroup QFrame[class="content"] QTreeView, + QSint--ActionGroup QFrame[class="content"] QListView, + QSint--ActionGroup QFrame[class="content"] QTableView { + color: black; + background-color: #ffffff; + } + + + /* found inside Part Design Workbench and "make a draft on a face" Task panel options */ + QSint--ActionGroup QFrame[class="content"] QToolButton { + color: black; + text-align: center; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + border: 0px solid #C1C1C1; + padding: 1px 1px; /* different than regular QPushButton */ + margin: 0px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 1px; + } + + QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #8cb0ff, stop:1 #b0c9ff); + + } + QSint--ActionGroup QFrame[class="content"] QToolButton:focus { + border: 1px solid #b0c9ff + ; + } + + QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, + QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { + color: #A3A3A3; + background-color: #ffffff; + } + + QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #8cb0ff, stop:1 #b0c9ff); + + } + + /* QSlider ---------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + + --------------------------------------------------------------------------- */ + QSlider:disabled { + background: #F6F6F6; + } + + QSlider:focus { + border: 1px solid #b0c9ff; + } + + QSlider::groove:horizontal { + background: #F6F6F6; + border: 1px solid #C1C1C1; + height: 4px; + margin: 0px; + border-radius: 1.9px; + } + + QSlider::groove:vertical { + background: #8cb0ff; + border: 1px solid #C1C1C1; + width: 4px; + margin: 0px; + border-radius: 1.9px; + } + + QSlider::add-page:vertical { + background: #8cb0ff; + border: 1px solid #C1C1C1; + width: 4px; + margin: 0px; + border-radius: 1.9px; + } + + QSlider::add-page:vertical :disabled { + background: #f6f6f6; + } + + QSlider::sub-page:horizontal { + background: #8cb0ff; + border: 1px solid #C1C1C1; + height: 4px; + margin: 0px; + border-radius: 1.9px; + } + + QSlider::sub-page:horizontal:disabled { + background: #8cb0ff; + } + + QSlider::handle:horizontal { + background: #BABABA; + border: 1px solid #C1C1C1; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 1.9px; + } + + QSlider::handle:horizontal:hover { + background: #8cb0ff; + border: 1px solid #8cb0ff; + } + + QSlider::handle:horizontal:focus { + border: 1px solid #b0c9ff; + } + + QSlider::handle:vertical { + background: #A3A3A3; + border: 1px solid #C1C1C1; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 1.9px; + } + + QSlider::handle:vertical:hover { + background: #8cb0ff; + border: 2px solid #8cb0ff; + } + + QSlider::handle:vertical:focus { + border: 1px solid #b0c9ff; + } + + /* QLineEdit -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + + --------------------------------------------------------------------------- */ + QLineEdit { + background-color: #ffffff; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #C1C1C1; + border-radius: 2px; + color: black; + } + + QLineEdit:disabled { + background-color: #F6F6F6; + color: #A3A3A3; + } + + QLineEdit:hover { + border: 1px solid #8cb0ff; + color: black; + } + + QLineEdit:focus { + border: 2px solid #b0c9ff; + } + + QLineEdit:selected { + background-color: #8cb0ff; + color: black; + } + + /* QTabWiget -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + + --------------------------------------------------------------------------- */ + QTabWidget { + padding: 2px; + selection-background-color: #8cb0ff; + } + + QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 1.9px; + } + + QTabWidget::pane { + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; + } + + QTabWidget::pane:selected { + background-color: #8cb0ff; + border: 1px solid #C1C1C1; + } + /* QTabBar ---------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + + --------------------------------------------------------------------------- */ + QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + /* left: 5px; move to the right by 5px - removed for fix */ + } + + QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 1px; + image: url(qss:images_dark-light/close_dark.svg); + } + + QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + /*background-color: rgba(255, 0, 0, 0.3);*/ + } + + QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(qss:images_dark-light/close_.svg); + } + + QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ + padding: 4px; + } + + QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + color: #797979; + } + + QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + color: #797979; + } + + QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + color: #A0A0A0; + } + + QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + color: #A0A0A0; + } + + QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + color: #A0A0A0; + } + + QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + color: #A0A0A0; + + } + + QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + color: #A0A0A0; + + } + + QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + color: #A0A0A0; + } + + QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + color: #A0A0A0; + } + + QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + color: #A0A0A0; + } + + QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + color: #A0A0A0; + } + + QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + color: #A0A0A0; + } + + QTabBar::tab:top, QDockWidget QTabBar::tab:top { + color: #A0A0A0; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 1px solid #A3A3A3; /* same as tab content background color */ + border-radius: 0px; + } + + QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + color: black; + border-top: 4px solid #8cb0ff; /* selection color */ + border-bottom: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #A3A3A3; + border-right: 1px solid #A3A3A3; + } + + QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + /*border: 1px solid #8cb0ff;*/ + border: 0px solid #8cb0ff; + background-color: #8cb0ff; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; + color: black; + } + + QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + color: #A0A0A0; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-top: 1px solid #A3A3A3; /* same as tab content background color */ + border-radius: 0px; + } + + QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + color: black; + border-bottom: 4px solid #8cb0ff; /* selection color */ + border-top: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #A3A3A3; + border-right: 1px solid #A3A3A3; + + } + + QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { + /*border: 1px solid #8cb0ff;*/ + border: 0px solid #8cb0ff; + background-color: #8cb0ff; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; + color: black; + } + + QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #F6F6F6; + margin-top: 2px; + + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 4px; + min-height: 5px; + } + + QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #F6F6F6; + border: 0px solid #b0c9ff; + } + + QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 0px solid #8cb0ff; + background-color: #8cb0ff; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; + color: black; + } + + QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #F6F6F6; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + min-height: 5px; + border: 10px; + } + + QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #F6F6F6; + border: 0px solid #b0c9ff; + } + + QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 0px solid #8cb0ff; + background-color: #8cb0ff; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; + color: black; + } + + QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #F6F6F6; + height: 12px; + width: 12px; + } + + QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + border: 0px solid #8cb0ff; + background-color: #8cb0ff; + } + + QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 0px solid #8cb0ff; + background-color: #8cb0ff; + color: black; + } + + QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_darker.svg); + } + + QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); + } + + QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_darker.svg); + } + + QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); + } + + /* QDockWiget ------------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QDockWidget { + background-color: #F6F6F6; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + titlebar-close-icon: url(qss:images_dark-light/transparent.svg); + titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); + } + + QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + text-align: center; + font-weight: bold; + } + + QDockWidget::close-button { + icon-size: 10px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/close_dark.svg); + } + + QDockWidget::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + } + + QDockWidget::close-button:pressed { + image: url(qss:images_dark-light/close_dark.svg); + } + + QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/undock_dark.svg); + } + + QDockWidget::float-button:hover { + /*background-color: #8cb0ff;*/ + image: url(qss:images_dark-light/undock_blue.svg); + } + + QDockWidget::float-button:pressed { + image: url(qss:images_dark-light/undock_dark.svg); + } + + /* QTreeView QListView QTableView ----------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + + --------------------------------------------------------------------------- */ + QTreeView::branch { + background: transparent; + } + + QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_dark.svg) 0; + } + + QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; + } + + QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; + } + + QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; + } + + QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; + } + + QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; + } + + QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; + } + + QTreeView::indicator:checked, + QListView::indicator:checked, + QTableView::indicator:checked, + QColumnView::indicator:checked { + image: url(qss:images_dark-light/checkbox_dark.svg); + } + + QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, + QListView::indicator:checked:hover, + QListView::indicator:checked:focus, + QListView::indicator:checked:pressed, + QTableView::indicator:checked:hover, + QTableView::indicator:checked:focus, + QTableView::indicator:checked:pressed, + QColumnView::indicator:checked:hover, + QColumnView::indicator:checked:focus, + QColumnView::indicator:checked:pressed { + image: url(qss:images_dark-light/checkbox_light_hover.svg); + } + + QTreeView::indicator:unchecked, + QListView::indicator:unchecked, + QTableView::indicator:unchecked, + QColumnView::indicator:unchecked { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); + } + + QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, + QListView::indicator:unchecked:hover, + QListView::indicator:unchecked:focus, + QListView::indicator:unchecked:pressed, + QTableView::indicator:unchecked:hover, + QTableView::indicator:unchecked:focus, + QTableView::indicator:unchecked:pressed, + QColumnView::indicator:unchecked:hover, + QColumnView::indicator:unchecked:focus, + QColumnView::indicator:unchecked:pressed { + image: url(qss:images_dark-light/checkbox_unchecked_hover_dark.svg); + } + + QTreeView::indicator:indeterminate, + QListView::indicator:indeterminate, + QTableView::indicator:indeterminate, + QColumnView::indicator:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); + } + + QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, + QListView::indicator:indeterminate:hover, + QListView::indicator:indeterminate:focus, + QListView::indicator:indeterminate:pressed, + QTableView::indicator:indeterminate:hover, + QTableView::indicator:indeterminate:focus, + QTableView::indicator:indeterminate:pressed, + QColumnView::indicator:indeterminate:hover, + QColumnView::indicator:indeterminate:focus, + QColumnView::indicator:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); + } + + QTreeView, + QListView, + QTableView, + QColumnView { + background-color: #F6F6F6; /* background of a lot of stuff including spreadsheets.*/ + border: 0px solid #C1C1C1; + color: black; + gridline-color: #f6f6f6; + border-radius: 0px; + } + + QTreeView:disabled, + QListView:disabled, + QTableView:disabled, + QColumnView:disabled { + background-color: #ffffff; + color: #A3A3A3; + } + + QTreeView:selected, + QListView:selected, + QTableView:selected, + QColumnView:selected { + background-color: #8cb0ff; + color: black; + } + + QTreeView:focus, + QListView:focus, + QTableView:focus, + QColumnView:focus { + border: 1px solid #b0c9ff; + } + + QTreeView::item:pressed, + QListView::item:pressed, + QTableView::item:pressed, + QColumnView::item:pressed { + background-color: #8cb0ff; + } + + QTreeView::item:selected:active, + QListView::item:selected:active, + QTableView::item:selected:active, + QColumnView::item:selected:active { + background-color: #8cb0ff; + } + + QTreeView::item:selected:!active, + QListView::item:selected:!active, + QTableView::item:selected:!active, + QColumnView::item:selected:!active { + color: black; + background-color: #BABABA; + } + + QTreeView::item:!selected:hover, + QListView::item:!selected:hover, + QTableView::item:!selected:hover, + QColumnView::item:!selected:hover { + outline: 0; + color: black; + background-color: #8cb0ff; + } + + QTableCornerButton::section { + background-color: #F6F6F6; + border: 1px transparent #C1C1C1; + border-radius: 0px; + } + + QTableView::item { + color: black; + } + QTableView { + /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ + /*qproperty-aliasBgColor: #f700ff;*/ + } + + /* QHeaderView ------------------------------------------------------------ + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + + --------------------------------------------------------------------------- */ + QHeaderView { + background-color: transparent; + text-align: center; + } + + QHeaderView:disabled { + background-color: #F6F6F6; + color: rgb(174, 174, 174); + } + + QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + color: black; + border: 1px solid #C1C1C1; + font-size: 13px; + font-weight: bold; + } + + QHeaderView::section::horizontal { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 5px; + padding-right: 0px; + } + + QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 0px solid #C1C1C1; + } + + QHeaderView::section::horizontal:disabled { + color: #BABABA; + } + + QHeaderView::section::vertical { + padding-top: 1px; + padding-bottom: 0; + padding-left: 1px; + padding-right: 0px; + border-top: 2px solid #C1C1C1; + } + + QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 2px solid #C1C1C1; + } + + QHeaderView::section::vertical:disabled { + border-top: 2px solid #C1C1C1; + } + + QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/down_arrow_dark.svg); + } + + QHeaderView::up-arrow { + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/up_arrow_dark.svg); + } + + /* QToolBox -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox + used in PATH + + --------------------------------------------------------------------------- */ + QToolBox { + padding: 0px; + border: 1px solid #A3A3A3; + border-radius: 4px; + background-color: transparent; + } + + QToolBox:selected { + padding: 0px; + border: 0px solid #8cb0ff; + } + + QToolBox::tab { + background-color: transparent; + border: 0px solid #A3A3A3; + color: black; + background-image: url(qss:images_dark-light/down_arrow_darker.svg); background-repeat: none; background-position: center left; -} - -QToolBar QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -QToolBar QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - 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 > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit, -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - border-radius: 0px; -} - -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit { + } + + QToolBox::tab:disabled { + color: #A3A3A3; + } + + QToolBox::tab:selected { + background-color: #A3A3A3; + background-image: url(qss:images_dark-light/transparent.svg); + padding-right: 5px; + background-repeat: none; + } + + QToolBox::tab:selected:disabled { + background-color: #A3A3A3; + border-bottom: 0px solid #cccccc; color: black; - background-color: transparent; - border-color: transparent; -} - -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - background-color: rgba(0,0,0,30); -} - -QTableView > QWidget > QComboBox:focus, -QTableView > QWidget > QAbstractSpinBox:focus, -QTableView > QWidget > QSpinBox:focus, -QTableView > QWidget > QDoubleSpinBox:focus, -QTableView > QWidget > QLineEdit:focus, -QTableView > QWidget > QTextEdit:focus, -QTableView > QWidget > QTimeEdit:focus, -QTableView > QWidget > QDateEdit:focus, -QTableView > QWidget > QDateTimeEdit:focus { - color: #1b3774; - selection-color: white; - selection-background-color: #5e90fa; - border-color: #cbd8e6; - background-color: #cbd8e6; -} - -QTableView > QWidget > QComboBox:disabled, -QTableView > QWidget > QAbstractSpinBox:disabled, -QTableView > QWidget > QSpinBox:disabled, -QTableView > QWidget > QDoubleSpinBox:disabled, -QTableView > QWidget > QLineEdit:disabled, -QTableView > QWidget > QTextEdit:disabled, -QTableView > QWidget > QTimeEdit:disabled, -QTableView > QWidget > QDateEdit:disabled, -QTableView > QWidget > QDateTimeEdit:disabled { - color: rgba(0,0,0,120); - background-color: transparent; - border-color: transparent; -} - -QTableView > QWidget > QComboBox:read-only, -QTableView > QWidget > QAbstractSpinBox:read-only, -QTableView > QWidget > QSpinBox:read-only, -QTableView > QWidget > QDoubleSpinBox:read-only, -QTableView > QWidget > QLineEdit:read-only, -QTableView > QWidget > QTextEdit:read-only, -QTableView > QWidget > QTimeEdit:read-only, -QTableView > QWidget > QDateEdit:read-only, -QTableView > QWidget > QDateTimeEdit:read-only { - color: black; - background-color: transparent; - border-color: transparent; -} - - -/*================================================================================================== -SELECTORTOOLBAR widget (3rd party plugin) -==================================================================================================*/ -QToolBar:horizontal#Selector, -QToolBar:vertical#Selector { - background-color: rgba(0,0,0,120); - margin: 0px; + } + + QToolBox::tab:!selected { + + } + + QToolBox::tab:!selected:disabled { + background-color: #F6F6F6; + } + + QToolBox::tab:hover { + background-color: #8cb0ff; + } + + QToolBox QScrollArea QWidget QWidget { padding: 0px; -} - -QToolBar::handle:top#Selector, -QToolBar::handle:bottom#Selector, -QToolBar::handle:horizontal#Selector { - alignment: bottom left; -} - -QToolBar::handle:left#Selector, -QToolBar::handle:right#Selector, -QToolBar::handle:vertical#Selector { - width: 100%; - alignment: center left; -} - -QToolBar:top#Selector QToolButton, -QToolBar:bottom#Selector QToolButton, -QToolBar:horizontal#Selector QToolButton { - alignment: bottom left; -} - -QToolBar:left#Selector QToolButton, -QToolBar:right#Selector QToolButton, -QToolBar:vertical#Selector QToolButton { - alignment: center left; -} - -QToolButton[toolbar_orientation="horizontal"] { - /* nothing, when Horizontal there's no need to add special parameters */ -} - -QToolButton[toolbar_orientation="vertical"] { - /* nothing, when Horizontal there's no need to add special parameters */ -} - -QToolBar#Selector QToolButton { - border: none; - margin: 0px; - padding: 2px 6px; - border-radius: 0px; -} - -/* Active tab */ -QToolBar#Selector QToolButton:checked { - color: black; - background-color: #f5f5f5; -} - -/* Unactive tabs */ -QToolBar#Selector QToolButton:!checked { - color: rgba(255,255,255,160); + border: 0px; background-color: transparent; - margin: 0px; -} - -/* Unactive tabs (hover) */ -QToolBar#Selector QToolButton:!checked:hover { - color: rgba(255,255,255,255); - background-color: rgba(255,255,255,20); -} - -/* Unactive tabs (pressed) */ -QToolBar#Selector QToolButton:!checked:pressed { - background-color: rgba(255,255,255,40); -} - - -/*================================================================================================== -TABBAR widget (3rd party plugin) -==================================================================================================*/ -QTabWidget#TabBar > QTabBar { - border-top: 0; -} - -QTabWidget#TabBar > QTabBar::tab:top, -QTabWidget#TabBar > QTabBar::tab:bottom { - min-width: -1; -} - -QTabWidget#TabBar > QTabBar::tab:left, -QTabWidget#TabBar > QTabBar::tab:right { - min-height: -1; -} - - -/*================================================================================================== -EXPERIMENTAL -==================================================================================================*/ - -/* Fix for preventing elements in different rows to accidentally overlap */ -QDialog QGroupBox QFrame { - margin: 2px 0px; -} - -*[mandatoryField="true"] { background-color: cyan } - -/* Hack to avoid QPushButton text partially hidden under menu-indicator */ -QPushButton#NavigationIndicator::menu-indicator { - image: none; - width: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(0,0,0,127); /* 50% opacity black */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(0,0,0,255); /* Black */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,0,255,255); /* Blue */ - text-decoration : underline; -} + } + + /* QFrame ----------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + https://doc.qt.io/qt-5/qframe.html#-prop + https://doc.qt.io/qt-5/qframe.html#details + https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + + --------------------------------------------------------------------------- */ + /* (dot) .QFrame fix #141, #126, #123 */ + .QFrame { + border-radius: 0px; + border: 0px solid #C1C1C1; + background-color: #A3A3A3; + /* No frame */ + /* HLine */ + /* HLine */ + } + + .QFrame[frameShape="0"] { + border-radius: 1.9px; + border: 1px solid #C1C1C1; + } + + .QFrame[frameShape="4"] { + max-height: 1px; + border: none; + background-color: #f6f6f6; + } + + .QFrame[frameShape="5"] { + max-width: 1px; + border: none; + background-color: #F6F6F6; + } + + /* QSplitter -------------------------------------------------------------- + + https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter + + --------------------------------------------------------------------------- */ + QSplitter { + background-color: #f6f6f6; + spacing: 1px; + padding: 1px; + margin: 1px; + } + + QSplitter::handle { + margin: 0px 0px; + padding: 0px; + } + + QSplitter::handle:horizontal { + background-image: url(qss:images_dark-light/splitter_vertical_light.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + width: 1px; + } + + QSplitter::handle:vertical { + background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + height: 1px; + } + + QSplitter::handle:hover { + background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + background-position: center center; + background-repeat: none; + background-color: #8cb0ff; + } + + /* QDateEdit, QDateTimeEdit ----------------------------------------------- + + --------------------------------------------------------------------------- */ + QDateEdit, QDateTimeEdit { + selection-background-color: #8cb0ff; + border-style: solid; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; + } + + QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #8cb0ff; + } + + QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #C1C1C1; + } + + QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); + height: 8px; + width: 8px; + } + + QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_darker.svg); + } + + QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #F6F6F6; + border-radius: 2px; + border: 1px solid #C1C1C1; + selection-background-color: #8cb0ff; + } + + /* QAbstractView ---------------------------------------------------------- + + --------------------------------------------------------------------------- */ + QAbstractView:hover { + border: 1px solid #8cb0ff; + color: black; + } + + QAbstractView:selected { + background: #8cb0ff; + color: black; + } + + /* PlotWidget ------------------------------------------------------------- + + --------------------------------------------------------------------------- */ + PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; + } \ No newline at end of file diff --git a/src/Gui/Stylesheets/Light-green.qss b/src/Gui/Stylesheets/Light-green.qss index e6e0109e01..9a5676c02e 100644 --- a/src/Gui/Stylesheets/Light-green.qss +++ b/src/Gui/Stylesheets/Light-green.qss @@ -1,792 +1,57 @@ /* ABOUT ============================================================================================================ -version 2.21 -Qt theme (stylesheet) specially developed for FreeCAD (https://www.freecad.org/). -It might work with other software that uses Qt styling. +Revised stylesheet based on the orignal from Pablo Gil Fernández made by MisterMaker - -LICENSE +KNOWN BUGS and TO DO ============================================================================================================ -Copyright (c) 2019 Pablo Gil Fernández +Please, follow the link to get updated information: +https://forum.freecad.org/viewtopic.php?t=78431 -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 +INSTALLATION WHEN NECESSARY ============================================================================================================ 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/ - -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 lighter) - 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 +============================================================================================================ +TO MODIFY USE THESE COLORS: + #B7D300 + #E1FF00 +See Qt documentation: + + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: https://forum.freecad.org/viewtopic.php?f=10&t=12417 +/* Reset elements ------------------------------------------------------------ -*/ +Resetting everything helps to unify styles across different operating systems - -/*================================================================================================== -Reset elements -==================================================================================================*/ -/* Resetting everything helps to unify styles across different operating systems */ +--------------------------------------------------------------------------- */ * { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; - color: #505050; /* Default color for labels and different text elements that usually use dark colors */ + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; + border-image: none; + outline: 0; } /* specific reset for elements inside QToolBar */ QToolBar * { - margin: 0px; - padding: 0px; + margin: 0px; + padding: 0px; } +/*hacks */ -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #f5f5f5; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} - - -/*================================================================================================== -Sub windows -==================================================================================================*/ -QMdiSubWindow { - border:1px solid #828282; - margin-top: 30px; - margin-left: 4px; - margin-right: 4px; - margin-bottom:4px; -} - - -/*================================================================================================== -MENUS -==================================================================================================*/ -QMenuBar, -QMenuBar::item { - color: black; - background-color: #f5f5f5; /* main background color */ -} - -QMenu, -QMenu::item { - color: black; - background-color: #f5f5f5; /* main background color */ - text-decoration: none; -} - -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_dark-light/right_arrow_dark.svg); - margin-right: 2px; -} - -QMenu::right-arrow:selected { - image:url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QMenu::item { - padding: 2px 4px; /* make room for icon at left */ - border: 1px solid transparent; /* reserve space for selection border */ -} - -QMenu::icon { - margin-left: 1px; - margin-right: 1px; -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #94b30f; - border: 2px #94b30f; - position: absolute; - border-radius: 2px; -} - -QMenu::separator { - height: 1px; - background-color: rgba(0,0,0,30); - margin: 6px 4px; -} - -QMenu::indicator:non-exclusive:checked { - color: white; -} - -/* Fix for elements inside a drop-down menu */ -QMenu QRadioButton, -QMenu QCheckBox, -QMenu QPushButton, -QMenu QToolButton { - color: black; /* same as regular QRadioButton and QCheckBox */ -} - -QMenu QRadioButton:hover, -QMenu QCheckBox:hover, -QMenu QPushButton:hover, -QMenu QToolButton:hover, -QMenu QPushButton:pressed, -QMenu QToolButton:pressed, -QMenu QPushButton:selected, -QMenu QToolButton:selected { - color: white; - background-color: #94b30f; /* same as QMenu::item:selected and QMenu::item:pressed */ -} - -QMenu QRadioButton:disabled, -QMenu QCheckBox:disabled { - color: #6e6e6e; -} - -QMenu QRadioButton::indicator:disabled, -QMenu QCheckBox::indicator:disabled { - color: #6e6e6e; - background-color: transparent; - border: 1px solid #6e6e6e; -} - - -/*================================================================================================== -Tool bar -==================================================================================================*/ -QToolBar { - border: none; - padding: 2px; -} - -QToolBar::handle:top, -QToolBar::handle:bottom, -QToolBar::handle:horizontal { - background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); - width: 10px; - margin: 4px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:left, -QToolBar::handle:right, -QToolBar::handle:vertical { - background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); - height: 10px; - margin: 2px 4px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:top, -QToolBar::separator:bottom, -QToolBar::separator:horizontal { - width: 1px; - margin: 6px 4px; - background-color: rgba(0,0,0,30); -} - -QToolBar::separator:left, -QToolBar::separator:right, -QToolBar::separator:vertical { - height: 1px; - margin: 4px 6px; - background-color: rgba(0,0,0,30); -} - - -/*================================================================================================== -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; -} - -/* NOTE: QGroupBox checkboxes are styles with regular ones so that the all get the same style */ -/* QGroupBox::indicator { - width: 13px; - height: 13px; -} - -QGroupBox::indicator:unchecked { - image: url(:/images/checkbox_unchecked.png); -} */ - - -/*================================================================================================== -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_dark-light/close_dark.svg); - titlebar-normal-icon: url(qss:images_dark-light/undock_dark.svg); -} - -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 #819c0c, stop:1 #94b30f); - 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,80); -} - -QScrollBar::handle:vertical:hover, -QScrollBar::handle:horizontal:hover { - background-color: rgba(0,0,0,100); -} - -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_dark-light/left_arrow_dark.svg); - 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_dark-light/right_arrow_dark.svg); - 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_dark-light/left_arrow_darker.svg); -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_darker.svg); -} - -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_dark-light/up_arrow_dark.svg); - 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_dark-light/down_arrow_dark.svg); - 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_dark-light/up_arrow_darker.svg); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -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 reset 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: #f5f5f5; /* same as tab content background color */ - 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: 6px; -} - -QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { - background-color: #dcdcdc; -} - -QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { - color: white; - background-color: #94b30f; -} - - -/*================================================================================================== -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_dark-light/close_dark.svg); - 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; /* necessary 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_dark-light/right_arrow_dark.svg); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_dark.svg); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -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:hover, -QTreeView::item:hover { - background-color: transparent; /* fix to homogenize it on all OSs */ -} - -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, @@ -796,15 +61,18 @@ Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { background-color: transparent; selection-color: transparent; selection-background-color: transparent; + +} +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 1px; + margin: 0px; + padding: 0px; } -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: black; - background-color: #dadfc5; -} - -/* hack to disable margin inside Property values to following elements */ Gui--PropertyEditor--PropertyEditor QSpinBox, Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, @@ -814,248 +82,1414 @@ Gui--PropertyEditor--PropertyEditor QComboBox { margin-right: 0px; padding-top: 0px; padding-bottom: 0px; -} -/* reset min-height 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 > Gui--ColorButton { - min-height: 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; - border-radius: 0px; /* reset */ -} - - /*================================================================================================== -Header of tree and list views +Main window ==================================================================================================*/ -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; +QMainWindow, +QDialog, +QDockWidget, +QToolBar { + background-color: #F6F6F6; /* main background color */ } -QHeaderView::section { - border:none; - padding: 4px 6px; - background-color: #c3c3c3; +QMdiArea { + background-image: url(qss:images_dark-light/background_freecad.svg); + background-position: center center; + background-repeat: no-repeat; +} +/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ +Gui--NavigationIndicatorGui--BlenderNavigationStyle { +/*QAction#a4 {*/ + qproperty-icon: url(:/icons/icons/NavigationBlender_dark.svg); +} +/*===== +/* QWidget ---------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QWidget { + background-color: #F6F6F6; + border: 0px solid #C1C1C1; + padding: 0px; + color: black; + selection-background-color: #B7D300; + selection-color: black; } -QHeaderView::section:horizontal { - padding: 4px 6px; /* left and right value similar to QHeaderView::section */ - border-right: 1px solid rgba(0,0,0,30); +QWidget:disabled { + background-color: transparent; + color: #A3A3A3; + selection-background-color: #B7D300; + selection-color: #A3A3A3; } -QHeaderView::section:vertical { - border-bottom: 1px solid rgba(0,0,0,30); +QWidget::item:selected { + background-color: #B7D300 +; } -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); -} + /* Causes issue with colorselector. + QWidget::item:hover:!selected { + background-color: #B7D300; + }*/ -QHeaderView::section:last { - border-right: none; -} +/* QMainWindow ------------------------------------------------------------ -QHeaderView::up-arrow { - image: url(qss:images_dark-light/up_arrow_dark.svg); -} +This adjusts the splitter in the dock widget, not qsplitter +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow -QHeaderView::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QHeaderView::down-arrow { - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - -QHeaderView::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -/* 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_dark-light/branch_vline_dark.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; -} - - -/*================================================================================================== -Splitter and windows separator -==================================================================================================*/ -QSplitter::handle { - margin: 0px 11px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - background-position: center center; - background-repeat: none; - margin: 4px 2px 4px 2px; - width: 2px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - margin: 2px 4px 2px 4px; - height: 2px; -} - -/* Similar to the splitter is the following window separator (but horizontal/vertical is on the opposite way) */ +--------------------------------------------------------------------------- */ QMainWindow::separator { - background-position: center center; - background-repeat: none; + /*background-color: #f6f6f6;*/ + border: 0px solid #C1C1C1; + spacing: 0px; + padding: 1px; +} + +QMainWindow::separator:vertical:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #B7D300, stop:0.8 transparent); + /*background-color: #B7D300;*/ + image: url(qss:images_dark-light/splitter_vertical_dark.svg); +} + +QMainWindow::separator:horizontal:hover { + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #B7D300, stop:0.8 transparent); + /*background-color: #B7D300;*/ + image: url(qss:images_dark-light/splitter_horizontal_dark.svg); } QMainWindow::separator:horizontal { - height: 2px; - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - margin: 4px 2px 4px 2px; + width: 4px; + margin-top: 0.1px; + margin-bottom: 0.1px; + /* image: url(qss:images_dark-light/splitter_horizontal_light.svg);*/ } QMainWindow::separator:vertical { - width: 2px; - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - margin: 2px 4px 2px 4px; + height: 4px; + margin-left: 0.1px; + margin-right: 0.1px; + /* image: url(qss:images_dark-light/splitter_vertical_light.svg);*/ +} + +/* QToolTip --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + +--------------------------------------------------------------------------- */ +QToolTip { + background-color: #ffffff; + color: black; + /* If you remove the border property, background stops working on Windows */ + border: none; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ +} + +/* QStatusBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + +--------------------------------------------------------------------------- */ +QStatusBar { + border: 0px solid #C1C1C1; + /* Fixes Spyder #9120, #9121 */ + background: #F6F6F6; + /* Fixes #205, black vertical borders separating items */ +} + +QStatusBar::item { + border: none; +} + +QStatusBar QToolTip { + background-color: #F6F6F6; + border: 1px solid #C1C1C1; + color: #F6F6F6; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; +} + +QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; +} + +/* QCheckBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + +--------------------------------------------------------------------------- */ +QCheckBox { + color: black; + padding: 0px; + outline: none; + border: 1px solid transparent; + background-color: transparent; +} + +QCheckBox:focus { + border: 1px solid #E1FF00 ; +} + +QCheckBox QWidget:disabled { + background-color: transparent; + color: #A3A3A3; +} + +QCheckBox::indicator { + color: black; + background-color: #ffffff; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QCheckBox::indicator:unchecked { + background-color: #ffffff; + image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { + background-color: #B7D300; + image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QCheckBox::indicator:unchecked:disabled { + background-color: #F6F6F6; + image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QCheckBox::indicator:checked { + background-color: #ffffff; + /*border: 1px solid #C1C1C1; /* QRadioButton has the same color */ + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { + background-color: #B7D300; +} + +QCheckBox::indicator:checked:disabled { + background-color: #F6F6F6; + image: url(qss:images_dark-light/check_dark.svg); +} + +QCheckBox::indicator:indeterminate { + background-color: #ffffff; + border: 1px solid #C1C1C1; + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QCheckBox::indicator:indeterminate:disabled { + background-color: #F6F6F6; + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + background-color: #B7D300; /* QRadioButton has the same color */ +} + +/* QGroupBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + +--------------------------------------------------------------------------- */ +QGroupBox { + font-weight: bold; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + padding: 2px; + margin-top: 10px; + margin-bottom: 4px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: 6px; +} + +QGroupBox::indicator { + color: black; + background-color: #f6f6f6; + border: 1px solid #C1C1C1; + width: 12px; + height: 12px; + border-radius:1px; +} + +QGroupBox::indicator:unchecked { + background-color: #f6f6f6; + border: 1px solid #C1C1C1; + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + background-color: #B7D300; +} + +QGroupBox::indicator:unchecked:disabled { + background-color: #ffffff; + border: 1px solid #C1C1C1; +} + +QGroupBox::indicator:checked { + border: none; + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + background-color: #B7D300; +} + +QGroupBox::indicator:checked:disabled { + background-color: #B7D300; +} + +/* QRadioButton ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + +--------------------------------------------------------------------------- */ +QRadioButton { + background-color: transparent; + color: black; + border: none; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + outline: none; +} + +QRadioButton:focus { + border: 1px solid #E1FF00 ; +} + +QRadioButton:disabled { + background-color: #f6f6f6; + color: #A3A3A3; +} + +QRadioButton QWidget { + background-color: transparent; + color: black; + spacing: 0px; + padding: 0px; + outline: none; + border: none; +} + +QRadioButton::indicator { + background-color: #f6f6f6; + border: 1px solid #C1C1C1; + border-radius: 6px; + margin-left: 0px; + height: 11px; + width: 11px; +} + +QRadioButton::indicator:unchecked { + /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ +} + +QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { + background-color: #B7D300; + border: 1px solid #B7D300; + border-radius: 6px; +} + +QRadioButton::indicator:unchecked:disabled { + /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ + border: 1px solid #C1C1C1; +} + +QRadioButton::indicator:checked { + image:url(qss:images_dark-light/radiobutton_dark.svg); +} + +QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { + background-color: #B7D300; + border: 1px solid #B7D300; + border-radius: 6px; + image:url(qss:images_dark-light/radiobutton_dark.svg); +} + +QRadioButton::indicator:checked:disabled { + outline: none; + background-color: #f6f6f6; + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +/* QMenuBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + +--------------------------------------------------------------------------- */ +QMenuBar { + background-color: #ffffff; + /*padding: 1px; + border: 0px solid rgba(0,0,0,140);*/ + color: black; + selection-background-color: #B7D300; +} + +QMenuBar:focus { + border: 1px solid #B7D300; +} + +QMenuBar::item { + background: transparent; + /*padding-left:5px; + padding-right: 5px; + padding-bottom: 1px; + padding-top: 1px;*/ +} + +QMenuBar::item:selected { + background: transparent; + border: 0px solid #C1C1C1; + background-color: #B7D300; +} + +QMenuBar::item:pressed { + /*padding: 2px; + padding-left: 10px; + padding-right: 10px;*/ + border: 0px solid #C1C1C1; + background-color: #B7D300; + color: black; + /*margin-bottom: 0px; + padding-bottom: 0px;*/ +} + +/* QMenu ------------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + +--------------------------------------------------------------------------- */ +QMenu { + border-bottom: 2px rgba(0,0,0,140); + border-right: 2px rgba(0,0,0,140); + color: black; + margin: 0px; + background-color: #ffffff; + selection-background-color: #B7D300; +} + +QMenu::separator { + height: 2px; + background-color: #f6f6f6; + margin-left: 30%; + margin-right: 30%; +} + +QMenu::item { + background-color: transparent; + padding: 2px 2px; /* make room for icon at left */ + /* Reserve space for selection border */ + border: 0px transparent #f6f6f6; +} + +QMenu::item:selected { + color: black; + background-color: #B7D300; +} + +QMenu::item:pressed { + background-color: #B7D300; +} + +QMenu::icon { + margin-left: 5px; + width: 14px; + height: 14px; +} + +QMenu::indicator { + margin-left: 2px; + margin-right: 2px; + padding: 0px; + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ +} + +QMenu::icon:checked { /* appearance of a 'checked' icon */ + background: #E1FF00 ; + margin-left: -5px; + border: 5px solid #E1FF00 ; + position: absolute; + border-radius: 0px; +} +QMenu::indicator:non-exclusive:unchecked { + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { + border: none; + image: url(qss:images_dark-light/checkbox_unchecked_focus.png); +} + +QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QMenu::indicator:non-exclusive:checked { + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + background: #B7D300; + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QMenu::indicator:non-exclusive:checked:disabled { + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QMenu::indicator:non-exclusive:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QMenu::indicator:exclusive:unchecked { + image: url(qss:images_dark-light/transparent.svg); +} + +QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { + border: none; + outline: none; + background: #B7D300; + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QMenu::indicator:exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(qss:images_dark-light/radiobutton_dark.svg); +} + +QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + background: #B7D300; + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(qss:images_dark-light/radiobutton_dark.svg); +} + +QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image:url(qss:images_dark-light/right_arrow_darker.svg); + height: 12px; + width: 12px; + background-color: transparent; +} + +/* QAbstractItemView ------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QAbstractItemView { + alternate-background-color: #ababab; + color: black; + border: 1px solid #C1C1C1; + border-radius: 2px; +} + +QAbstractItemView QLineEdit { + padding: 2px; +} + +/* QAbstractScrollArea ---------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QAbstractScrollArea { + background-color: transparent; + border: 0px solid #C1C1C1; + border-radius: 0px; + /* fix #159 */ + padding: 0px; + /* remove min-height to fix #244 */ + color: black; +} + +QAbstractScrollArea:disabled { + color: #A3A3A3; +} + +/* QScrollArea ------------------------------------------------------------ + +--------------------------------------------------------------------------- +text input field disabled!!!!*/ +QScrollArea QWidget:disabled { + background-color: #F6F6F6; +} + +/* QScrollBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + +--------------------------------------------------------------------------- */ +QScrollBar:horizontal { + height: 16px; + margin: 2px 16px 2px 16px; + border: 0px solid #C1C1C1; + border-radius: 1.9px; + background-color: #F6F6F6; +} + +QScrollBar:vertical { + background-color: #F6F6F6; + width: 16px; + margin: 16px 2px 16px 2px; + border: 0px solid #C1C1C1; + border-radius: 1.9px; +} + +QScrollBar::handle:horizontal { + background-color: #A3A3A3; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:hover { + background-color: #B7D300; + border: #f6f6f6; + border-radius: 1.9px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:focus { + border: 1px solid #E1FF00 ; +} + +QScrollBar::handle:vertical { + background-color: #A3A3A3; + border: 1px solid #C1C1C1; + min-height: 8px; + border-radius: 1.9px; +} + +QScrollBar::handle:vertical:hover { + background-color: #B7D300; + border: #f6f6f6; + border-radius: 1.9px; + min-height: 8px; +} + +QScrollBar::handle:vertical:focus { + border: 1px solid #E1FF00 ; +} + +QScrollBar::add-line:horizontal { + border-image: url(qss:images_dark-light/right_arrow_dark.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_dark.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + border-image: url(qss:images_dark-light/down_arrow_dark.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_darker.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/left_arrow_dark.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images_dark-light/left_arrow_darker.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/up_arrow_dark.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + border-image: url(qss:images_dark-light/up_arrow_darker.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; +} + +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +/* QTextEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + + +report view +--------------------------------------------------------------------------- */ +QTextEdit { + background-color: #F6F6F6; + color: black; + border-radius: 1.9px; + border: 0px solid #C1C1C1; +} + +QTextEdit:focus { + border: 1px solid #E1FF00 ; +} + +QTextEdit:selected { + background: #346792; + color: black; +} + +/* QPlainTextEdit --------------------------------------------------------- +Python +--------------------------------------------------------------------------- */ +QPlainTextEdit { + background-color: #f6f6f6; + color: black; + border-radius: 1.9px; + border: 0px solid #C1C1C1; +} + +QPlainTextEdit:focus { + border: 1px solid #E1FF00 ; +} + +QPlainTextEdit:selected { + background: #B7D300; + color: black; +} + +/* QSizeGrip -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + +--------------------------------------------------------------------------- */ +QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/sizegrip_dark.svg); +} + +/* QStackedWidget --------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QStackedWidget { + padding: 0px; + border: 0px solid #C1C1C1; +} + +/* QToolBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + +--------------------------------------------------------------------------- */ +QToolBar { + background-color: #F6F6F6; + border-bottom: 0px solid rgba(0,0,0,120); + padding: 1px; + font-weight: bold; + spacing: 1px; +} + +QToolBar:disabled { + /* Fixes #272 */ + background-color: #F6F6F6; +} + +QToolBar::handle:horizontal { + width: 8px; + margin: 3px 3px; + background-position: top right; + background-repeat: repeat-y; + background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); +} + +QToolBar::handle:vertical { + height: 8px; + margin: 3px 3px; + background-position: left bottom; + background-repeat: repeat-x; + background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); +} + +QToolBar::separator:horizontal { + width: 2px; + margin: 4px 4px; + background-color: transparent; +} + +QToolBar::separator:vertical { + height: 2px; + margin: 4px 4px; + background-color: transparent; +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ +QToolButton#qt_toolbar_ext_button { +margin: 0px; +padding: 0px; +background-color: #A3A3A3; +/*background-image: url(qss:images_dark-light/more_dark.svg);*/ +background-repeat: none; +background-position: center center; +} + +QToolButton#qt_toolbar_ext_button:hover { +/*background-image: url(qss:images_dark-light/more_dark.svg);*/ +background-color: #B7D300; +} + +QToolButton#qt_toolbar_ext_button:on { +/*background-image: url(qss:images_dark-light/more_dark.svg);*/ +border-color: #f6f6f6; +background-color: #B7D300; } -/*================================================================================================== -Text/Python editor (macros, etc...) -==================================================================================================*/ -QPlainTextEdit, -QPlainTextEdit:focus { - background-color: #f0f0f0; - selection-color: white; - selection-background-color: #819c0c; - border: 1px solid #c3c3c3; - border-radius: 3px; - margin: 4px; +/* QAbstractSpinBox ------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractSpinBox, +QSpinBox { + background-color: #ffffff; + border: 1px solid transparent; + color: black; + /* This fixes 103, 111 */ + /* padding-top: 0px; + /* This fixes 103, 111 */ + /*padding-bottom: 0px; + /*padding-left: 4px; + /*padding-right: 4px; + border-radius: 1.9px;*/ + min-height: 1.7em; + /* min-width: 5px; removed to fix 109 */ +} + +QAbstractSpinBox:up-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + subcontrol-origin: border; + subcontrol-position: top right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-bottom: -1px;*/ +} + +QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); + /* height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_darker.svg); +} + +QAbstractSpinBox:down-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + subcontrol-origin: border; + subcontrol-position: bottom right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-top: -1px;*/ +} + +QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); + /*height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_darker.svg); +} + +QAbstractSpinBox:hover { + /*border: 1px solid #B7D300; + color: black;*/ +} + +QAbstractSpinBox:focus { + border: 1px solid #E1FF00 ; +} + +QAbstractSpinBox:selected { + background: #E1FF00 ; + /*color: black;*/ +} + +/* ------------------------------------------------------------------------ */ +/* DISPLAYS --------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QLabel ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + +--------------------------------------------------------------------------- */ +QLabel { + background-color: transparent; + border: 0px solid #C1C1C1; + padding: 2px; + margin: 0px; + color: black; +} + +QLabel:disabled { + background-color: transparent; + border: 0px solid #C1C1C1; + color: #A3A3A3; +} + +QLabel[haslink="true"] { + color: orange; +} + + +/* QTextBrowser ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QTextBrowser { + background-color: #ffffff; + border: 1px solid #C1C1C1; + color: black; + border-radius: 1.9px; +} + +QTextBrowser:disabled { + background-color: #F6F6F6; + border: 1px solid #C1C1C1; + color: #A3A3A3; + border-radius: 1.9px; +} + +QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #B7D300; +} + +/* QGraphicsView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QGraphicsView { + background-color: transparent; + border: 0px solid #B7D300; + color: black; + border-radius: 0px; +} + +QGraphicsView:disabled { + background-color: #ffffff; + border: 0px solid #C1C1C1; + color: #A3A3A3; + border-radius: 0px; +} + +QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 0px solid #ff00f7; +} + +/* QCalendarWidget -------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCalendarWidget { + border: 1px solid #C1C1C1; + border-radius: 1.9px; +} + +QCalendarWidget:disabled { + background-color: #A3A3A3; + color: #A3A3A3; +} + +/* QLCDNumber ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QLCDNumber { + background-color: #1aff00; + color: black; +} + +QLCDNumber:disabled { + background-color: #F6F6F6; + color: #A3A3A3; +} + +/* QProgressBar ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + +--------------------------------------------------------------------------- */ +QProgressBar { + background-color: #A3A3A3; + border: 1px solid #C1C1C1; + color: black; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar:disabled { + background-color: #ffffff; + border: 1px solid #C1C1C1; + color: #A3A3A3; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #B7D300; + color: #F6F6F6; + border-radius: 1.9px; +} + +QProgressBar::chunk:disabled { + background-color: #ffffff; + color: #f6f6f6; + border-radius: 1.9px; +} + +/* ------------------------------------------------------------------------ */ +/* BUTTONS ---------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QPushButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + +--------------------------------------------------------------------------- */ +QPushButton { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + color: black; + border: 1px solid #EDEDED; + border-bottom-color: #AFAFAF; /* simulates shadow under the button */ + border-radius: 4px; + padding: 2px; +} + +QPushButton:disabled { + background-color: #F6F6F6; + color: #A3A3A3; + +} + +QPushButton:checked { + background-color: #B7D300; + outline: none; +} + +QPushButton:checked:disabled { + background-color: #B7D300; + color: #f6f6f6; + outline: none; +} + +QPushButton:checked:selected { + background: #B7D300; +} + +QPushButton:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B7D300, stop:1 #E1FF00 ); + color: black; +} + +QPushButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #E1FF00 , stop:1 #B7D300); +} + +QPushButton:selected { + background: #E1FF00 ; + color: black; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + bottom: 4px; +} + +QDialogButtonBox QPushButton { + /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; +} + +/* QToolButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + +--------------------------------------------------------------------------- */ +QToolButton { + background-color: transparent; + color: black; + border-radius: 1px; + padding: 0px; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ +} + +QToolButton:disabled { + background-color: transparent; + color: #A3A3A3; + border-radius: 1px; + padding: 0px; +} + +QToolButton:checked { + background-color: #B7D300; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:disabled { + background-color: #b65555; + color: #A3A3A3; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:hover { + background-color: #B7D300; + color: black; +} + +QToolButton:checked:pressed { + background-color: #B7D300; +} + +QToolButton:checked:selected { + background: #E1FF00 ; + color: black; +} + +QToolButton:hover { + background-color: #B7D300; + color: black; +} + +QToolButton:pressed { + background-color: #E1FF00 ; +} + +QToolButton:selected { + background: #B7D300; + color: black; +} + +QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 20px; +} + +QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; +} +QToolButton[popupMode="0"]::menu-button { + border: none; +} + +QToolButton[popupMode="0"]::menu-button:hover { + border: none; + border-left: 2px solid #fe0000; + border-radius: 0px; +} +QToolButton[popupMode="1"]::menu-button { + border: none; +} + +QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 2px solid #e5ff00; + border-radius: 0px; +} + +QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 20px; +} + +QToolButton::menu-button { + border-bottom: 0px solid #b2b2b2; + border-radius: 2px; + /* 16px width + 4px for border = 20px allocated above */ + width: 1.6ex; + padding: 2px; + border-radius: 2px; + border: 0px #000000; +} + +QToolButton::menu-button:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + +} + +QToolButton::menu-button:checked:hover { + /* background: rgba(0, 0, 0, 0.5);*/ +} + +QToolButton::menu-indicator { + /* Exclude a shift for better image */ + subcontrol-position: right bottom; + /* Shift it a bit */ +} + +QToolButton::menu-arrow { + image: url(qss:images_dark-light/more_arrow_dark.svg); + width: 1.5ex; + height: 1.5ex; + subcontrol-position: right bottom; + background: transparent; +} +QToolButton::menu-arrow:open { + subcontrol-position: right bottom; + image: url(qss:images_dark-light/more_arrow_dark.svg); +} +QToolButton::menu-arrow:hover { + image: url(qss:images_dark-light/more_arrow_dark.svg); + background-color: rgba(0, 0, 0, 0.498); + border: 1px solid rgba(0, 0, 0, 0.498); +} + +/* QCommandLinkButton ----------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCommandLinkButton { + background-color: transparent; + border: 1px solid #C1C1C1; + color: black; + border-radius: 1.9px; + padding: 0px; + margin: 0px; +} + +QCommandLinkButton:disabled { + background-color: transparent; + color: #A3A3A3; +} + +/* ------------------------------------------------------------------------ */ +/* INPUTS - NO FIELDS ----------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QComboBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QComboBox { + border: 1px solid transparent; + background: #ffffff; + border-radius: 2px; + selection-background-color: #B7D300; + padding-left: 2px; + padding-right: 2px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ +} +QComboBox:editable { + background: black; +} +QComboBox QAbstractItemView { + border: 0px solid #C1C1C1; + border-radius: 0px; + background-color: #ffffff; + selection-background-color: #B7D300; +} + +QComboBox QAbstractItemView:hover { + background-color:#ffffff; + color: black; +} + +QComboBox QAbstractItemView:selected { + background: #B7D300; + color: black; +} + +QComboBox QAbstractItemView:alternate { + background: #f6f6f6; +} + +QComboBox:disabled { + background-color: #F6F6F6; + color: #A3A3A3; +} + +QComboBox:hover { + /*background-color: #B7D300;*/ + border: 1px solid #B7D300; +} + +QComboBox:focus { + border: 1px solid #E1FF00 ; +} + +QComboBox:on { + selection-background-color: #E1FF00 ; +} + +QComboBox::indicator { + border: none; + border-radius: 0px; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: #B7D300; + /* Needed to remove indicator - fix #132 */ +} + +QComboBox::indicator:alternate { + background: #f6f6f6; +} + +QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ +} + +QComboBox::item:alternate { + background: #f6f6f6; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + subcontrol-position: top right; + width: 14px; + border-left: 1px solid transparent; +} +QComboBox::drop-down:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B7D300, stop:1 #E1FF00 ); +} + +QComboBox::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); + height: 10px; + width: 10px; +} + +QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_darker.svg); } /*================================================================================================== Tasks panel (custom FreeCAD class) ==================================================================================================*/ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: black; + qproperty-groupBackground: #f6f6f6; + border: 0px solid #C1C1C1; + +} + /* Action group */ QFrame[class="panel"] { - background-color: transparent; /* temporal (transparent background) */ +background-color: transparent; /* temporal (transparent background) */ + } QSint--ActionGroup { - padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ - margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ } /* Separator line */ @@ -1065,1257 +1499,1038 @@ 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); +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; +border-top: 1px solid #C1C1C1; +border-left: 1px solid #C1C1C1; +border-right: 1px solid #C1C1C1; +background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); +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); +background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B7D300, stop:1 #E1FF00 ); } QSint--ActionGroup QToolButton[class="header"] { - color: white; /* Task Panel Header text color */ - text-align: left; - font-weight: bold; - border: none; - margin: 0px; - padding: 0px; +color: black; /* 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_dark-light/down_arrow_light.svg); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; +background-color: transparent; +background-image: url(qss:images_dark-light/down_arrow_dark.svg); +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_dark-light/down_arrow_lighter.svg); +background-color: transparent; +background-image: url(qss:images_dark-light/down_arrow_darker.svg); } QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images_dark-light/up_arrow_light.svg); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_dark.svg); +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_dark-light/up_arrow_lighter.svg); +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_darker.svg); } 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; +background-color: transparent; /* Task Panel background color */ +margin: 0px; +padding: 0px; +border-bottom: 1px solid #C1C1C1; +border-left: 1px solid #C1C1C1; +border-right: 1px solid #C1C1C1; +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 */ +background-color: #F6F6F6; /* 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 */ +border-bottom-color: #B7D300; /* 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 */ +border-top-color: #B7D300; /* 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 */ +border-right-color: #B7D300; /* 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 */ +border-left-color: #B7D300; /* same as Task Panel background color */ } /* Fix for buttons with icons that showed cropped (still not happy with result) */ QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { - padding: 2px; /* bigger padding crops text and icons... */ - margin: 0px; +padding: 2px; /* bigger padding crops text and icons... */ +margin: 0px; } -/* Fix for lists inside task panels */ -/* QSint--ActionGroup QFrame[class="content"] QTreeView, +/* Fix for lists inside task panels */ /* sketcher constraints list */ +QSint--ActionGroup QFrame[class="content"] QTreeView, QSint--ActionGroup QFrame[class="content"] QListView, QSint--ActionGroup QFrame[class="content"] QTableView { - color: #f5f5f5; - background-color: #787878; -} */ - - -/*================================================================================================== -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 */ - min-height: 20px; /* important to be a pair number in order to up/down buttons to be divisible by two (if not set could create a blank line in Ubuntu. Its downside is that it's needed to reset it (min-width: 0px) on following elements that can't have it such as fields inside QToolBar and inside QTreeView (Property editor) */ - padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ -} - -/* more contrast for QTexEdits */ -QTextEdit { - color: black; -} - -/* 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 (like Report view)*/ -QTextEdit:!editable, -QTextEdit:!editable:focus { - 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; -} - -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_dark-light/up_arrow_dark.svg); - top: 2px; /* fix symmetry 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_dark-light/up_arrow_lighter.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -QAbstractSpinBox::down-arrow, -QSpinBox::down-arrow, -QDoubleSpinBox::down-arrow, -QTimeEdit::down-arrow, -QDateEdit::down-arrow, -QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_dark.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -/* 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_dark-light/down_arrow_dark.svg); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QComboBox::down-arrow:off, -QComboBox::down-arrow:disabled { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - -/* 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 */ +color: black; +background-color: #ffffff; } -/*================================================================================================== -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, -Gui--PropertyEditor--PropertyEditor > 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 */ -} - -Gui--PropertyEditor--PropertyEditor > QWidget > QPushButton { - text-align:left; - padding-left: 2px; -} - -/* 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; -} - -QPushButton:checked { - background-color: #94b30f; - border-color: #819c0c; -} - -/*================================================================================================== -Tool button Icon fix in save dialogs -==================================================================================================*/ -/* found under Tools -> Save Picture */ /* Draft -> ShapeString -> Font file */ - -QFileDialog#QFileDialog QToolButton { - background-color: transparent; - padding: 1px; - border: 1px; - margin: 0px; -} - - -/*================================================================================================== -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); -} - - -/*================================================================================================== -Tool button inside Task Panel content that works as QPushButtons -==================================================================================================*/ /* found inside Part Design Workbench and "make a draft on a face" Task panel options */ QSint--ActionGroup QFrame[class="content"] 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: 2px 6px; /* different than regular QPushButton */ - margin: 2px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 4px; + color: black; + text-align: center; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + border: 0px solid #C1C1C1; + padding: 1px 1px; /* different than regular QPushButton */ + margin: 0px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 1px; } -QSint--ActionGroup QFrame[class="content"] QToolButton:hover, +QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B7D300, stop:1 #E1FF00 ); + +} QSint--ActionGroup QFrame[class="content"] 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); + border: 1px solid #E1FF00 +; } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #b6b6b6; - border-color: #e6e6e6; - background-color: #e6e6e6; + color: #A3A3A3; + background-color: #ffffff; } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #819c0c, stop:1 #94b30f); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B7D300, stop:1 #E1FF00 ); + } -/* QToolButtons with a menu found in Sketcher task panel*/ -QSint--ActionGroup QToolButton::menu-button { - border: none; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - padding: 2px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; +/* QSlider ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + +--------------------------------------------------------------------------- */ +QSlider:disabled { + background: #F6F6F6; } -QSint--ActionGroup QToolButton#settingsButton, -QSint--ActionGroup QToolButton#filterButton, -QSint--ActionGroup QToolButton#manualUpdate { - padding-right: 20px; /* make way for the popup button */ -} - -/* to give widget inside the menu same look as regular menu */ -QSint--ActionGroup QToolButton#filterButton QListWidget { - color: black; - background: #f5f5f5; - padding: 0px; - margin: 0px; -} - - -/*================================================================================================== -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_dark-light/radiobutton_light.svg); -} - -QRadioButton, -QRadioButton:disabled { - color: #505050; - padding: 3px; - outline: none; - background-color: transparent; -} - -QRadioButton:disabled { - color: rgba(0,0,0,40); -} - -QRadioButton::indicator { - width: 11px; - height: 11px; - border-radius: 6px; -} - -QRadioButton::indicator:pressed { - border-color: #c5d675; -} - -QRadioButton::indicator:disabled { - color: #6e6e6e; - background-color: transparent; - border: 1px solid #6e6e6e; -} - -QRadioButton:focus { - border: none; -} - - -/*================================================================================================== -Checkbox -==================================================================================================*/ -QCheckBox, -QCheckBox:disabled { - color: #505050; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: #c8c8c8; - background-color: rgba(0,0,0,20); - border: 1px solid #505050; - width: 11px; - height: 11px; - border-radius:2px; -} - -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed, -QGroupBox::indicator:pressed, -QGroupBox::indicator:non-exclusive:checked:pressed, -QGroupBox::indicator:indeterminate:pressed, -QGroupBox::indicator:checked:pressed { - border-color: #c5d675; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #94b30f; /* QRadioButton has the same color */ - border: 1px solid #819c0c; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox:disabled { - color: rgba(0,0,0,40); - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled { - background-color: rgba(0,0,0,20); - border: 1px solid rgba(0,0,0,20); -} - -QCheckBox::indicator:indeterminate, -QGroupBox::indicator:indeterminate { - background-color: #94b30f; - border: 1px solid #819c0c; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox:focus { - border: none; -} - - -/*================================================================================================== -Checkboxes inside QListWidget and QTreeView -==================================================================================================*/ -QListWidget::indicator, -QTreeView::indicator { - color: #c8c8c8; - background-color: rgba(0,0,0,20); - border: 1px solid #505050; - width: 11px; - height: 11px; - border-radius:2px; -} - -/* fix for QTreeView::indicator losing its margin */ -QTreeView::indicator { - margin: 3px; -} - -QListWidget::indicator:selected, -QTreeView::indicator:selected { - background-color: #e6e6e6; -} - -QListWidget::indicator:checked:selected, -QListWidget::indicator:indeterminate:selected, -QTreeView::indicator:checked:selected, -QTreeView::indicator:indeterminate:selected { - background-color: #a5c61a; /* slightly lighter than default */ - border-color: #74831d; /* slightly darker than default */ -} - -QListWidget::indicator:pressed, -QListWidget::indicator:non-exclusive:checked:pressed, -QListWidget::indicator:indeterminate:pressed, -QListWidget::indicator:checked:pressed, -QTreeView::indicator:pressed, -QTreeView::indicator:non-exclusive:checked:pressed, -QTreeView::indicator:indeterminate:pressed, -QTreeView::indicator:checked:pressed { - border-color: #c5d675; -} - -QListWidget::indicator:checked, -QTreeView::indicator:checked { - background-color: #94b30f; /* QRadioButton has the same color */ - border: 1px solid #819c0c; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QListWidget::indicator:disabled, -QTreeView::indicator:disabled { - background-color: rgba(0,0,0,20); - border: 1px solid rgba(0,0,0,20); -} - -QListWidget::indicator:indeterminate, -QTreeView::indicator:indeterminate { - background-color: #94b30f; - border: 1px solid #819c0c; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - - -/*================================================================================================== -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:focus { + border: 1px solid #E1FF00 ; } QSlider::groove:horizontal { - height: 8px; + background: #F6F6F6; + border: 1px solid #C1C1C1; + height: 4px; + margin: 0px; + border-radius: 1.9px; } QSlider::groove:vertical { - width: 8px; + background: #B7D300; + border: 1px solid #C1C1C1; + width: 4px; + margin: 0px; + border-radius: 1.9px; } -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #dcdcdc; - background-color: #dcdcdc; +QSlider::add-page:vertical { + background: #B7D300; + border: 1px solid #C1C1C1; + width: 4px; + margin: 0px; + border-radius: 1.9px; } -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #b6b6b6; - border: 1px solid #b6b6b6; - width: 14px; - height: 14px; - border-radius: 8px; +QSlider::add-page:vertical :disabled { + background: #f6f6f6; +} + +QSlider::sub-page:horizontal { + background: #B7D300; + border: 1px solid #C1C1C1; + height: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::sub-page:horizontal:disabled { + background: #B7D300; } QSlider::handle:horizontal { - margin: -4px 0; + background: #A3A3A3; + border: 1px solid #C1C1C1; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 1.9px; +} + +QSlider::handle:horizontal:hover { + background: #B7D300; + border: 1px solid #B7D300; +} + +QSlider::handle:horizontal:focus { + border: 1px solid #E1FF00 ; } QSlider::handle:vertical { - margin: 0 -4px; + background: #A3A3A3; + border: 1px solid #C1C1C1; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 1.9px; } -QSlider::handle:horizontal:hover, -QSlider::handle:vertical:hover, -QSlider::handle:horizontal:pressed, -QSlider::handle:vertical:pressed { - border-color: #94b30f; - background-color: #94b30f; +QSlider::handle:vertical:hover { + background: #B7D300; + border: 2px solid #B7D300; } -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #dcdcdc; - background-color: #dcdcdc; +QSlider::handle:vertical:focus { + border: 1px solid #E1FF00 ; } +/* QLineEdit -------------------------------------------------------------- -/*================================================================================================== -Toolbar buttons -==================================================================================================*/ -/*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: 0px 2px; - padding: 0px; - min-width: 70px; /* necessary to show its content */ +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + +--------------------------------------------------------------------------- */ +QLineEdit { + background-color: #ffffff; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #C1C1C1; + border-radius: 2px; + color: black; } -QToolBar > QComboBox, -QToolBar > QAbstractSpinBox, -QToolBar > QSpinBox, -QToolBar > QDoubleSpinBox, -QToolBar > QLineEdit, -QToolBar > QTextEdit, -QToolBar > QTimeEdit, -QToolBar > QDateEdit, -QToolBar > QDateTimeEdit { - min-height: 0px; /* reset it inside Tool Bar due to the user ability to set the "size of toolbar icons" inside Preferences */ +QLineEdit:disabled { + background-color: #F6F6F6; + color: #A3A3A3; } -QToolBar > QPushButton { - padding: 0px; - margin: 1px; /* doesn't work with :left, :right:, :top or :bottom sub-controls */ - min-width: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - min-height: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - border-radius: 4px; /* same as regular QPushButton */ +QLineEdit:hover { + border: 1px solid #B7D300; + color: black; } -QToolBar > QPushButton:checked { - border: 1px solid #a5c61a; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #dadfc5, stop:1 #a5c61a); +QLineEdit:focus { + border: 2px solid #E1FF00 ; } -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 */ - text-align: left; /* bug fix #4559 */ +QLineEdit:selected { + background-color: #B7D300; + color: black; } -QToolBar > QPushButton:checked:hover { - border-color: #9bbc12; +/* QTabWiget -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabWidget { + padding: 2px; + selection-background-color: #B7D300; } -QToolBar > QPushButton:!checked:hover { +QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 1.9px; +} + +QTabWidget::pane { + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; +} + +QTabWidget::pane:selected { + background-color: #B7D300; + border: 1px solid #C1C1C1; +} +/* QTabBar ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + /* left: 5px; move to the right by 5px - removed for fix */ +} + +QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 1px; + image: url(qss:images_dark-light/close_dark.svg); +} + +QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + /*background-color: rgba(255, 0, 0, 0.3);*/ +} + +QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(qss:images_dark-light/close_.svg); +} + +QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ + padding: 4px; +} + +QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + color: #797979; +} + +QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + color: #797979; +} + +QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + color: #A0A0A0; +} + +QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + color: #A0A0A0; +} + +QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + color: #A0A0A0; +} + +QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + color: #A0A0A0; + +} + +QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + color: #A0A0A0; + +} + +QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + color: #A0A0A0; +} + +QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + color: #A0A0A0; +} + +QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + color: #A0A0A0; +} + +QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + color: #A0A0A0; +} + +QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + color: #A0A0A0; +} + +QTabBar::tab:top, QDockWidget QTabBar::tab:top { + color: #A0A0A0; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 1px solid #A3A3A3; /* same as tab content background color */ + border-radius: 0px; +} + +QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + color: black; + border-top: 4px solid #B7D300; /* selection color */ + border-bottom: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #A3A3A3; + border-right: 1px solid #A3A3A3; + } + +QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + /*border: 1px solid #B7D300;*/ + border: 0px solid #B7D300; + background-color: #B7D300; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; + color: black; +} + +QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + color: #A0A0A0; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-top: 1px solid #A3A3A3; /* same as tab content background color */ + border-radius: 0px; +} + +QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + color: black; + border-bottom: 4px solid #B7D300; /* selection color */ + border-top: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #A3A3A3; + border-right: 1px solid #A3A3A3; + +} + +QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { +/*border: 1px solid #B7D300;*/ + border: 0px solid #B7D300; + background-color: #B7D300; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; + color: black; +} + +QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #F6F6F6; + margin-top: 2px; + + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 4px; + min-height: 5px; +} + +QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #F6F6F6; + border: 0px solid #E1FF00 ; +} + +QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 0px solid #B7D300; + background-color: #B7D300; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; + color: black; +} + +QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #F6F6F6; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + min-height: 5px; + border: 10px; +} + +QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #F6F6F6; + border: 0px solid #E1FF00 ; +} + +QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 0px solid #B7D300; + background-color: #B7D300; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; + color: black; +} + +QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #F6F6F6; + height: 12px; + width: 12px; +} + +QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + border: 0px solid #B7D300; + background-color: #B7D300; +} + +QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 0px solid #B7D300; + background-color: #B7D300; + color: black; +} + +QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_darker.svg); +} + +QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); +} + +QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_darker.svg); +} + +QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); +} + +/* QDockWiget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QDockWidget { + background-color: #F6F6F6; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + titlebar-close-icon: url(qss:images_dark-light/transparent.svg); + titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); +} + +QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + text-align: center; + font-weight: bold; +} + +QDockWidget::close-button { + icon-size: 10px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/close_dark.svg); +} + +QDockWidget::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); +} + +QDockWidget::close-button:pressed { + image: url(qss:images_dark-light/close_dark.svg); +} + +QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/undock_dark.svg); +} + +QDockWidget::float-button:hover { + /*background-color: #B7D300;*/ + image: url(qss:images_dark-light/undock_blue.svg); +} + +QDockWidget::float-button:pressed { + image: url(qss:images_dark-light/undock_dark.svg); +} + +/* QTreeView QListView QTableView ----------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + +--------------------------------------------------------------------------- */ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_dark.svg) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; +} + +QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; +} + +QTreeView::indicator:checked, +QListView::indicator:checked, +QTableView::indicator:checked, +QColumnView::indicator:checked { + image: url(qss:images_dark-light/checkbox_dark.svg); +} + +QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, +QListView::indicator:checked:hover, +QListView::indicator:checked:focus, +QListView::indicator:checked:pressed, +QTableView::indicator:checked:hover, +QTableView::indicator:checked:focus, +QTableView::indicator:checked:pressed, +QColumnView::indicator:checked:hover, +QColumnView::indicator:checked:focus, +QColumnView::indicator:checked:pressed { + image: url(qss:images_dark-light/checkbox_light_hover.svg); +} + +QTreeView::indicator:unchecked, +QListView::indicator:unchecked, +QTableView::indicator:unchecked, +QColumnView::indicator:unchecked { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, +QListView::indicator:unchecked:hover, +QListView::indicator:unchecked:focus, +QListView::indicator:unchecked:pressed, +QTableView::indicator:unchecked:hover, +QTableView::indicator:unchecked:focus, +QTableView::indicator:unchecked:pressed, +QColumnView::indicator:unchecked:hover, +QColumnView::indicator:unchecked:focus, +QColumnView::indicator:unchecked:pressed { + image: url(qss:images_dark-light/checkbox_unchecked_hover_dark.svg); +} + +QTreeView::indicator:indeterminate, +QListView::indicator:indeterminate, +QTableView::indicator:indeterminate, +QColumnView::indicator:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, +QListView::indicator:indeterminate:hover, +QListView::indicator:indeterminate:focus, +QListView::indicator:indeterminate:pressed, +QTableView::indicator:indeterminate:hover, +QTableView::indicator:indeterminate:focus, +QTableView::indicator:indeterminate:pressed, +QColumnView::indicator:indeterminate:hover, +QColumnView::indicator:indeterminate:focus, +QColumnView::indicator:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QTreeView, +QListView, +QTableView, +QColumnView { + background-color: #F6F6F6; /* background of a lot of stuff including spreadsheets.*/ + border: 0px solid #C1C1C1; + color: black; + gridline-color: #f6f6f6; + border-radius: 0px; +} + +QTreeView:disabled, +QListView:disabled, +QTableView:disabled, +QColumnView:disabled { + background-color: #ffffff; + color: #A3A3A3; +} + +QTreeView:selected, +QListView:selected, +QTableView:selected, +QColumnView:selected { + background-color: #B7D300; + color: black; +} + +QTreeView:focus, +QListView:focus, +QTableView:focus, +QColumnView:focus { + border: 1px solid #E1FF00 ; +} + +QTreeView::item:pressed, +QListView::item:pressed, +QTableView::item:pressed, +QColumnView::item:pressed { + background-color: #B7D300; +} + +QTreeView::item:selected:active, +QListView::item:selected:active, +QTableView::item:selected:active, +QColumnView::item:selected:active { + background-color: #B7D300; +} + +QTreeView::item:selected:!active, +QListView::item:selected:!active, +QTableView::item:selected:!active, +QColumnView::item:selected:!active { + color: black; + background-color: #A3A3A3; +} + +QTreeView::item:!selected:hover, +QListView::item:!selected:hover, +QTableView::item:!selected:hover, +QColumnView::item:!selected:hover { + outline: 0; + color: black; + background-color: #B7D300; +} + +QTableCornerButton::section { + background-color: #F6F6F6; + border: 1px transparent #C1C1C1; + border-radius: 0px; +} + +QTableView::item { color: black; - border-color: #b6b6b6; } - -QToolBar > QPushButton:checked:pressed { - background-color: #a5c61a; -} - -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; -} - -QToolBar > QToolButton { - margin: 2px; - padding: 2px; - border-radius: 3px; -} - -QToolBar > QToolButton:hover { - background-color: rgba(0,0,0,20); -} - -QToolBar > QToolButton:pressed { - background-color: rgba(0,0,0,30); -} - -/* 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_dark-light/down_arrow_dark.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -QToolBar > QToolButton::menu-arrow:open { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -/* when QToolButton is checked: */ -QToolButton:checked { - border: 1px solid #a5c61a; - background-color: rgba(124,171,249,60); /* transparency for #a5c61a color */ -} - -QToolButton:checked:hover { - border: 1px solid #a5c61a; - background-color: rgba(124,171,249,80); /* transparency for #a5c61a color */ -} - -/*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_dark-light/more_dark.svg);*/ - image: transparent; - background-repeat: none; - background-position: center left; -} - -QToolBar QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -QToolBar QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #e0e0e0; - background-color: #e0e0e0; -} - - -/*================================================================================================== -Tables (spreadsheets) -==================================================================================================*/ QTableView { - gridline-color: #d2d2d2; - selection-color: #566214; - selection-background-color: #dadfc5; + /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ + /*qproperty-aliasBgColor: #f700ff;*/ } -QTableView::item:hover { - background-color: rgba(0,0,0,10); /* temporal: is it displayed in Linux or Windows? on OSX it isn't */ +/* QHeaderView ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + +--------------------------------------------------------------------------- */ +QHeaderView { + background-color: transparent; + text-align: center; } -QTableView::item:disabled { - color: #e6e6e6; +QHeaderView:disabled { + background-color: #F6F6F6; + color: rgb(174, 174, 174); } -QTableView::item:selected { - color: #566214; - border-color: #dadfc5; /* same as focused background color */ - border-bottom-color: #a5c61a; /* same as focused border color */ +QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + color: black; + border: 1px solid #C1C1C1; + font-size: 13px; + font-weight: bold; } -/* fix for elements inside the cells */ -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit, -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - border-radius: 0px; +QHeaderView::section::horizontal { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 5px; + padding-right: 0px; } -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit { - color: black; - background-color: transparent; - border-color: transparent; +QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 0px solid #C1C1C1; } -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - background-color: rgba(0,0,0,30); +QHeaderView::section::horizontal:disabled { + color: #A3A3A3; } -QTableView > QWidget > QComboBox:focus, -QTableView > QWidget > QAbstractSpinBox:focus, -QTableView > QWidget > QSpinBox:focus, -QTableView > QWidget > QDoubleSpinBox:focus, -QTableView > QWidget > QLineEdit:focus, -QTableView > QWidget > QTextEdit:focus, -QTableView > QWidget > QTimeEdit:focus, -QTableView > QWidget > QDateEdit:focus, -QTableView > QWidget > QDateTimeEdit:focus { - color: #566214; - selection-color: white; - selection-background-color: #94b30f; - border-color: #dadfc5; - background-color: #dadfc5; +QHeaderView::section::vertical { + padding-top: 1px; + padding-bottom: 0; + padding-left: 1px; + padding-right: 0px; + border-top: 2px solid #C1C1C1; } -QTableView > QWidget > QComboBox:disabled, -QTableView > QWidget > QAbstractSpinBox:disabled, -QTableView > QWidget > QSpinBox:disabled, -QTableView > QWidget > QDoubleSpinBox:disabled, -QTableView > QWidget > QLineEdit:disabled, -QTableView > QWidget > QTextEdit:disabled, -QTableView > QWidget > QTimeEdit:disabled, -QTableView > QWidget > QDateEdit:disabled, -QTableView > QWidget > QDateTimeEdit:disabled { - color: rgba(0,0,0,120); - background-color: transparent; - border-color: transparent; +QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 2px solid #C1C1C1; } -QTableView > QWidget > QComboBox:read-only, -QTableView > QWidget > QAbstractSpinBox:read-only, -QTableView > QWidget > QSpinBox:read-only, -QTableView > QWidget > QDoubleSpinBox:read-only, -QTableView > QWidget > QLineEdit:read-only, -QTableView > QWidget > QTextEdit:read-only, -QTableView > QWidget > QTimeEdit:read-only, -QTableView > QWidget > QDateEdit:read-only, -QTableView > QWidget > QDateTimeEdit:read-only { - color: black; - background-color: transparent; - border-color: transparent; +QHeaderView::section::vertical:disabled { + border-top: 2px solid #C1C1C1; } - -/*================================================================================================== -SELECTORTOOLBAR widget (3rd party plugin) -==================================================================================================*/ -QToolBar:horizontal#Selector, -QToolBar:vertical#Selector { - background-color: rgba(0,0,0,120); - margin: 0px; - padding: 0px; +QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/down_arrow_dark.svg); } -QToolBar::handle:top#Selector, -QToolBar::handle:bottom#Selector, -QToolBar::handle:horizontal#Selector { - alignment: bottom left; +QHeaderView::up-arrow { + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/up_arrow_dark.svg); } -QToolBar::handle:left#Selector, -QToolBar::handle:right#Selector, -QToolBar::handle:vertical#Selector { - width: 100%; - alignment: center left; +/* QToolBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox +used in PATH + +--------------------------------------------------------------------------- */ +QToolBox { + padding: 0px; + border: 1px solid #A3A3A3; + border-radius: 4px; + background-color: transparent; } -QToolBar:top#Selector QToolButton, -QToolBar:bottom#Selector QToolButton, -QToolBar:horizontal#Selector QToolButton { - alignment: bottom left; +QToolBox:selected { + padding: 0px; + border: 0px solid #B7D300; } -QToolBar:left#Selector QToolButton, -QToolBar:right#Selector QToolButton, -QToolBar:vertical#Selector QToolButton { - alignment: center left; +QToolBox::tab { + background-color: transparent; + border: 0px solid #A3A3A3; + color: black; + background-image: url(qss:images_dark-light/down_arrow_darker.svg); + background-repeat: none; + background-position: center left; } -QToolButton[toolbar_orientation="horizontal"] { - /* nothing, when Horizontal there's no need to add special parameters */ +QToolBox::tab:disabled { + color: #A3A3A3; } -QToolButton[toolbar_orientation="vertical"] { - /* nothing, when Horizontal there's no need to add special parameters */ +QToolBox::tab:selected { + background-color: #A3A3A3; + background-image: url(qss:images_dark-light/transparent.svg); + padding-right: 5px; + background-repeat: none; } -QToolBar#Selector QToolButton { - border: none; - margin: 0px; - padding: 2px 6px; - border-radius: 0px; +QToolBox::tab:selected:disabled { + background-color: #A3A3A3; + border-bottom: 0px solid #cccccc; + color: black; } -/* Active tab */ -QToolBar#Selector QToolButton:checked { - color: black; - background-color: #f5f5f5; +QToolBox::tab:!selected { + } -/* Unactive tabs */ -QToolBar#Selector QToolButton:!checked { - color: rgba(255,255,255,160); - background-color: transparent; - margin: 0px; +QToolBox::tab:!selected:disabled { + background-color: #F6F6F6; } -/* Unactive tabs (hover) */ -QToolBar#Selector QToolButton:!checked:hover { - color: rgba(255,255,255,255); - background-color: rgba(255,255,255,20); +QToolBox::tab:hover { + background-color: #B7D300; + } + +QToolBox QScrollArea QWidget QWidget { + padding: 0px; + border: 0px; + background-color: transparent; } -/* Unactive tabs (pressed) */ -QToolBar#Selector QToolButton:!checked:pressed { - background-color: rgba(255,255,255,40); +/* QFrame ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe +https://doc.qt.io/qt-5/qframe.html#-prop +https://doc.qt.io/qt-5/qframe.html#details +https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + +--------------------------------------------------------------------------- */ +/* (dot) .QFrame fix #141, #126, #123 */ +.QFrame { + border-radius: 0px; + border: 0px solid #C1C1C1; + background-color: #A3A3A3; + /* No frame */ + /* HLine */ + /* HLine */ } - -/*================================================================================================== -TABBAR widget (3rd party plugin) -==================================================================================================*/ -QTabWidget#TabBar > QTabBar { - border-top: 0; +.QFrame[frameShape="0"] { + border-radius: 1.9px; + border: 1px solid #C1C1C1; } -QTabWidget#TabBar > QTabBar::tab:top, -QTabWidget#TabBar > QTabBar::tab:bottom { - min-width: -1; +.QFrame[frameShape="4"] { + max-height: 1px; + border: none; + background-color: #f6f6f6; } -QTabWidget#TabBar > QTabBar::tab:left, -QTabWidget#TabBar > QTabBar::tab:right { - min-height: -1; +.QFrame[frameShape="5"] { + max-width: 1px; + border: none; + background-color: #F6F6F6; } +/* QSplitter -------------------------------------------------------------- -/*================================================================================================== -EXPERIMENTAL -==================================================================================================*/ +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter -/* Fix for preventing elements in different rows to accidentally overlap */ -QDialog QGroupBox QFrame { - margin: 2px 0px; +--------------------------------------------------------------------------- */ +QSplitter { + background-color: #f6f6f6; + spacing: 1px; + padding: 1px; + margin: 1px; } -*[mandatoryField="true"] { background-color: cyan } - -/* Hack to avoid QPushButton text partially hidden under menu-indicator */ -QPushButton#NavigationIndicator::menu-indicator { - image: none; - width: 0px; +QSplitter::handle { + margin: 0px 0px; + padding: 0px; } +QSplitter::handle:horizontal { + background-image: url(qss:images_dark-light/splitter_vertical_light.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + width: 1px; +} -/*================================================================================================== -SKETCHER -==================================================================================================*/ +QSplitter::handle:vertical { + background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + height: 1px; +} -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(0,0,0,127); /* 50% opacity black */ +QSplitter::handle:hover { + background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + background-position: center center; + background-repeat: none; + background-color: #B7D300; } -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(0,0,0,255); /* Black */ + +/* QDateEdit, QDateTimeEdit ----------------------------------------------- + +--------------------------------------------------------------------------- */ +QDateEdit, QDateTimeEdit { + selection-background-color: #B7D300; + border-style: solid; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; } -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ + +QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #B7D300; } -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ + +QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #C1C1C1; } -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ + +QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); + height: 8px; + width: 8px; } -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ + +QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_darker.svg); } -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; + +QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #F6F6F6; + border-radius: 2px; + border: 1px solid #C1C1C1; + selection-background-color: #B7D300; } -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; + +/* QAbstractView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractView:hover { + border: 1px solid #B7D300; + color: black; } -Gui--UrlLabel { - color : rgba(0,0,255,255); /* Blue */ - text-decoration : underline; + +QAbstractView:selected { + background: #B7D300; + color: black; } + +/* PlotWidget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; +} \ No newline at end of file diff --git a/src/Gui/Stylesheets/Light-orange.qss b/src/Gui/Stylesheets/Light-orange.qss index 43d942b3b7..1803835a31 100644 --- a/src/Gui/Stylesheets/Light-orange.qss +++ b/src/Gui/Stylesheets/Light-orange.qss @@ -1,792 +1,57 @@ /* ABOUT ============================================================================================================ -version 2.21 -Qt theme (stylesheet) specially developed for FreeCAD (https://www.freecad.org/). -It might work with other software that uses Qt styling. +Revised stylesheet based on the orignal from Pablo Gil Fernández made by MisterMaker - -LICENSE +KNOWN BUGS and TO DO ============================================================================================================ -Copyright (c) 2019 Pablo Gil Fernández +Please, follow the link to get updated information: +https://forum.freecad.org/viewtopic.php?t=78431 -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 +INSTALLATION WHEN NECESSARY ============================================================================================================ 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/ - -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 lighter) - 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 +============================================================================================================ +TO MODIFY USE THESE COLORS: + #ffb916 + #ffe098 +See Qt documentation: + + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: https://forum.freecad.org/viewtopic.php?f=10&t=12417 +/* Reset elements ------------------------------------------------------------ -*/ +Resetting everything helps to unify styles across different operating systems - -/*================================================================================================== -Reset elements -==================================================================================================*/ -/* Resetting everything helps to unify styles across different operating systems */ +--------------------------------------------------------------------------- */ * { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; - color: #505050; /* Default color for labels and different text elements that usually use dark colors */ + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; + border-image: none; + outline: 0; } /* specific reset for elements inside QToolBar */ QToolBar * { - margin: 0px; - padding: 0px; + margin: 0px; + padding: 0px; } +/*hacks */ -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #f5f5f5; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} - - -/*================================================================================================== -Sub windows -==================================================================================================*/ -QMdiSubWindow { - border:1px solid #828282; - margin-top: 30px; - margin-left: 4px; - margin-right: 4px; - margin-bottom:4px; -} - - -/*================================================================================================== -MENUS -==================================================================================================*/ -QMenuBar, -QMenuBar::item { - color: black; - background-color: #f5f5f5; /* main background color */ -} - -QMenu, -QMenu::item { - color: black; - background-color: #f5f5f5; /* main background color */ - text-decoration: none; -} - -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_dark-light/right_arrow_dark.svg); - margin-right: 2px; -} - -QMenu::right-arrow:selected { - image:url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QMenu::item { - padding: 2px 4px; /* make room for icon at left */ - border: 1px solid transparent; /* reserve space for selection border */ -} - -QMenu::icon { - margin-left: 1px; - margin-right: 1px; -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #daa116; - border: 2px #daa116; - position: absolute; - border-radius: 2px; -} - -QMenu::separator { - height: 1px; - background-color: rgba(0,0,0,30); - margin: 6px 4px; -} - -QMenu::indicator:non-exclusive:checked { - color: white; -} - -/* Fix for elements inside a drop-down menu */ -QMenu QRadioButton, -QMenu QCheckBox, -QMenu QPushButton, -QMenu QToolButton { - color: black; /* same as regular QRadioButton and QCheckBox */ -} - -QMenu QRadioButton:hover, -QMenu QCheckBox:hover, -QMenu QPushButton:hover, -QMenu QToolButton:hover, -QMenu QPushButton:pressed, -QMenu QToolButton:pressed, -QMenu QPushButton:selected, -QMenu QToolButton:selected { - color: white; - background-color: #daa116; /* same as QMenu::item:selected and QMenu::item:pressed */ -} - -QMenu QRadioButton:disabled, -QMenu QCheckBox:disabled { - color: #6e6e6e; -} - -QMenu QRadioButton::indicator:disabled, -QMenu QCheckBox::indicator:disabled { - color: #6e6e6e; - background-color: transparent; - border: 1px solid #6e6e6e; -} - - -/*================================================================================================== -Tool bar -==================================================================================================*/ -QToolBar { - border: none; - padding: 2px; -} - -QToolBar::handle:top, -QToolBar::handle:bottom, -QToolBar::handle:horizontal { - background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); - width: 10px; - margin: 4px 2px; - background-position: top right; - background-repeat: repeat-y; -} - -QToolBar::handle:left, -QToolBar::handle:right, -QToolBar::handle:vertical { - background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); - height: 10px; - margin: 2px 4px; - background-position: left bottom; - background-repeat: repeat-x; -} - -QToolBar::separator:top, -QToolBar::separator:bottom, -QToolBar::separator:horizontal { - width: 1px; - margin: 6px 4px; - background-color: rgba(0,0,0,30); -} - -QToolBar::separator:left, -QToolBar::separator:right, -QToolBar::separator:vertical { - height: 1px; - margin: 4px 6px; - background-color: rgba(0,0,0,30); -} - - -/*================================================================================================== -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; -} - -/* NOTE: QGroupBox checkboxes are styles with regular ones so that the all get the same style */ -/* QGroupBox::indicator { - width: 13px; - height: 13px; -} - -QGroupBox::indicator:unchecked { - image: url(:/images/checkbox_unchecked.png); -} */ - - -/*================================================================================================== -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_dark-light/close_dark.svg); - titlebar-normal-icon: url(qss:images_dark-light/undock_dark.svg); -} - -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 #d0970c, stop:1 #daa116); - 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,80); -} - -QScrollBar::handle:vertical:hover, -QScrollBar::handle:horizontal:hover { - background-color: rgba(0,0,0,100); -} - -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_dark-light/left_arrow_dark.svg); - 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_dark-light/right_arrow_dark.svg); - 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_dark-light/left_arrow_darker.svg); -} - -QScrollBar::add-line:horizontal:hover, -QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_darker.svg); -} - -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_dark-light/up_arrow_dark.svg); - 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_dark-light/down_arrow_dark.svg); - 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_dark-light/up_arrow_darker.svg); -} - -QScrollBar::add-line:vertical:hover, -QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -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 reset 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: #f5f5f5; /* same as tab content background color */ - 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: 6px; -} - -QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { - background-color: #dcdcdc; -} - -QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { - color: white; - background-color: #daa116; -} - - -/*================================================================================================== -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_dark-light/close_dark.svg); - 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; /* necessary 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_dark-light/right_arrow_dark.svg); -} - -QTabBar QToolButton::right-arrow:disabled, -QTabBar QToolButton::right-arrow:off { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:hover { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - - QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_dark.svg); -} - - QTabBar QToolButton::left-arrow:disabled, - QTabBar QToolButton::left-arrow:off { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::left-arrow:hover { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - - QTabBar QToolButton::up-arrow:enabled { - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - - QTabBar QToolButton::up-arrow:disabled, - QTabBar QToolButton::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - - QTabBar QToolButton::down-arrow:enabled { - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - - QTabBar QToolButton::down-arrow:disabled, - QTabBar QToolButton::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - - QTabBar QToolButton::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -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:hover, -QTreeView::item:hover { - background-color: transparent; /* fix to homogenize it on all OSs */ -} - -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, @@ -796,15 +61,18 @@ Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { background-color: transparent; selection-color: transparent; selection-background-color: transparent; + +} +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 1px; + margin: 0px; + padding: 0px; } -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: black; - background-color: #e3d8b9; -} - -/* hack to disable margin inside Property values to following elements */ Gui--PropertyEditor--PropertyEditor QSpinBox, Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, @@ -814,248 +82,1414 @@ Gui--PropertyEditor--PropertyEditor QComboBox { margin-right: 0px; padding-top: 0px; padding-bottom: 0px; -} -/* reset min-height 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 > Gui--ColorButton { - min-height: 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; - border-radius: 0px; /* reset */ -} - - /*================================================================================================== -Header of tree and list views +Main window ==================================================================================================*/ -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; +QMainWindow, +QDialog, +QDockWidget, +QToolBar { + background-color: #F6F6F6; /* main background color */ } -QHeaderView::section { - border:none; - padding: 4px 6px; - background-color: #c3c3c3; +QMdiArea { + background-image: url(qss:images_dark-light/background_freecad.svg); + background-position: center center; + background-repeat: no-repeat; +} +/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ +Gui--NavigationIndicatorGui--BlenderNavigationStyle { +/*QAction#a4 {*/ + qproperty-icon: url(:/icons/icons/NavigationBlender_dark.svg); +} +/*===== +/* QWidget ---------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QWidget { + background-color: #F6F6F6; + border: 0px solid #C1C1C1; + padding: 0px; + color: black; + selection-background-color: #ffb916 ; + selection-color: black; } -QHeaderView::section:horizontal { - padding: 4px 6px; /* left and right value similar to QHeaderView::section */ - border-right: 1px solid rgba(0,0,0,30); +QWidget:disabled { + background-color: transparent; + color: #A3A3A3; + selection-background-color: #ffb916 ; + selection-color: #A3A3A3; } -QHeaderView::section:vertical { - border-bottom: 1px solid rgba(0,0,0,30); +QWidget::item:selected { + background-color: #ffb916 +; } -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); -} + /* Causes issue with colorselector. + QWidget::item:hover:!selected { + background-color: #ffb916 ; + }*/ -QHeaderView::section:last { - border-right: none; -} +/* QMainWindow ------------------------------------------------------------ -QHeaderView::up-arrow { - image: url(qss:images_dark-light/up_arrow_dark.svg); -} +This adjusts the splitter in the dock widget, not qsplitter +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow -QHeaderView::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QHeaderView::down-arrow { - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - -QHeaderView::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -/* 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_dark-light/branch_vline_dark.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; -} - - -/*================================================================================================== -Splitter and windows separator -==================================================================================================*/ -QSplitter::handle { - margin: 0px 11px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - background-position: center center; - background-repeat: none; - margin: 4px 2px 4px 2px; - width: 2px; -} - -QSplitter::handle:vertical { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - margin: 2px 4px 2px 4px; - height: 2px; -} - -/* Similar to the splitter is the following window separator (but horizontal/vertical is on the opposite way) */ +--------------------------------------------------------------------------- */ QMainWindow::separator { - background-position: center center; - background-repeat: none; + /*background-color: #f6f6f6;*/ + border: 0px solid #C1C1C1; + spacing: 0px; + padding: 1px; +} + +QMainWindow::separator:vertical:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #ffb916 , stop:0.8 transparent); + /*background-color: #ffb916 ;*/ + image: url(qss:images_dark-light/splitter_vertical_dark.svg); +} + +QMainWindow::separator:horizontal:hover { + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #ffb916 , stop:0.8 transparent); + /*background-color: #ffb916 ;*/ + image: url(qss:images_dark-light/splitter_horizontal_dark.svg); } QMainWindow::separator:horizontal { - height: 2px; - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - margin: 4px 2px 4px 2px; + width: 4px; + margin-top: 0.1px; + margin-bottom: 0.1px; + /* image: url(qss:images_dark-light/splitter_horizontal_light.svg);*/ } QMainWindow::separator:vertical { - width: 2px; - background-image: url(qss:images_dark-light/splitter_vertical_dark.svg); - margin: 2px 4px 2px 4px; + height: 4px; + margin-left: 0.1px; + margin-right: 0.1px; + /* image: url(qss:images_dark-light/splitter_vertical_light.svg);*/ +} + +/* QToolTip --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + +--------------------------------------------------------------------------- */ +QToolTip { + background-color: #ffffff; + color: black; + /* If you remove the border property, background stops working on Windows */ + border: none; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ +} + +/* QStatusBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + +--------------------------------------------------------------------------- */ +QStatusBar { + border: 0px solid #C1C1C1; + /* Fixes Spyder #9120, #9121 */ + background: #F6F6F6; + /* Fixes #205, black vertical borders separating items */ +} + +QStatusBar::item { + border: none; +} + +QStatusBar QToolTip { + background-color: #F6F6F6; + border: 1px solid #C1C1C1; + color: #F6F6F6; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; +} + +QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; +} + +/* QCheckBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + +--------------------------------------------------------------------------- */ +QCheckBox { + color: black; + padding: 0px; + outline: none; + border: 1px solid transparent; + background-color: transparent; +} + +QCheckBox:focus { + border: 1px solid #ffe098; +} + +QCheckBox QWidget:disabled { + background-color: transparent; + color: #A3A3A3; +} + +QCheckBox::indicator { + color: black; + background-color: #ffffff; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QCheckBox::indicator:unchecked { + background-color: #ffffff; + image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { + background-color: #ffb916 ; + image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QCheckBox::indicator:unchecked:disabled { + background-color: #F6F6F6; + image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QCheckBox::indicator:checked { + background-color: #ffffff; + /*border: 1px solid #C1C1C1; /* QRadioButton has the same color */ + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { + background-color: #ffb916 ; +} + +QCheckBox::indicator:checked:disabled { + background-color: #F6F6F6; + image: url(qss:images_dark-light/check_dark.svg); +} + +QCheckBox::indicator:indeterminate { + background-color: #ffffff; + border: 1px solid #C1C1C1; + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QCheckBox::indicator:indeterminate:disabled { + background-color: #F6F6F6; + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + background-color: #ffb916 ; /* QRadioButton has the same color */ +} + +/* QGroupBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + +--------------------------------------------------------------------------- */ +QGroupBox { + font-weight: bold; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + padding: 2px; + margin-top: 10px; + margin-bottom: 4px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: 6px; +} + +QGroupBox::indicator { + color: black; + background-color: #f6f6f6; + border: 1px solid #C1C1C1; + width: 12px; + height: 12px; + border-radius:1px; +} + +QGroupBox::indicator:unchecked { + background-color: #f6f6f6; + border: 1px solid #C1C1C1; + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + background-color: #ffb916 ; +} + +QGroupBox::indicator:unchecked:disabled { + background-color: #ffffff; + border: 1px solid #C1C1C1; +} + +QGroupBox::indicator:checked { + border: none; + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + background-color: #ffb916 ; +} + +QGroupBox::indicator:checked:disabled { + background-color: #ffb916 ; +} + +/* QRadioButton ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + +--------------------------------------------------------------------------- */ +QRadioButton { + background-color: transparent; + color: black; + border: none; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + outline: none; +} + +QRadioButton:focus { + border: 1px solid #ffe098; +} + +QRadioButton:disabled { + background-color: #f6f6f6; + color: #A3A3A3; +} + +QRadioButton QWidget { + background-color: transparent; + color: black; + spacing: 0px; + padding: 0px; + outline: none; + border: none; +} + +QRadioButton::indicator { + background-color: #f6f6f6; + border: 1px solid #C1C1C1; + border-radius: 6px; + margin-left: 0px; + height: 11px; + width: 11px; +} + +QRadioButton::indicator:unchecked { + /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ +} + +QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { + background-color: #ffb916 ; + border: 1px solid #ffb916 ; + border-radius: 6px; +} + +QRadioButton::indicator:unchecked:disabled { + /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ + border: 1px solid #C1C1C1; +} + +QRadioButton::indicator:checked { + image:url(qss:images_dark-light/radiobutton_dark.svg); +} + +QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { + background-color: #ffb916 ; + border: 1px solid #ffb916 ; + border-radius: 6px; + image:url(qss:images_dark-light/radiobutton_dark.svg); +} + +QRadioButton::indicator:checked:disabled { + outline: none; + background-color: #f6f6f6; + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +/* QMenuBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + +--------------------------------------------------------------------------- */ +QMenuBar { + background-color: #ffffff; + /*padding: 1px; + border: 0px solid rgba(0,0,0,140);*/ + color: black; + selection-background-color: #ffb916 ; +} + +QMenuBar:focus { + border: 1px solid #ffb916 ; +} + +QMenuBar::item { + background: transparent; + /*padding-left:5px; + padding-right: 5px; + padding-bottom: 1px; + padding-top: 1px;*/ +} + +QMenuBar::item:selected { + background: transparent; + border: 0px solid #C1C1C1; + background-color: #ffb916 ; +} + +QMenuBar::item:pressed { + /*padding: 2px; + padding-left: 10px; + padding-right: 10px;*/ + border: 0px solid #C1C1C1; + background-color: #ffb916 ; + color: black; + /*margin-bottom: 0px; + padding-bottom: 0px;*/ +} + +/* QMenu ------------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + +--------------------------------------------------------------------------- */ +QMenu { + border-bottom: 2px rgba(0,0,0,140); + border-right: 2px rgba(0,0,0,140); + color: black; + margin: 0px; + background-color: #ffffff; + selection-background-color: #ffb916 ; +} + +QMenu::separator { + height: 2px; + background-color: #f6f6f6; + margin-left: 30%; + margin-right: 30%; +} + +QMenu::item { + background-color: transparent; + padding: 2px 2px; /* make room for icon at left */ + /* Reserve space for selection border */ + border: 0px transparent #f6f6f6; +} + +QMenu::item:selected { + color: black; + background-color: #ffb916 ; +} + +QMenu::item:pressed { + background-color: #ffb916 ; +} + +QMenu::icon { + margin-left: 5px; + width: 14px; + height: 14px; +} + +QMenu::indicator { + margin-left: 2px; + margin-right: 2px; + padding: 0px; + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ +} + +QMenu::icon:checked { /* appearance of a 'checked' icon */ + background: #ffe098; + margin-left: -5px; + border: 5px solid #ffe098; + position: absolute; + border-radius: 0px; +} +QMenu::indicator:non-exclusive:unchecked { + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { + border: none; + image: url(qss:images_dark-light/checkbox_unchecked_focus.png); +} + +QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QMenu::indicator:non-exclusive:checked { + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + background: #ffb916 ; + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QMenu::indicator:non-exclusive:checked:disabled { + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QMenu::indicator:non-exclusive:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QMenu::indicator:exclusive:unchecked { + image: url(qss:images_dark-light/transparent.svg); +} + +QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { + border: none; + outline: none; + background: #ffb916 ; + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QMenu::indicator:exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(qss:images_dark-light/radiobutton_dark.svg); +} + +QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + background: #ffb916 ; + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(qss:images_dark-light/radiobutton_dark.svg); +} + +QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image:url(qss:images_dark-light/right_arrow_darker.svg); + height: 12px; + width: 12px; + background-color: transparent; +} + +/* QAbstractItemView ------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QAbstractItemView { + alternate-background-color: #ababab; + color: black; + border: 1px solid #C1C1C1; + border-radius: 2px; +} + +QAbstractItemView QLineEdit { + padding: 2px; +} + +/* QAbstractScrollArea ---------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QAbstractScrollArea { + background-color: transparent; + border: 0px solid #C1C1C1; + border-radius: 0px; + /* fix #159 */ + padding: 0px; + /* remove min-height to fix #244 */ + color: black; +} + +QAbstractScrollArea:disabled { + color: #A3A3A3; +} + +/* QScrollArea ------------------------------------------------------------ + +--------------------------------------------------------------------------- +text input field disabled!!!!*/ +QScrollArea QWidget:disabled { + background-color: #F6F6F6; +} + +/* QScrollBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + +--------------------------------------------------------------------------- */ +QScrollBar:horizontal { + height: 16px; + margin: 2px 16px 2px 16px; + border: 0px solid #C1C1C1; + border-radius: 1.9px; + background-color: #F6F6F6; +} + +QScrollBar:vertical { + background-color: #F6F6F6; + width: 16px; + margin: 16px 2px 16px 2px; + border: 0px solid #C1C1C1; + border-radius: 1.9px; +} + +QScrollBar::handle:horizontal { + background-color: #A3A3A3; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:hover { + background-color: #ffb916 ; + border: #f6f6f6; + border-radius: 1.9px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:focus { + border: 1px solid #ffe098; +} + +QScrollBar::handle:vertical { + background-color: #A3A3A3; + border: 1px solid #C1C1C1; + min-height: 8px; + border-radius: 1.9px; +} + +QScrollBar::handle:vertical:hover { + background-color: #ffb916 ; + border: #f6f6f6; + border-radius: 1.9px; + min-height: 8px; +} + +QScrollBar::handle:vertical:focus { + border: 1px solid #ffe098; +} + +QScrollBar::add-line:horizontal { + border-image: url(qss:images_dark-light/right_arrow_dark.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_dark.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + border-image: url(qss:images_dark-light/down_arrow_dark.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_darker.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/left_arrow_dark.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images_dark-light/left_arrow_darker.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/up_arrow_dark.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + border-image: url(qss:images_dark-light/up_arrow_darker.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; +} + +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +/* QTextEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + + +report view +--------------------------------------------------------------------------- */ +QTextEdit { + background-color: #F6F6F6; + color: black; + border-radius: 1.9px; + border: 0px solid #C1C1C1; +} + +QTextEdit:focus { + border: 1px solid #ffe098; +} + +QTextEdit:selected { + background: #346792; + color: black; +} + +/* QPlainTextEdit --------------------------------------------------------- +Python +--------------------------------------------------------------------------- */ +QPlainTextEdit { + background-color: #f6f6f6; + color: black; + border-radius: 1.9px; + border: 0px solid #C1C1C1; +} + +QPlainTextEdit:focus { + border: 1px solid #ffe098; +} + +QPlainTextEdit:selected { + background: #ffb916 ; + color: black; +} + +/* QSizeGrip -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + +--------------------------------------------------------------------------- */ +QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/sizegrip_dark.svg); +} + +/* QStackedWidget --------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QStackedWidget { + padding: 0px; + border: 0px solid #C1C1C1; +} + +/* QToolBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + +--------------------------------------------------------------------------- */ +QToolBar { + background-color: #F6F6F6; + border-bottom: 0px solid rgba(0,0,0,120); + padding: 1px; + font-weight: bold; + spacing: 1px; +} + +QToolBar:disabled { + /* Fixes #272 */ + background-color: #F6F6F6; +} + +QToolBar::handle:horizontal { + width: 8px; + margin: 3px 3px; + background-position: top right; + background-repeat: repeat-y; + background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); +} + +QToolBar::handle:vertical { + height: 8px; + margin: 3px 3px; + background-position: left bottom; + background-repeat: repeat-x; + background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); +} + +QToolBar::separator:horizontal { + width: 2px; + margin: 4px 4px; + background-color: transparent; +} + +QToolBar::separator:vertical { + height: 2px; + margin: 4px 4px; + background-color: transparent; +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ +QToolButton#qt_toolbar_ext_button { +margin: 0px; +padding: 0px; +background-color: #A3A3A3; +/*background-image: url(qss:images_dark-light/more_dark.svg);*/ +background-repeat: none; +background-position: center center; +} + +QToolButton#qt_toolbar_ext_button:hover { +/*background-image: url(qss:images_dark-light/more_dark.svg);*/ +background-color: #ffb916 ; +} + +QToolButton#qt_toolbar_ext_button:on { +/*background-image: url(qss:images_dark-light/more_dark.svg);*/ +border-color: #f6f6f6; +background-color: #ffb916 ; } -/*================================================================================================== -Text/Python editor (macros, etc...) -==================================================================================================*/ -QPlainTextEdit, -QPlainTextEdit:focus { - background-color: #f0f0f0; - selection-color: white; - selection-background-color: #d0970c; - border: 1px solid #c3c3c3; - border-radius: 3px; - margin: 4px; +/* QAbstractSpinBox ------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractSpinBox, +QSpinBox { + background-color: #ffffff; + border: 1px solid transparent; + color: black; + /* This fixes 103, 111 */ + /* padding-top: 0px; + /* This fixes 103, 111 */ + /*padding-bottom: 0px; + /*padding-left: 4px; + /*padding-right: 4px; + border-radius: 1.9px;*/ + min-height: 1.7em; + /* min-width: 5px; removed to fix 109 */ +} + +QAbstractSpinBox:up-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + subcontrol-origin: border; + subcontrol-position: top right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-bottom: -1px;*/ +} + +QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); + /* height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_darker.svg); +} + +QAbstractSpinBox:down-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + subcontrol-origin: border; + subcontrol-position: bottom right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-top: -1px;*/ +} + +QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); + /*height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_darker.svg); +} + +QAbstractSpinBox:hover { + /*border: 1px solid #ffb916 ; + color: black;*/ +} + +QAbstractSpinBox:focus { + border: 1px solid #ffe098; +} + +QAbstractSpinBox:selected { + background: #ffe098; + /*color: black;*/ +} + +/* ------------------------------------------------------------------------ */ +/* DISPLAYS --------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QLabel ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + +--------------------------------------------------------------------------- */ +QLabel { + background-color: transparent; + border: 0px solid #C1C1C1; + padding: 2px; + margin: 0px; + color: black; +} + +QLabel:disabled { + background-color: transparent; + border: 0px solid #C1C1C1; + color: #A3A3A3; +} + +QLabel[haslink="true"] { + color: orange; +} + + +/* QTextBrowser ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QTextBrowser { + background-color: #ffffff; + border: 1px solid #C1C1C1; + color: black; + border-radius: 1.9px; +} + +QTextBrowser:disabled { + background-color: #F6F6F6; + border: 1px solid #C1C1C1; + color: #A3A3A3; + border-radius: 1.9px; +} + +QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #ffb916 ; +} + +/* QGraphicsView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QGraphicsView { + background-color: transparent; + border: 0px solid #ffb916 ; + color: black; + border-radius: 0px; +} + +QGraphicsView:disabled { + background-color: #ffffff; + border: 0px solid #C1C1C1; + color: #A3A3A3; + border-radius: 0px; +} + +QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 0px solid #ff00f7; +} + +/* QCalendarWidget -------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCalendarWidget { + border: 1px solid #C1C1C1; + border-radius: 1.9px; +} + +QCalendarWidget:disabled { + background-color: #A3A3A3; + color: #A3A3A3; +} + +/* QLCDNumber ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QLCDNumber { + background-color: #1aff00; + color: black; +} + +QLCDNumber:disabled { + background-color: #F6F6F6; + color: #A3A3A3; +} + +/* QProgressBar ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + +--------------------------------------------------------------------------- */ +QProgressBar { + background-color: #A3A3A3; + border: 1px solid #C1C1C1; + color: black; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar:disabled { + background-color: #ffffff; + border: 1px solid #C1C1C1; + color: #A3A3A3; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #ffb916 ; + color: #F6F6F6; + border-radius: 1.9px; +} + +QProgressBar::chunk:disabled { + background-color: #ffffff; + color: #f6f6f6; + border-radius: 1.9px; +} + +/* ------------------------------------------------------------------------ */ +/* BUTTONS ---------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QPushButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + +--------------------------------------------------------------------------- */ +QPushButton { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + color: black; + border: 1px solid #EDEDED; + border-bottom-color: #AFAFAF; /* simulates shadow under the button */ + border-radius: 4px; + padding: 2px; +} + +QPushButton:disabled { + background-color: #F6F6F6; + color: #A3A3A3; + +} + +QPushButton:checked { + background-color: #ffb916 ; + outline: none; +} + +QPushButton:checked:disabled { + background-color: #ffb916 ; + color: #f6f6f6; + outline: none; +} + +QPushButton:checked:selected { + background: #ffb916 ; +} + +QPushButton:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffb916 , stop:1 #ffe098); + color: black; +} + +QPushButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffe098, stop:1 #ffb916 ); +} + +QPushButton:selected { + background: #ffe098; + color: black; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + bottom: 4px; +} + +QDialogButtonBox QPushButton { + /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; +} + +/* QToolButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + +--------------------------------------------------------------------------- */ +QToolButton { + background-color: transparent; + color: black; + border-radius: 1px; + padding: 0px; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ +} + +QToolButton:disabled { + background-color: transparent; + color: #A3A3A3; + border-radius: 1px; + padding: 0px; +} + +QToolButton:checked { + background-color: #ffb916 ; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:disabled { + background-color: #b65555; + color: #A3A3A3; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:hover { + background-color: #ffb916 ; + color: black; +} + +QToolButton:checked:pressed { + background-color: #ffb916 ; +} + +QToolButton:checked:selected { + background: #ffe098; + color: black; +} + +QToolButton:hover { + background-color: #ffb916 ; + color: black; +} + +QToolButton:pressed { + background-color: #ffe098; +} + +QToolButton:selected { + background: #ffb916 ; + color: black; +} + +QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 20px; +} + +QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; +} +QToolButton[popupMode="0"]::menu-button { + border: none; +} + +QToolButton[popupMode="0"]::menu-button:hover { + border: none; + border-left: 2px solid #fe0000; + border-radius: 0px; +} +QToolButton[popupMode="1"]::menu-button { + border: none; +} + +QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 2px solid #e5ff00; + border-radius: 0px; +} + +QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 20px; +} + +QToolButton::menu-button { + border-bottom: 0px solid #b2b2b2; + border-radius: 2px; + /* 16px width + 4px for border = 20px allocated above */ + width: 1.6ex; + padding: 2px; + border-radius: 2px; + border: 0px #000000; +} + +QToolButton::menu-button:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + +} + +QToolButton::menu-button:checked:hover { + /* background: rgba(0, 0, 0, 0.5);*/ +} + +QToolButton::menu-indicator { + /* Exclude a shift for better image */ + subcontrol-position: right bottom; + /* Shift it a bit */ +} + +QToolButton::menu-arrow { + image: url(qss:images_dark-light/more_arrow_dark.svg); + width: 1.5ex; + height: 1.5ex; + subcontrol-position: right bottom; + background: transparent; +} +QToolButton::menu-arrow:open { + subcontrol-position: right bottom; + image: url(qss:images_dark-light/more_arrow_dark.svg); +} +QToolButton::menu-arrow:hover { + image: url(qss:images_dark-light/more_arrow_dark.svg); + background-color: rgba(0, 0, 0, 0.498); + border: 1px solid rgba(0, 0, 0, 0.498); +} + +/* QCommandLinkButton ----------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCommandLinkButton { + background-color: transparent; + border: 1px solid #C1C1C1; + color: black; + border-radius: 1.9px; + padding: 0px; + margin: 0px; +} + +QCommandLinkButton:disabled { + background-color: transparent; + color: #A3A3A3; +} + +/* ------------------------------------------------------------------------ */ +/* INPUTS - NO FIELDS ----------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QComboBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QComboBox { + border: 1px solid transparent; + background: #ffffff; + border-radius: 2px; + selection-background-color: #ffb916 ; + padding-left: 2px; + padding-right: 2px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ +} +QComboBox:editable { + background: black; +} +QComboBox QAbstractItemView { + border: 0px solid #C1C1C1; + border-radius: 0px; + background-color: #ffffff; + selection-background-color: #ffb916 ; +} + +QComboBox QAbstractItemView:hover { + background-color:#ffffff; + color: black; +} + +QComboBox QAbstractItemView:selected { + background: #ffb916 ; + color: black; +} + +QComboBox QAbstractItemView:alternate { + background: #f6f6f6; +} + +QComboBox:disabled { + background-color: #F6F6F6; + color: #A3A3A3; +} + +QComboBox:hover { + /*background-color: #ffb916 ;*/ + border: 1px solid #ffb916 ; +} + +QComboBox:focus { + border: 1px solid #ffe098; +} + +QComboBox:on { + selection-background-color: #ffe098; +} + +QComboBox::indicator { + border: none; + border-radius: 0px; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: #ffb916 ; + /* Needed to remove indicator - fix #132 */ +} + +QComboBox::indicator:alternate { + background: #f6f6f6; +} + +QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ +} + +QComboBox::item:alternate { + background: #f6f6f6; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + subcontrol-position: top right; + width: 14px; + border-left: 1px solid transparent; +} +QComboBox::drop-down:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffb916 , stop:1 #ffe098); +} + +QComboBox::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); + height: 10px; + width: 10px; +} + +QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_darker.svg); } /*================================================================================================== Tasks panel (custom FreeCAD class) ==================================================================================================*/ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: black; + qproperty-groupBackground: #f6f6f6; + border: 0px solid #C1C1C1; + +} + /* Action group */ QFrame[class="panel"] { - background-color: transparent; /* temporal (transparent background) */ +background-color: transparent; /* temporal (transparent background) */ + } QSint--ActionGroup { - padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ - margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ } /* Separator line */ @@ -1065,1256 +1499,1038 @@ 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); +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; +border-top: 1px solid #C1C1C1; +border-left: 1px solid #C1C1C1; +border-right: 1px solid #C1C1C1; +background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); +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); +background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffb916 , stop:1 #ffe098); } QSint--ActionGroup QToolButton[class="header"] { - color: white; /* Task Panel Header text color */ - text-align: left; - font-weight: bold; - border: none; - margin: 0px; - padding: 0px; +color: black; /* 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_dark-light/down_arrow_light.svg); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; +background-color: transparent; +background-image: url(qss:images_dark-light/down_arrow_dark.svg); +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_dark-light/down_arrow_lighter.svg); +background-color: transparent; +background-image: url(qss:images_dark-light/down_arrow_darker.svg); } QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { - background-color: transparent; - background-image: url(qss:images_dark-light/up_arrow_light.svg); - background-repeat: none; - background-position: center center; - padding: 0px; - margin: 0px; +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_dark.svg); +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_dark-light/up_arrow_lighter.svg); +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_darker.svg); } 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; +background-color: transparent; /* Task Panel background color */ +margin: 0px; +padding: 0px; +border-bottom: 1px solid #C1C1C1; +border-left: 1px solid #C1C1C1; +border-right: 1px solid #C1C1C1; +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 */ +background-color: #F6F6F6; /* 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 */ +border-bottom-color: #ffb916 ; /* 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 */ +border-top-color: #ffb916 ; /* 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 */ +border-right-color: #ffb916 ; /* 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 */ +border-left-color: #ffb916 ; /* same as Task Panel background color */ } /* Fix for buttons with icons that showed cropped (still not happy with result) */ QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { - padding: 2px; /* bigger padding crops text and icons... */ - margin: 0px; +padding: 2px; /* bigger padding crops text and icons... */ +margin: 0px; } -/* Fix for lists inside task panels */ -/* QSint--ActionGroup QFrame[class="content"] QTreeView, +/* Fix for lists inside task panels */ /* sketcher constraints list */ +QSint--ActionGroup QFrame[class="content"] QTreeView, QSint--ActionGroup QFrame[class="content"] QListView, QSint--ActionGroup QFrame[class="content"] QTableView { - color: #f5f5f5; - background-color: #787878; -} */ - - -/*================================================================================================== -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 */ - min-height: 20px; /* important to be a pair number in order to up/down buttons to be divisible by two (if not set could create a blank line in Ubuntu. Its downside is that it's needed to reset it (min-width: 0px) on following elements that can't have it such as fields inside QToolBar and inside QTreeView (Property editor) */ - padding: 1px 2px; /* temporal: could don't be compatible with elements inside Tree/List view */ -} - -/* more contrast for QTexEdits */ -QTextEdit { - color: black; -} - -/* 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 (like Report view)*/ -QTextEdit:!editable, -QTextEdit:!editable:focus { - 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; -} - -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_dark-light/up_arrow_dark.svg); - top: 2px; /* fix symmetry 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_dark-light/up_arrow_lighter.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -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_dark-light/up_arrow_disabled_dark.svg); -} - -QAbstractSpinBox::down-arrow, -QSpinBox::down-arrow, -QDoubleSpinBox::down-arrow, -QTimeEdit::down-arrow, -QDateEdit::down-arrow, -QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_dark.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -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_dark-light/down_arrow_disabled_dark.svg); -} - -/* 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_dark-light/down_arrow_dark.svg); -} - -QComboBox::down-arrow:on, -QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QComboBox::down-arrow:off, -QComboBox::down-arrow:disabled { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); -} - -/* 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 */ +color: black; +background-color: #ffffff; } -/*================================================================================================== -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, -Gui--PropertyEditor--PropertyEditor > 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 */ -} - -Gui--PropertyEditor--PropertyEditor > QWidget > QPushButton { - text-align:left; - padding-left: 2px; -} - -/* 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; -} - -QPushButton:checked { - background-color: #daa116; - border-color: #d0970c; -} - -/*================================================================================================== -Tool button Icon fix in save dialogs -==================================================================================================*/ -/* found under Tools -> Save Picture */ /* Draft -> ShapeString -> Font file */ - -QFileDialog#QFileDialog QToolButton { - background-color: transparent; - padding: 1px; - border: 1px; - margin: 0px; -} - - -/*================================================================================================== -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); -} - - -/*================================================================================================== -Tool button inside Task Panel content that works as QPushButtons -==================================================================================================*/ /* found inside Part Design Workbench and "make a draft on a face" Task panel options */ QSint--ActionGroup QFrame[class="content"] 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: 2px 6px; /* different than regular QPushButton */ - margin: 2px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 4px; + color: black; + text-align: center; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + border: 0px solid #C1C1C1; + padding: 1px 1px; /* different than regular QPushButton */ + margin: 0px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 1px; } -QSint--ActionGroup QFrame[class="content"] QToolButton:hover, +QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffb916 , stop:1 #ffe098); + +} QSint--ActionGroup QFrame[class="content"] 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); + border: 1px solid #ffe098 +; } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #b6b6b6; - border-color: #e6e6e6; - background-color: #e6e6e6; + color: #A3A3A3; + background-color: #ffffff; } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #d0970c, stop:1 #daa116); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffb916 , stop:1 #ffe098); + } -/* QToolButtons with a menu found in Sketcher task panel*/ -QSint--ActionGroup QToolButton::menu-button { - border: none; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - padding: 2px; - width: 16px; /* 16px width + 4px for border = 20px allocated above */ - outline: none; - background-color: transparent; +/* QSlider ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + +--------------------------------------------------------------------------- */ +QSlider:disabled { + background: #F6F6F6; } -QSint--ActionGroup QToolButton#settingsButton, -QSint--ActionGroup QToolButton#filterButton, -QSint--ActionGroup QToolButton#manualUpdate { - padding-right: 20px; /* make way for the popup button */ -} - -/* to give widget inside the menu same look as regular menu */ -QSint--ActionGroup QToolButton#filterButton QListWidget { - color: black; - background: #f5f5f5; - padding: 0px; - margin: 0px; -} - - -/*================================================================================================== -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_dark-light/radiobutton_light.svg); -} - -QRadioButton, -QRadioButton:disabled { - color: #505050; - padding: 3px; - outline: none; - background-color: transparent; -} - -QRadioButton:disabled { - color: rgba(0,0,0,40); -} - -QRadioButton::indicator { - width: 11px; - height: 11px; - border-radius: 6px; -} - -QRadioButton::indicator:pressed { - border-color: #e0c992; -} - -QRadioButton::indicator:disabled { - color: #6e6e6e; - background-color: transparent; - border: 1px solid #6e6e6e; -} - -QRadioButton:focus { - border: none; -} - - -/*================================================================================================== -Checkbox -==================================================================================================*/ -QCheckBox, -QCheckBox:disabled { - color: #505050; - padding: 3px; - outline: none; - background-color: transparent; -} - -QCheckBox::indicator, -QGroupBox::indicator { - color: #c8c8c8; - background-color: rgba(0,0,0,20); - border: 1px solid #505050; - width: 11px; - height: 11px; - border-radius:2px; -} - -QCheckBox::indicator:pressed, -QCheckBox::indicator:non-exclusive:checked:pressed, -QCheckBox::indicator:indeterminate:pressed, -QCheckBox::indicator:checked:pressed, -QGroupBox::indicator:pressed, -QGroupBox::indicator:non-exclusive:checked:pressed, -QGroupBox::indicator:indeterminate:pressed, -QGroupBox::indicator:checked:pressed { - border-color: #e0c992; -} - -QCheckBox::indicator:checked, -QGroupBox::indicator:checked { - background-color: #daa116; /* QRadioButton has the same color */ - border: 1px solid #d0970c; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox:disabled { - color: rgba(0,0,0,40); - background-color: transparent; -} - -QCheckBox::indicator:disabled, -QGroupBox::indicator:disabled { - background-color: rgba(0,0,0,20); - border: 1px solid rgba(0,0,0,20); -} - -QCheckBox::indicator:indeterminate, -QGroupBox::indicator:indeterminate { - background-color: #daa116; - border: 1px solid #d0970c; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox:focus { - border: none; -} - - -/*================================================================================================== -Checkboxes inside QListWidget and QTreeView -==================================================================================================*/ -QListWidget::indicator, -QTreeView::indicator { - color: #c8c8c8; - background-color: rgba(0,0,0,20); - border: 1px solid #505050; - width: 11px; - height: 11px; - border-radius:2px; -} - -/* fix for QTreeView::indicator losing its margin */ -QTreeView::indicator { - margin: 3px; -} - -QListWidget::indicator:selected, -QTreeView::indicator:selected { - background-color: #e6e6e6; -} - -QListWidget::indicator:checked:selected, -QListWidget::indicator:indeterminate:selected, -QTreeView::indicator:checked:selected, -QTreeView::indicator:indeterminate:selected { - background-color: #e3b64d; /* slightly lighter than default */ - border-color: #b28416; /* slightly darker than default */ -} - -QListWidget::indicator:pressed, -QListWidget::indicator:non-exclusive:checked:pressed, -QListWidget::indicator:indeterminate:pressed, -QListWidget::indicator:checked:pressed, -QTreeView::indicator:pressed, -QTreeView::indicator:non-exclusive:checked:pressed, -QTreeView::indicator:indeterminate:pressed, -QTreeView::indicator:checked:pressed { - border-color: #e0c992; -} - -QListWidget::indicator:checked, -QTreeView::indicator:checked { - background-color: #daa116; /* QRadioButton has the same color */ - border: 1px solid #d0970c; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QListWidget::indicator:disabled, -QTreeView::indicator:disabled { - background-color: rgba(0,0,0,20); - border: 1px solid rgba(0,0,0,20); -} - -QListWidget::indicator:indeterminate, -QTreeView::indicator:indeterminate { - background-color: #daa116; - border: 1px solid #d0970c; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - - -/*================================================================================================== -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:focus { + border: 1px solid #ffe098; } QSlider::groove:horizontal { - height: 8px; + background: #F6F6F6; + border: 1px solid #C1C1C1; + height: 4px; + margin: 0px; + border-radius: 1.9px; } QSlider::groove:vertical { - width: 8px; + background: #ffb916 ; + border: 1px solid #C1C1C1; + width: 4px; + margin: 0px; + border-radius: 1.9px; } -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #dcdcdc; - background-color: #dcdcdc; +QSlider::add-page:vertical { + background: #ffb916 ; + border: 1px solid #C1C1C1; + width: 4px; + margin: 0px; + border-radius: 1.9px; } -QSlider::handle:horizontal, -QSlider::handle:vertical { - background-color: #b6b6b6; - border: 1px solid #b6b6b6; - width: 14px; - height: 14px; - border-radius: 8px; +QSlider::add-page:vertical :disabled { + background: #f6f6f6; +} + +QSlider::sub-page:horizontal { + background: #ffb916 ; + border: 1px solid #C1C1C1; + height: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::sub-page:horizontal:disabled { + background: #ffb916 ; } QSlider::handle:horizontal { - margin: -4px 0; + background: #A3A3A3; + border: 1px solid #C1C1C1; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 1.9px; +} + +QSlider::handle:horizontal:hover { + background: #ffb916 ; + border: 1px solid #ffb916 ; +} + +QSlider::handle:horizontal:focus { + border: 1px solid #ffe098; } QSlider::handle:vertical { - margin: 0 -4px; + background: #A3A3A3; + border: 1px solid #C1C1C1; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 1.9px; } -QSlider::handle:horizontal:hover, -QSlider::handle:vertical:hover, -QSlider::handle:horizontal:pressed, -QSlider::handle:vertical:pressed { - border-color: #daa116; - background-color: #daa116; +QSlider::handle:vertical:hover { + background: #ffb916 ; + border: 2px solid #ffb916 ; } -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #dcdcdc; - background-color: #dcdcdc; +QSlider::handle:vertical:focus { + border: 1px solid #ffe098; } +/* QLineEdit -------------------------------------------------------------- -/*================================================================================================== -Toolbar buttons -==================================================================================================*/ -/*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: 0px 2px; - padding: 0px; - min-width: 70px; /* necessary to show its content */ +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + +--------------------------------------------------------------------------- */ +QLineEdit { + background-color: #ffffff; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #C1C1C1; + border-radius: 2px; + color: black; } -QToolBar > QComboBox, -QToolBar > QAbstractSpinBox, -QToolBar > QSpinBox, -QToolBar > QDoubleSpinBox, -QToolBar > QLineEdit, -QToolBar > QTextEdit, -QToolBar > QTimeEdit, -QToolBar > QDateEdit, -QToolBar > QDateTimeEdit { - min-height: 0px; /* reset it inside Tool Bar due to the user ability to set the "size of toolbar icons" inside Preferences */ +QLineEdit:disabled { + background-color: #F6F6F6; + color: #A3A3A3; } -QToolBar > QPushButton { - padding: 0px; - margin: 1px; /* doesn't work with :left, :right:, :top or :bottom sub-controls */ - min-width: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - min-height: 16px; /* could not be larger due to switchable Preferences "Size of toolbar icons" */ - border-radius: 4px; /* same as regular QPushButton */ +QLineEdit:hover { + border: 1px solid #ffb916 ; + color: black; } -QToolBar > QPushButton:checked { - border: 1px solid #e3b64d; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #e3d8b9, stop:1 #e3b64d); +QLineEdit:focus { + border: 2px solid #ffe098; } -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 */ - text-align: left; /* bug fix #4559 */ +QLineEdit:selected { + background-color: #ffb916 ; + color: black; } -QToolBar > QPushButton:checked:hover { - border-color: #e2ac2a; +/* QTabWiget -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabWidget { + padding: 2px; + selection-background-color: #ffb916 ; } -QToolBar > QPushButton:!checked:hover { +QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 1.9px; +} + +QTabWidget::pane { + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; +} + +QTabWidget::pane:selected { + background-color: #ffb916 ; + border: 1px solid #C1C1C1; +} +/* QTabBar ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + /* left: 5px; move to the right by 5px - removed for fix */ +} + +QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 1px; + image: url(qss:images_dark-light/close_dark.svg); +} + +QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + /*background-color: rgba(255, 0, 0, 0.3);*/ +} + +QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(qss:images_dark-light/close_.svg); +} + +QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ + padding: 4px; +} + +QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + color: #797979; +} + +QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + color: #797979; +} + +QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + color: #A0A0A0; +} + +QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + color: #A0A0A0; +} + +QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + color: #A0A0A0; +} + +QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + color: #A0A0A0; + +} + +QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + color: #A0A0A0; + +} + +QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + color: #A0A0A0; +} + +QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + color: #A0A0A0; +} + +QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + color: #A0A0A0; +} + +QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + color: #A0A0A0; +} + +QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + color: #A0A0A0; +} + +QTabBar::tab:top, QDockWidget QTabBar::tab:top { + color: #A0A0A0; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 1px solid #A3A3A3; /* same as tab content background color */ + border-radius: 0px; +} + +QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + color: black; + border-top: 4px solid #ffb916 ; /* selection color */ + border-bottom: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #A3A3A3; + border-right: 1px solid #A3A3A3; + } + +QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + /*border: 1px solid #ffb916 ;*/ + border: 0px solid #ffb916 ; + background-color: #ffb916 ; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; + color: black; +} + +QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + color: #A0A0A0; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-top: 1px solid #A3A3A3; /* same as tab content background color */ + border-radius: 0px; +} + +QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + color: black; + border-bottom: 4px solid #ffb916 ; /* selection color */ + border-top: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #A3A3A3; + border-right: 1px solid #A3A3A3; + +} + +QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { +/*border: 1px solid #ffb916 ;*/ + border: 0px solid #ffb916 ; + background-color: #ffb916 ; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; + color: black; +} + +QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #F6F6F6; + margin-top: 2px; + + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 4px; + min-height: 5px; +} + +QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #F6F6F6; + border: 0px solid #ffe098; +} + +QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 0px solid #ffb916 ; + background-color: #ffb916 ; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; + color: black; +} + +QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #F6F6F6; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + min-height: 5px; + border: 10px; +} + +QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #F6F6F6; + border: 0px solid #ffe098; +} + +QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 0px solid #ffb916 ; + background-color: #ffb916 ; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; + color: black; +} + +QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #F6F6F6; + height: 12px; + width: 12px; +} + +QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + border: 0px solid #ffb916 ; + background-color: #ffb916 ; +} + +QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 0px solid #ffb916 ; + background-color: #ffb916 ; + color: black; +} + +QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_darker.svg); +} + +QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); +} + +QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_darker.svg); +} + +QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); +} + +/* QDockWiget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QDockWidget { + background-color: #F6F6F6; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + titlebar-close-icon: url(qss:images_dark-light/transparent.svg); + titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); +} + +QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + text-align: center; + font-weight: bold; +} + +QDockWidget::close-button { + icon-size: 10px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/close_dark.svg); +} + +QDockWidget::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); +} + +QDockWidget::close-button:pressed { + image: url(qss:images_dark-light/close_dark.svg); +} + +QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/undock_dark.svg); +} + +QDockWidget::float-button:hover { + /*background-color: #ffb916 ;*/ + image: url(qss:images_dark-light/undock_blue.svg); +} + +QDockWidget::float-button:pressed { + image: url(qss:images_dark-light/undock_dark.svg); +} + +/* QTreeView QListView QTableView ----------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + +--------------------------------------------------------------------------- */ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_dark.svg) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; +} + +QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; +} + +QTreeView::indicator:checked, +QListView::indicator:checked, +QTableView::indicator:checked, +QColumnView::indicator:checked { + image: url(qss:images_dark-light/checkbox_dark.svg); +} + +QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, +QListView::indicator:checked:hover, +QListView::indicator:checked:focus, +QListView::indicator:checked:pressed, +QTableView::indicator:checked:hover, +QTableView::indicator:checked:focus, +QTableView::indicator:checked:pressed, +QColumnView::indicator:checked:hover, +QColumnView::indicator:checked:focus, +QColumnView::indicator:checked:pressed { + image: url(qss:images_dark-light/checkbox_light_hover.svg); +} + +QTreeView::indicator:unchecked, +QListView::indicator:unchecked, +QTableView::indicator:unchecked, +QColumnView::indicator:unchecked { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, +QListView::indicator:unchecked:hover, +QListView::indicator:unchecked:focus, +QListView::indicator:unchecked:pressed, +QTableView::indicator:unchecked:hover, +QTableView::indicator:unchecked:focus, +QTableView::indicator:unchecked:pressed, +QColumnView::indicator:unchecked:hover, +QColumnView::indicator:unchecked:focus, +QColumnView::indicator:unchecked:pressed { + image: url(qss:images_dark-light/checkbox_unchecked_hover_dark.svg); +} + +QTreeView::indicator:indeterminate, +QListView::indicator:indeterminate, +QTableView::indicator:indeterminate, +QColumnView::indicator:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, +QListView::indicator:indeterminate:hover, +QListView::indicator:indeterminate:focus, +QListView::indicator:indeterminate:pressed, +QTableView::indicator:indeterminate:hover, +QTableView::indicator:indeterminate:focus, +QTableView::indicator:indeterminate:pressed, +QColumnView::indicator:indeterminate:hover, +QColumnView::indicator:indeterminate:focus, +QColumnView::indicator:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QTreeView, +QListView, +QTableView, +QColumnView { + background-color: #F6F6F6; /* background of a lot of stuff including spreadsheets.*/ + border: 0px solid #C1C1C1; + color: black; + gridline-color: #f6f6f6; + border-radius: 0px; +} + +QTreeView:disabled, +QListView:disabled, +QTableView:disabled, +QColumnView:disabled { + background-color: #ffffff; + color: #A3A3A3; +} + +QTreeView:selected, +QListView:selected, +QTableView:selected, +QColumnView:selected { + background-color: #ffb916 ; + color: black; +} + +QTreeView:focus, +QListView:focus, +QTableView:focus, +QColumnView:focus { + border: 1px solid #ffe098; +} + +QTreeView::item:pressed, +QListView::item:pressed, +QTableView::item:pressed, +QColumnView::item:pressed { + background-color: #ffb916 ; +} + +QTreeView::item:selected:active, +QListView::item:selected:active, +QTableView::item:selected:active, +QColumnView::item:selected:active { + background-color: #ffb916 ; +} + +QTreeView::item:selected:!active, +QListView::item:selected:!active, +QTableView::item:selected:!active, +QColumnView::item:selected:!active { + color: black; + background-color: #A3A3A3; +} + +QTreeView::item:!selected:hover, +QListView::item:!selected:hover, +QTableView::item:!selected:hover, +QColumnView::item:!selected:hover { + outline: 0; + color: black; + background-color: #ffb916 ; +} + +QTableCornerButton::section { + background-color: #F6F6F6; + border: 1px transparent #C1C1C1; + border-radius: 0px; +} + +QTableView::item { color: black; - border-color: #b6b6b6; } - -QToolBar > QPushButton:checked:pressed { - background-color: #e3b64d; -} - -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; -} - -QToolBar > QToolButton { - margin: 2px; - padding: 2px; - border-radius: 3px; -} - -QToolBar > QToolButton:hover { - background-color: rgba(0,0,0,20); -} - -QToolBar > QToolButton:pressed { - background-color: rgba(0,0,0,30); -} - -/* 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_dark-light/down_arrow_dark.svg); - 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_dark-light/down_arrow_lighter.svg); -} - -QToolBar > QToolButton::menu-arrow:open { - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -/* when QToolButton is checked: */ -QToolButton:checked { - border: 1px solid #e3b64d; - background-color: rgba(124,171,249,60); /* transparency for #e3b64d color */ -} - -QToolButton:checked:hover { - border: 1px solid #e3b64d; - background-color: rgba(124,171,249,80); /* transparency for #e3b64d color */ -} - -/*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_dark-light/more_dark.svg);*/ - image: transparent; - background-repeat: none; - background-position: center left; -} - -QToolBar QToolButton#qt_toolbar_ext_button:hover { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #e0e0e0; - background-color: #e0e0e0; -} - -QToolBar QToolButton#qt_toolbar_ext_button:on { - /*background-image: url(qss:images_dark-light/more_light.svg);*/ - border-color: #e0e0e0; - background-color: #e0e0e0; -} - - -/*================================================================================================== -Tables (spreadsheets) -==================================================================================================*/ QTableView { - gridline-color: #d2d2d2; - selection-color: #624b14; - selection-background-color: #e3d8b9; + /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ + /*qproperty-aliasBgColor: #f700ff;*/ } -QTableView::item:hover { - background-color: rgba(0,0,0,10); /* temporal: is it displayed in Linux or Windows? on OSX it isn't */ +/* QHeaderView ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + +--------------------------------------------------------------------------- */ +QHeaderView { + background-color: transparent; + text-align: center; } -QTableView::item:disabled { - color: #e6e6e6; +QHeaderView:disabled { + background-color: #F6F6F6; + color: rgb(174, 174, 174); } -QTableView::item:selected { - color: #624b14; - border-color: #e3d8b9; /* same as focused background color */ - border-bottom-color: #e3b64d; /* same as focused border color */ +QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + color: black; + border: 1px solid #C1C1C1; + font-size: 13px; + font-weight: bold; } -/* fix for elements inside the cells */ -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit, -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - border-radius: 0px; +QHeaderView::section::horizontal { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 5px; + padding-right: 0px; } -QTableView > QWidget > QComboBox, -QTableView > QWidget > QAbstractSpinBox, -QTableView > QWidget > QSpinBox, -QTableView > QWidget > QDoubleSpinBox, -QTableView > QWidget > QLineEdit, -QTableView > QWidget > QTextEdit, -QTableView > QWidget > QTimeEdit, -QTableView > QWidget > QDateEdit, -QTableView > QWidget > QDateTimeEdit { - color: black; - background-color: transparent; - border-color: transparent; +QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 0px solid #C1C1C1; } -QTableView > QWidget > QComboBox:drop-down, -QTableView > QWidget > QAbstractSpinBox:up-button, -QTableView > QWidget > QSpinBox:up-button, -QTableView > QWidget > QDoubleSpinBox:up-button, -QTableView > QWidget > QTimeEdit:up-button, -QTableView > QWidget > QDateEdit:up-button, -QTableView > QWidget > QDateTimeEdit:up-button, -QTableView > QWidget > QAbstractSpinBox:down-button, -QTableView > QWidget > QSpinBox:down-button, -QTableView > QWidget > QDoubleSpinBox:down-button, -QTableView > QWidget > QTimeEdit:down-button, -QTableView > QWidget > QDateEdit:down-button, -QTableView > QWidget > QDateTimeEdit:down-button, -QTableView > QWidget > Gui--ColorButton { - background-color: rgba(0,0,0,30); +QHeaderView::section::horizontal:disabled { + color: #A3A3A3; } -QTableView > QWidget > QComboBox:focus, -QTableView > QWidget > QAbstractSpinBox:focus, -QTableView > QWidget > QSpinBox:focus, -QTableView > QWidget > QDoubleSpinBox:focus, -QTableView > QWidget > QLineEdit:focus, -QTableView > QWidget > QTextEdit:focus, -QTableView > QWidget > QTimeEdit:focus, -QTableView > QWidget > QDateEdit:focus, -QTableView > QWidget > QDateTimeEdit:focus { - color: #624b14; - selection-color: white; - selection-background-color: #daa116; - border-color: #e3d8b9; - background-color: #e3d8b9; +QHeaderView::section::vertical { + padding-top: 1px; + padding-bottom: 0; + padding-left: 1px; + padding-right: 0px; + border-top: 2px solid #C1C1C1; } -QTableView > QWidget > QComboBox:disabled, -QTableView > QWidget > QAbstractSpinBox:disabled, -QTableView > QWidget > QSpinBox:disabled, -QTableView > QWidget > QDoubleSpinBox:disabled, -QTableView > QWidget > QLineEdit:disabled, -QTableView > QWidget > QTextEdit:disabled, -QTableView > QWidget > QTimeEdit:disabled, -QTableView > QWidget > QDateEdit:disabled, -QTableView > QWidget > QDateTimeEdit:disabled { - color: rgba(0,0,0,120); - background-color: transparent; - border-color: transparent; +QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 2px solid #C1C1C1; } -QTableView > QWidget > QComboBox:read-only, -QTableView > QWidget > QAbstractSpinBox:read-only, -QTableView > QWidget > QSpinBox:read-only, -QTableView > QWidget > QDoubleSpinBox:read-only, -QTableView > QWidget > QLineEdit:read-only, -QTableView > QWidget > QTextEdit:read-only, -QTableView > QWidget > QTimeEdit:read-only, -QTableView > QWidget > QDateEdit:read-only, -QTableView > QWidget > QDateTimeEdit:read-only { - color: black; - background-color: transparent; - border-color: transparent; +QHeaderView::section::vertical:disabled { + border-top: 2px solid #C1C1C1; } - -/*================================================================================================== -SELECTORTOOLBAR widget (3rd party plugin) -==================================================================================================*/ -QToolBar:horizontal#Selector, -QToolBar:vertical#Selector { - background-color: rgba(0,0,0,120); - margin: 0px; - padding: 0px; +QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/down_arrow_dark.svg); } -QToolBar::handle:top#Selector, -QToolBar::handle:bottom#Selector, -QToolBar::handle:horizontal#Selector { - alignment: bottom left; +QHeaderView::up-arrow { + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/up_arrow_dark.svg); } -QToolBar::handle:left#Selector, -QToolBar::handle:right#Selector, -QToolBar::handle:vertical#Selector { - width: 100%; - alignment: center left; +/* QToolBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox +used in PATH + +--------------------------------------------------------------------------- */ +QToolBox { + padding: 0px; + border: 1px solid #A3A3A3; + border-radius: 4px; + background-color: transparent; } -QToolBar:top#Selector QToolButton, -QToolBar:bottom#Selector QToolButton, -QToolBar:horizontal#Selector QToolButton { - alignment: bottom left; +QToolBox:selected { + padding: 0px; + border: 0px solid #ffb916 ; } -QToolBar:left#Selector QToolButton, -QToolBar:right#Selector QToolButton, -QToolBar:vertical#Selector QToolButton { - alignment: center left; +QToolBox::tab { + background-color: transparent; + border: 0px solid #A3A3A3; + color: black; + background-image: url(qss:images_dark-light/down_arrow_darker.svg); + background-repeat: none; + background-position: center left; } -QToolButton[toolbar_orientation="horizontal"] { - /* nothing, when Horizontal there's no need to add special parameters */ +QToolBox::tab:disabled { + color: #A3A3A3; } -QToolButton[toolbar_orientation="vertical"] { - /* nothing, when Horizontal there's no need to add special parameters */ +QToolBox::tab:selected { + background-color: #A3A3A3; + background-image: url(qss:images_dark-light/transparent.svg); + padding-right: 5px; + background-repeat: none; } -QToolBar#Selector QToolButton { - border: none; - margin: 0px; - padding: 2px 6px; - border-radius: 0px; +QToolBox::tab:selected:disabled { + background-color: #A3A3A3; + border-bottom: 0px solid #cccccc; + color: black; } -/* Active tab */ -QToolBar#Selector QToolButton:checked { - color: black; - background-color: #f5f5f5; +QToolBox::tab:!selected { + } -/* Unactive tabs */ -QToolBar#Selector QToolButton:!checked { - color: rgba(255,255,255,160); - background-color: transparent; - margin: 0px; +QToolBox::tab:!selected:disabled { + background-color: #F6F6F6; } -/* Unactive tabs (hover) */ -QToolBar#Selector QToolButton:!checked:hover { - color: rgba(255,255,255,255); - background-color: rgba(255,255,255,20); +QToolBox::tab:hover { + background-color: #ffb916 ; + } + +QToolBox QScrollArea QWidget QWidget { + padding: 0px; + border: 0px; + background-color: transparent; } -/* Unactive tabs (pressed) */ -QToolBar#Selector QToolButton:!checked:pressed { - background-color: rgba(255,255,255,40); +/* QFrame ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe +https://doc.qt.io/qt-5/qframe.html#-prop +https://doc.qt.io/qt-5/qframe.html#details +https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + +--------------------------------------------------------------------------- */ +/* (dot) .QFrame fix #141, #126, #123 */ +.QFrame { + border-radius: 0px; + border: 0px solid #C1C1C1; + background-color: #A3A3A3; + /* No frame */ + /* HLine */ + /* HLine */ } - -/*================================================================================================== -TABBAR widget (3rd party plugin) -==================================================================================================*/ -QTabWidget#TabBar > QTabBar { - border-top: 0; +.QFrame[frameShape="0"] { + border-radius: 1.9px; + border: 1px solid #C1C1C1; } -QTabWidget#TabBar > QTabBar::tab:top, -QTabWidget#TabBar > QTabBar::tab:bottom { - min-width: -1; +.QFrame[frameShape="4"] { + max-height: 1px; + border: none; + background-color: #f6f6f6; } -QTabWidget#TabBar > QTabBar::tab:left, -QTabWidget#TabBar > QTabBar::tab:right { - min-height: -1; +.QFrame[frameShape="5"] { + max-width: 1px; + border: none; + background-color: #F6F6F6; } +/* QSplitter -------------------------------------------------------------- -/*================================================================================================== -EXPERIMENTAL -==================================================================================================*/ +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter -/* Fix for preventing elements in different rows to accidentally overlap */ -QDialog QGroupBox QFrame { - margin: 2px 0px; +--------------------------------------------------------------------------- */ +QSplitter { + background-color: #f6f6f6; + spacing: 1px; + padding: 1px; + margin: 1px; } -*[mandatoryField="true"] { background-color: cyan } - -/* Hack to avoid QPushButton text partially hidden under menu-indicator */ -QPushButton#NavigationIndicator::menu-indicator { - image: none; - width: 0px; +QSplitter::handle { + margin: 0px 0px; + padding: 0px; } -/*================================================================================================== -SKETCHER -==================================================================================================*/ +QSplitter::handle:horizontal { + background-image: url(qss:images_dark-light/splitter_vertical_light.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + width: 1px; +} -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(0,0,0,127); /* 50% opacity black */ +QSplitter::handle:vertical { + background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + height: 1px; } -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(0,0,0,255); /* Black */ + +QSplitter::handle:hover { + background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + background-position: center center; + background-repeat: none; + background-color: #ffb916 ; } -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ + +/* QDateEdit, QDateTimeEdit ----------------------------------------------- + +--------------------------------------------------------------------------- */ +QDateEdit, QDateTimeEdit { + selection-background-color: #ffb916 ; + border-style: solid; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; } -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ + +QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #ffb916 ; } -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ + +QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #C1C1C1; } -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ + +QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); + height: 8px; + width: 8px; } -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; + +QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_darker.svg); } -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; + +QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #F6F6F6; + border-radius: 2px; + border: 1px solid #C1C1C1; + selection-background-color: #ffb916 ; } -Gui--UrlLabel { - color : rgba(0,0,255,255); /* Blue */ - text-decoration : underline; + +/* QAbstractView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractView:hover { + border: 1px solid #ffb916 ; + color: black; } + +QAbstractView:selected { + background: #ffb916 ; + color: black; +} + +/* PlotWidget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; +} \ No newline at end of file diff --git a/src/Gui/Stylesheets/Light-pink.qss b/src/Gui/Stylesheets/Light-pink.qss new file mode 100644 index 0000000000..747cec62b6 --- /dev/null +++ b/src/Gui/Stylesheets/Light-pink.qss @@ -0,0 +1,2536 @@ +/* +ABOUT +============================================================================================================ +Revised stylesheet based on the orignal from Pablo Gil Fernández made by MisterMaker + +KNOWN BUGS and TO DO +============================================================================================================ +Please, follow the link to get updated information: +https://forum.freecad.org/viewtopic.php?t=78431 + +INSTALLATION WHEN NECESSARY +============================================================================================================ +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/ + +============================================================================================================ +TO MODIFY USE THESE COLORS: + #f892ff + #ffbff3 + + +See Qt documentation: + + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ + + +/* Reset elements ------------------------------------------------------------ + +Resetting everything helps to unify styles across different operating systems + +--------------------------------------------------------------------------- */ +* { + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; + border-image: none; + outline: 0; +} + +/* specific reset for elements inside QToolBar */ +QToolBar * { + margin: 0px; + padding: 0px; +} + +/*hacks */ + +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; + +} +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { + color: transparent; + background-color: transparent; + border: none; + border-radius: 1px; + margin: 0px; + padding: 0px; +} + +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; + +} + +/*================================================================================================== +Main window +==================================================================================================*/ +QMainWindow, +QDialog, +QDockWidget, +QToolBar { + background-color: #F6F6F6; /* main background color */ +} + +QMdiArea { + background-image: url(qss:images_dark-light/background_freecad.svg); + background-position: center center; + background-repeat: no-repeat; +} +/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ +Gui--NavigationIndicatorGui--BlenderNavigationStyle { +/*QAction#a4 {*/ + qproperty-icon: url(:/icons/icons/NavigationBlender_dark.svg); +} +/*===== +/* QWidget ---------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QWidget { + background-color: #F6F6F6; + border: 0px solid #C1C1C1; + padding: 0px; + color: black; + selection-background-color: #f892ff ; + selection-color: black; +} + +QWidget:disabled { + background-color: transparent; + color: #A3A3A3; + selection-background-color: #f892ff ; + selection-color: #A3A3A3; +} + +QWidget::item:selected { + background-color: #f892ff +; +} + + /* Causes issue with colorselector. + QWidget::item:hover:!selected { + background-color: #f892ff ; + }*/ + +/* QMainWindow ------------------------------------------------------------ + +This adjusts the splitter in the dock widget, not qsplitter +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow + +--------------------------------------------------------------------------- */ +QMainWindow::separator { + /*background-color: #f6f6f6;*/ + border: 0px solid #C1C1C1; + spacing: 0px; + padding: 1px; +} + +QMainWindow::separator:vertical:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #f892ff , stop:0.8 transparent); + /*background-color: #f892ff ;*/ + image: url(qss:images_dark-light/splitter_vertical_dark.svg); +} + +QMainWindow::separator:horizontal:hover { + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #f892ff , stop:0.8 transparent); + /*background-color: #f892ff ;*/ + image: url(qss:images_dark-light/splitter_horizontal_dark.svg); +} + +QMainWindow::separator:horizontal { + width: 4px; + margin-top: 0.1px; + margin-bottom: 0.1px; + /* image: url(qss:images_dark-light/splitter_horizontal_light.svg);*/ +} + +QMainWindow::separator:vertical { + height: 4px; + margin-left: 0.1px; + margin-right: 0.1px; + /* image: url(qss:images_dark-light/splitter_vertical_light.svg);*/ +} + +/* QToolTip --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + +--------------------------------------------------------------------------- */ +QToolTip { + background-color: #ffffff; + color: black; + /* If you remove the border property, background stops working on Windows */ + border: none; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ +} + +/* QStatusBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + +--------------------------------------------------------------------------- */ +QStatusBar { + border: 0px solid #C1C1C1; + /* Fixes Spyder #9120, #9121 */ + background: #F6F6F6; + /* Fixes #205, black vertical borders separating items */ +} + +QStatusBar::item { + border: none; +} + +QStatusBar QToolTip { + background-color: #F6F6F6; + border: 1px solid #C1C1C1; + color: #F6F6F6; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; +} + +QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; +} + +/* QCheckBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + +--------------------------------------------------------------------------- */ +QCheckBox { + color: black; + padding: 0px; + outline: none; + border: 1px solid transparent; + background-color: transparent; +} + +QCheckBox:focus { + border: 1px solid #ffbff3; +} + +QCheckBox QWidget:disabled { + background-color: transparent; + color: #A3A3A3; +} + +QCheckBox::indicator { + color: black; + background-color: #ffffff; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QCheckBox::indicator:unchecked { + background-color: #ffffff; + image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { + background-color: #f892ff ; + image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QCheckBox::indicator:unchecked:disabled { + background-color: #F6F6F6; + image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QCheckBox::indicator:checked { + background-color: #ffffff; + /*border: 1px solid #C1C1C1; /* QRadioButton has the same color */ + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { + background-color: #f892ff ; +} + +QCheckBox::indicator:checked:disabled { + background-color: #F6F6F6; + image: url(qss:images_dark-light/check_dark.svg); +} + +QCheckBox::indicator:indeterminate { + background-color: #ffffff; + border: 1px solid #C1C1C1; + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QCheckBox::indicator:indeterminate:disabled { + background-color: #F6F6F6; + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + background-color: #f892ff ; /* QRadioButton has the same color */ +} + +/* QGroupBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + +--------------------------------------------------------------------------- */ +QGroupBox { + font-weight: bold; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + padding: 2px; + margin-top: 10px; + margin-bottom: 4px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: 6px; +} + +QGroupBox::indicator { + color: black; + background-color: #f6f6f6; + border: 1px solid #C1C1C1; + width: 12px; + height: 12px; + border-radius:1px; +} + +QGroupBox::indicator:unchecked { + background-color: #f6f6f6; + border: 1px solid #C1C1C1; + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + background-color: #f892ff ; +} + +QGroupBox::indicator:unchecked:disabled { + background-color: #ffffff; + border: 1px solid #C1C1C1; +} + +QGroupBox::indicator:checked { + border: none; + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + background-color: #f892ff ; +} + +QGroupBox::indicator:checked:disabled { + background-color: #f892ff ; +} + +/* QRadioButton ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + +--------------------------------------------------------------------------- */ +QRadioButton { + background-color: transparent; + color: black; + border: none; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + outline: none; +} + +QRadioButton:focus { + border: 1px solid #ffbff3; +} + +QRadioButton:disabled { + background-color: #f6f6f6; + color: #BABABA; +} + +QRadioButton QWidget { + background-color: transparent; + color: black; + spacing: 0px; + padding: 0px; + outline: none; + border: none; +} + +QRadioButton::indicator { + background-color: #f6f6f6; + border: 1px solid #C1C1C1; + border-radius: 6px; + margin-left: 0px; + height: 11px; + width: 11px; +} + +QRadioButton::indicator:unchecked { + /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ +} + +QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { + background-color: #f892ff ; + border: 1px solid #f892ff ; + border-radius: 6px; +} + +QRadioButton::indicator:unchecked:disabled { + /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ + border: 1px solid #C1C1C1; +} + +QRadioButton::indicator:checked { + image:url(qss:images_dark-light/radiobutton_dark.svg); +} + +QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { + background-color: #f892ff ; + border: 1px solid #f892ff ; + border-radius: 6px; + image:url(qss:images_dark-light/radiobutton_dark.svg); +} + +QRadioButton::indicator:checked:disabled { + outline: none; + background-color: #f6f6f6; + image:url(qss:images_dark-light/radiobutton_light.svg); +} + +/* QMenuBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + +--------------------------------------------------------------------------- */ +QMenuBar { + background-color: #ffffff; + /*padding: 1px; + border: 0px solid rgba(0,0,0,140);*/ + color: black; + selection-background-color: #f892ff ; +} + +QMenuBar:focus { + border: 1px solid #f892ff ; +} + +QMenuBar::item { + background: transparent; + /*padding-left:5px; + padding-right: 5px; + padding-bottom: 1px; + padding-top: 1px;*/ +} + +QMenuBar::item:selected { + background: transparent; + border: 0px solid #C1C1C1; + background-color: #f892ff ; +} + +QMenuBar::item:pressed { + /*padding: 2px; + padding-left: 10px; + padding-right: 10px;*/ + border: 0px solid #C1C1C1; + background-color: #f892ff ; + color: black; + /*margin-bottom: 0px; + padding-bottom: 0px;*/ +} + +/* QMenu ------------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + +--------------------------------------------------------------------------- */ +QMenu { + border-bottom: 2px rgba(0,0,0,140); + border-right: 2px rgba(0,0,0,140); + color: black; + margin: 0px; + background-color: #ffffff; + selection-background-color: #f892ff ; +} + +QMenu::separator { + height: 2px; + background-color: #f6f6f6; + margin-left: 30%; + margin-right: 30%; +} + +QMenu::item { + background-color: transparent; + padding: 2px 2px; /* make room for icon at left */ + /* Reserve space for selection border */ + border: 0px transparent #f6f6f6; +} + +QMenu::item:selected { + color: black; + background-color: #f892ff ; +} + +QMenu::item:pressed { + background-color: #f892ff ; +} + +QMenu::icon { + margin-left: 5px; + width: 14px; + height: 14px; +} + +QMenu::indicator { + margin-left: 2px; + margin-right: 2px; + padding: 0px; + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ +} + +QMenu::icon:checked { /* appearance of a 'checked' icon */ + background: #ffbff3; + margin-left: -5px; + border: 5px solid #ffbff3; + position: absolute; + border-radius: 0px; +} +QMenu::indicator:non-exclusive:unchecked { + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { + border: none; + image: url(qss:images_dark-light/checkbox_unchecked_focus.png); +} + +QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); +} + +QMenu::indicator:non-exclusive:checked { + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + background: #f892ff ; + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QMenu::indicator:non-exclusive:checked:disabled { + image:url(qss:images_dark-light/checkbox_dark.svg); +} + +QMenu::indicator:non-exclusive:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QMenu::indicator:exclusive:unchecked { + image: url(qss:images_dark-light/transparent.svg); +} + +QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { + border: none; + outline: none; + background: #f892ff ; + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QMenu::indicator:exclusive:unchecked:disabled { + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(qss:images_dark-light/radiobutton_dark.svg); +} + +QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + background: #f892ff ; + image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); +} + +QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(qss:images_dark-light/radiobutton_dark.svg); +} + +QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image:url(qss:images_dark-light/right_arrow_darker.svg); + height: 12px; + width: 12px; + background-color: transparent; +} + +/* QAbstractItemView ------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QAbstractItemView { + alternate-background-color: #ababab; + color: black; + border: 1px solid #C1C1C1; + border-radius: 2px; +} + +QAbstractItemView QLineEdit { + padding: 2px; +} + +/* QAbstractScrollArea ---------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QAbstractScrollArea { + background-color: transparent; + border: 0px solid #C1C1C1; + border-radius: 0px; + /* fix #159 */ + padding: 0px; + /* remove min-height to fix #244 */ + color: black; +} + +QAbstractScrollArea:disabled { + color: #BABABA; +} + +/* QScrollArea ------------------------------------------------------------ + +--------------------------------------------------------------------------- +text input field disabled!!!!*/ +QScrollArea QWidget:disabled { + background-color: #F6F6F6; +} + +/* QScrollBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + +--------------------------------------------------------------------------- */ +QScrollBar:horizontal { + height: 16px; + margin: 2px 16px 2px 16px; + border: 0px solid #C1C1C1; + border-radius: 1.9px; + background-color: #F6F6F6; +} + +QScrollBar:vertical { + background-color: #F6F6F6; + width: 16px; + margin: 16px 2px 16px 2px; + border: 0px solid #C1C1C1; + border-radius: 1.9px; +} + +QScrollBar::handle:horizontal { + background-color: #A3A3A3; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:hover { + background-color: #f892ff ; + border: #f6f6f6; + border-radius: 1.9px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:focus { + border: 1px solid #ffbff3; +} + +QScrollBar::handle:vertical { + background-color: #A3A3A3; + border: 1px solid #C1C1C1; + min-height: 8px; + border-radius: 1.9px; +} + +QScrollBar::handle:vertical:hover { + background-color: #f892ff ; + border: #f6f6f6; + border-radius: 1.9px; + min-height: 8px; +} + +QScrollBar::handle:vertical:focus { + border: 1px solid #ffbff3; +} + +QScrollBar::add-line:horizontal { + border-image: url(qss:images_dark-light/right_arrow_dark.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_dark.svg); + height: 9px; + width: 5px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + border-image: url(qss:images_dark-light/down_arrow_dark.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_darker.svg); + height: 5px; + width: 9px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/left_arrow_dark.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(qss:images_dark-light/left_arrow_darker.svg); + height: 9px; + width: 5px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + margin: 0px 0px 0px 0px; + border-image: url(qss:images_dark-light/up_arrow_dark.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + border-image: url(qss:images_dark-light/up_arrow_darker.svg); + height: 5px; + width: 9px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; +} + +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +/* QTextEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + + +report view +--------------------------------------------------------------------------- */ +QTextEdit { + background-color: #F6F6F6; + color: black; + border-radius: 1.9px; + border: 0px solid #C1C1C1; +} + +QTextEdit:focus { + border: 1px solid #ffbff3; +} + +QTextEdit:selected { + background: #346792; + color: black; +} + +/* QPlainTextEdit --------------------------------------------------------- +Python +--------------------------------------------------------------------------- */ +QPlainTextEdit { + background-color: #f6f6f6; + color: black; + border-radius: 1.9px; + border: 0px solid #C1C1C1; +} + +QPlainTextEdit:focus { + border: 1px solid #ffbff3; +} + +QPlainTextEdit:selected { + background: #f892ff ; + color: black; +} + +/* QSizeGrip -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + +--------------------------------------------------------------------------- */ +QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image:url(qss:images_dark-light/sizegrip_dark.svg); +} + +/* QStackedWidget --------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QStackedWidget { + padding: 0px; + border: 0px solid #C1C1C1; +} + +/* QToolBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + +--------------------------------------------------------------------------- */ +QToolBar { + background-color: #F6F6F6; + border-bottom: 0px solid rgba(0,0,0,120); + padding: 1px; + font-weight: bold; + spacing: 1px; +} + +QToolBar:disabled { + /* Fixes #272 */ + background-color: #F6F6F6; +} + +QToolBar::handle:horizontal { + width: 8px; + margin: 3px 3px; + background-position: top right; + background-repeat: repeat-y; + background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); +} + +QToolBar::handle:vertical { + height: 8px; + margin: 3px 3px; + background-position: left bottom; + background-repeat: repeat-x; + background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); +} + +QToolBar::separator:horizontal { + width: 2px; + margin: 4px 4px; + background-color: transparent; +} + +QToolBar::separator:vertical { + height: 2px; + margin: 4px 4px; + background-color: transparent; +} + +/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ +QToolButton#qt_toolbar_ext_button { +margin: 0px; +padding: 0px; +background-color: #A3A3A3; +/*background-image: url(qss:images_dark-light/more_dark.svg);*/ +background-repeat: none; +background-position: center center; +} + +QToolButton#qt_toolbar_ext_button:hover { +/*background-image: url(qss:images_dark-light/more_dark.svg);*/ +background-color: #f892ff ; +} + +QToolButton#qt_toolbar_ext_button:on { +/*background-image: url(qss:images_dark-light/more_dark.svg);*/ +border-color: #f6f6f6; +background-color: #f892ff ; +} + + +/* QAbstractSpinBox ------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractSpinBox, +QSpinBox { + background-color: #ffffff; + border: 1px solid transparent; + color: black; + /* This fixes 103, 111 */ + /* padding-top: 0px; + /* This fixes 103, 111 */ + /*padding-bottom: 0px; + /*padding-left: 4px; + /*padding-right: 4px; + border-radius: 1.9px;*/ + min-height: 1.7em; + /* min-width: 5px; removed to fix 109 */ +} + +QAbstractSpinBox:up-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + subcontrol-origin: border; + subcontrol-position: top right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-bottom: -1px;*/ +} + +QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); + /* height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_darker.svg); +} + +QAbstractSpinBox:down-button { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + subcontrol-origin: border; + subcontrol-position: bottom right; + border: 1px solid transparent; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + /*margin: 1px;*/ + /*width: 12px; + /*margin-top: -1px;*/ +} + +QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); + /*height: 8px; + width: 8px;*/ +} + +QAbstractSpinBox::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_darker.svg); +} + +QAbstractSpinBox:hover { + /*border: 1px solid #f892ff ; + color: black;*/ +} + +QAbstractSpinBox:focus { + border: 1px solid #ffbff3; +} + +QAbstractSpinBox:selected { + background: #ffbff3; + /*color: black;*/ +} + +/* ------------------------------------------------------------------------ */ +/* DISPLAYS --------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QLabel ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + +--------------------------------------------------------------------------- */ +QLabel { + background-color: transparent; + border: 0px solid #C1C1C1; + padding: 2px; + margin: 0px; + color: black; +} + +QLabel:disabled { + background-color: transparent; + border: 0px solid #C1C1C1; + color: #A3A3A3; +} + +QLabel[haslink="true"] { + color: orange; +} + + +/* QTextBrowser ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QTextBrowser { + background-color: #ffffff; + border: 1px solid #C1C1C1; + color: black; + border-radius: 1.9px; +} + +QTextBrowser:disabled { + background-color: #F6F6F6; + border: 1px solid #C1C1C1; + color: #A3A3A3; + border-radius: 1.9px; +} + +QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #f892ff ; +} + +/* QGraphicsView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QGraphicsView { + background-color: transparent; + border: 0px solid #f892ff ; + color: black; + border-radius: 0px; +} + +QGraphicsView:disabled { + background-color: #ffffff; + border: 0px solid #C1C1C1; + color: #A3A3A3; + border-radius: 0px; +} + +QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 0px solid #ff00f7; +} + +/* QCalendarWidget -------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCalendarWidget { + border: 1px solid #C1C1C1; + border-radius: 1.9px; +} + +QCalendarWidget:disabled { + background-color: #BABABA; + color: #A3A3A3; +} + +/* QLCDNumber ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QLCDNumber { + background-color: #1aff00; + color: black; +} + +QLCDNumber:disabled { + background-color: #F6F6F6; + color: #A3A3A3; +} + +/* QProgressBar ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + +--------------------------------------------------------------------------- */ +QProgressBar { + background-color: #A3A3A3; + border: 1px solid #C1C1C1; + color: black; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar:disabled { + background-color: #ffffff; + border: 1px solid #C1C1C1; + color: #A3A3A3; + border-radius: 1.9px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #f892ff ; + color: #F6F6F6; + border-radius: 1.9px; +} + +QProgressBar::chunk:disabled { + background-color: #ffffff; + color: #f6f6f6; + border-radius: 1.9px; +} + +/* ------------------------------------------------------------------------ */ +/* BUTTONS ---------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QPushButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + +--------------------------------------------------------------------------- */ +QPushButton { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + color: black; + border: 1px solid #EDEDED; + border-bottom-color: #AFAFAF; /* simulates shadow under the button */ + border-radius: 4px; + padding: 2px; +} + +QPushButton:disabled { + background-color: #F6F6F6; + color: #A3A3A3; + +} + +QPushButton:checked { + background-color: #f892ff ; + outline: none; +} + +QPushButton:checked:disabled { + background-color: #f892ff ; + color: #f6f6f6; + outline: none; +} + +QPushButton:checked:selected { + background: #f892ff ; +} + +QPushButton:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #f892ff , stop:1 #ffbff3); + color: black; +} + +QPushButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffbff3, stop:1 #f892ff ); +} + +QPushButton:selected { + background: #ffbff3; + color: black; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + bottom: 4px; +} + +QDialogButtonBox QPushButton { + /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; +} + +/* QToolButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + +--------------------------------------------------------------------------- */ +QToolButton { + background-color: transparent; + color: black; + border-radius: 1px; + padding: 0px; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ +} + +QToolButton:disabled { + background-color: transparent; + color: #A3A3A3; + border-radius: 1px; + padding: 0px; +} + +QToolButton:checked { + background-color: #f892ff ; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:disabled { + background-color: #b65555; + color: #A3A3A3; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolButton:checked:hover { + background-color: #f892ff ; + color: black; +} + +QToolButton:checked:pressed { + background-color: #f892ff ; +} + +QToolButton:checked:selected { + background: #ffbff3; + color: black; +} + +QToolButton:hover { + background-color: #f892ff ; + color: black; +} + +QToolButton:pressed { + background-color: #ffbff3; +} + +QToolButton:selected { + background: #f892ff ; + color: black; +} + +QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 20px; +} + +QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; +} +QToolButton[popupMode="0"]::menu-button { + border: none; +} + +QToolButton[popupMode="0"]::menu-button:hover { + border: none; + border-left: 2px solid #fe0000; + border-radius: 0px; +} +QToolButton[popupMode="1"]::menu-button { + border: none; +} + +QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 2px solid #e5ff00; + border-radius: 0px; +} + +QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 20px; +} + +QToolButton::menu-button { + border-bottom: 0px solid #b2b2b2; + border-radius: 2px; + /* 16px width + 4px for border = 20px allocated above */ + width: 1.6ex; + padding: 2px; + border-radius: 2px; + border: 0px #000000; +} + +QToolButton::menu-button:hover { + /* background: rgba(0, 0, 0, 0.5);*/ + +} + +QToolButton::menu-button:checked:hover { + /* background: rgba(0, 0, 0, 0.5);*/ +} + +QToolButton::menu-indicator { + /* Exclude a shift for better image */ + subcontrol-position: right bottom; + /* Shift it a bit */ +} + +QToolButton::menu-arrow { + image: url(qss:images_dark-light/more_arrow_dark.svg); + width: 1.5ex; + height: 1.5ex; + subcontrol-position: right bottom; + background: transparent; +} +QToolButton::menu-arrow:open { + subcontrol-position: right bottom; + image: url(qss:images_dark-light/more_arrow_dark.svg); +} +QToolButton::menu-arrow:hover { + image: url(qss:images_dark-light/more_arrow_dark.svg); + background-color: rgba(0, 0, 0, 0.498); + border: 1px solid rgba(0, 0, 0, 0.498); +} + +/* QCommandLinkButton ----------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCommandLinkButton { + background-color: transparent; + border: 1px solid #C1C1C1; + color: black; + border-radius: 1.9px; + padding: 0px; + margin: 0px; +} + +QCommandLinkButton:disabled { + background-color: transparent; + color: #A3A3A3; +} + +/* ------------------------------------------------------------------------ */ +/* INPUTS - NO FIELDS ----------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QComboBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QComboBox { + border: 1px solid transparent; + background: #ffffff; + border-radius: 2px; + selection-background-color: #f892ff ; + padding-left: 2px; + padding-right: 2px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ +} +QComboBox:editable { + background: black; +} +QComboBox QAbstractItemView { + border: 0px solid #C1C1C1; + border-radius: 0px; + background-color: #ffffff; + selection-background-color: #f892ff ; +} + +QComboBox QAbstractItemView:hover { + background-color:#ffffff; + color: black; +} + +QComboBox QAbstractItemView:selected { + background: #f892ff ; + color: black; +} + +QComboBox QAbstractItemView:alternate { + background: #f6f6f6; +} + +QComboBox:disabled { + background-color: #F6F6F6; + color: #BABABA; +} + +QComboBox:hover { + /*background-color: #f892ff ;*/ + border: 1px solid #f892ff ; +} + +QComboBox:focus { + border: 1px solid #ffbff3; +} + +QComboBox:on { + selection-background-color: #ffbff3; +} + +QComboBox::indicator { + border: none; + border-radius: 0px; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: #f892ff ; + /* Needed to remove indicator - fix #132 */ +} + +QComboBox::indicator:alternate { + background: #f6f6f6; +} + +QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ +} + +QComboBox::item:alternate { + background: #f6f6f6; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + subcontrol-position: top right; + width: 14px; + border-left: 1px solid transparent; +} +QComboBox::drop-down:hover { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #f892ff , stop:1 #ffbff3); +} + +QComboBox::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); + height: 10px; + width: 10px; +} + +QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_darker.svg); +} + + +/*================================================================================================== +Tasks panel (custom FreeCAD class) +==================================================================================================*/ +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: black; + qproperty-groupBackground: #f6f6f6; + border: 0px solid #C1C1C1; + +} + +/* Action group */ +QFrame[class="panel"] { +background-color: transparent; /* temporal (transparent background) */ + +} + +QSint--ActionGroup { +padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ +} + +/* 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-top: 1px solid #C1C1C1; +border-left: 1px solid #C1C1C1; +border-right: 1px solid #C1C1C1; +background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); +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(x1:0, y1:0, x2:0, y2:1, stop:0 #f892ff , stop:1 #ffbff3); +} + +QSint--ActionGroup QToolButton[class="header"] { +color: black; /* 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_dark-light/down_arrow_dark.svg); +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_dark-light/down_arrow_darker.svg); +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { +background-color: transparent; +background-image: url(qss:images_dark-light/up_arrow_dark.svg); +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_dark-light/up_arrow_darker.svg); +} + +QSint--ActionGroup QFrame[class="content"] { +background-color: transparent; /* Task Panel background color */ +margin: 0px; +padding: 0px; +border-bottom: 1px solid #C1C1C1; +border-left: 1px solid #C1C1C1; +border-right: 1px solid #C1C1C1; +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: #F6F6F6; /* Task Panel background color */ +} + +/* Fixs for tabs inside Task Panel */ +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { +border-bottom-color: #f892ff ; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { +border-top-color: #f892ff ; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { +border-right-color: #f892ff ; /* same as Task Panel background color */ +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { +border-left-color: #f892ff ; /* same as Task Panel background color */ +} + +/* Fix for buttons with icons that showed cropped (still not happy with result) */ +QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { +padding: 2px; /* bigger padding crops text and icons... */ +margin: 0px; +} + +/* Fix for lists inside task panels */ /* sketcher constraints list */ +QSint--ActionGroup QFrame[class="content"] QTreeView, +QSint--ActionGroup QFrame[class="content"] QListView, +QSint--ActionGroup QFrame[class="content"] QTableView { +color: black; +background-color: #ffffff; +} + + +/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ +QSint--ActionGroup QFrame[class="content"] QToolButton { + color: black; + text-align: center; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + border: 0px solid #C1C1C1; + padding: 1px 1px; /* different than regular QPushButton */ + margin: 0px; /* different than regular QPushButton */ + min-height: 16px; /* same as QTabBar QPushButton min-width */ + border-radius: 1px; +} + +QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #f892ff , stop:1 #ffbff3); + +} +QSint--ActionGroup QFrame[class="content"] QToolButton:focus { + border: 1px solid #ffbff3 +; +} + +QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, +QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { + color: #A3A3A3; + background-color: #ffffff; +} + +QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #f892ff , stop:1 #ffbff3); + +} + +/* QSlider ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + +--------------------------------------------------------------------------- */ +QSlider:disabled { + background: #F6F6F6; +} + +QSlider:focus { + border: 1px solid #ffbff3; +} + +QSlider::groove:horizontal { + background: #F6F6F6; + border: 1px solid #C1C1C1; + height: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::groove:vertical { + background: #f892ff ; + border: 1px solid #C1C1C1; + width: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::add-page:vertical { + background: #f892ff ; + border: 1px solid #C1C1C1; + width: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::add-page:vertical :disabled { + background: #f6f6f6; +} + +QSlider::sub-page:horizontal { + background: #f892ff ; + border: 1px solid #C1C1C1; + height: 4px; + margin: 0px; + border-radius: 1.9px; +} + +QSlider::sub-page:horizontal:disabled { + background: #f892ff ; +} + +QSlider::handle:horizontal { + background: #BABABA; + border: 1px solid #C1C1C1; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 1.9px; +} + +QSlider::handle:horizontal:hover { + background: #f892ff ; + border: 1px solid #f892ff ; +} + +QSlider::handle:horizontal:focus { + border: 1px solid #ffbff3; +} + +QSlider::handle:vertical { + background: #A3A3A3; + border: 1px solid #C1C1C1; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 1.9px; +} + +QSlider::handle:vertical:hover { + background: #f892ff ; + border: 2px solid #f892ff ; +} + +QSlider::handle:vertical:focus { + border: 1px solid #ffbff3; +} + +/* QLineEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + +--------------------------------------------------------------------------- */ +QLineEdit { + background-color: #ffffff; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #C1C1C1; + border-radius: 2px; + color: black; +} + +QLineEdit:disabled { + background-color: #F6F6F6; + color: #A3A3A3; +} + +QLineEdit:hover { + border: 1px solid #f892ff ; + color: black; +} + +QLineEdit:focus { + border: 2px solid #ffbff3; +} + +QLineEdit:selected { + background-color: #f892ff ; + color: black; +} + +/* QTabWiget -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabWidget { + padding: 2px; + selection-background-color: #f892ff ; +} + +QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 1.9px; +} + +QTabWidget::pane { + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; +} + +QTabWidget::pane:selected { + background-color: #f892ff ; + border: 1px solid #C1C1C1; +} +/* QTabBar ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + /* left: 5px; move to the right by 5px - removed for fix */ +} + +QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 1px; + image: url(qss:images_dark-light/close_dark.svg); +} + +QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); + /*background-color: rgba(255, 0, 0, 0.3);*/ +} + +QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(qss:images_dark-light/close_.svg); +} + +QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ + padding: 4px; +} + +QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + color: #797979; +} + +QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + color: #797979; +} + +QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + color: #A0A0A0; +} + +QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + color: #A0A0A0; +} + +QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + color: #A0A0A0; +} + +QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + color: #A0A0A0; + +} + +QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + color: #A0A0A0; + +} + +QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + color: #A0A0A0; +} + +QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + color: #A0A0A0; +} + +QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + color: #A0A0A0; +} + +QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + color: #A0A0A0; +} + +QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + color: #A0A0A0; +} + +QTabBar::tab:top, QDockWidget QTabBar::tab:top { + color: #A0A0A0; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 1px solid #A3A3A3; /* same as tab content background color */ + border-radius: 0px; +} + +QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + color: black; + border-top: 4px solid #f892ff ; /* selection color */ + border-bottom: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #A3A3A3; + border-right: 1px solid #A3A3A3; + } + +QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + /*border: 1px solid #f892ff ;*/ + border: 0px solid #f892ff ; + background-color: #f892ff ; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; + color: black; +} + +QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + color: #A0A0A0; + margin-left: 0px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-top: 1px solid #A3A3A3; /* same as tab content background color */ + border-radius: 0px; +} + +QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + color: black; + border-bottom: 4px solid #f892ff ; /* selection color */ + border-top: 1px solid transparent; /* same as tab content background color */ + border-left: 1px solid #A3A3A3; + border-right: 1px solid #A3A3A3; + +} + +QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { +/*border: 1px solid #f892ff ;*/ + border: 0px solid #f892ff ; + background-color: #f892ff ; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; + color: black; +} + +QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #F6F6F6; + margin-top: 2px; + + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-radius: 4px; + min-height: 5px; +} + +QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #F6F6F6; + border: 0px solid #ffbff3; +} + +QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 0px solid #f892ff ; + background-color: #f892ff ; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; + color: black; +} + +QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #F6F6F6; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + min-height: 5px; + border: 10px; +} + +QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #F6F6F6; + border: 0px solid #ffbff3; +} + +QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 0px solid #f892ff ; + background-color: #f892ff ; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; + color: black; +} + +QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #F6F6F6; + height: 12px; + width: 12px; +} + +QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + border: 0px solid #f892ff ; + background-color: #f892ff ; +} + +QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 0px solid #f892ff ; + background-color: #f892ff ; + color: black; +} + +QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_darker.svg); +} + +QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); +} + +QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_darker.svg); +} + +QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); +} + +/* QDockWiget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QDockWidget { + background-color: #F6F6F6; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + titlebar-close-icon: url(qss:images_dark-light/transparent.svg); + titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); +} + +QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + text-align: center; + font-weight: bold; +} + +QDockWidget::close-button { + icon-size: 10px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/close_dark.svg); +} + +QDockWidget::close-button:hover { + image: url(qss:images_dark-light/close_red.svg); +} + +QDockWidget::close-button:pressed { + image: url(qss:images_dark-light/close_dark.svg); +} + +QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(qss:images_dark-light/undock_dark.svg); +} + +QDockWidget::float-button:hover { + /*background-color: #f892ff ;*/ + image: url(qss:images_dark-light/undock_blue.svg); +} + +QDockWidget::float-button:pressed { + image: url(qss:images_dark-light/undock_dark.svg); +} + +/* QTreeView QListView QTableView ----------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + +--------------------------------------------------------------------------- */ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_dark.svg) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; +} + +QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; +} + +QTreeView::indicator:checked, +QListView::indicator:checked, +QTableView::indicator:checked, +QColumnView::indicator:checked { + image: url(qss:images_dark-light/checkbox_dark.svg); +} + +QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, +QListView::indicator:checked:hover, +QListView::indicator:checked:focus, +QListView::indicator:checked:pressed, +QTableView::indicator:checked:hover, +QTableView::indicator:checked:focus, +QTableView::indicator:checked:pressed, +QColumnView::indicator:checked:hover, +QColumnView::indicator:checked:focus, +QColumnView::indicator:checked:pressed { + image: url(qss:images_dark-light/checkbox_light_hover.svg); +} + +QTreeView::indicator:unchecked, +QListView::indicator:unchecked, +QTableView::indicator:unchecked, +QColumnView::indicator:unchecked { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, +QListView::indicator:unchecked:hover, +QListView::indicator:unchecked:focus, +QListView::indicator:unchecked:pressed, +QTableView::indicator:unchecked:hover, +QTableView::indicator:unchecked:focus, +QTableView::indicator:unchecked:pressed, +QColumnView::indicator:unchecked:hover, +QColumnView::indicator:unchecked:focus, +QColumnView::indicator:unchecked:pressed { + image: url(qss:images_dark-light/checkbox_unchecked_hover_dark.svg); +} + +QTreeView::indicator:indeterminate, +QListView::indicator:indeterminate, +QTableView::indicator:indeterminate, +QColumnView::indicator:indeterminate { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, +QListView::indicator:indeterminate:hover, +QListView::indicator:indeterminate:focus, +QListView::indicator:indeterminate:pressed, +QTableView::indicator:indeterminate:hover, +QTableView::indicator:indeterminate:focus, +QTableView::indicator:indeterminate:pressed, +QColumnView::indicator:indeterminate:hover, +QColumnView::indicator:indeterminate:focus, +QColumnView::indicator:indeterminate:pressed { + image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); +} + +QTreeView, +QListView, +QTableView, +QColumnView { + background-color: #F6F6F6; /* background of a lot of stuff including spreadsheets.*/ + border: 0px solid #C1C1C1; + color: black; + gridline-color: #f6f6f6; + border-radius: 0px; +} + +QTreeView:disabled, +QListView:disabled, +QTableView:disabled, +QColumnView:disabled { + background-color: #ffffff; + color: #A3A3A3; +} + +QTreeView:selected, +QListView:selected, +QTableView:selected, +QColumnView:selected { + background-color: #f892ff ; + color: black; +} + +QTreeView:focus, +QListView:focus, +QTableView:focus, +QColumnView:focus { + border: 1px solid #ffbff3; +} + +QTreeView::item:pressed, +QListView::item:pressed, +QTableView::item:pressed, +QColumnView::item:pressed { + background-color: #f892ff ; +} + +QTreeView::item:selected:active, +QListView::item:selected:active, +QTableView::item:selected:active, +QColumnView::item:selected:active { + background-color: #f892ff ; +} + +QTreeView::item:selected:!active, +QListView::item:selected:!active, +QTableView::item:selected:!active, +QColumnView::item:selected:!active { + color: black; + background-color: #BABABA; +} + +QTreeView::item:!selected:hover, +QListView::item:!selected:hover, +QTableView::item:!selected:hover, +QColumnView::item:!selected:hover { + outline: 0; + color: black; + background-color: #f892ff ; +} + +QTableCornerButton::section { + background-color: #F6F6F6; + border: 1px transparent #C1C1C1; + border-radius: 0px; +} + +QTableView::item { + color: black; +} +QTableView { + /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ + /*qproperty-aliasBgColor: #f700ff;*/ +} + +/* QHeaderView ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + +--------------------------------------------------------------------------- */ +QHeaderView { + background-color: transparent; + text-align: center; +} + +QHeaderView:disabled { + background-color: #F6F6F6; + color: rgb(174, 174, 174); +} + +QHeaderView::section { + background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); + color: black; + border: 1px solid #C1C1C1; + font-size: 13px; + font-weight: bold; +} + +QHeaderView::section::horizontal { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 5px; + padding-right: 0px; +} + +QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 0px solid #C1C1C1; +} + +QHeaderView::section::horizontal:disabled { + color: #BABABA; +} + +QHeaderView::section::vertical { + padding-top: 1px; + padding-bottom: 0; + padding-left: 1px; + padding-right: 0px; + border-top: 2px solid #C1C1C1; +} + +QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 2px solid #C1C1C1; +} + +QHeaderView::section::vertical:disabled { + border-top: 2px solid #C1C1C1; +} + +QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/down_arrow_dark.svg); +} + +QHeaderView::up-arrow { + background-color: transparent; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(qss:images_dark-light/up_arrow_dark.svg); +} + +/* QToolBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox +used in PATH + +--------------------------------------------------------------------------- */ +QToolBox { + padding: 0px; + border: 1px solid #A3A3A3; + border-radius: 4px; + background-color: transparent; +} + +QToolBox:selected { + padding: 0px; + border: 0px solid #f892ff ; +} + +QToolBox::tab { + background-color: transparent; + border: 0px solid #A3A3A3; + color: black; + background-image: url(qss:images_dark-light/down_arrow_darker.svg); + background-repeat: none; + background-position: center left; +} + +QToolBox::tab:disabled { + color: #A3A3A3; +} + +QToolBox::tab:selected { + background-color: #A3A3A3; + background-image: url(qss:images_dark-light/transparent.svg); + padding-right: 5px; + background-repeat: none; +} + +QToolBox::tab:selected:disabled { + background-color: #A3A3A3; + border-bottom: 0px solid #cccccc; + color: black; +} + +QToolBox::tab:!selected { + +} + +QToolBox::tab:!selected:disabled { + background-color: #F6F6F6; +} + +QToolBox::tab:hover { + background-color: #f892ff ; + } + +QToolBox QScrollArea QWidget QWidget { + padding: 0px; + border: 0px; + background-color: transparent; +} + +/* QFrame ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe +https://doc.qt.io/qt-5/qframe.html#-prop +https://doc.qt.io/qt-5/qframe.html#details +https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + +--------------------------------------------------------------------------- */ +/* (dot) .QFrame fix #141, #126, #123 */ +.QFrame { + border-radius: 0px; + border: 0px solid #C1C1C1; + background-color: #A3A3A3; + /* No frame */ + /* HLine */ + /* HLine */ +} + +.QFrame[frameShape="0"] { + border-radius: 1.9px; + border: 1px solid #C1C1C1; +} + +.QFrame[frameShape="4"] { + max-height: 1px; + border: none; + background-color: #f6f6f6; +} + +.QFrame[frameShape="5"] { + max-width: 1px; + border: none; + background-color: #F6F6F6; +} + +/* QSplitter -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter + +--------------------------------------------------------------------------- */ +QSplitter { + background-color: #f6f6f6; + spacing: 1px; + padding: 1px; + margin: 1px; +} + +QSplitter::handle { + margin: 0px 0px; + padding: 0px; +} + +QSplitter::handle:horizontal { + background-image: url(qss:images_dark-light/splitter_vertical_light.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + width: 1px; +} + +QSplitter::handle:vertical { + background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); + background-position: center center; + background-repeat: none; + margin: 2px 2px 2px 2px; + height: 1px; +} + +QSplitter::handle:hover { + background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); + background-position: center center; + background-repeat: none; + background-color: #f892ff ; +} + +/* QDateEdit, QDateTimeEdit ----------------------------------------------- + +--------------------------------------------------------------------------- */ +QDateEdit, QDateTimeEdit { + selection-background-color: #f892ff ; + border-style: solid; + border: 1px solid #C1C1C1; + border-radius: 1.9px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; +} + +QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #f892ff ; +} + +QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #C1C1C1; +} + +QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); + height: 8px; + width: 8px; +} + +QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(qss:images_dark-light/down_arrow_darker.svg); +} + +QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #F6F6F6; + border-radius: 2px; + border: 1px solid #C1C1C1; + selection-background-color: #f892ff ; +} + +/* QAbstractView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractView:hover { + border: 1px solid #f892ff ; + color: black; +} + +QAbstractView:selected { + background: #f892ff ; + color: black; +} + +/* PlotWidget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; +} \ No newline at end of file diff --git a/src/Gui/Stylesheets/images_dark-light/check_dark.svg b/src/Gui/Stylesheets/images_dark-light/check_dark.svg new file mode 100644 index 0000000000..e59cd85528 --- /dev/null +++ b/src/Gui/Stylesheets/images_dark-light/check_dark.svg @@ -0,0 +1,74 @@ + + + + + + + + + + image/svg+xml + + + + Pablo Gil + + + + + SVG + template + + + + + + + + + + diff --git a/src/Gui/Stylesheets/images_dark-light/check_light.svg b/src/Gui/Stylesheets/images_dark-light/check_light.svg new file mode 100644 index 0000000000..77a9774de5 --- /dev/null +++ b/src/Gui/Stylesheets/images_dark-light/check_light.svg @@ -0,0 +1,74 @@ + + + + + + + + + + image/svg+xml + + + + Pablo Gil + + + + + SVG + template + + + + + + + + + + diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_checked.png b/src/Gui/Stylesheets/images_dark-light/checkbox_checked.png new file mode 100644 index 0000000000000000000000000000000000000000..cbf06f6513d6b11721290c3f0f3be5bd2d157e84 GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4u6ByT*@`3|I*ik&<|I5lYhrq4+ec# z+yBO~?Yr9HrFJEM@*55oe_nRScB?@5mA5a~+Dre>ztgEwn#&fj==0TE^WOLVUw)_h zGVAoH{kuQ@@2ZaH^Z#|}$Nuj}kALHrEm--ud-gxGfA5)Jz4-BC&-Z%fNmttYe61Zy zUiZ(w>|nOY<8OXM#j3ZbU$P1uSMYTF^L3AS_x^%bwsQt73{&s@xR6kvY6)~EgQu&X J%Q~loCIBeyblU&` literal 0 HcmV?d00001 diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_checked_hover.png b/src/Gui/Stylesheets/images_dark-light/checkbox_checked_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..fb4d4d3fdb8317007df5f7daef85d2047cc13b7f GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4u6ByT*@`3|I*ik&<|I56=wwV&tDe6vI8>;8uqR`SNb(`&F`^W=K8{`%gCKdss(1#OB9JrCFf?Na3b0$s}B M>FVdQ&MBb@0BQJfRsaA1 literal 0 HcmV?d00001 diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_checked_pressed.png b/src/Gui/Stylesheets/images_dark-light/checkbox_checked_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..852fcc0306cb561fcb1fea023a0888e9757283d6 GIT binary patch literal 425 zcmV;a0apHrP)S zm^Euw1rYxr0aq{piT|WxxTdwMRxRDQZr#+)8#eT8-L$EB`{vD6JGX8v+`VmE#-8ol z<92M`9FL)C(}oQbfQst(?ATFyVArnf!+ZB89y@R#eAm{kky9p3nz(u0xY^eci$OLML2Wkktdhue? z({Pb{Qm9Rsf!max&_tnb>8gRz6W>j*2d5@ zW7@QZAVtm1&A%5dS_HG<&(z726KP{ZgW3og1I6tzG?AJjNKShIu|2+c TpjXiK00000NkvXXu0mjfou0sg literal 0 HcmV?d00001 diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_dark_hover.svg b/src/Gui/Stylesheets/images_dark-light/checkbox_dark_hover.svg new file mode 100644 index 0000000000..3c51481058 --- /dev/null +++ b/src/Gui/Stylesheets/images_dark-light/checkbox_dark_hover.svg @@ -0,0 +1,83 @@ + + + + + + + + + + image/svg+xml + + + + Pablo Gil + + + + + SVG + template + + + + + + + + + + + diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_light_hover.svg b/src/Gui/Stylesheets/images_dark-light/checkbox_light_hover.svg new file mode 100644 index 0000000000..1624d18116 --- /dev/null +++ b/src/Gui/Stylesheets/images_dark-light/checkbox_light_hover.svg @@ -0,0 +1,83 @@ + + + + + + + + + + image/svg+xml + + + + Pablo Gil + + + + + SVG + template + + + + + + + + + + + diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked.png b/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked.png new file mode 100644 index 0000000000000000000000000000000000000000..5f5465582a9a2e6a85adbe07a4a2da5e80b8b017 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4u6ByT*@`3|I*ik&<|I5Q2ZO$= z?SJFg_Fe7pQoE8r`3`OJR&5hR + + + + + + + + + diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_disabled.png b/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..bf38d8a4faf206a961fa2c22a60821a317fe472f GIT binary patch literal 5618 zcmeHL`9GB3-@a!CV<(Lzk$op*2}2}n5uwErBU?k362de~MadSDvin#f`yOT7ku6JE z$8PYcNyH##%HWw^&+~dc&kxU^@crpN=lpQa`*ok|T<`0;;_NS4@^FfB0sz2cZDr;F z01)O70T{H-%d}*(TEmYw7F-l%)QRwSQZz*0P(?a{IMwMBs&)_{lFXoJFY}u_wnd z5fPvUof!_B0|P-(ln(U-N-zXjBlf*@y_|cJEUXr3MG)19nj;C4ZOMjIKC)Pd&|4O# z%Err*bG2TUyczHHZ03bSw3O31O^$ecDaVI_aQr)bBgl#IjDQqlsvM@B#3eX&$fq>8 z-}5pA_2T&AR7^%lqzsbId_xl_9tP)qR-)8(qjpBWc|xTA2%VouB|(i!zxdo9Cmg{@ zX0sfuWg~qPj$KSG@~`xvtsU~|h%fFaXyn;ZdN zA}7jPTg*styXXR$t+W8bW4vAdKN%AfVr=aYZ1RRu!@{NtoNJ|DHJw!1!;wUMrajsrwQMDpEEZtu}@8X%(afcZh9$_l|i$KjAUK2()0R7^W1L zaEifpVV38MN7DTpKjj)l-+7lm3(aqDm&m`B&>}$>IM8obsa`$8aT8&DhWb8qT`<2X zfK=snQuZG3i$?QGs0E`?>Qp7hUR27Y8yl8&4R%qFGVxUbk+qgvL_*JHUDlHU@zzb8gc%26%uQdRrPRd2-r;WSrWVu;to}{;JXRy~M^Y zYzWi^;e?6(hdhie*CVg;P7_{lCbJZB%^kh=1?YW>W2MSc&9w_Gy``K88_Ut78N#Pn zgk*u(*x1r>|7!tPVV@y+XA2q9TuKluFGkIFH1zA8SCy{K^S@5FtpM~DJKXugVW1sF ziKcfUrR(%~VaYH*t{CV{b8vfEaJZu@O5EV?6IpAME_H!VzL?5N>(oc*9`nwPoz9Bj zL!nT3ZQHY5>ZyO9w*&v!FFC%gXs2e_* zq2@6><<;VQo!B;w2p6^^ks6c}CRZ3f}Yoe;FQzgz#zL7aq5ZkGF(N53pln$3K>7G_I)({`?`!5|4Y7qo+~AW$e}XI6%Ry zarK|ZG?14(MyKl~pZW8h=Mb#$UG?c&c<3=sI@y)CWEZ5Le8{(bn&HsDO>YqU@VV-| z0`~4u@sK_%DBzn=JC)=lggdljOg`Kguj){D#u*>Dd&C$=z7anWL0Sy>RhyKQlrqI2 z9Nz{0?Cmj8e>XfFdyFnrnUlnU-TYV%O5l%z$0w#!?zFfamyqCV8hzUE`oo8_1_lPq z8~v(n8%=#YTme4;taqvh1$;%Xhmp&@yu23F($CM{WL->vXz1x#wYm3*)I&r%Bu0jx zTHuYB_`L41ikwV8Uud1$@NuGlgviFmrYICYwz_kYvCpjVS!Oahny2!n$mEY~q`Pvu zFXKy=W?y$tk7oBTvWHf~jm^BC;A{<+_x_cYCFs^tWT}-~<{1+UmGnOHNv~N*oNep4EUzJkCvD}sMZli{7!$W1N7b?Kdk0Ry77GHT)}50hG&7X)8+-_%Ia#Th!!V33?A#-L0e5}Lm<+MbN@ z2z(D+>uz7-x?}pZ*Ywl+6avS$(Y-Jl=^RtNva}N)Q}P2+A-BMD#{ENbNiM$2NYLC{ zQ)lj-0+n_*SE}Zf(zh)eHt@qkxWX=NPY;__ZD@lyMB8s(*b8WVY?l_yUI96iE6V}r zJCV)k>I1A&AKj>(gke%KLT9p}#0O73Uc6j2C9C|aC66N53B`Biu06zV31E`}din7izBIP-8o?DQ`wC#A7*4)rQ!lxMaMa0VkGTBEK>% z2>JKNc)8(LuM8nem}5D`^28!@j^K=u0k!DS#zkL2g`Ci|hlDgEz-vGpECGdC4jR%9 zED8&TvCdm{xh9;ymN)jl==wDBzTZBAf?;JIJ-fI}6DfT|mlK+5bMIQ%dks6?o>|g^ zaV>MY)^bMRj34XGCvw>LV-ni;DsILN$XY$(<@!tA1rMplb2-r3NEQS=Gl6`KX&T~O3gEaafKkEEt=S0?4S~;B`I*R%;}%uo6Oc>G8uC& zBF&aFlO4Z@7lf#j6{$0(1vQeEV(|@yOe$s44SHG$T_n_#7lsz4#~Riv+0);W8Wp={BeEm9ZW}Qv}FYZuH)gzGN0o?`>q7kv%l8p;ibS4_Y2?z2CerAEYkRFk60 zn3Ng;Z@WYsh3TC3C#W#jq}OB~TOpMNs^B4A z&~cN*9iZ4GkcnXdCWcF6x$%Ni8BB}Ys2jwcZ<0C(J{;2LJz*$PlFC1fJdw$`br1ZUn`aN{2G}4`03G*$YK|{gf`_9moI068{-L&u)duT>t%<93WM6wLY_FcW3AJ=8`$y z_()JNfImfL39$op&0YG8=%R}7TcHU0Xji;2vu{TC@EY}S>>2PgN-0+fK|4@cW)GN8 zY^R+|Vmz$gTt0fJaSRx0;R1(2VHlCCq1;~aS`1z_Ed6|pX#t9G-8&g1h!6UU_d@fl ztNFZapp49rdZ@x(h)1xtD4)7(Q-ZJuMl)nv+VeeqDPEO1wMTHqrReuk}8YNY4TBkwmRfVim zy;&Bx*maajr;NbnzT7wjw9ZL;u0LXVW7Ck0=tw46rzRlcNlo9fx$#WmufuH$UF96b}8p~Uy2|7oB&^}^OdUo$5+ zbm7O^nxU4iZugFo{0Jvgf#>ApBqS!z#pV55pI8&hczueSDaG_J&kZynDN2~dua(E? zVj9}Ix=pP1!6q&j!|lR-Xy5q{atGhhKai+pD+ga2EO&fy1<1`d{FhO|*N&{%7zulQ z-m&rH&kTLS96Ex(wFuJ@m6zz`tNZu=TjkBbtVW;bAR}@ixo{Vs!JyMMN9n9ov6?D} zvgczm&%Q9rNN4@FZgCzg86u-K-uZvEwTE{kANxf= z7P<`eI9U+&)=4>0-nt`69J$qY3LOB0!4UE0KX(3n91f?!^1$jvzOW}0Hy)U4PH4}C zVu6{az^vWVLn6Rm`!}{4W`IPtb7SHs&Mcn(AQ85!OofwKsIiUVMQ$faOcn0ONR~Rq zl=YUD@J5%)>=HB|)tzCM3#aD&X&#;KnI#dblM)l}H#;fUGClAy+%^vkm|nVsQdYw5 zj7E}Wsizq(-?u?lOtn-W)&p8J)H0@@(PO~Q@lnJpQB%nH;PS0MOm$@9CwLH&L|e|= zxVlLD5uCBT<~zQVr%^7;^dYYc3%ywGaUS~Si(jPG(htjw+_Iir>XC@ke#(dU-`&2H z@0(C|%nJcr$m-ev9lO6dn6cJ8WrcSm zy5n%hpug7u4Ufy&pdCqx+%u-kE`u${+t#y&-g^WhI9U@kDb&48N(3K6#RFQ)Z{`vg_2JS>pE> z7fjc^5*+2243PRuxT}F&7NXUvY9a#dcbQR6^dt0hwM>Vdg#lGR6QG8i7+Cu~Q?qXr zTQZt4n>8Hc{)0${00)8vp+hbKrf-m;&7Q?WC@O3P`we6QkDZFKHS(! z2I5;g$NymiAKg-s`yBqj$If{Qe$obZ*YJ&D|pj zccBJ8`9z+-Z^Vf;Y4J0cp@VXIl~eiU-L0&z|p_XH>3ak{_czsDDP#XPL&LC z9mmVA7 zAOTi{K3{unjp@~EIOvL;Ff`Ag`5}^NGAvSM3nyH{H|BFFjdS+>aFhBHjql+@l{($G zSk62$evMMYb{CW!@4xY8+3!2gGHvm&K6L%1rmvoLsy`BOzn&Q!uId=ctM=rP>v-uv zi0~QyD@l+ z%)3oLfw7uR;!CJnC4Or7ylHnQ)S)Vef1DA<+RoTzrkxD#wtD(W?6`|7>&O+6HV?%^ ZzL&^DNb*WPftlq3*5((@s!UN2{tF_yQN92G literal 0 HcmV?d00001 diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_disabled.svg b/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_disabled.svg new file mode 100644 index 0000000000..3037ff5e60 --- /dev/null +++ b/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_disabled.svg @@ -0,0 +1,52 @@ + + + + + + + + + + diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_hover.png b/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..687364497ef12ee7a723c753e4b3e548856c00c6 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4u6ByT*@`3|I*ik&<|I5IUdsxIlgV*+Y9Mh_d ze&+HU)fh?Yeck!Ep4sTn9mAF-AAWF$XFT9>W-y9iDs|;AJ_OXx;OXk;vd$@?2>@8t BF;V~k literal 0 HcmV?d00001 diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_hover_dark.svg b/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_hover_dark.svg new file mode 100644 index 0000000000..27f92d4ca9 --- /dev/null +++ b/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_hover_dark.svg @@ -0,0 +1,52 @@ + + + + + + + + + + diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_hover_light.svg b/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_hover_light.svg new file mode 100644 index 0000000000..7952fe3752 --- /dev/null +++ b/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_hover_light.svg @@ -0,0 +1,52 @@ + + + + + + + + + + diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_light.svg b/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_light.svg new file mode 100644 index 0000000000..ee118a392e --- /dev/null +++ b/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_light.svg @@ -0,0 +1,52 @@ + + + + + + + + + + diff --git a/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_pressed.png b/src/Gui/Stylesheets/images_dark-light/checkbox_unchecked_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..6a768c44de657b0ad4c15e21b1eb234b22725107 GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2?f#ZI0f96(URk`2Rz z=~sJu%M*$o9V~hAU;#Jl+;HoW&N@>rk{Wg#^)G3oasPh-VCTg&wSw*MWA zmDLXD{$0Vaa^Lx_hSj?^m|nAzyL-_6f1SMW3%%6M-#jZ`Z2J1Pmf_UJq~m#dFF`@T N;OXk;vd$@?2>?U5f5iX* literal 0 HcmV?d00001 diff --git a/src/Gui/Stylesheets/images_dark-light/close_red.svg b/src/Gui/Stylesheets/images_dark-light/close_red.svg new file mode 100644 index 0000000000..e8f5480941 --- /dev/null +++ b/src/Gui/Stylesheets/images_dark-light/close_red.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + image/svg+xml + + + + Pablo Gil + + + + + SVG + template + + + + + + + + + diff --git a/src/Gui/Stylesheets/images_dark-light/more_arrow_dark.svg b/src/Gui/Stylesheets/images_dark-light/more_arrow_dark.svg new file mode 100644 index 0000000000..6316a4b76e --- /dev/null +++ b/src/Gui/Stylesheets/images_dark-light/more_arrow_dark.svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + image/svg+xml + + + + Pablo Gil + + + + + SVG + template + + + + + + + + + diff --git a/src/Gui/Stylesheets/images_dark-light/more_arrow_light.svg b/src/Gui/Stylesheets/images_dark-light/more_arrow_light.svg new file mode 100644 index 0000000000..57bf837cc0 --- /dev/null +++ b/src/Gui/Stylesheets/images_dark-light/more_arrow_light.svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + image/svg+xml + + + + Pablo Gil + + + + + SVG + template + + + + + + + + + diff --git a/src/Gui/Stylesheets/images_dark-light/radiobutton_checked.png b/src/Gui/Stylesheets/images_dark-light/radiobutton_checked.png new file mode 100644 index 0000000000000000000000000000000000000000..8ab9157578050442b58d511ad791f9ba12d545d1 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uGBwbBK{D4$-fKQ0)|NsBH!Jx0NZ^DEL{r&yl zzkmPo`SXVlA3lBj_~y-Cq-Me$=&f|vGbIfCr&I_u;ApOLm;W$yAN*PesISQAlcK?17rZnLpydH+PU-a zu3cC8{cC~F&@2h^3ua(3ZlAyG#HrJ#&zw1X@zUk1H*Vd!efQqI`;VSHd;aFbr?20> z|NQyu*RQ{J+H607n({nd978ywWBVML4jM49Z1*%?v~=N;CN9^H|HZAoEPA$Yv$E&1 z9QoW#70=eQv5#l#-FBMvHk;wqJukIzpOBj;R1>yFGM&_9yK%4WwUpD97Y{%Ev*~}} xew1PP@9Z1S9YvgC?Vs~*ot^u6|Nd$B&*|^yWaplsV&_rt#@ByWiM}USFD4Mn^&lVpMOn_Jf(Vb~r7@Q$u zYGPcRoSt)Mdd|$fbCbzrZWe+dEF!iMaYXeyvtIP$X5au~9pQvSAzO?_ZxgcIj!Tkr zdUA4gba-fdp9lP;jRQewNwL_Yn$N$PhB0W?>)k8Ma?7RCIFnA_go42`FzZti2+N#6 zLRr^eT-UWd&ogH+e12|RUtSKBY}N*`Ks-s?T!|9~uG=K=bu_AVJDodb)}!IDVHw6y z62$^m-6AO-6U93;2LwFz`;MN?zU#T1$IP02r`habnh_2L_eiQH6NwHr@X)SS`v8BG z73GteHT&)R`%Y2QYRBPlaykhvwJ7?(Nw<#ERTbqNq@AgzGuTR(DEco=uj6sOR;jot zSx#fU&8d43XVO->MA3ftNNCx1PcIfN{9FQd>F1t!544po*^Nf;0UBp4dlS6{Kkf@f Wm-WvSU@v9>0000b2pSISvwVQFJ&VIe3;ihzg_3qfozrGmu5Ld3=@rGiaJ zCD3w#y|OIdKO2wtTb*pg&^b?h-(MdL25t}pIrdeWrhTQ<#ly+u){BjeHz=?PxSm4{ z^m@I=qtQsCQr2c%@H}<4+l`!+m3VS|d^al!w)Il7C9co_rUi78M0z&kP&sXi&>f~9mi7!Gk~!5xfEhmT9$Q%dtjg}3JriD9%66f z0+!3FDv;oy79z5Qh#|Wp(cCiZrMcEIXM|v>swzpwco5i*lou)?rhpXvgPwAwAHPpd zIu23DJ!F9K^SmH($+k6sJ%-S%!Wsz6I+U2h?lcUqo#}Mu-WjZkzIwjDgjpR#QS^nY zusyP@%c!(3Vdd@5FuY;9-9KfTPV=HroHfxpYQ!zz0C!i4Vb?!LZ0 zAo=Fa8zA@a;luat-TUz2!-541-oAYc6ghP0P=9~_ojZ4c>>e;snB5);G)JT)$S?Q= z!w2JbmNWD3T{`{z%&q&&F5mt6D?~Ft4JhyL>Eakt5f|DQ$<<&W;5>O|=IXm!zwck& z5i#StxRcm~D_7o4o1!A&(`P)tJwhR4>7%7$${|X2i!|Jh`^)cm7WVnjspzLqZRdZU fTX(+xqrE)4G}GhuCV>w?qZvG1{an^LB{Ts5Zwqe& literal 0 HcmV?d00001 diff --git a/src/Gui/Stylesheets/images_dark-light/radiobutton_unchecked_hover.png b/src/Gui/Stylesheets/images_dark-light/radiobutton_unchecked_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..666a3b0bdd4a41fad993b4f8ba9596daec337bfa GIT binary patch literal 492 zcmVh&+v zH1*YLrMR*ei~eh~X^F+64zNOgg2L1iRj^D`^8&6uZM(0^vMum@1+88XluGja8xE~q zfGb1O=BOrfEPG8*C!5JkX@-5!WIUc$%jNDp$7P*LNNGSr?}J8$F_T2`8PKIO(<5S~ zlxXN(!1r?5>$clwE}hP!y^xb0hEph3N{NR44-9mDUawYFd|ZI{XuBuc1I0=y>HYrv z9WxBk5>)`8@bP#Op3^^n1QvIO!!lwmKNSiu6-jEBM6rgJa;QMS2|Nc|$oucn9$>h^ iz&Yp&_aU4edVRm5PW-+l9wg2H0000QSK@^2&H=7tD5==S;F*X(^h>iFY#KuDG6bsQp!9qdpvRg*M2UrOTcG_qu`Ue#4 z1UnH0gCr)qBqrHMc4j9hkt2+n=GRzc@5g&4c$QqF6*>^Sb=xwifN-%M)yzQq|cNvQ1+ z@S=uS8c?MCs8=eb224&1pgB(M00Nl+yfZ~H=po)pg@PNBve?ezG#VXa8-gsMD1GGD z(1(X|xjfpfss#dE&m(hS`VDLvMh%ZJ1?ZW|J29)(3!kxXDMaDFnGOKp0_X*>46SI? z>0CB@T4ijqi!o{-ft}K}3_}2j!@LV!l0RrJE_W#KpKQi9usVnCu$M<11~Asja0MNa uJ%H$IAne0%i#Q8yLqpIj^aQQ`{(Cvx literal 0 HcmV?d00001 diff --git a/src/Gui/Stylesheets/images_dark-light/undock_blue.svg b/src/Gui/Stylesheets/images_dark-light/undock_blue.svg new file mode 100644 index 0000000000..7fa802ad90 --- /dev/null +++ b/src/Gui/Stylesheets/images_dark-light/undock_blue.svg @@ -0,0 +1,114 @@ + + + + + + + + + + + + image/svg+xml + + + + Pablo Gil + + + + + SVG + template + + + + + + + + + + + +