Commit Graph

27 Commits

Author SHA1 Message Date
Markus Reitböck
a72a0d6405 Gui: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
should be considered an optimization, not a requirement. In particular, do not explicitly include a
precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
generated precompile header on the compiler command line instead. This is more portable across
the major compilers and is likely to be easier to maintain. It will also avoid warnings being
generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-14 09:47:03 +02:00
Kacper Donat
8d3f41059f Gui: Add ThemeTokenManager class to contain theme parameters
This class aims to implement Design Token idea into FreeCAD themes. It
allows themes to use generic variables with generic values so we could
use one qss theme and change the style based on values from preference
packs.
2025-07-07 00:07:31 +02:00
bofdahof
ba2c2ca5ad Console: rename PascalCase named methods to camelCase 2025-05-06 17:50:21 +02:00
Benjamin Bræstrup Sayoc
8d2d0a47f4 Gui: Use QStringLiteral 2025-02-10 18:34:57 +01:00
tritao
f7a0cece08 Base: Remove Boost-based filesystem and switch to standard <filesystem> 2025-02-10 10:48:54 -06:00
wasd845
85eaa2d373 Add export config directory specification feature (#15235) 2024-12-13 10:44:30 -06:00
wmayer
cb772755e1 Gui: Refactor PreferencePackManager & DlgPreferencePackManagementImp 2024-11-27 20:29:44 -05:00
Yury Shvedov
7a1ac850e2 Gui: take in account module-path argument
Use paths passed with `--module-path` argument to search for preference
packs

Change-Id: If168dbd99a826757290ee6b918f5b712305fe2bb
2024-11-27 15:43:28 +01:00
wmayer
1c03c53bff Core: Fix unicode path names under Windows 2024-11-26 11:22:11 -05:00
ppphp
0488a7bb8e add version check macro for compatibility 2024-03-31 10:47:32 +02:00
ppphp
2bce6946dc fix: c++20 deprecate copy_option 2024-03-31 10:47:32 +02:00
wmayer
0ee48bfea5 Gui: fixes #11045: Freecad fails to start after uninstalling disabled addon
The PR refactors FindPreferencePacksInPackage() and splits program logic from exception handling. It also handles std::exception to give more
information about a possible failure
2023-10-16 11:34:26 -05:00
Kacper Donat
b21cd75395 Gui: Register overlay search path from preference packs
This commit adds "<mod>/overlay" path to search paths of "overlay"
prefix. This allows preference packs to register custom overlay
stylesheets.

Fixes: #11023
2023-10-14 16:48:24 -04:00
wmayer
be0e65fa7a clang: fix -Wdeprecated-declarations 2023-03-12 15:05:21 +01:00
Zheng, Lei
e4aa389cc4 Base/App/Gui: force using Base::Handle for ParameterManager
For reference counting
2023-01-06 09:14:41 -06:00
Chris Hennes
532e509dc2 Gui: Add importing CFG to PrefPack dialog 2022-09-15 22:44:18 -05:00
berniev
d2babf0eb5 App: Single arg ctors must be explicit 2022-08-24 07:20:57 +02:00
berniev
2db561561e Gui: use empty 2022-08-06 16:35:45 +02:00
Chris Hennes
3ecd0cd0f0 Preference Packs: Add revert to backup option 2022-02-20 22:12:09 -06:00
Chris Hennes
b7056b94b9 Gui: Add interface for managing preference packs 2022-02-17 19:51:24 -06:00
Chris Hennes
d0b867bdd5 [Gui] PrefPacks - remove "type" parameter
In display, show the "tags" instead.
2021-10-11 13:22:28 -05:00
Chris Hennes
5aaaf17570 Clean up missing directory behavior 2021-08-24 11:49:07 -05:00
Chris Hennes
d13f7958f9 Add ToolBarManager Save and Restore calls 2021-08-23 16:01:41 -05:00
Chris Hennes
18d73580ae Fix Linux compilation bugs 2021-08-23 14:43:30 -05:00
Chris Hennes
b49da2467c Add loadState() function to DockWindowManager
Just changing the preference for hiding or showing a dock window does
not actually trigger a state change. To enable that, the preferences
pack manager must manually instruct the DockWindowManager to save its
state into the preferences before storing a preference pack, and must
instruct the DockWindowManager to load its new state from the
preferences after loading a pack.
2021-08-23 11:30:13 -05:00
Chris Hennes
2328eff0cb Fix bug in preference pack application. 2021-08-04 11:40:31 -05:00
Chris Hennes
40171d7858 [GUI] Add PreferencePack support
Preference Packs are collections of preferences that can be applied en
mass to the user's current setup. Any preference that can be stored in
user.cfg can be stored in a preference pack, and they are designed to be
easy to distribute.

Support is also added for saving a subset of current preferences into a
new preference pack in order to facilitate easy creation of new
"themes", etc.
2021-05-13 09:08:33 -05:00