Commit Graph

42539 Commits

Author SHA1 Message Date
jffmichi
59cb30cd2d Gui: use correct cast with getActiveView 2025-07-21 00:44:18 +02:00
jffmichi
cdac9018d1 Gui: simplify and fix setCurrentViewMode 2025-07-21 00:44:18 +02:00
jffmichi
1ad29bda6b TechDraw: fix dock/undock/fullscreen for TechDraw view 2025-07-21 00:44:18 +02:00
jffmichi
05045d6f10 Gui: enable dock/undock/fullscreen for all MDI widgets 2025-07-21 00:44:18 +02:00
Furgo
ef9378bd5b Import: improve DXF C++ importer support for BLOCK and INSERT entities (#22045)
* Import: DXF importer, block and inserts overhaul

Implement support for blocks as definitions and inserts
as instances.

A BLOCK definition becomes a hidden master object in a
_BlockDefinitions group (currently a Part::Compound).
An INSERT becomes a visible App::Link that points to
that master definition.

* Import: DXF parser/importer add debug print statements

* Import: DXF importer, various improvements

- Add more code comments
- Correctly increase object count
- Improve readability of anonymous block checks

* Import: DXF (all) report anonymous blocks separately

* Import: DXF importer (App + GUI) add nested inserts support

* Import: DXF importer (GUI) fix preserving colors for inserts

* Import: DXF importer, make primitives naming more specific

* Import: DXF parser/importer remove debug print statements

* Import: DXF parser, work around DXF color index 7

* Import: DXF importer GUI, temporary debug print to show layer color data

* Import: DXF importer, fix nested inserts hierarchy

* Import: DXF importer, prefix and suffix underscores to names

To work around mangling from FreeCAD's unique name generator.

* Import: DXF importer, implement flattening blocks on import

* Revert "Import: DXF importer GUI, temporary debug print to show layer color data"

This reverts commit b6ece395c9d2b8a1e0796d6f7b0d58842a2f3686.

* Import: DXF importer, fix imported text orientation

The DXF file provides the text rotation angle in degrees.
The used rotZ function expects the angle in radians,
thus the conversion needs to be made.

Fixes: #21548

* Import: DXF importer, honour the preference to not import layouts

* Import: DXF importer, move unreferenced blocks to separate group

This provides better classification, but it has a performance hit:
we import all blocks as before, we sort them and we reparent them
to the correct group. The reparentipart with Grou.setValues()
appears to be an expensive call. Probably because internally the
FreeCAD dependency graph is modified.

* Import: DXF importer, count compound children in the report

* Import: DXF importer, cleanup defined blocks group if empty
2025-07-12 13:38:13 +02:00
Roy-043
a30197fd6c Draft: 1st downgrade of lofts and sweep should be de-parametrization 2025-07-12 13:29:32 +02:00
Roy-043
2fe79e95cc BIM: store Classification prefix setting 2025-07-12 13:25:23 +02:00
MisterMaker
f7e023e099 Gui: Implement style parameters for built-in themes (#20528)
* added code to add more parameters to stylesheets

and test QSS files which will probably be removed when testing is completed

* update

* Update CMakeLists.txt

* some tweeks

* reverting this as it should not have been uploaded

* Update User_dark.qss

* more stuff

* code cleanup

* synced light to dark

* tweaks!!

* Fixed the qsint action tab

* tweaks

* push latest changed getting ready for release.

* tweaks

* Update FreeCAD Dark.qss

* fixessss

* wrong radiusss

* Update FreeCAD Light.cfg

changed the light background too F0f0f0

* disable tweaks

* modifications to use ThemeToken manager

See https://github.com/FreeCAD/FreeCAD/pull/20668

* Undo bunch of stuff.

* bugs

* Clean-up

* more cleanup

* Update FreeCAD_stylesheet.qss

* Big update + cleanup

* Update FreeCAD Light.cfg

* Changed UserColor to Primary

* Update actionpanelscheme.cpp

rtying to fix merge issues

* trying to fix merge issues

* clean-up

* Update FreeCAD_stylesheet.qss

* Refactor theme color variables and improve widget styling

Unified color variable naming by replacing '@PrimaryColorUIColor' and related tokens with '@PrimaryColor' and new lighten/darken variants in both dark and light theme configs and stylesheets. Added new variables for input field border radius and checkbox/radio button colors, and updated QSS rules to use these variables for consistent widget appearance. Improved styling for checkboxes, radio buttons, and input fields, and fixed menu indicator icons for better theme compatibility.

* Checkboxes and radioboxes

Rounded off the checkboxes add buttons for radioboxes.

* updated icons

* Refine toolbar, checkbox, and toolbox styles

Updated QToolButton#qt_toolbar_ext_button to use border-image and improved gradient backgrounds. Enhanced checkbox indicator styling for better color consistency and hover/disabled states. Adjusted gradients and background colors for QTabBar, QDockWidget, QHeaderView, and QToolBox elements to improve visual coherence and accessibility.

* Refine FreeCAD Dark theme hover and selection colors

Updated the FreeCAD Dark theme configuration and stylesheet to introduce new hover and border color tokens, unify hover/selection backgrounds, and replace most uses of @UserHighlight1Color/@UserHighlight2Color with @GeneralBackgroundHoverColor and @GeneralBorderHoverColor. Adjusted color lightening values for better contrast and consistency across UI elements.

* Fix QHeaderView gradient direction in stylesheet

Corrects the gradient parameters for QHeaderView::section to use y1 and y2, ensuring the background gradient renders as intended.

* Update FreeCAD Light theme user tokens

Changed MenuBackgroundColor to use @PrimaryColorLighten1 and SketcherUnderConstrainedColor to #000000. Added new tokens GeneralBackgroundHoverColor and GeneralBorderHoverColor for improved UI customization.

* Update FreeCAD Dark.cfg

* Add padding to QMenuBar items in stylesheet

Updated the FreeCAD stylesheet to include specific padding for QMenuBar::item, improving menu item spacing and appearance.

* I added the old stylesheets back for fallback

I added the old stylesheets back in the case of in forseen issues.

* Update Freecad Overlay.qss

* Refactor color tokens in Dark and Light theme configs

I sorted the tags and linked accent colors

* Update QPushButton styles for improved consistency

Adjusted padding and min-width for QPushButton elements to enhance visual consistency across dialogs and tables. Updated QTableView QPushButton styles to include hover effects and removed redundant selectors.

* Adjust QPushButton vertical padding in stylesheet

Reduced the vertical padding of QPushButton from 4px to 3px to refine button appearance and alignment.

* Adjust QPushButton styles in dialogs and panels

Updated QDialogButtonBox QPushButton to have 3px vertical padding instead of 4px, and removed special styling for QMessageBox buttons. Added a new style for QPushButton inside QFrame panels with 3px padding and no minimum width.

* undo some changes

* Update grid lines color in FreeCAD Light theme

Changed the GeneralGridLinesColor from @PrimaryColorLighten2 to @PrimaryColorDarken4 in the FreeCAD Light theme configuration for improved visual consistency.

* Update menu background color in FreeCAD Dark theme

Changed the MenuBackgroundColor from @PrimaryColorLighten4 to @PrimaryColorDarken4 in the FreeCAD Dark theme configuration to improve visual consistency.

* Update FreeCAD Dark.cfg

* Refactor selection background color handling

Introduces TextSelectBackgroundColor in both FreeCAD Dark and Light preference packs for more flexible selection styling. Updates stylesheet to use TextSelectBackgroundColor instead of UserHighlight1Color and removes redundant selection-background-color rules for improved consistency and maintainability.
Selection color is just a toned down color from the accent 1 color. This makes it better readable.

* Selection color had issues with treeview select

* woopsie add pink to find issues removed it

* Update src/Gui/Stylesheets/CMakeLists.txt

---------

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-07-11 21:33:14 +00:00
sliptonic
901deb1373 Merge pull request #22330 from z0r0/fanuc-postprocessor-fix
CAM: Fix for Fanuc Post-Processor
2025-07-11 11:00:50 -05:00
Fermín Olaiz
7fec747d90 Fix crash on out-of-bound vector access (#22397) 2025-07-09 19:07:11 +02:00
Max Wilfinger
62946c410d Update Help menu. Remove outdated links; add Developers handbook (#22283)
* Update Help menu. Remove outdated links; add Developers handbook

* Apply suggestions from code review

* Update src/Gui/CommandStd.cpp

* Update Shortcuts.cfg
2025-07-08 21:23:01 +00:00
Roy-043
ff9cbf2052 BIM: fix autojoin behavior (#22303)
* BIM: fix autojoin behavior

* Use new deletebase argument of joinWalls

* Remove colon from task bar title
2025-07-08 15:19:19 +02:00
pre-commit-ci[bot]
264362a806 [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pre-commit/mirrors-clang-format: 64827eb3528d4dc019b01153e9fb79107241405f → 6b9072cd80691b1b48d80046d884409fb1d962d1](64827eb352...6b9072cd80)
2025-07-07 18:45:59 +02:00
FEA-eng
8cc90069eb Sketcher: Add tooltip for autoscale feature (#22252)
* Sketcher: Update SketcherSettings.ui

* Sketcher: Update SketcherSettings.ui
2025-07-07 18:31:55 +02:00
Zbyněk Winkler
981ca6d52d build and install debug build explicitly 2025-07-07 18:20:28 +02:00
Zbyněk Winkler
129e8df4e2 update python debugger type to debugpy
vscode says that "python" is deprecated
2025-07-07 18:20:28 +02:00
Zbyněk Winkler
623c0466a8 Improve compatibility with VSCode
- remove build directory override, use build directory from CMakePresets.json
  without this VSCode cannot use builddir created by pixi
- add *-debug and *-release commands everywhere
2025-07-07 18:20:28 +02:00
Zbyněk Winkler
7f3c6923b4 remove conda dir since we have pixi 2025-07-07 18:20:28 +02:00
FEA-eng
0367c952dd FEM: Update ElementGeometry1D.ui (#22134) 2025-07-07 18:16:22 +02:00
sliptonic
c5f97ee894 Merge pull request #21341 from tarman3/arraywarning
CAM: Changes in warnings of old Array
2025-07-07 11:06:11 -05:00
dependabot[bot]
819f7c308a Bump step-security/harden-runner from 2.12.1 to 2.12.2
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.12.1 to 2.12.2.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](002fdce3c6...6c439dc8bd)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-version: 2.12.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 17:50:38 +02:00
FEA-eng
393edbcb3e Part: Enable solid creation by default for Loft and Sweep (#22098)
* Part: Update PartFeatures.cpp

* Part: Update DlgRevolution.ui

* Part: Update TaskLoft.ui

* Part: Update TaskSweep.ui

* Part: Update PartFeatures.cpp

* Update src/Mod/Part/Gui/DlgRevolution.ui

---------

Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
2025-07-07 17:46:19 +02:00
Roy-043
0ccfaf2d8a Draft: gui_utils.py minor improvement for autogroup 2025-07-07 17:03:21 +02:00
Roy-043
3e39a01312 Draft: make_sketch.py should not use view direction (#22249) 2025-07-07 17:02:14 +02:00
tetektoza
3b73888b43 BIM: Add an option to preload IFC types during document opening (#21450)
* BIM: Add an option to preload IFC types during document opening

Currently, IFC types are only possible to be loaded if user double
clicks an IFC object, and this has be done for optimization reasons.

But user can also want to preload IFC types, so this patch adds an
option to the dialog and Properties dialog to do just that.

* BIM: Remove cyclic import

---------

Co-authored-by: Yorik van Havre <yorik@uncreated.net>
2025-07-07 16:06:43 +02:00
Zbyněk Winkler
7fcfef5972 Copy subvolume before changing its Placement
Placement property of a cached object was modified each time
component is recalculated.

Fixes #22162.
2025-07-07 15:35:26 +02:00
Roy-043
9156ac3e27 BIM: check OutListRecursive in addComponents 2025-07-07 14:57:19 +02:00
Roy-043
360241c8bf BIM: improve Arch_MergeWalls (#22262)
* BIM: improve Arch_MergeWalls

* Improve delete behavior

Keep hosted objects*, additions and subtractions if delete is False. 

* For hosted objects with a Host property this is not possible.

* Make deletion of base objects optional
2025-07-07 14:51:27 +02:00
Roy-043
7b6f97f4fc BIM: fix visibility handling of objects hosted by additions 2025-07-07 14:46:29 +02:00
Roy-043
50f07be55b BIM: fix handling of Project coin nodes (#22244)
* Update ArchProject.py

* Update ArchSite.py
2025-07-07 14:45:07 +02:00
Syres916
2c1a6b777b [BIM] Stop combobox sizeAdjustPolicy warning 2025-07-07 14:42:58 +02:00
Roy-043
12f4d1da2e BIM: fix profile selection (#22223)
* Update params.py

* Update ArchStructure.py

* Update BimProfile.py
2025-07-07 14:39:55 +02:00
Roy-043
b0dabc2237 BIM: fix Arch_SectionPlane 'Toggle Cutview' issue 2025-07-07 14:28:06 +02:00
Ryan Kembrey
9cfc2ea6ac Sandbox: Update UI strings for consistency 2025-07-07 13:51:33 +02:00
Roy-043
af71c26687 BIM: fix default radius for rectangular pipe connector
Fixes #22364.

The default radius of a connector between rectangular pipes should depend on the Height or Width of the pipe (the max. of the two is used), not on the hidden (and unused) Diameter property.
2025-07-07 13:46:38 +02:00
Max Wilfinger
e6d74e6316 Sketcher: Update missed UI strings (#22363) 2025-07-07 10:16:07 +02:00
Benjamin Nauck
89a1bd9f7a Merge pull request #20668 from kadet1090/stylesheet-params
Gui: Add Style Parameter Manager to contain theme parameters
2025-07-07 02:58:36 +02:00
theo-vt
16fa3ad094 Sketcher: Autoscale: do not scale dimension's position if it is a radius or diameter (#22308)
* Do not scale dimension's position if it is a radius or diameter

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

Sketcher: spell checking

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-07-06 23:25:24 +00:00
Kacper Donat
95c411db38 Gui: Fix too small link icon on high dpi (#22359)
* Gui: Fix too small link icon on high dpi

* Gui: suppress warning in ViewProvideLink.cpp

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-07-06 22:37:34 +00: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
Kacper Donat
c48e5f6e20 Merge pull request #22322 from oursland/pixi-update
pixi: Update pixi dependencies for VFX Reference Platform.
2025-07-06 16:50:19 +02:00
Syres916
1ae3394be4 [TechDraw] Fix Qt6 compatability of FillTemplateFields tool 2025-07-06 16:49:18 +02:00
Kacper Donat
93a472c202 Merge pull request #22138 from chennes/compilerWarningCleanup20250622
Compiler warning cleanup
2025-07-06 16:32:08 +02:00
Roy-043
22c92d550c Update DraftGui.py 2025-07-05 22:44:22 +02:00
Kacper Donat
e65f69715b CAM: Fix origin indicator for Job
This commit fixes how origin (coordinate system) indicator looks. Before
it showed as disc, and now it shows as point which is more approperiate
given the context.
2025-07-05 18:46:01 +02:00
Luz Paz
059619cc28 Fix various typos
Found via codespell
2025-07-04 21:24:09 +02:00
Ian Abreu
2a9e7439c2 Merge branch 'fanuc-postprocessor-fix' of github.com:z0r0/FreeCAD into fanuc-postprocessor-fix 2025-07-04 11:31:21 -04:00
Ian Abreu
8a69bdb0c4 correcting to use Tool vs. ToolController 2025-07-04 11:30:46 -04:00
Ian Abreu
127a536625 Merge branch 'main' into fanuc-postprocessor-fix 2025-07-04 11:21:14 -04:00
Ian Abreu
2ec501f802 initial fix 2025-07-04 11:10:43 -04:00