Commit Graph

7017 Commits

Author SHA1 Message Date
PaddleStroke
e9c5feb40d Core: Overlay: Improve AutoTask mode (#26768) 2026-01-22 20:24:29 +01:00
Chris Hennes
29df72c1a7 Merge pull request #25239 from graelo/quicklook-clean-pixi
feat(macos): add quicklook extensions
2026-01-21 15:27:22 -06:00
PaddleStroke
dee4ab6dbd Gui: Fix property checkbox regression (#27049)
* Gui: Fix property checkbox regression

* Update PropertyItemDelegate.cpp

* Gui: property checkbox: toggle with enter when it has focus

* [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>
2026-01-20 20:22:29 +00:00
PaddleStroke
a49edadde2 PropertyEditor: Fix tab toggling bool (#26955) 2026-01-19 11:10:11 -06:00
PaddleStroke
af053f19f5 Sketcher: Fix box selection regressions. And make addSelections Print to python (#26869) 2026-01-19 09:19:38 -06:00
freecad-gh-actions-translation-bot
10a540b1bf Update translations from Crowdin 2026-01-19 08:10:24 +01:00
graelo
237b0a64b7 fix(macos): check quicklook registration state before registering 2026-01-16 22:25:55 +01:00
pre-commit-ci[bot]
ee29d8c915 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2026-01-15 08:57:47 +01:00
graelo
c83d117386 feat(macos): add quicklook extensions 2026-01-15 08:57:47 +01:00
chris
9f9dc75627 core: qt layout ui: ux/ui: fixes #26048 keep workbench selector visible 2026-01-13 13:51:47 -06:00
PaddleStroke
5792b1173c Gui: Fix broken build in DlgAddProperty.cpp (#26877)
* Gui: Fix broken build in DlgAddProperty.cpp

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2026-01-13 00:01:17 +00:00
Pieter Hijma
b173365653 Gui: Add common types to Add Property dialog (#26765)
* Gui: Add common types to Add Property dialog

Add a preselection of commonly used types in the Add Property dialog.
The dialog supports now all properties that have an editor.  This
doesn't necessarily mean that the editor is shown in the Add Property
dialog; some properties should not show their editor in the Add Property
dialog, such as vector and placement.

* Gui: Make Add Property dialog Qt 6 compatible

This change stops using a Qt 6.10 feature and makes it compatible with
all of Qt 6.

* Update src/Gui/Dialogs/DlgAddProperty.cpp

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2026-01-12 07:02:11 +00:00
freecad-gh-actions-translation-bot
7ddee25ec9 Update translations from Crowdin 2026-01-11 19:42:50 -06:00
timpieces
50c22e10ce Macro: Fix shortcuts in macro editor #26807
- The initial commit to block shortcuts in text edit fields
  (particularly for MacOS, where those shortcuts would activate FreeCAD
  functionality rather than text edit functionality) made a wrong
  assumption.
- It assumed that there were no text edit fields where we would want to
  actually use application shortcuts. In retrospect, this was very
  wrong, and I completely missed the macro editor.
- For now, it should be fine to change the field to only cover
  'LineEdit'. I cannot imagine a case where you'd want to (e.g.) save
  text/document from a LineEdit, but if anyone knows of one then please
  let me know.
- This does mean there are some quirks. For example in the materials
  editor, the description is a TextEdit field. Some text editing
  shortcuts won't work in here now (similar to how they didn't before
  the original commit that I made).
- I've since learned that freecad also has a text editor functionality,
  I've tested that now Cmd+S works for save as it should.
2026-01-11 09:52:06 -06:00
Max Wilfinger
3616611ea3 Gui: Handle exception in showValidExpression (#26721)
* Gui: Handle exception in showValidExpression

If an exception is raised inside showValidExpression() because the
expression cannot be evaluated then handle the exception and show it as
invalid expression.

This fixes issue: https://github.com/FreeCAD/FreeCAD/issues/26501
---------

Co-authored-by: wwmayer <wmayer@freecad.org>
2026-01-08 10:34:12 -06:00
tritao
69058376e6 Base: Remove Boost-based signals and switch to FastSignals. 2026-01-07 21:16:16 +00:00
wmayer
f9cbeb91b1 Simplify code using xerces namespace 2026-01-07 14:37:59 +01:00
Krish Sharma
850ad9e0fc Gui: Reorder Add Property dialog fields to Name-Value-Group-Type (#26567)
* Gui: Move Tooltip field after Value field in Add Property dialog

* Gui: Reorder Add Property dialog fields to Group-Type-Name-Value-Tooltip
2026-01-07 09:24:16 +01:00
Kacper Donat
77a43c55ef Merge pull request #26703 from tetektoza/fix/25840_draw_parts_of_constraints_ontop_of_others
Gui: Render constraint text, arrowheads and constraint icons above geometry lines
2026-01-07 05:39:05 +01:00
tetektoza
4aa4f2663e Gui: Render constraint text and arrowheads above geometry lines
Add Z offset for arrowheads and explicitly enable depth testing for
constraint lines in SoDatumLabel. This ensures constraint lines render
below geometry (respecting zConstr level) while text and arrowheads
render on top for better visibility and selection.
2026-01-06 20:07:25 +01:00
Chris Hennes
a985f63e25 Merge pull request #26554 from PaddleStroke/patch-106258
Sketcher: Reverse #25478 and #26033 and fix #13852
2026-01-05 08:50:47 -09:00
PaddleStroke
0fa707c523 Sketcher: Speed up large bulk Selection in edit (#26663)
* Sketcher: Speed up large bulk Selection in edit

* Update ViewProviderSketch.cpp

* Update src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp

---------

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2026-01-05 17:41:45 +00:00
PaddleStroke
450789e77b Sketcher: Fix text sometimes reversed when switching from one sketch edit to another.
Sometimes when user would switch from editing one sketch to edit to another sketch by double clicking on the new sketch, without living the previous sketch, it would then render the text of constraints backward. This was happening because the unsetEdit of the previous sketch was clearing the selection and adding the old sketch as selected. Then the new setEdit was failing to find the correct editing placement resulting in backward text.
2026-01-05 16:17:04 +01:00
freecad-gh-actions-translation-bot
2592406b35 Update translations from Crowdin 2026-01-05 08:47:20 +01:00
Chris Hennes
239567c03c Merge pull request #25009 from tetektoza/fix/24290_respect_selectable_option_if_nested_objs
Gui: Respect Selectable property for objects inside Part containers
2026-01-04 10:37:04 -09:00
Kacper Donat
c938645843 Gui: Migrate to new styles
Since some time we have new stylesheets based on style parameters. For
compatibility reasons however old stylesheets were left in the project -
this commit removes them by reapplying the theme if old stylesheet is
detected.
2026-01-04 10:33:40 -09:00
tetektoza
3f49f3f059 Gui: Add hidden anchor object to root for transparency (#26590)
* Gui: Add hidden anchor object to the root for transparency

Image planes with transparency failed to render correctly in empty scenes
because OpenInventor's two-pass transparency rendering requires at least
one opaque object to properly initialize the depth buffer.

The fix adds a zero-scaled cube with no material node (making it use
OpenGL's default opaque material) to each image plane's scene graph.
This hidden object:
- Acts as a depth buffer anchor for transparent rendering
- Is invisible (scaled to 0,0,0)
- Has negligible performance impact

This matches the workaround already used in the rotation center indicator
and resolves the issue where image transparency only worked when the
rotation center, grid, or other opaque objects were visible.

* Gui: Exclude hidden anchor from bounding box calculations

Prevents the hidden anchor from affecting "fit all" and other bounding box
operations by wrapping it in `SoSkipBoundingGroup`.
2026-01-03 04:06:26 +00:00
Kacper Donat
1dc611fcc1 Gui: Prevent whole-object highlight when picked list is enabled (#26589)
* Gui: Prevent whole-object highlight when picked list is enabled

Removed the logic that forced `onTop=1` when `needPickedList()` is true
in View3DInventorSelection. This was causing the entire object to be
highlighted instead of just the selected sub-element when the "Picked
object list" option was enabled.

* Part: Remove `needPickedList` mat override to prevent rendering artifact

The `needPickedList` check in `SoBrepFaceSet` was triggering
unnecessary material override processing that caused face clipping
artifacts when the "Picked object list" option was enabled in Selection
View. This check has been removed as the picked list functionality works
independently of the rendering path.
2026-01-02 18:09:04 +01:00
tetektoza
4dcef14bd8 Gui: Prevent whole-object highlight when picked list is enabled
Removed the logic that forced `onTop=1` when `needPickedList()` is true
in View3DInventorSelection. This was causing the entire object to be
highlighted instead of just the selected sub-element when the "Picked
object list" option was enabled.
2026-01-01 21:20:55 +01:00
Kacper Donat
f5759e580b Merge pull request #26495 from tetektoza/fix/26441_fix_exported_html_file_is_not_valid
Gui: Fix XHTML and X3D export validation and rendering issues
2025-12-30 18:40:39 +01:00
tetektoza
80532b78e1 Gui: Add Selectable property to Part containers
Change `ViewProviderPart` to inherit from `ViewProviderGeometryObject`,
giving Part containers the Selectable property. This allows recursive
selectability checks to respect the entire container hierarchy.
2025-12-30 18:12:13 +01:00
tetektoza
57dd04f214 Gui: Use encodeAttribute when escaping XML attributes for XHTML 2025-12-30 17:22:00 +01:00
Chris Hennes
e858a13a5f Gui: Add explicit find_package for Qt6::GuiPrivate 2025-12-29 17:51:47 +01:00
Rahul Paul
1002bcb398 [MOD] Fix premature evaluation and recursive updates in Image Plane Settings (#26390)
* Fixed image editor

* decoupled the chnage height and width fns

* final fixes
2025-12-29 17:34:29 +01:00
freecad-gh-actions-translation-bot
7fe10f7436 Update translations from Crowdin 2025-12-29 11:31:39 +01:00
tetektoza
38bb34ab85 Gui: Clean up XHTML meta tags per Nu validator feedback
- Change http-equiv="Content-Type" to simpler charset="utf-8"
- Remove unnecessary type="text/javascript" from script tag
2025-12-27 19:38:34 +01:00
tetektoza
2ae054e470 Gui: DOCTYPE and structure improvements
Fix X3D standalone export (.x3d):
- Use proper X3D 3.3 DOCTYPE instead of XHTML DOCTYPE
- Remove problematic default namespace declaration
- Use xsd:noNamespaceSchemaLocation for better parser compatibility
- Remove invalid width/height attributes

Fix XHTML/X3DOM export (.xhtml):
- Wrap navigation buttons in <div> (required by XHTML Strict)
- Keep X3D elements unprefixed for X3DOM compatibility
- Add proper XHTML structure with XML declaration
2025-12-27 19:22:28 +01:00
tetektoza
fe7bceeb79 Gui: Escape XML special characters in attributes for XHTML
Add escapeXmlAttribute() helper function to properly escape special
characters in XML attribute values:
- Double quotes (") --> &quot;
- Ampersands (&) --> &amp;
- Less-than (<) --> &lt;
- Greater-than (>) --> &gt;
- Single quotes (') --> &apos;
2025-12-27 18:51:52 +01:00
tetektoza
679d4c2397 Gui: Fix XHTML doc structure
- Add missing <title> element in <head> (required by XHTML Strict)
- Add <body> wrapper around content (required by XHTML)
- Add Content-Type meta tag for proper character encoding
- Fix indentation of buttons to be inside body element
2025-12-27 18:48:22 +01:00
horseDeveloper
4892154faf Fixing Leftover references from migration from freecadweb.org (#26163) 2025-12-26 11:11:12 -06:00
tetektoza
b44d75454f Gui: Respect parent container selectability in nested selections 2025-12-26 13:55:02 +01:00
tetektoza
17543ea69e Gui: Respect Selectable property for objects inside Part containers
Currently if user selects object with `Selectable=false` property which
is nested inside a Part container, for example `Part->Body->Pad`, parent
Part container will get highlighted in the 3D view, even though the user
clicked on a non-selectable child object.

Cause of that is that tree view's `getTopParent()` function resolves
nested objects selections to their top-level container. When a Pad
inside Part is selected, `SoFCUnifiedSelection` was only checking Part's
`isSelectable()` status, even though the target is `Pad`.

So the fix is to resolve subname to get the final target object and
checks its `isSelectable()` status before checking for highlighting.
2025-12-26 12:46:07 +01:00
Krzysztof
47d1913544 Core: Extend completer popup list in 'Expression editor', fix size and position adjustment (#25242)
* Core: Fix completer popup adjustment after 'Tab' pressing
Completer popup in Expression Editor is now positioned and sized after pressing 'Tab'. This was missing when feature was added.

* Core: Extend completer popup list to up 20 elements or up to screen edge
Completer popup will now show up to 20 elements or will be limited to screen edge; if limited < 3 rows, popup will be displayed over cursor.

* Core: Fix completer wrapping on secondary screens

* Core: Fix completer positioning when includes long entries

* Core: Fix linter complaints
2025-12-25 09:11:00 +01:00
captain0xff
5cc05a1ab2 Gui: fix linear dragger increments when the multFactor is set 2025-12-25 09:10:27 +01:00
PhoneDroid
86e38348fd [ Dialogs ]: Update SPDX License Identifiers 2025-12-24 22:07:01 -06:00
PhoneDroid
55452aa2ae [ Language ]: Update SPDX License Identifiers 2025-12-24 22:05:23 -06:00
PhoneDroid
ca9d9a7a3d [ Inventor ]: Update SPDX License Identifiers 2025-12-24 22:05:07 -06:00
timpieces
a2dabd42e0 MacOS: Disable actions while file dialogs are open (#26169)
- Any action part of the application menu will trigger based on shortcut
  when a native file dialog is open
- Another way to fix this is to switch out the application menu, but
  afaict it requires writing native objective-c code. I think that's too
  much complexity just to get cmd+c/cmd+v in these file dialogs
- For now, just disable the actions so that select-all, rotate-left, etc
  don't trigger when pressed in these dialogs
- I've implemented an RAII wrapper to disable this. It should take
  pointers which should be fine because all of these dialog calls are
  blocking (so in principle nothing can change underneath).

I'm quite sure this won't have any adverse effects on other platforms,
but will need help from other developers to test in case.
2025-12-23 09:18:08 -06:00
timpieces
4567d04547 MacOS: Block shortcuts from overriding text input (#14869)
- It seems that on MacOS (vs other platforms), shortcuts for items in
  the application menu are given 'ultimate' priority, and will even take
  precedence over text inputs
- There is a mechanism in QT (I believe designed with mac in mind) to
  try to 'block' these shortcuts and send it to the focus instead. It's
  'Shortcut Override': https://wiki.qt.io/ShortcutOverride
- Initially I was going to only apply this check when it's a Command
  that overrides a known line-editing shortcut, but I figure it's
  simpler to just always apply it when editing text. I can't really
  imagine a user wanting to use an application shortcut while editing
  text, but if there's some compelling use-case for this then let me know
  and I'll add a further filter.

I'm quite optimistic that this won't have any ill-effects on other
platforms, but I'll need help from others to test this.
2025-12-22 21:39:00 -06:00
Kacper Donat
febfd65e59 Gui: Ensure that QuantitySpiBox handles expression properly 2025-12-22 11:00:07 -06:00