Commit Graph

43125 Commits

Author SHA1 Message Date
Chris Hennes
fa98beb221 App: refactor to use unique_ptr
Also address other reviewer comments.
2025-08-27 11:51:22 -05:00
Chris Hennes
c1805413e0 Gui: Refactor to not use std::ranges
Older Ubuntu doesn't like the mechanism used to split on commas
2025-08-27 11:51:22 -05:00
Chris Hennes
5c7a44d7d8 App: Fix problems with temp dir creation 2025-08-27 11:51:22 -05:00
Chris Hennes
ade698e52d Gui: Detect new versions and offer to migrate
At the very end of the startup process, check to see if we are using a
versioned directory from a previous version, or we are not versioned at
all but are using the system's default storage location (that is, not a
custom config path set on the command line, etc.). If so, offer to
migrate the old configration folders into new ones for the current
version.
2025-08-27 11:51:22 -05:00
Chris Hennes
bce7ff8708 App: Add directory versioning for data and config
At the application level, support the existence of subdirectories inside
the original config and data paths for a specific version of the
software. For a new installation, create them, but for an existing
installation use the most recent available version, even if it's not the
current one (and even if it's not versioned at all). Any migration must
be done at the GUI level due to the amount of data that is potentially
being copied during that process.
2025-08-27 11:51:22 -05:00
Chris Hennes
3426c9ff21 App: Migrate directory handling to helper class
Use std::filesystem wherever possible, replacing most uses of
std::string when the object is actually a path. This is the first stage
of refactoring, and does not make any changes to Application that affect
client code. Access to the new directory-handling class is implemented,
but is unused by any external code.
2025-08-27 11:51:22 -05:00
Chris Hennes
5fe310a3c2 Merge pull request #23140 from kadet1090/yaml-source-style-parameters
Gui: Add YamlParameterSource for StyleParameters
2025-08-27 10:34:17 -05:00
Kacper Donat
1237ba7852 Merge pull request #22944 from pieterhijma/expr-dialog-varset
Gui: Improve Expression dialog for VarSets
2025-08-27 16:14:25 +02:00
Kacper Donat
5719bb8bf8 Merge pull request #22389 from PaddleStroke/pd_transform
PartDesign: Transform tools
2025-08-27 15:22:26 +02:00
Pieter Hijma
c97305a9fc Gui: Add more translations to expr dialog
This adds translations to the feedback on the expression, for example if
there is a unit mismatch.
2025-08-27 14:59:28 +02:00
Pieter Hijma
118cad87de Gui: Make expr dialog input validation themeable 2025-08-27 14:58:44 +02:00
marioalexis
b2ad8d79de Fem: Acquire the GIL before running Python code 2025-08-27 14:58:06 +02:00
wwmayer
df4486733e Fem: Fix crash when writing mesh to z88 file
For the z88 export the FemMesh must be passed to its Python wrapper which will increase the counter upon construction and decrease it upon destruction. If the counter becomes 0 the FemMesh will be destroyed too which causes a crash.

To fix the crash the counter must be increased and safely decreased after the lifetime of the Python wrapper.

This fixes https://github.com/FreeCAD/FreeCAD/issues/23380
2025-08-27 14:57:50 +02:00
Paul Lee
43eafe9dc2 [ArchStructure] Fix Regression : FaceMaker
Fix #22822

See discussion and example model file in github :-
https://github.com/FreeCAD/FreeCAD/issues/22822
2025-08-27 12:30:32 +02:00
FEA-eng
513208f328 PartDesign: Update missed error message about multiple solids (#23392)
* PartDesign: Update FeatureLoft.cpp

* PartDesign: Update FeatureExtrude.cpp

* PartDesign: Update FeaturePipe.cpp

* PartDesign: Remove empty lines added by GitHub editor

* PartDesign: Remove empty lines added by GitHub editor
2025-08-27 09:37:53 +00:00
Pieter Hijma
458ae85be1 Assembly: Update Ondsel Solver to the latest 2025-08-27 11:37:30 +02:00
Pieter Hijma
6674a7084b Gui: Add translations expression dialog VarSets 2025-08-27 09:52:50 +02:00
Pieter Hijma
c0cb0b757e Gui: Process minor review comments
Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-08-27 09:52:50 +02:00
Pieter Hijma
7eec8b5416 Gui: Process comments DWG expression dialog
This commit gives an error box on invalid input for the VarSet inputs.
2025-08-27 09:52:50 +02:00
Pieter Hijma
3f6b0f5b85 Gui: Process comments DWG expression dialog
This commit ensures that the buttons stay at the end of the dialog.
2025-08-27 09:52:50 +02:00
Pieter Hijma
15bbf97b63 Gui: Process review comments expr dialog
Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
2025-08-27 09:52:50 +02:00
Pieter Hijma
2070b1c1c6 Gui: Improve presenting VarSets in expr dialog 2025-08-27 09:52:50 +02:00
Pieter Hijma
a99d903727 Gui: Stop remember state expression dialog
Before this commit, the expression dialog remembered the state of
whether the varset information should be shown.  This is removed
according to #17075.
2025-08-27 09:52:50 +02:00
Pieter Hijma
acea58f85f Gui: Improve layout expression dialog for varsets
According to #17075
2025-08-27 09:52:50 +02:00
Chris Hennes
146c84cf1e Merge pull request #23374 from wwmayer/issue_23353
Exporting mesh to Z88 format no longer breaks all export and configs
2025-08-26 23:20:25 -05:00
wwmayer
e055ce777d Fem: Fix file suffixes
*i1.txt or *o2.txt are not valid suffixes for a file dialog. In the past (until 2018) the suffixes were set to *.txt but this has been changed with 65b1484b7.

To avoid creating invalid filenames the original suffixes are restored.
2025-08-26 22:22:56 -05:00
corpix
3814bf1083 CAM: QTableView height too small in tasks panel #22957 (#23067) 2025-08-26 15:37:46 -05:00
Adrian Insaurralde Avalos
f922d282db Fix autouic warnings about duplicate names in ui files 2025-08-26 11:00:30 +02:00
wwmayer
2de6bb5301 Gui: Fix crash in FileDialog::getSaveFileName 2025-08-26 09:35:01 +02:00
paddle
0ddb804ab1 PartDesign: Patterns: Tooltips. 2025-08-26 09:13:17 +02:00
PaddleStroke
c1ccf75918 PartDesign: Transform rework 2025-08-26 08:46:51 +02:00
Benjamin Nauck
1b49998f6f Merge pull request #23291 from 3x380V/measurement
Measure: Useability improvements
2025-08-26 06:51:50 +02:00
drwho495
3ee1e3335f Toponaming: Remove updateElementReferences call in PropertyLinkSub (#23263)
* remove updateElementReferences call in PropertyLinkSub

* Retrigger checks

* update element refs after the document has restored
2025-08-25 21:39:40 -05:00
PaddleStroke
f7f9692c57 Sketcher: Circle DSH: move diameter constraint. Fix #22267 (#22862)
* Sketcher: Circle DSH: move diameter constraint. Fix #22267

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

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

* Improve. To squash

* [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>
2025-08-25 21:37:37 -05:00
Roy-043
7d5f5e13a3 MeshPart: "Trim by plane" -> "Trim With Plane" (#23361)
* MeshPart: "Trim by plane" -> "Trim With Plane"

* [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>
2025-08-25 22:39:25 +00:00
PaddleStroke
465f6cb52c Assembly: Screw Joint, fix distance name to Thread Pitch 2025-08-25 16:44:04 -05:00
Frank David Martínez M
0f2ea5588c [Core] Fix #15558: Direct expression in ternary operator (#22938)
* [Core] Fix #15558: Direct expression in ternary operator

* [Core] Added tests for Non-Numeric conditions in ternary op.

* [Core] prevent relational operator chains at grammar level.

* [Core] Rewrite expressions grammar as a layered grammar.

* [Core] Revert to left associative relops (like C/C++) plus tests.
2025-08-25 21:52:42 +02:00
paddle
0805164677 Update ondsel solver 2025-08-25 13:08:30 -05:00
Roy-043
457c57f9ad Draft: Implement hints for creation tools (#23244)
* Draft: Implement hints for creation tools

Fixes: #22886
Related: #22298

This PR implements hints for the tools in the Draft Creation toolbar.

* Fix confusing indentation

* Fix typo in comment
2025-08-25 19:42:59 +02:00
PaddleStroke
679a072a4a PartDesign: Extrude 2 sides (#21794)
* PartDesign: extrude 2 sides

* Part: OpCodes XOR

* PartDesign: Remove deprecated generatePrism functions

* PartDesign: Extrude : Update Sides combobox strings

* Change "Sides" to "Mode"

* Use OpCodes::Extrude instead of Prism.
2025-08-25 17:17:23 +00:00
Chris Hennes
e53f48d1fc Material: Add missing include for PCH 2025-08-25 18:50:27 +02:00
paddle
96361625e7 PartDesign: Remove message taskbox and use regular warnings instead. 2025-08-25 18:39:08 +02:00
paddle
274ae4ba2b PartDesign: Remove unnecessary warning. 2025-08-25 18:39:06 +02:00
paddle
a875eb4081 PartDesign: Rename Transformed::Mode enum 2025-08-25 18:38:34 +02:00
paddle
b8a6926930 Part: Add PatternParametersWidget 2025-08-25 18:38:34 +02:00
paddle
66e186f396 Gui: Move ComboLink from PartDesign to Gui. 2025-08-25 18:38:34 +02:00
paddle
1eb05317ee PartDesign: add linear pattern spacing and extent icons. 2025-08-25 18:38:34 +02:00
Roy-043
ec2ae4b205 Draft: fix 2 issues with Draft_SelectPlane 2025-08-25 18:24:01 +02:00
wmayer
2a12b9eeb7 Mesh: In ReaderOBJ replace std::atoi with std::stoi 2025-08-25 18:13:59 +02:00
wmayer
96f6b6ce3c Tests: Add test case for ReaderOBJ 2025-08-25 18:13:59 +02:00