From c28f6f15bb203e4965d1b70b28cf0e98cd7967c9 Mon Sep 17 00:00:00 2001 From: rankshank Date: Sun, 25 Feb 2024 23:31:48 +1100 Subject: [PATCH] init freecad --- modules/freecad/cfg.nix | 130 +++ modules/freecad/hm.nix | 14 + modules/freecad/package.nix | 24 + modules/freecad/stylesheet.nix | 1661 ++++++++++++++++++++++++++++++++ 4 files changed, 1829 insertions(+) create mode 100644 modules/freecad/cfg.nix create mode 100644 modules/freecad/hm.nix create mode 100644 modules/freecad/package.nix create mode 100644 modules/freecad/stylesheet.nix diff --git a/modules/freecad/cfg.nix b/modules/freecad/cfg.nix new file mode 100644 index 00000000..37001dcf --- /dev/null +++ b/modules/freecad/cfg.nix @@ -0,0 +1,130 @@ +config: lib: let + colors = config.lib.stylix.colors; + dec = let + vals = { + "0" = 0; + "1" = 1; + "2" = 2; + "3" = 3; + "4" = 4; + "5" = 5; + "6" = 6; + "7" = 7; + "8" = 8; + "9" = 9; + "a" = 10; "A" = 10; + "b" = 11; "B" = 11; + "c" = 12; "C" = 12; + "d" = 13; "D" = 13; + "e" = 14; "E" = 14; + "f" = 15; "F" = 15; + }; + hex2dec = hex: builtins.foldl' (acc: char: ((acc * 16) + vals.${char})) 0 (lib.stringToCharacters hex); + in builtins.mapAttrs (name: value: toString (hex2dec "${value}FF")) { + inherit (colors) + base00 base01 base02 base03 base04 base05 base06 base07 + base08 base09 base0A base0B base0C base0D base0E base0F; + }; + hex = colors.withHashtag; +in '' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stylix.qss + + + + + + + + + + + + + ${hex.base00} + ${hex.base05} + ${hex.base05} + ${hex.base05} + + + + + + +'' diff --git a/modules/freecad/hm.nix b/modules/freecad/hm.nix new file mode 100644 index 00000000..c4795065 --- /dev/null +++ b/modules/freecad/hm.nix @@ -0,0 +1,14 @@ +{ config, lib, ... }: + +{ + options.stylix.targets.freecad.enable = config.lib.stylix.mkEnableTarget "freecad" true; #(builtins.elem (pkgs.freecad) config.home.packages); + + config = lib.mkIf config.stylix.targets.freecad.enable { + xdg.dataFile = { + "FreeCAD/Mod/Stylix/Stylix/Stylix.cfg".text = import ./cfg.nix config lib; + "FreeCAD/Mod/Stylix/Stylix/Stylix.qss".text = import ./stylesheet.nix config; + "FreeCAD/Mod/Stylix/package.xml".text = import ./package.nix config; + }; + }; + +} diff --git a/modules/freecad/package.nix b/modules/freecad/package.nix new file mode 100644 index 00000000..5d5f9f56 --- /dev/null +++ b/modules/freecad/package.nix @@ -0,0 +1,24 @@ +config: let + polarity = config.stylix.polarity; +in '' + + + Stylix + Autogenerated Stylix ${polarity} theme for FreeCAD + 0.0.1 + MIT + https://github.com/danth/stylix + + + + Stylix + Autogenerated Stylix ${polarity} theme for FreeCAD + stylix + ${polarity} + stylesheet + theme + + + + +'' diff --git a/modules/freecad/stylesheet.nix b/modules/freecad/stylesheet.nix new file mode 100644 index 00000000..ce0ff592 --- /dev/null +++ b/modules/freecad/stylesheet.nix @@ -0,0 +1,1661 @@ +config: let + colors = config.lib.stylix.colors; + polarity = config.stylix.polarity; + invPolarity = if polarity == "light" then "dark" else "light"; + highlight = alpha: "rgba(255,255,255,${toString alpha})"; + darken = alpha: "rgba(0,0,0,${toString alpha})"; + fonts = config.stylix.fonts; +in with colors.withHashtag; '' +/* +ABOUT +============================================================================================================ +Autogenerated stylesheet by Stylix. + +Modified from various stylesheets provided by github:FreeCAD/FreeCAD + +LICENSE +============================================================================================================ +Copyright (c) 2019 Pablo Gil Fernández +This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. +To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/. +*/ + + +/*================================================================================================== +Reset elements +==================================================================================================*/ +* { + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; + border-image: none; + outline: 0; + font-size: ${toString fonts.sizes.applications}pt; + color: ${base05}; + background-color: ${base00}; +} + +QToolBar * { + margin: 0px; + padding: 0px; +} + + +/*================================================================================================== +Main window +==================================================================================================*/ +QMainWindow, +QDialog, +QDockWidget, +QToolBar { + background-color: ${base00}; +} + +QMdiArea { + background-image: url(qss:images_dark-light/background_freecad_${invPolarity}.svg); + background-position: center center; + background-repeat: no-repeat; +} + +/*================================================================================================== +Style Links +==================================================================================================*/ +QLabel[haslink="true"] { + color: ${base0D}; +} + +Gui--UrlLabel { + color: ${base0D}; +} + +/*================================================================================================== +Sub windows +==================================================================================================*/ +QMdiSubWindow { + border:1px solid ${base01}; + margin-top: 30px; + margin-left: 4px; + margin-right: 4px; + margin-bottom:4px; +} + + +/*================================================================================================== +MENUS +==================================================================================================*/ +QMenuBar, +QMenuBar::item { + color: ${base05}; + background-color: ${base00}; +} + +QMenu, +QMenu::item { + color: ${base05}; + background-color: ${base00}; + text-decoration: none; +} + +QMenuBar::item:disabled, +QMenu::item:disabled { + color: ${base03}; +} + +QMenuBar::item:selected, +QMenuBar::item:pressed, +QMenu::item:selected, +QMenu::item:pressed { + color: ${base00}; + background-color: ${base05}; +} + +QMenu::right-arrow { + width: 10px; + height: 10px; + image:url(qss:images_dark-light/right_arrow_${invPolarity}.svg); + margin-right: 2px; +} + +QMenu::right-arrow:selected { + image:url(qss:images_dark-light/right_arrow_${invPolarity}er.svg); +} + +QMenu::item { + padding: 2px 4px; + border: 1px solid transparent; +} + +QMenu::icon { + margin-left: 1px; + margin-right: 1px; +} + +QMenu::icon:checked { + background: ${base00}; + border: 2px ${base01}; + position: absolute; + border-radius: 2px; +} + +QMenu::separator { + height: 1px; + background-color: ${darken 30}; + margin: 6px 4px; +} + +QMenu::indicator:non-exclusive:checked { + color: ${base05}; +} + +QMenu QRadioButton, +QMenu QCheckBox, +QMenu QPushButton, +QMenu QToolButton { + color: ${base05}; +} + +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: ${base05}; + background-color: ${base00}; +} + +QMenu QRadioButton:disabled, +QMenu QCheckBox:disabled { + color: ${base03}; +} + +QMenu QRadioButton::indicator:disabled, +QMenu QCheckBox::indicator:disabled { + color: ${base05}; + background-color: transparent; + border: 1px solid ${base01}; +} + +/*================================================================================================== +Tool bar +==================================================================================================*/ +QToolBar { + border: none; + padding: 2px; +} + +QToolBar::handle:top, +QToolBar::handle:bottom, +QToolBar::handle:horizontal { + background-image: url(qss:images_dark-light/Hmovetoolbar_${invPolarity}.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_${invPolarity}.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: ${darken 30}; +} + +QToolBar::separator:left, +QToolBar::separator:right, +QToolBar::separator:vertical { + height: 1px; + margin: 4px 6px; + background-color: ${darken 30}; +} + +/*================================================================================================== +Group box +==================================================================================================*/ +QGroupBox { + color: ${base05}; + border:1px solid ${highlight 20}; + border-radius: 3px; + margin-top: 10px; + padding: 6px; + background-color: ${highlight 15}; +} + +QGroupBox::title { + top: -8px; + left: 12px; +} + +QGroupBox::indicator { + width: 13px; + height: 13px; +} + +QGroupBox::indicator:unchecked { + image: url(:/images/checkbox_unchecked.png); +} + +/*================================================================================================== +Tooltip +==================================================================================================*/ +QToolTip { + color: #${colors.base05}; + background-color: #${colors.base01}; + padding: 4px; + border-radius: 3px; +} + +/*================================================================================================== +Dock widget +==================================================================================================*/ +QDockWidget { + color: ${base05}; + titlebar-close-icon: url(qss:images_dark-light/close_${invPolarity}.svg); + titlebar-normal-icon: url(qss:images_dark-light/undock_${invPolarity}.svg); +} + +QDockWidget::title { + text-align: center; + background-color: ${base00}; + border: 4px solid ${base01}; + border-radius: 6px; + padding: 4px 0px; +} + +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: ${highlight 15}; +} + +QDockWidget::close-button:pressed, +QDockWidget::float-button:pressed { + background-color: ${highlight 30}; +} + +QDockWidget > QFrame { + background-color: #${colors.base00}; + border: 1px solid #${colors.base01}; +} + +/*================================================================================================== +Progress bar +==================================================================================================*/ +QProgressBar, +QProgressBar:horizontal { + color: #${colors.base05}; + background-color: ${darken 10}; + text-align: center; + border: 1px solid ${darken 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 ${base00}, stop:1 ${base00}); + 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: ${darken 80}; +} + +QScrollBar::handle:vertical:hover, +QScrollBar::handle:horizontal:hover { + background-color: ${darken 100}; +} + +QScrollBar::handle:horizontal { + min-width: 5px; + border-radius: 3px; + margin: 4px 15px; +} + +QScrollBar::sub-line:horizontal { + margin: 1px 3px 0px 3px; + border-image: url(qss:images_dark-light/left_arrow_${invPolarity}.svg); + width: 6px; + height: 10px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal { + margin: 1px 3px 0px 3px; + border-image: url(qss:images_dark-light/right_arrow_${invPolarity}.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_${invPolarity}er.svg); +} + +QScrollBar::add-line:horizontal:hover, +QScrollBar::add-line:horizontal:on { + border-image: url(qss:images_dark-light/right_arrow_${invPolarity}er.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; + border-image: url(qss:images_dark-light/up_arrow_${invPolarity}.svg); + height: 6px; + width: 10px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + margin: 3px 0px 3px 1px; + border-image: url(qss:images_dark-light/down_arrow_${invPolarity}.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_${invPolarity}er.svg); +} + +QScrollBar::add-line:vertical:hover, +QScrollBar::add-line:vertical:on { + border-image: url(qss:images_dark-light/down_arrow_${invPolarity}er.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; + position: absolute; +} + +QTabWidget::pane:top { + top: -1px; + border-top: 1px solid ${base01}; +} + +QTabWidget::pane:bottom { + bottom: -1px; + border-bottom: 1px solid ${base01}; +} + +QTabWidget::pane:left { + right: -1px; + border-right: 1px solid ${base01}; +} + +QTabWidget::pane:right { + left: -1px; + border-left: 1px solid ${base01}; +} + +QTabWidget::tab-bar:top, +QTabWidget::tab-bar:bottom { + left: 10px; +} + +QTabWidget::tab-bar:left, +QTabWidget::tab-bar:right { + top: 10px; +} + +QTabBar { + qproperty-drawBase: 0; + background-color: transparent; +} + +QTabBar { +} +QDockWidget QTabBar { + border-color: transparent; +} +QDialog QTabBar { + border-color: transparent; +} + +QTabBar::tab { + background-color: transparent; + border: 1px solid transparent; + padding: 3px; +} + +QTabBar::tab:top, +QTabBar::tab:bottom { + border-top-width: 4px; + border-bottom-width: 4px; + min-width: 11ex; + margin-left: 2px; + margin-right: 2px; +} + +QTabBar::tab:left, +QTabBar::tab:right { + border-left-width: 4px; + border-right-width: 4px; + min-height: 14ex; + margin-top: 2px; + margin-bottom: 2px; +} + +QTabBar::tab:selected { + color: ${base05}; + background-color: ${base01}; + border-color: ${base00}; +} + +QTabBar::tab:top:selected { + border-top: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 ${base01}, stop:1 ${base01}); + border-bottom-color: ${base01}; +} + +QTabBar::tab:bottom:selected { + border-bottom: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 ${base01}, stop:1 ${base01}); + border-top-color: ${base01}; +} + +QTabBar::tab:right:selected { + border-left: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 ${base01}, stop:1 ${base01}); + border-left-color: ${base01}; +} + +QTabBar::tab:!selected { + color: ${base06}; + background-color: ${base00}; +} + +QTabBar::tab:!selected:hover { + color: ${base06}; + background-color: ${base03}; +} + +QTabBar::tab:first:selected { + margin-left: 0; +} + +QTabBar::tab:last:selected { + margin-right: 0; +} + +QTabBar::tab:only-one { + margin: 0; +} + +QDialog#Gui__Dialog__DlgPreferences > QFrame QFrame { + background-color: transparent; +} + +QDialog#Gui__Dialog__DlgPreferences QTabWidget::pane { + background-color: transparent; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView { + min-width: 130px; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item { + border-radius: 4px; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { + background-color: ${base00}; +} + +QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { + color: ${base05}; + background-color: ${base00}; +} + +/*================================================================================================== +Tab bar buttons +==================================================================================================*/ +QTabBar::close-button { + subcontrol-origin: margin; + subcontrol-position: center right; + border-radius: 2px; + background-image: url(qss:images_dark-light/close_${invPolarity}.svg); + background-position: center center; + background-repeat: none; +} + +QTabBar::close-button:hover { + background-color: ${highlight 20}; +} + +QTabBar::close-button:pressed { + background-color: ${highlight 30}; +} + +QDockWidget QTreeView, +QDockWidget QListView, +QDockWidget QTableView { + margin: 6px; + border: 1px solid #${colors.base01}; + min-height: 40px; +} + +QTabBar::scroller { + width: 20px; +} + +QTabBar QToolButton, +QTabBar QToolButton:hover { + background-color: ${base05}; +} + +QTabBar QToolButton::right-arrow:enabled { + image: url(qss:images_dark-light/right_arrow_${invPolarity}.svg); +} + +QTabBar QToolButton::right-arrow:disabled, +QTabBar QToolButton::right-arrow:off { + image: url(qss:images_dark-light/right_arrow_disabled_${polarity}.svg); +} + +QTabBar QToolButton::right-arrow:hover { + image: url(qss:images_dark-light/right_arrow_${invPolarity}er.svg); +} + + QTabBar QToolButton::left-arrow:enabled { + image: url(qss:images_dark-light/left_arrow_${invPolarity}.svg); +} + + QTabBar QToolButton::left-arrow:disabled, + QTabBar QToolButton::left-arrow:off { + image: url(qss:images_dark-light/left_arrow_disabled_${polarity}.svg); +} + + QTabBar QToolButton::left-arrow:hover { + image: url(qss:images_dark-light/left_arrow_${invPolarity}er.svg); +} + + QTabBar QToolButton::up-arrow:enabled { + image: url(qss:images_dark-light/up_arrow_${invPolarity}.svg); +} + + QTabBar QToolButton::up-arrow:disabled, + QTabBar QToolButton::up-arrow:off { + image: url(qss:images_dark-light/up_arrow_disabled_${polarity}.svg); +} + + QTabBar QToolButton::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_${invPolarity}er.svg); +} + + QTabBar QToolButton::down-arrow:enabled { + image: url(qss:images_dark-light/down_arrow_${invPolarity}.svg); +} + + QTabBar QToolButton::down-arrow:disabled, + QTabBar QToolButton::down-arrow:off { + image: url(qss:images_dark-light/down_arrow_disabled_${polarity}.svg); +} + + QTabBar QToolButton::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_${invPolarity}er.svg); +} + +QTabBar::tear { +} + +/*================================================================================================== +Tree and list views +==================================================================================================*/ +QTreeView, +QListView, +QTableView { + background-color: ${base00}; + alternate-background-color: ${base01}; + border: 1px solid ${base01}; + selection-color: ${base05}; + selection-background-color: ${base03}; + show-decoration-selected: 1; + border-radius: 3px; +} + +QListView::item:hover, +QTreeView::item:hover { + background-color: transparent; +} + +QListView::item:selected, +QTreeView::item:selected { + color: ${base00}; + background-color: ${base05}; + show-decoration-selected: 1; +} + +Gui--PropertyEditor--PropertyEditor { + gridline-color: ${base05}; +} + +Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { + background-color: ${base01}; +} + +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; +} + +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 { + color: ${base05}; + background-color: ${base00}; +} + +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; +} + +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; +} + +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; +} + +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: ${base01}; + border-bottom-color: ${base01}; +} + +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; +} + +Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget { + min-height: 14px; + border-radius: 0px; +} + + +/*================================================================================================== +Header of tree and list views +==================================================================================================*/ +QHeaderView { + color: ${base05}; + background-color: ${base00}; + border-top-left-radius: 2px; + border-top-right-radius: 2px; + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; +} + +QHeaderView::section { + border:none; + padding: 4px 6px; + background-color: ${base01}; +} + +QHeaderView::section:horizontal { + padding: 4px 6px; + border-right: 1px solid ${highlight 30}; +} + +QHeaderView::section:vertical { + border-bottom: 1px solid ${highlight 30}; +} + +QTableCornerButton::section { + background-color: ${base01}; + border-top: none; + border-left: none; + border-right: 1px solid ${highlight 30}; + border-bottom: 1px solid ${highlight 30}; +} + +QHeaderView::section:last { + border-right: none; +} + +QHeaderView::up-arrow { + image: url(qss:images_dark-light/up_arrow_${invPolarity}.svg); +} + +QHeaderView::up-arrow:hover { + image: url(qss:images_dark-light/up_arrow_${invPolarity}er.svg); +} + +QHeaderView::down-arrow { + image: url(qss:images_dark-light/down_arrow_${invPolarity}.svg); +} + +QHeaderView::down-arrow:hover { + image: url(qss:images_dark-light/down_arrow_${invPolarity}er.svg); +} + +Gui--PropertyEditor--PropertyEditor { + qproperty-groupTextColor: ${base05}; + qproperty-groupBackground: ${base01}; +} + +/*================================================================================================== +Branch system for QTreeViews +==================================================================================================*/ +QTreeView::branch { + background: transparent; +} + +QTreeView::branch:has-siblings:!adjoins-item { + border-image: url(qss:images_dark-light/branch_vline_${invPolarity}.svg) 0; +} + +QTreeView::branch:has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_more_${invPolarity}.svg) 0; +} + +QTreeView::branch:!has-children:!has-siblings:adjoins-item { + border-image: url(qss:images_dark-light/branch_end_${invPolarity}.svg) 0; +} + +QTreeView::branch:closed:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_closed_${invPolarity}.svg) 0; +} + +QTreeView::branch:has-children:!has-siblings:closed { + border-image: url(qss:images_dark-light/branch_end_closed_${invPolarity}.svg) 0; +} + +QTreeView::branch:open:has-children:has-siblings { + border-image: url(qss:images_dark-light/branch_more_open_${invPolarity}.svg) 0; +} + +QTreeView::branch:open:has-children:!has-siblings { + border-image: url(qss:images_dark-light/branch_end_open_${invPolarity}.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_${invPolarity}.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_${invPolarity}.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_${invPolarity}.svg); + margin: 4px 2px 4px 2px; +} + +QMainWindow::separator:vertical { + width: 2px; + background-image: url(qss:images_dark-light/splitter_vertical_${invPolarity}.svg); + margin: 2px 4px 2px 4px; +} + + +/*================================================================================================== +Text/Python editor (macros, etc...) +==================================================================================================*/ +QPlainTextEdit, +QPlainTextEdit:focus { + color: ${base05}; + background-color: ${base00}; + selection-color: ${base01}; + selection-background-color: ${base05}; + border: 1px solid ${base01}; + border-radius: 3px; + margin: 4px; +} + +/*================================================================================================== +Tasks panel (custom FreeCAD class) +==================================================================================================*/ +QFrame[class="panel"] { + background-color: transparent; +} + +QSint--ActionGroup { + padding: 0px; + margin: 0px; +} + +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: ${darken 60}; +} + +QSint--ActionGroup QFrame[class="header"] { + border: none; + background-color: ${base00}; + 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 ${base03}, stop:1 ${base03}); +} + +QSint--ActionGroup QToolButton[class="header"] { + color: ${base06}; + 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_${invPolarity}.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_${invPolarity}er.svg); +} + +QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { + background-color: transparent; + background-image: url(qss:images_dark-light/up_arrow_${invPolarity}.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_${invPolarity}er.svg); +} + +QSint--ActionGroup QFrame[class="content"] { + background-color: ${base00}; + 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: ${base00}; +} + +/* Fixs for tabs inside Task Panel */ +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { + border-bottom-color: ${base01}; +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { + border-top-color: ${base01}; +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { + border-right-color: ${base01}; +} + +QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { + border-left-color: ${base01}; +} + +QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { + padding: 2px; + margin: 0px; +} + +QSint--ActionGroup QFrame[class="content"] QTreeView, +QSint--ActionGroup QFrame[class="content"] QListView, +QSint--ActionGroup QFrame[class="content"] QTableView { + color: ${base05}; + background-color: ${base00}; +} + +QSint--ActionGroup QFrame[class="content"]:hover { + color: ${base05}; + background-color: ${darken 30}; +} + +/*================================================================================================== +Buttons +==================================================================================================*/ +/* Common */ +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QLineEdit, +QTextEdit, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + color: ${base05}; + background-color: ${base02}; + selection-color: ${base05}; + selection-background-color: ${base00}; + border: 1px solid ${base01}; + border-radius: 3px; + min-width: 50px; + min-height: 20px; + padding: 1px 2px; +} + +QTextEdit { + color: ${base05}; +} + +QComboBox, +QAbstractSpinBox, +QSpinBox, +QDoubleSpinBox, +QTimeEdit, +QDateEdit, +QDateTimeEdit { + padding-right: 20px; +} + +QTextEdit:!editable, +QTextEdit:!editable:focus { + background-color: ${base01}; + border: 1px solid ${base00}; +} + +QComboBox:focus, +QAbstractSpinBox:focus, +QSpinBox:focus, +QDoubleSpinBox:focus, +QLineEdit:focus, +QTextEdit:focus, +QTimeEdit:focus, +QDateEdit:focus, +QDateTimeEdit:focus { + color: ${base05}; + border-color: ${base06}; + border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 ${base01}, stop:1 ${base01}); + background-color: ${base02}; +} + +QComboBox:disabled, +QAbstractSpinBox:disabled, +QSpinBox:disabled, +QDoubleSpinBox:disabled, +QLineEdit:disabled, +QTextEdit:disabled, +QTimeEdit:disabled, +QDateEdit:disabled, +QDateTimeEdit:disabled { + color: ${base03}; + background-color: ${base01}; + border-color: ${base00}; +} + +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: ${base00}; + subcontrol-origin: border; + width: 20px; +} + +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 ${base03}, stop:1 ${base03}); +} + +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 ${base03}, stop:1 ${base03}); +} + +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_${invPolarity}.svg); + top: 2px; +} + +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_${invPolarity}er.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_${polarity}.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_${polarity}.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_${invPolarity}.svg); + bottom: 0px; +} + +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_${invPolarity}er.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_${polarity}.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_${polarity}.svg); +} + +QComboBox::drop-down { + background-color: ${base01}; +} + +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); +} + +QToolBar > QToolButton:checked { + border: 1px solid ${base01}; + background-color: rgba(124,171,249,60); +} + +QToolBar > QToolButton:checked:disabled { + background-color: ${base01}; + color: ${base03}; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + +QToolBar > QToolButton:checked:hover { + border: 1px solid ${base02}; + background-color: rgba(124,171,249,80); +} + +QToolBar QToolButton#qt_toolbar_ext_button { + margin: 0px; + padding: 0px; + background-image: url(qss:images_dark-light/more_${invPolarity}.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: ${base02}; + background-color: ${base00}; +} + +QToolBar QToolButton#qt_toolbar_ext_button:on { + background-image: url(qss:images_dark-light/more_${invPolarity}.svg); + border-color: ${base01}; + background-color: ${base00}; +} + +/*================================================================================================== +Tables (spreadsheets) +==================================================================================================*/ +QTableView { + color: ${base05}; + gridline-color: ${base01}; + selection-color: ${base00}; + selection-background-color: ${base05}; +} + +QTableView::item:hover { + background-color: ${darken 60}; + border-color: ${base05}; + border-bottom-color: ${base05}; +} + +QTableView::item:disabled { + color: ${base03}; +} + +QTableView::item:selected { + color: ${base04}; + border-color: ${base05}; + border-bottom-color: ${base05}; + background-color: ${base02}; +} + +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: ${base05}; + 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: ${darken 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: ${base05}; + selection-color: ${base00}; + selection-background-color: ${base05}; + border-color: ${base01}; + background-color: ${base00}; +} + +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: ${darken 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: ${base05}; + background-color: transparent; + border-color: transparent; +} + +/*================================================================================================== +SELECTORTOOLBAR widget (3rd party plugin) +==================================================================================================*/ +QToolBar:horizontal#Selector, +QToolBar:vertical#Selector { + background-color: ${darken 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"] { +} + +QToolButton[toolbar_orientation="vertical"] { +} + +QToolBar#Selector QToolButton { + border: none; + margin: 0px; + padding: 2px 6px; + border-radius: 0px; +} + +QToolBar#Selector QToolButton:checked { + color: ${base05}; + background-color: ${base00}; +} + +QToolBar#Selector QToolButton:!checked { + color: ${highlight 160}; + background-color: transparent; + margin: 0px; +} + +QToolBar#Selector QToolButton:!checked:hover { + color: ${highlight 160}; + background-color: ${highlight 20}; +} + +QToolBar#Selector QToolButton:!checked:pressed { + background-color: ${highlight 20}; +} + + +/*================================================================================================== +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 +==================================================================================================*/ + +QDialog QGroupBox QFrame { + margin: 2px 0px; +} + +*[mandatoryField="true"] { background-color: cyan } + +QPushButton#NavigationIndicator::menu-indicator { + image: none; + width: 0px; +} + +/*================================================================================================== +SKETCHER +==================================================================================================*/ + +Gui--StatefulLabel[state="empty_sketch"] { + color : rgba(255,255,255,127); +} +Gui--StatefulLabel[state="under_constrained"] { + color : rgba(255,255,255,255); +} +Gui--StatefulLabel[state="conflicting_constraints"] { + color : rgba(255,0,0,255); +} +Gui--StatefulLabel[state="malformed_constraints"] { + color : rgba(255,0,0,255); +} +Gui--StatefulLabel[state="redundant_constraints"] { + color : rgba(255,69,0,255); +} +Gui--StatefulLabel[state="partially_redundant_constraints"] { + color : rgba(89, 142, 240, 255); +} +Gui--StatefulLabel[state="solver_failed"] { + color : rgba(255,0,0,255); + font-weight: bold; +} +Gui--StatefulLabel[state="fully_constrained"] { + color : rgba(0,255,0,255); + font-weight: bold; +} +Gui--UrlLabel { + color : rgba(100, 149, 237, 255); + text-decoration : underline; +} + +/*================================================================================================== +Settings menu #groupsTreeView: +==================================================================================================*/ +QTreeView::branch#groupsTreeView:closed:has-children:has-siblings { + border-image: none 0; + } + + QTreeView::branch#groupsTreeView:open:has-children:has-siblings { + border-image: none 0; + } + + QTreeView::branch#groupsTreeView:open:has-children:!has-siblings { + border-image: none 0; + } + + QTreeView::branch#groupsTreeView:has-children:!has-siblings:closed { + border-image: none 0; + } + + QTreeView::branch#groupsTreeView:has-siblings:!adjoins-item { + border-image: none 0; + } +''