Report View (fixes#41):
- Enable error and log message recording by default
- Auto-show report view on errors and warnings
Help page rebranding (fixes#42):
- Remove disabled GitHub (online) option
- Remove PySide Web components disclaimer
- Rebrand 'In a FreeCAD tab' to 'In an application tab'
- Clean up FreeCAD-specific references in tooltips
Hyperlink color (fixes#43):
- Add QLabel[haslink] rule to set QPalette::Link to Catppuccin Lavender (#b4befe)
- Applied across all three stylesheet copies
Checkbox/indicator consistency (fixes#44):
- Add QGroupBox::indicator styling to match QCheckBox::indicator
- Fills checkable group boxes (e.g. Notification Area) with the same
themed filled-square style instead of OS default checkmark
- Create OriginSelectorWidget class (QToolButton with dropdown menu)
- Add OriginSelectorAction to create widget in toolbars
- Add Std_Origin command registered in CommandStd.cpp
- Add widget to File toolbar (before New/Open/Save)
- Connect to OriginManager fastsignals for origin changes
- Add Catppuccin Mocha styling for the widget
- Widget shows current origin name/icon with connection status overlay
This implements Issue #13: Origin selector toolbar widget
QTreeView::item had padding: 4px on all sides, eating 8px of
horizontal space per item. Combined with icon decorations and
indentation this caused excessive middle-elide truncation in the
model tree. Change to padding: 2px 0px (vertical only).
Qt defaults alternate-background-color to white when unset. Add
#181825 (Mantle) as the alternate row color to QTreeView, QListView,
QTableView, and the property editor in both KindredCreate.qss copies.
Move ZTools command imports before workbench initialization in
InitGui.py so commands are registered before PartDesign/Sketcher
init triggers toolbar state restoration.
Import silo_commands eagerly in _setup_silo_menu() so Silo commands
exist before the WorkbenchManipulator references them.
Create KindredCreate.yaml and Classic.yaml theme parameter files
defining all style tokens (PrimaryColor, TextForegroundColor, etc.)
used by FreeCAD.qss and the overlay stylesheet. Register them in
CMakeLists.txt and set the Theme preference in KindredCreate.cfg.
Add migration in migrateOldTheme() to set Theme=KindredCreate for
existing users who have the stylesheet but not the Theme parameter.
Stylesheet fixes (KindredCreate theme):
- Add tree branch expand/collapse SVG indicators (branch_closed.svg,
branch_open.svg) visible on dark background
- Add QSS rules for QTreeView::branch pseudo-states
- Add min-height: 20px to QHeaderView::section to fix bottom clipping
- Merge QDockWidget::title and QSint--ActionGroup QToolButton padding
improvements from Stylesheets copy into canonical
- Add SpreadsheetGui--SheetTableView QLineEdit cell editor styling
- Sync all three QSS copies (resources/preferences, src/Gui/Stylesheets,
src/Gui/PreferencePacks) to canonical version
ZTools-PartDesign workbench integration:
- Add _ZToolsPartDesignManipulator via WorkbenchManipulator API
- Injects DatumCreator, DatumManager into Part Design Helper Features toolbar
- Injects EnhancedPocket into Part Design Modeling Features toolbar
- Injects RotatedLinearPattern into Part Design Transformation Features toolbar
- Adds corresponding PartDesign menu entries after PartDesign_Boolean
Silo enhancements:
- Add Silo_ToggleMode command: toggle switch in File toolbar that swaps
Ctrl+O/S/N between standard FreeCAD and Silo equivalents
- Add SSL certificate file browser in Silo Settings dialog (SslCertPath
preference, supports .pem/.crt/.cer)
- Update _get_ssl_context() to load custom CA cert before system CAs
- Expand SiloMenuManipulator: Silo_New, Silo_Open, Silo_Save, Silo_Commit,
Silo_Pull, Silo_Push, Silo_BOM in File menu
- Integrate upstream Silo_BOM command (tabbed BOM/Where-Used dialog)
Submodule updates:
- silo: Silo mode toggle, SSL cert browsing, BOM menu integration
- ztools: PartDesign WorkbenchManipulator and Catppuccin theme sync
Documentation:
- Add docs/REPOSITORY_STATE.md: comprehensive repository state report with
architecture overview, submodule status, potential issues, feature stubs,
and Silo integration path forward
- Move ComboView default dock position from Left to Right
- Remove FreeCAD Classic, FreeCAD Light, FreeCAD Dark, and Dark behave
theme packs, keeping only KindredCreate (Catppuccin Mocha)
This is a hacky fix for https://github.com/FreeCAD/FreeCAD/issues/23607
Basically after widget is shown or polished we enforce it's minimum size to at
least cover the minimum size hint - something that QSS ignores if min-width is
specified.
Updated PropertyEditor QLabel and QPushButton styles for better visual consistency
and usability, including specific pushbutton styling for the Placement tool. Adjusted
QCheckBox disabled indicator styles to use consistent border and background colors,
and fixed background color for checked and indeterminate disabled states.
Gave inactive and active tab their own token. Fixed missing hover for
scrollbar.
Changed the value of EditedEdgeColor in the FreeCAD Light preference
pack Due to contrast issues with default shape color.
Refreshed Theme_thumbnail_dark.png and Theme_thumbnail_light.png images.
Updated Thumbnails_themes.svg with new Inkscape version metadata, export
paths, and visual adjustments, including color and layout changes to
theme preview rectangles.
Refreshed Theme_thumbnail_dark.png and Theme_thumbnail_light.png images.
Updated Thumbnails_themes.svg with new export filenames, DPI settings,
and adjusted some SVG properties for improved export consistency.
Changed the TextDisabledColor to fix issue with lighten full black.
Adjusted the QComboBox padding-right from 2px to 18px in FreeCAD.qss to
provide space for the check-mark indicating the active item.
Changed the 'HighlightColor' value in the FreeCAD Light preference pack
configuration to dark green to solve contrast issues.
Introduces InActiveTabBackgroundColor and ActiveTabBackgroundColor to
both FreeCAD Dark and FreeCAD Light preference packs for improved tab
appearance customization.
* Update dark theme tree color and tab bar background
Changed the TreeActiveColor value in the FreeCAD Dark preference pack for improved visibility. Set the QTabBar background color to use @PrimaryColor in the stylesheet for fixing drawbase issues.
* Differentiate QTabBar styles for mdiAreaTabBar
Separated the QTabBar#mdiAreaTabBar styling from the general QTabBar, setting qproperty-drawBase and background-color specifically for mdiAreaTabBar. The general QTabBar now has qproperty-drawBase set to 0, improving style specificity for file tab bars.
* added code to add more parameters to stylesheets
and test QSS files which will probably be removed when testing is completed
* update
* Update CMakeLists.txt
* some tweeks
* reverting this as it should not have been uploaded
* Update User_dark.qss
* more stuff
* code cleanup
* synced light to dark
* tweaks!!
* Fixed the qsint action tab
* tweaks
* push latest changed getting ready for release.
* tweaks
* Update FreeCAD Dark.qss
* fixessss
* wrong radiusss
* Update FreeCAD Light.cfg
changed the light background too F0f0f0
* disable tweaks
* modifications to use ThemeToken manager
See https://github.com/FreeCAD/FreeCAD/pull/20668
* Undo bunch of stuff.
* bugs
* Clean-up
* more cleanup
* Update FreeCAD_stylesheet.qss
* Big update + cleanup
* Update FreeCAD Light.cfg
* Changed UserColor to Primary
* Update actionpanelscheme.cpp
rtying to fix merge issues
* trying to fix merge issues
* clean-up
* Update FreeCAD_stylesheet.qss
* Refactor theme color variables and improve widget styling
Unified color variable naming by replacing '@PrimaryColorUIColor' and related tokens with '@PrimaryColor' and new lighten/darken variants in both dark and light theme configs and stylesheets. Added new variables for input field border radius and checkbox/radio button colors, and updated QSS rules to use these variables for consistent widget appearance. Improved styling for checkboxes, radio buttons, and input fields, and fixed menu indicator icons for better theme compatibility.
* Checkboxes and radioboxes
Rounded off the checkboxes add buttons for radioboxes.
* updated icons
* Refine toolbar, checkbox, and toolbox styles
Updated QToolButton#qt_toolbar_ext_button to use border-image and improved gradient backgrounds. Enhanced checkbox indicator styling for better color consistency and hover/disabled states. Adjusted gradients and background colors for QTabBar, QDockWidget, QHeaderView, and QToolBox elements to improve visual coherence and accessibility.
* Refine FreeCAD Dark theme hover and selection colors
Updated the FreeCAD Dark theme configuration and stylesheet to introduce new hover and border color tokens, unify hover/selection backgrounds, and replace most uses of @UserHighlight1Color/@UserHighlight2Color with @GeneralBackgroundHoverColor and @GeneralBorderHoverColor. Adjusted color lightening values for better contrast and consistency across UI elements.
* Fix QHeaderView gradient direction in stylesheet
Corrects the gradient parameters for QHeaderView::section to use y1 and y2, ensuring the background gradient renders as intended.
* Update FreeCAD Light theme user tokens
Changed MenuBackgroundColor to use @PrimaryColorLighten1 and SketcherUnderConstrainedColor to #000000. Added new tokens GeneralBackgroundHoverColor and GeneralBorderHoverColor for improved UI customization.
* Update FreeCAD Dark.cfg
* Add padding to QMenuBar items in stylesheet
Updated the FreeCAD stylesheet to include specific padding for QMenuBar::item, improving menu item spacing and appearance.
* I added the old stylesheets back for fallback
I added the old stylesheets back in the case of in forseen issues.
* Update Freecad Overlay.qss
* Refactor color tokens in Dark and Light theme configs
I sorted the tags and linked accent colors
* Update QPushButton styles for improved consistency
Adjusted padding and min-width for QPushButton elements to enhance visual consistency across dialogs and tables. Updated QTableView QPushButton styles to include hover effects and removed redundant selectors.
* Adjust QPushButton vertical padding in stylesheet
Reduced the vertical padding of QPushButton from 4px to 3px to refine button appearance and alignment.
* Adjust QPushButton styles in dialogs and panels
Updated QDialogButtonBox QPushButton to have 3px vertical padding instead of 4px, and removed special styling for QMessageBox buttons. Added a new style for QPushButton inside QFrame panels with 3px padding and no minimum width.
* undo some changes
* Update grid lines color in FreeCAD Light theme
Changed the GeneralGridLinesColor from @PrimaryColorLighten2 to @PrimaryColorDarken4 in the FreeCAD Light theme configuration for improved visual consistency.
* Update menu background color in FreeCAD Dark theme
Changed the MenuBackgroundColor from @PrimaryColorLighten4 to @PrimaryColorDarken4 in the FreeCAD Dark theme configuration to improve visual consistency.
* Update FreeCAD Dark.cfg
* Refactor selection background color handling
Introduces TextSelectBackgroundColor in both FreeCAD Dark and Light preference packs for more flexible selection styling. Updates stylesheet to use TextSelectBackgroundColor instead of UserHighlight1Color and removes redundant selection-background-color rules for improved consistency and maintainability.
Selection color is just a toned down color from the accent 1 color. This makes it better readable.
* Selection color had issues with treeview select
* woopsie add pink to find issues removed it
* Update src/Gui/Stylesheets/CMakeLists.txt
---------
Co-authored-by: Kacper Donat <kadet1090@gmail.com>
* this is a workaround to remove caps
pelase ignore this hackery
* And now the caps are gone
* a bunch of small tweaks and fixes.
* Update FreeCAD Light.qss
updated menubar color light theme
* updated the buttons a tiny bit
* Fix for to short buttons.
Couldn't test it since my macro window is broken.
Co-Authored-By: Syres916 <46537884+Syres916@users.noreply.github.com>
* qspinbox disabled tweaks.
* Update FreeCAD Dark.qss
Tweaked the buttons a bit so they are more in line with the light theme.
* Update FreeCAD Dark.qss
small tweaks
* reversed the spreadsheet headers gradient for dark
* Update light with undo arrows position
Co-Authored-By: Syres916 <46537884+Syres916@users.noreply.github.com>
* Update undo buttons arrow position dark
Co-Authored-By: Syres916 <46537884+Syres916@users.noreply.github.com>
* added an offset to qcombobox
* removed the fix since it ruined every Qcombobox.
* Tabs update more clean less gradients.
* Update DlgMacroExecuteImp.cpp
fixing conflicts
* Update DlgMacroExecuteImp.cpp
* Delete DlgMacroExecuteImp.cpp
* Create DlgMacroExecuteImp.cpp
* Revert "Create DlgMacroExecuteImp.cpp"
This reverts commit 8de8f7506177d773bb356fd0e22a66466c25b668.
* Revert "Delete DlgMacroExecuteImp.cpp"
This reverts commit 41315f31abdad79afd4b696ee15c603de3e4a6a1.
* Revert "Update DlgMacroExecuteImp.cpp"
This reverts commit aa792291684e2d674f6961c641c8e2f8b9af12c8.
* Revert "Update DlgMacroExecuteImp.cpp"
This reverts commit e8376a8fdf11d7fd014f2c46f189afdca42833ce.
* Delete src/Gui/DlgMacroExecuteImp.cpp
* Update DlgMacroExecuteImp.cpp
finally realized what was going on lol
---------
Co-authored-by: Syres916 <46537884+Syres916@users.noreply.github.com>
* [Gui] Make styles update on paint
Fixes#15756. Similar implementation to that already in FileCardDelegate.cpp
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Added the new QSS file with images
Added the new QSS file with images
* fixed some disabled colors to be the same everywhere.
* update
* big update fixed the scrollbars and lots more.
* small tweaks
* small fixes
* fixed groupbox in qsint
* Added light classic
This light theme is basicallyt exactly no-stylesheet.
* fixed the tabs
* fixed background reportview
* updated overlay stylesheets
* Added preference settings from Opentheme @obelisk79
* tabbar tweaks
* forgot the gradients on dark
* Overlay stylesheets clean-up +move icon to folder.
* removing old stylesheets
removing old stylesheets
* it was icons not icon, fixed it.
* updated cmake and package.xml
* to many spaces
* removing old theme's
* updated default overlay qss
* removed my settings files
* updated cfg files
* Bunch of fixes
I compiled it and didn't see any issues anymore. Could be some discussions about the new startpage thumbnails.
* fixed up double arrows and the correct logo!
* updated the work file for the icons
* Sets no-stylesheet overlay to a stylesheet.
* type in cmakelist
* type in filename
* oeps did set the dark theme
* Update OverlayManager.cpp
I removed a bit to much reverting this line
* fixed text color issue in Qsint on the light theme and dark background
* Update Light Theme + Dark Background.qss
Fine tuning the treeview it now works good for ligth theme and dark brackgrounds.
* removed prodark added back Behave dark overlay
@Syres916 I deleted the overlay qss behave dark by accident.
But you might want to check this PR out since it changes a lot.
I deleted Pro-dark since it was not updated and is outdated and it looks also a lot like the default dark.
* Update Light Theme + Light Background.qss
Fixes
* small fixes
small fixes
* remove ProDark
* Update CMakeLists.txt
* changed the thumbnails
Also removed teh dimensions in the filename since that got annoying real fast :)
* Updated other overlay stylesheets
* missing extension
* cleanup and some fixes to the overlay.
* Update Dark Theme + Light Background.qss
udpated the dark theme overaly with light background for all you maniacs who use this.
* Title bar fix for windows
This makes it so that it uses black title bar in windows if you have dark mode
* updated white background and some colors
* I think I fix merge issue now.
* Some cleanup on the thumbnails
* Create CMakePresets.json
* idk
* trying to fix conflicts
* removing old themes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Some fixes for Qsint sketcher toolbars icons
* fixed merge issue with maingui
* trying to fix merge conflicts
* and removing again.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>