Commit Graph

6310 Commits

Author SHA1 Message Date
captain0xff
101da159ec Gui: rename TaskCSysDragger to TaskTransform 2025-04-28 23:30:14 +02:00
Graic
8d2cb99712 Gui: Added classic trackball orbit style (#20535)
* Gui: add classic trackball orbit

* Gui: add rounded arcball orbit
2025-04-28 11:12:53 -05:00
João Neves
0d38b2f7c5 Core: Fixed a bug where an empty document disappears (#20554)
* Core: Fixed a bug where an empty document disappears

Created a flag named autoCreated to distinguish an autoCreated
document created in the startup from a manually document.
Implemented a setter and a getter for this new flag.
Added a codition that verifies if a document is autoCreated
when opening another document to close it in the correct case.
Implemented unit tests for theses cases. Fixes #19868.

Signed-off-by: João Neves <joao.antonio.neves@tecnico.ulisboa.pt>

* Tests: Fix failing auto-created document tests

Signed-off-by: João Neves <joao.antonio.neves@tecnico.ulisboa.pt>

* Tests: moved created tests to the existing Document test framework.

Signed-off-by: João Neves <joao.antonio.neves@tecnico.ulisboa.pt>

---------

Signed-off-by: João Neves <joao.antonio.neves@tecnico.ulisboa.pt>
2025-04-28 10:46:52 -05:00
Bas Ruigrok
5765f416ca Gui: MayaGesture navigation fixes (#20948)
* Gui: Gesture and MayaGesture style disable H key in editing mode

* Gui: MayaGesture style go back to IDLE after dragging/panning/zooming

* Gui: MayaGesture more Maya like zoom behavior
2025-04-28 10:45:21 -05:00
tetektoza
b138276a15 Core: Introduce PDF Import-Export dialog (#20860)
* Core: Introduce PDF Import-Export dialog

Currently, we only have hardcoded exporting to one pdf version, which
leads to (as in one of the below issues) to problems, such as
non-transparent layers, which are by default not supported in PDF/A-1b.

So, this patch adds an option to the user to select their preferred PDF
version by introducing new dialog under Import-Export in Preferences,
and allowing to update that version before exporting.

* Core: Add informational messages regarding selected PDF format

* Gui: Handle Qt < 6.8 unsupported PDF format

* Gui: Switch PDF export prefs dialog to use tr()

* Gui: Remove center alignment of PDF version description

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-04-27 19:31:34 -05:00
Kacper Donat
b14d3a224b Misc: Replace dynamic_cast with qobject_cast 2025-04-26 14:23:25 +02:00
Kacper Donat
6e2583cdcd Gui: Use freecad_cast whenever possible 2025-04-26 14:23:25 +02:00
Syres916
b2a9f0f7d2 [Gui] Fix bottomRight index by correcting last row count 2025-04-25 17:50:11 +02:00
Ladislav Michl
986a3b4f7a Base, Gui: remove lefovers from xml -> pyi conversion 2025-04-25 11:57:24 +02:00
Kacper Donat
2a5114f2d3 CMake: Rebuild .cpp/.h files from .pyi on build 2025-04-24 16:40:24 -05:00
Alex Neufeld
d377d43de5 Gui: Use a perceptually uniform color map for Std_RandomColor
Using a restricted set of colrs with uniform lightless improves
the appearance of assemblies with randomly-colored parts.
2025-04-24 21:03:18 +02:00
Pieter Hijma
1136bc91f8 Gui: Fix value field for DlgAddPropertyVarSet (#20824)
* Gui: Fix value field for DlgAddPropertyVarSet

The value field would only appear if a name was provided resulting in a
strange user experience.  This commit fixes this and simplifies the
logic of the dialog.

* Process comments from review

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

---------

Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-04-23 22:50:03 +02:00
Abdelhadi Wael
4ff9cb343e Remove filter excluding Spreadsheet objects 2025-04-22 21:37:17 -05:00
Abdelhadi Wael
9000948f6b Update src/Gui/CommandStructure.cpp
Co-authored-by: Florian Foinant-Willig <FlachyJoe@users.noreply.github.com>
2025-04-22 21:37:17 -05:00
Abdelhadi Wael
13be1ad37f Update CommandStructure.cpp 2025-04-22 21:37:17 -05:00
Abdelhadi Wael
c9df6e5691 Update src/Gui/CommandStructure.cpp
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-04-22 21:37:17 -05:00
Abdelhadi-Wael
1b08dbddf0 fixed warning 2025-04-22 21:37:17 -05:00
Abdelhadi Wael
ffaf2c22a2 Updated PR with fixes 2025-04-22 21:37:17 -05:00
Abdelhadi Wael
de4e43e6da Fix: Only add objects when multiple are selected 2025-04-22 21:37:17 -05:00
Kacper Donat
efbfa34aa1 Merge pull request #20778 from FlachyJoe/LockedProperty2
Prevent user to remove core properties
2025-04-23 00:23:37 +02:00
Pieter Hijma
8fb9cbfa3e [Core] Make enum FrameOption boolean
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2025-04-22 23:56:07 +02:00
Pieter Hijma
4650f426d4 [Core] Enable a frame in VarSet dialog value field
The Add Property Dialog for VarSets creates an editor based on the type.
This editor has no frame by default because it is mostly used in the
property view as part of a table.  With this change we enable the frame
for the editor (the value field)
2025-04-22 23:56:07 +02:00
Pieter Hijma
50bf1cf120 [Core] Allow creating an editor with a frame
The default is to not have a frame as is custom before this change.
2025-04-22 23:56:07 +02:00
Florian Foinant-Willig
31781a0f43 Add locked keyword to ViewProvider::addProperty 2025-04-22 23:52:17 +02:00
Pieter Hijma
01effaaab0 [Gui] Fix "Select dependent objects" with cycles
Doing "Add dependent objects to selection" in the context menu of an
object that has cyclic dependencies triggered an infinite recursive
loop.  This has been solved by using the function to get an outlist
recursively.
2025-04-22 17:23:38 -03:00
Chris Hennes
318e0a6c45 Merge pull request #20835 from oursland/python-binding-generator-const
python: Make const methods declared const in C++.
2025-04-21 10:58:21 -05:00
captain0xff
f60a0a39f2 Gui: forward declare SoTransformDragger in ViewProviderDragger.h 2025-04-19 00:24:46 +02:00
xtemp09
436b8242c5 [GUI] Layout fixes in DlgActions.ui
Closes #20821
2025-04-17 19:26:00 +02:00
Jacob Oursland
5b81cd741a python: apply const method annotations to impls. 2025-04-16 20:32:04 -07:00
Alex Tran
989a06ea63 App: Running FreeCAD in verbose mode information to reflect Gui -> Help -> About Dialog info (#20487) 2025-04-16 08:29:07 +02:00
Furgo
efee3a34bf Stylesheets: fix undo button arrows on FreeCAD Dark/Light themes
Co-authored-by: MisterMakerNL <marijn82@gmail.com>
Fixes: #19372
2025-04-15 20:33:45 +02:00
Alfredo Monclus
2dcdd6ac01 Gui: inputfield only show invalid states 2025-04-15 13:52:33 +02:00
Benjamin Nauck
22120fa597 Use Base::toDegrees() instead of manually converting 2025-04-15 07:16:39 +02:00
Benjamin Nauck
f932c7e4e0 Use Base::toRadians() instead of manually converting 2025-04-15 07:16:36 +02:00
Bas Ruigrok
921620ba8a Use longest edge in face for horizontal/vertical alignment (#20374)
* App: Add second direction to getCameraAlignmentDirection()

* Part: Find longest face edge for horizontal/vertical alignment

* Gui: Use longest face edge for horizontal/vertical alignment

* App: Improve horizontal/vertical alignment for Datums and LCS
2025-04-14 11:20:49 -05:00
Chris Hennes
7ac21c5eff Merge pull request #20649 from pieterhijma/viewprovider-toggle-visibility
[Core] Allow setting visibility toggling in the ViewProvider
2025-04-14 10:45:14 -05:00
captain0xff
7f5b1c9f2c Gui: moved dragger classes to separate folder and files
* renamed SoFCCSysDragger to SoTransformDragger
* moved TDragger, RDragger and TPlanarDragger to separate files and also renamed them to be more descriptive
2025-04-13 21:36:54 +02:00
Kacper Donat
a86c300688 Gui: Disable Show Placement for Body Features 2025-04-13 17:54:01 +02:00
Kacper Donat
5dc2ba40ea Gui: Hide Placement Indicator with object 2025-04-13 17:54:01 +02:00
Kacper Donat
2a4c7bc0b5 Gui: Ensure that placement indicator is always on top 2025-04-13 17:54:01 +02:00
Kacper Donat
b300c80b90 Base: Use explicit pointer syntax for freecad_cast (#20694)
* Base: Use explicit pointer syntax for freecad_cast

This aligns our custom cast with other casts

* All: Use explicit pointer syntax for freecad_cast
2025-04-11 14:11:33 +00:00
Alfredo Monclus
de124a72b5 Gui: fix Quantity spinbox margin without an icon (#20695)
* Gui: fix Quantity spinbox margin without an icon

* refactor: apply review suggestions

* refactor: reorder operations as suggested

---------

Co-authored-by: alfre <alfre@localhost.localdomain>
2025-04-09 20:28:54 +02:00
Kacper Donat
f258a2639c Gui: Add Origin indicator to SoFCPlacementIndicator
This adds optional origin indicator ofr SoFCPlacementIndicator. This is
something that can be used to clearly indicate origin placement with
small sphere.
2025-04-09 17:48:15 +02:00
Kacper Donat
972f05ba5a Gui: Move color traits to Utilities.h 2025-04-09 17:48:15 +02:00
tritao
7d233dc95c Gui: Rename generated lexer files to match core naming pattern.
So as title says, this renames generated lexerfiles from
`SelectionFilter.l` to use the suffix .lex, instead of the
`lex.SelectionFilter.c`.
2025-04-07 22:42:07 +02:00
PaddleStroke
5639728e8a PartDesign: Fix use of App::Planes to create sketches (#20453) 2025-04-07 17:34:13 +02:00
Kacper Donat
35a9673a75 Base: Rename Base::freecad_dynamic_cast into freecad_cast
This is to make it shorter and easier to use. QT does the same thing
with their qobject_cast.
2025-04-07 10:32:28 -05:00
xtemp09
893e4a2ff1 Make some context menu actions translatable (#20401)
* Make some context menu actions translatable

* [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-04-07 08:43:04 -05:00
Benjamin Nauck
acd40ce725 Gui: Fix operator mistake in previous c++constant refactoring 2025-04-07 11:13:36 +02:00
Francisco Neves
ceee26765e Preferences: Fixed a bug in 'Animation curve type' label position
Deleted a line in DlgSettingsAdvanced.cpp that made the label
move after selecting a animation curve type. Fixes #18376.

Signed-off-by: Francisco Neves <francisco.jose.neves@tecnico.ulisboa.pt>
2025-04-06 14:30:35 +02:00