Commit Graph

39817 Commits

Author SHA1 Message Date
Chris Hennes
ec86e2a440 Sketcher: Remove redundant checks
Also cleanup missing curly braces.
2025-06-20 22:48:31 +02:00
Chris Hennes
bb1760546b Sketcher: Remove dead code 2025-06-20 22:41:59 +02:00
Chris Hennes
f0b53af32f Part: Remove remnants of code from TNP merge 2025-06-20 22:41:24 +02:00
Chris Hennes
965bb6d2c8 Tools: Use a safer hostname detection 2025-06-20 22:40:55 +02:00
Kacper Donat
273a84c822 Merge pull request #22015 from 3x380V/matrix4d_fixes
Matrix4D fixes
2025-06-20 22:39:44 +02:00
Benjamin Nauck
a6485d1ae1 Gui: Use middle elide for text in model tree 2025-06-20 22:37:37 +02:00
Max Wilfinger
45ee397b43 Gui: Add toggle overlay icons 2025-06-20 22:36:40 +02:00
Benjamin Nauck
079a81c59d Merge pull request #22025 from tetektoza/sketcher_regression_1 2025-06-20 19:21:14 +02:00
tetektoza
c8d2ae494b Sketcher: Handle additional characters for OVP in regexp
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-06-20 00:33:48 +02:00
Alfredo Monclus
acdfdd5d1b Gui: Tasks: fix in place close and ok buttons 2025-06-19 18:42:24 +02:00
Kris
0b6a451790 Gui: Move Submenu Commands in Tool Menu (#20864)
* Moved tools submenu commands and title case

* Apply suggestions from code review

Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>

---------

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
2025-06-19 08:33:36 +02:00
Kacper Donat
89504d89d6 Merge pull request #21982 from tetektoza/feature/11603_render_constraints_below_geom
Sketcher: Prioritize rendering geometry lines rendering over constraints
2025-06-19 00:03:50 +02:00
tetektoza
0662b8c0bb Gui: Change ordering of names in Link property
As the title says, currently it is:
ObjName (Label), this patch changes it to Label (ObjName) to be more
user friendly.
2025-06-18 23:38:52 +02:00
Syres916
8844319d33 [BIM][Draft][CAM] preparation for deprecation of QCheckBox… (#21939)
* [BIM][Draft]{CAM] preparation for deprecation of QCheckBox stateChanged -> checkStateChanged
2025-06-18 11:24:21 +02:00
David Tanana
3f7438a686 PartDesign: Added 1 3/16 16 threaded drill hole diameter (#22000)
* Adding UNf 1 3/16  16 to this list
* Updating type and test params
2025-06-17 08:59:00 -05:00
Chris Hennes
21b607a110 Draft: Eliminate redundant assignment to self (#22006)
* Draft: Eliminate redundant assignment to self

* Removed confusing comment.

---------

Co-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>
2025-06-17 09:40:01 +02:00
Furgo
38499d4470 DXF: rename "Group layers into blocks" setting (#21896)
* DXF: rename "Group layers into blocks" setting

* DXF: apply suggested improvement children => contents

* Import: DXF, change tooltip to reflect the reality of the current code

https://github.com/FreeCAD/FreeCAD/pull/21896#issuecomment-2958611607
2025-06-17 09:38:38 +02:00
tetektoza
24851dbae9 BIM: Allow user to skip dialog during type conversion
As the title says - this adds a new option to the dialog to `never ask
again` as well user can customize both settings through preferences.
2025-06-17 09:35:38 +02:00
tetektoza
ea006aba10 BIM: Fix IFC type assignment not being saved to file
As the title says, this is simple fix - basically right now anytime user
changed Link property to point to proper IFC type, we weren't writing to
the IFC file buffer to finally write it to the file if user would save
it.

So this patch makes sure we write to this buffer by calling appropriate
function, and making ifc object have proper pointer to IFC type.
2025-06-17 09:33:57 +02:00
tetektoza
f5e26f2fda Gui: Emit signal to EditableDatumLabel only if there's no digits
Small regression of mine, basically this signal to remove set/locked
state of EditableDatumLabel should be only sent out if current text in
the label is empty or it doesn't contain digits.

Previously it was emitted every intermediate wrong state, so stuff like
"71." was also being matched, and it resulted in resetting the locked
state of the label, which in turn resulted in keeping user from entering
float values.
2025-06-17 00:34:21 +02:00
tetektoza
4c1e7835bd Core: Add guard in Tree to ensure we don't process items during deletion 2025-06-17 00:15:49 +02:00
tetektoza
9a9242817d Core: Fix crashes during item deletion in specific selection order
This patch fixes crashes that we've noticed during migration from Qt5 to
Qt6 in recent months.

If you select items in a tree in a specific direction or range (all, or
from bottom to top) and delete them, there is a high change user will
experience a crash in `testStatus` function. This problem arises because
we're getting into use-after-free situation.

Looking at the callstack there are a lot of calls to
`itemSelectionChanged` during deletion, which takes over item creation
after deletion in `TreeWidget::_slotDeleteObject`. This in turn causes
`DocumentObjectItem::testStatus` to be called prematurely when we have
dangling pointers in object map still. `itemSelectionChanged` signal is
being transmitted because the selection range is changing as we're
constantly deleting and readding certain items.

Previously there was `blockSelection` call during deletion, but it turns
out the signals can still be emitted even AFTER we delete the item. This
had to somehow change between Qt5 and Qt6. So, to be safe, move the
signal block for selection before the obj deletion loop to be sure we
won't retransmit this signal during an uncertain state.
2025-06-17 00:01:24 +02:00
tetektoza
c13d6c8d47 Sketcher: Remove redundant comment regarding old SoAnnotation node 2025-06-16 23:57:17 +02:00
tetektoza
9c2df53f5b Sketcher: Prioritize rendering geometry lines rendering over constraints
As the title says - since there is pending PR for better SoDatumLabel
constraints interactivity, this patch now prioritizes geometry lines
over constraints, so constraints will be rendered below lines.

This patch changes rendering order of constraint lines to be below
geometry lines, so now selection and rendering will be prioritized for
geometry lines instead of constraints.

This is done by changing depth buffer values and removal of SoAnnotation
node which was disabling depth buffer checks on constraints at all.
2025-06-16 23:56:47 +02:00
Roy-043
e6408f41af Rebase and minor adjustments 2025-06-16 18:25:59 +02:00
Benjamin Nauck
ff8e1efeba Sketcher: Refactor GeoDef and ConstrDef structs
- Fix comment for mid-point
- Use in-class member initializers instead of constructor
- Remove redundant default constructor (got redundant after initializers)
- Made comments doxygen compatible
2025-06-16 11:18:25 -05:00
tetektoza
acac7ac51b BIM: Fix Arch_SectionPlane having incorrect display style upon init
Regressed from previous behavior - there was Arch's refactor and the
base element that `SectionPlane` was inheriting from was
`App::FeaturePython`, not `Part::FeaturePython`. This changes a lot, since
`Part::FeaturePython` has predefined color (black in this case), which
later on - during property set of `SectionPlane` in properties caused
skipping of preferred setup of color.
2025-06-16 18:15:53 +02:00
Yorik van Havre
79ae800b77 Merge pull request #21826 from 3x380V/fix_21812
Spreadsheet: Re-enable zooming and fix cursor change
2025-06-16 18:10:27 +02:00
Benjamin Nauck
1cf0f8570d App: Trim “Gui::” and “NavigationStyle” more securely
By using regex we can remove prefix and suffix more securely as we can’t assume all navigation styles are formatted the same (mistakes can happen)
2025-06-16 11:07:40 -05:00
Chris Hennes
a5cc926bf5 Merge pull request #21921 from furgo16/add-prefcheckablegroupbox
Gui, Draft, BIM: Add PrefCheckableGroupBox, use it in IFC exporter preferences page
2025-06-16 11:06:30 -05:00
George Peden
13e236dfe6 Sketcher: Add contextual input hints to edit tools (InputHints Phase 3) (#21806)
* Add input hints to fillet and chamfer tools

* Add hints to trimming tool

* Add hints to splitting tool

* Implement hints for extend tool

* Add hints to external geometry

* Add hints to Carbon Copy tool

* Hint updates to align with developer guidelines

* change "click to set" to "set" per PR comments

* Use enum (or declare one) to be type safe per PR comments

* For "trivial" one-step / one-state tools, refactor with direct hint return rather than using declarative / table pattern.

* Refactor hint tables initializers with C++20 features per PR feedback

- Use designated initializers (.state = , .hints = ) for clearer structure
- Add 'using enum Gui::InputHint::UserInput' to eliminate repetitive prefixes
- Applied to DrawSketchHandlerExtend and DrawSketchHandlerFillet

* Refactor Splitting tool hint implementation with direct return (trivial) pattern

* For fillet change "vertex" to "point" per PR feedback

* Change hint to "pick location on edge to split" per PR feedback
2025-06-16 11:05:13 -05:00
Max Wilfinger
d59f404267 Gui: Center notification label and disable show report view by default (#21872)
* Gui: Center notification label and disable show report view by default

* Stylesheet: min-width: 0 for QStatusBar QPushButton
2025-06-16 11:03:58 -05:00
Furgo
272505d22b Import: DXF, handle non-standard 8859_1 encoding (#21905)
* Import: improve DXF importer exception handling

* Import: DXF, pinpoint erroneous header section when reading

* Import: tackle 8859_1 non-standard encoding name
2025-06-16 18:02:56 +02:00
Roy-043
c749270a25 BIM: fix display of help menu items after reactivation
Fixes #21873.
2025-06-16 17:54:43 +02:00
Chris Hennes
488b5e2849 Merge pull request #21924 from hyarion/fix/lcs-crash
Gui: Fix crash when creating a LCS
2025-06-16 10:42:55 -05:00
Ryan Kembrey
f338a779e0 TechDraw: Add spacing preview without OCCT calls 2025-06-16 10:41:21 -05:00
Samuel
4a52ab9f05 CAM: Show abbreviations next to properly labels in the toolbit editor (#21887) 2025-06-16 10:40:32 -05:00
Furgo
267c957a7d 3rdParty: avoid warnings from libE57Format (#21818)
* 3rdParty: avoid warnings from libE57Format

* Suppress all warnings from libE57Format

* Fix typo in original file
2025-06-16 10:39:12 -05:00
Furgo
c9a3397bc7 BIM: fix ArchPipe's view provider initialization 2025-06-16 17:37:28 +02:00
paddle
24efbf4234 Part: FaceMakerRing from RealThunder's branch.
Co-authored-by: Zheng Lei <realthunder.dev@gmail.com>
Co-authored-by: Pierre-Louis Boyer <pierrelouis.boyer@gmail.com>
2025-06-16 10:33:35 -05:00
Max Wilfinger
c1d17bcc6b Sketcher: ShowDimensionalName by default 2025-06-16 10:32:42 -05:00
wmayer
11a05b71b7 Base: Use nested std::array for Matrix4D class 2025-06-16 10:05:43 +02:00
wmayer
13232cbc7b Base: Simplify Base::Matrix4D
As discussed in https://forum.freecad.org/viewtopic.php?t=65959 reduce code duplications
2025-06-16 10:05:43 +02:00
wmayer
7998f57048 Base: Use i,j consistently for iterations Matrix4D
As discussed in https://forum.freecad.org/viewtopic.php?t=65959
use consistently i,j to iterate over rows and columns
2025-06-16 10:05:43 +02:00
wmayer
e9ef35c53d Base: Do not use short int in Matrix4D
As discussed in https://forum.freecad.org/viewtopic.php?t=65959
replace short with int.
2025-06-16 10:05:43 +02:00
Captain
ce54149637 Gui: refactor SoLinearDragger (#21451)
* Gui: refactor SoLinearDragger

* further improvements

* allow changing label visibility

* change SoLinearDraggerContainer to not inherit from SoDragger

---------

Co-authored-by: captain <captain@captain.captain.com>
2025-06-14 23:21:25 +02:00
theo-vt
76952aabc7 Sketcher: Fix autoscale issue with the origin (#21952)
* Correctly handle geo ids < 0 in scale handler
2025-06-14 13:07:19 -05: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
Chris Hennes
c134c05e8b Base: Disable XML external entity expansion
Addresses https://github.com/FreeCAD/FreeCAD/security/code-scanning/29
2025-06-13 10:44:01 +02:00
pre-commit-ci[bot]
bc5cf27109 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-06-13 10:40:48 +02:00