Commit Graph

48 Commits

Author SHA1 Message Date
forbes
cc5ba638d1 fix(gui): UI appearance polish — Wayland scaling, menu icon size pref, dialog cleanup
Some checks failed
Build and Test / build (pull_request) Failing after 13m13s
- Fix hazy text on Wayland by setting QT_SCALE_FACTOR_ROUNDING_POLICY=RoundPreferFloor
  and QT_ENABLE_HIGHDPI_SCALING=1 in deb and AppImage launchers; remove forced
  QT_QPA_PLATFORM=xcb from AppImage to allow native Wayland (fixes #33)

- Add menu icon size preference selector (Small/Medium/Large/Extra large) in
  General preferences, applied via QMenu stylesheet at startup and on save (fixes #46)

- Replace verbose theme customization banner with concise 'Kindred Create Theme'
  label in UI preferences; split Overlay group into 'Panel Visibility' and
  'Overlay Interaction' sections (fixes #35)

- Remove Addon Manager branding label from General preferences, change recent
  file list default from 4 to 10 (fixes #36)
2026-02-08 13:27:22 -06:00
Kacper Donat
0120299a80 Gui: Respect both content size and minimum width for buttons
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.
2025-12-15 10:17:34 -06:00
Chris Hennes
ee6b6d49fd Gui: Fix context of translation strings 2025-11-16 17:12:57 -06:00
pre-commit-ci[bot]
9fe130cd73 All: Reformat according to new standard 2025-11-11 13:49:01 +01:00
Kacper Donat
2167e9ddff Gui: Fix order of stylesheet applying 2025-10-20 09:26:22 -05:00
Chris Hennes
ea85d3fed0 Gui: Remove references to the Addon Manager if no Std_AddonMgr (#23167)
* Gui: Remove references to the Addon Manager if no Std_AddonMgr

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Gui: Switch to disabling controls rather than hiding

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-22 18:20:07 +02:00
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
Ladislav Michl
0278a1298d Base: refactor unit formatting defaults
Defaults for both precision (number of digits after decimal point)
and denominator (number of fractions) are defined on various places
making difficult to find which default is used for various tasks.
Store these values at one central place: UnitsApi. Unless overriden
by user, default values are defined by unitSchemasDataPack.
2025-09-05 17:31:54 +02:00
Ladislav Michl
4e27d4eebe Gui: fix 'Minimum fractional inch' preference visibility
Default Unit Schema is not yet changed in onUnitSystemIndexChanged
callback handler, so index needs to be used to request currently
selected one.

Fixes: 1155f0d752 ("Base: simplify UnitsSchemas management")
2025-09-05 17:31:54 +02:00
Max Wilfinger
6692dacc0a Gui: Update UI strings for consistency
Closes: #22135
2025-08-04 20:14:45 +02:00
Kacper Donat
15051f3f1e Merge pull request #22544 from jffmichi/undockfullscreen
Gui: Allow undocking and fullscreen for all MDI windows
2025-07-25 00:18:20 +02:00
jffmichi
59cb30cd2d Gui: use correct cast with getActiveView 2025-07-21 00:44:18 +02:00
Chris Hennes
787c190368 Remove boost::filesystem includes 2025-07-18 20:26:56 +02:00
Benjamin Bræstrup Sayoc
b54bbf57f9 Gui: use parameter observer for locale parameter
Parameter change should be independent of the use of the preference window.
2025-06-14 18:25:03 +02:00
bofdahof
353acbb27b Base: simplify UnitsSchemas management
Fixes: Maintaining schemas is difficult and error-prone

- Facilitate easy schemas add, remove, change, etc.
- Remove 14 files containing approx 2,190 lines of if/else code and data
- Place data in one file (UnitsSchemasData.h) using a normalized structure (including special functions)
- Isolate and simplify data operations (code)
- Remove schemas enum to keep data independent of code
- Separate responsibilities: Specifications, data, schemas, schema
- Add schema data 'isDefault'
- Add schema data name
- Prefer algorithms to raw loops
- Add schemas unit tests
- Tweak quantity unit tests
2025-04-27 00:45:54 +02:00
bofdahof
3db1378981 Gui: simplify fractional inch option visibility in DlgSettingsGeneral 2025-04-27 00:45:53 +02:00
bofdahof
cb5caf6765 Gui: apply std::ranges 2025-03-16 17:15:14 -05: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
tritao
4c93a14fea Gui: Reorganize the dialog files into a top Dialogs folder. 2025-01-24 16:28:02 -06:00
wasd845
85eaa2d373 Add export config directory specification feature (#15235) 2024-12-13 10:44:30 -06:00
Syres916
6a3915316f [Gui] Disable the ability to change themes and preference packs... 2024-10-10 20:25:30 -05:00
Syres916
f53e81cd06 [Gui] Apply requested changes 2024-07-15 20:17:58 +01:00
Syres916
7276b97570 [Gui] Preferences - fix the theme combobox index lookup...
...when the user has FreeCAD-themes (and no doubt other theme addons) installed.
2024-07-11 23:50:26 +01:00
Kacper Donat
3e0fb8fc13 Gui: Add information about custom themes to settings
Fixes: #14929
2024-07-01 18:27:23 +02:00
Furgo
a189697c99 Simplify comboview/treeview choice with natural language 2024-07-01 10:44:49 -05:00
Kacper Donat
acacdea43b Gui: Change QStyle only with theme
It fiexes performance issues on applying preferences that happens due to
forcing Qt style which is quite slow operation.
2024-06-24 11:28:13 -05:00
wmayer
422549ee6a Fix a couple of language change issues
When changing the language in the preferences dialog without closing it then a few things are not re-translated
2024-06-10 11:19:37 -05:00
Kacper Donat
3e4195410e Gui: Add QtStyle user parameter
This allows theme developers to set proper Qt style.
2024-06-06 22:26:21 -05:00
Kacper Donat
302706be38 Gui: Add ability to disable single-solid rule by default 2024-05-20 12:25:36 -04:00
wmayer
7e698ba537 Fixes #11861: Gui::PrefUnitSpinBox requires restart after unit system change
This fixes a regression of PR #11266 that dropped the case where neither the option 'Ignore project unit system and use the default' is set
nor an active document exists. In this case nothing happens even if the user changed the unit system.
2024-03-22 09:40:13 +01:00
wmayer
74121ea127 Gui: fixes #12043: Treeview doesn't work if not in combo view mode 2024-02-12 18:46:29 +01:00
CalligaroV
adb1fcfed8 Preferences: reset preference pages parameters set without using "PrefWidgets" objects
Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-01-15 11:28:12 -06:00
bgbsww
c2bab7a2fa Move the unit schema into Project Information and remove all Project Unit System code (#11266)
* Add unit system to Project Information and store with document.

* Remove the project unit system

* Restore correct document activation signalling to fix test fail

* Remove commented out dead lines

* Restore ignore option for project unit schemas

* Whitespace fix

* Refresh after changing units

* Remove field label

* Property editor changes applied to unit system
2023-12-04 13:04:53 -06:00
wmayer
abe9fabc46 Gui: implement option to disable overlay management 2023-10-14 13:36:12 +02:00
Zheng, Lei
033f520cc5 Gui: expose various overlay UI options to preference pages 2023-10-11 09:58:53 +02:00
AgCaliva
3ac69993c0 merge master via cli 2023-10-04 13:28:48 -03:00
wmayer
9f42bdb323 Gui: fixes #10807: By default keep the old tabulated layout of ComboView and TaskView 2023-09-30 17:33:33 +02:00
AgCaliva
cfdbd2322a Merge branch 'master' into User/Document/Feature_level_units_selection_#7746 2023-09-18 14:01:25 -03:00
wmayer
dc6ce5a08b Gui: implement handling of Combo, Property and Tree view 2023-09-14 13:35:13 +02:00
AgCaliva
3da00e36a3 Merge Master 2023-08-30 16:24:16 -03:00
wmayer
888a33917d Gui: modernize C++: use equals default 2023-08-20 18:12:43 +02:00
Paddle
a222f64a93 Theme: Fix the issue that the stylesheet combobox did not update when theme changed. 2023-08-16 08:14:07 +02:00
Paddle
37ad74519f Pref: Theme: Make sure theme has changed before saving the setting. 2023-08-11 13:19:19 +02:00
Paddle
c547e3cddf Pref: Theme: Solves #10136 2023-08-11 13:19:19 +02:00
AgCaliva
dae3d4f690 fixed class name 2023-08-09 02:19:26 -03:00
AgCaliva
5c4631165a merge master 2023-08-08 23:29:40 -03:00
Paddle
34eb609415 Move all the preference pages to PreferencePages subfolder. 2023-08-08 11:12:48 +02:00