Commit Graph

42513 Commits

Author SHA1 Message Date
wmayer
59717fc607 Gui: Fix crash when trying to transform link object
This is a regression caused by PR 17564.

ViewProviderDragger has the member 'forwardedViewProvider' that is used
to handle the editing by the parent object. This means that inside
ViewProviderLink::startEditing 'transformDragger' can be null but this
isn't checked so that accessing the member causes a segmentation fault
or a failing assert in debug mode, respectively.

Solution:
Make sure that transformDragger is not null before accessing it.

This fixes 19542.
2025-05-30 18:04:33 +02:00
wmayer
c21b330a98 Gui: Fix command StdCmdProperties
The command is only able to show the property view in case it's
invisible. But it fails to raise the widget. And if in the preferences
'Combined' mode is set it fails completely.

Solution:
The method DockWindowManager::activate already does everything what's
needed. Now the command only must be changed to access the right
docked widget.
2025-05-30 18:04:33 +02:00
wmayer
55a9123040 Gui: Make AccelLineEdit a subclass of QKeySequenceEdit
The class QKeySequenceEdit already implements the relevant
functionality and properly handles shortcuts using the Shift key.

This fixes issue 19320
2025-05-30 18:04:33 +02:00
James Stanley
a2de481445 Base: Add Base::ProgressIndicator for OCCT progress reporting
Introduce a new `ProgressIndicator` base class
(`ProgressIndicator.h`/`.cpp`) with a singleton-managed, no-op default
implementation matching OCCT’s `Message_ProgressIndicator` interface.
Update `CMakeLists.txt` to include the new sources.
2025-05-30 14:10:28 +01:00
wmayer
05feaea9bd Gui: Do not round color values set in property editor
Do not use the number of decimals from the user settings to pass
the material to the property as this will cause some unexpected
rounding effects.

This fixes issue 19048
2025-05-30 14:21:53 +02:00
wmayer
0cce0f14bf Gui: Fix DlgPreferencesImp::minimumDialogWidth() to return a reasonable width
The current implementation always returns a width that is too small
so that a scrollbar is shown. Especially on the General page this is
unfortunate as some important controls are truncated or completely
hidden.

Another problem of this implementation is that when loading a not
yet loaded workbench in the 'Available workbenches' page then the
computed size will be by far too high leading to a dialog that all
the sudden covers most of the screen.

Solution:
The correct width is the sum of:
width of the tree view + width of the biggest page + spacing of the layout
This fixes both of the above problems.
2025-05-30 14:21:53 +02:00
wmayer
d969045bd9 Gui: Fix several methods in Workbench to list all items
* Fix Workbench::listToolbars() to also return custom toolbars or added by a manipulator
* Fix Workbench::getToolbarItems() to also return custom toolbars or added by a manipulator
* Fix Workbench::listMenus() to also return menus added by a manipulator

Fixes issue 18647
2025-05-30 14:21:53 +02:00
wmayer
8b11c0672b Gui: Adjust transform dragger after undo/redo
When performing undo/redo after tansforming an object it flips back
to its original position but the dragger does not.

This commit set the dragger's placement to the object placement.

Fixes issue 18914
2025-05-30 14:21:53 +02:00
wmayer
c42dfe1ef3 Gui: Fix undo/redo behaviour in transformation tool
If the user clicks on undo while the transformation dialog is
open the currently active transaction will be closed.
From now on any change of the placement won't be recorded any
more so that e.g. canceling the dialog or an undo after
accepting the dialog leads to unexpected behaviour.

To fix the issue two new virtual methods onUndo() and onRedo()
are added to TaskDialog and reimplemented in TaskTransformDialog.
These functions make sure to open a new transaction.

This fixes issue 19152
2025-05-30 14:21:53 +02:00
wmayer
30ccf2ab26 Gui: Use Py::SmartPtr instead of raw pointer
Using the raw pointer may result into a crash in case the Python
object is accessed by the interpreter after the NavigationStyle
has been destroyed.
2025-05-30 14:21:53 +02:00
wmayer
b006a37010 Gui: Add Action::setBlockedChecked
Remove the second parameter of Action::setChecked and
provide Action::setBlockedChecked instead.
2025-05-30 14:21:53 +02:00
tarman3
70d243584a CAM: Simulator - Drilling - RetractMode G98/G99 2025-05-30 08:52:54 +03:00
tarman3
34b449bd0c CAM: Drilling - Retract mode readonly 2025-05-30 00:23:38 +03:00
sliptonic
f3b6c29784 Merge pull request #21303 from tarman3/array
CAM: Added property CycleTime to old Array
2025-05-29 15:43:47 -05:00
Gonzalo Odiard
a07d9f032f App: Make Label property on Document read only (#21562)
Fixes: #10010
2025-05-29 22:43:34 +02:00
Alfredo Monclus
8f2ff7d7f6 Gui: property-editor open the combo directly and apply after selection
Previously you had to make 4 clicks to apply a combo
1 to enter edit, 1 to open the combo, 1 to select, and 1 to defocus and apply

with this commit only 2 clicks:
1 to open the combo and 1 to select
2025-05-29 22:41:37 +02:00
Alfredo Monclus
f3f2a2a9f7 Gui: property-editor add property copy context menu 2025-05-29 22:40:59 +02:00
theo-vt
1a0a68ae69 PartDesign: Fix hole centered on point edge case (#21257)
* Light refactor of getTopoShape function

* Fix hole edge case

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

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

* Update src/Mod/Part/App/PartFeature.cpp

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

* Update src/Mod/Part/App/PartFeature.cpp

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

* Update src/Mod/Part/App/PartFeature.cpp

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

* Update src/Mod/Part/App/PartFeature.cpp

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

* Refactor simplifyCompound()

* Use Base::Flags<GetShapeOption>

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

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

* Shorten enum name and move it from class scope to namespace scope

* [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>
Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-05-29 22:37:54 +02:00
Samuel Abels
a74d25c072 CAM: Fix: case_sensitive argument for glob() not supported in Python 2.10 2025-05-29 20:18:40 +02:00
Samuel Abels
6be1fc9bf4 CAM: Handle import of unknown shape types gracefully; allow case insensitive filenames, and allow invalid tool ID data type 2025-05-29 19:50:51 +02:00
sliptonic
40ed30397c Merge pull request #21416 from jffmichi/custom_gcode_allow_empty_lines
CAM: allow empty lines in Custom operation
2025-05-29 09:47:32 -05:00
Alfredo Monclus
1f4a9d883b Gui: property-editor fix text not showing due to stylesheets 2025-05-29 15:01:11 +02:00
Alfredo Monclus
a46dfd3213 Start: fix thumbnails not keeping aspect ratio 2025-05-29 15:00:37 +02:00
Benjamin Bræstrup Sayoc
2438156b23 TechDraw: fix incorrect click handles of editable labels (#21131)
Fixes #20964:
- When `text` element doesn't have id
- When `text` element has transform attribute
2025-05-29 08:30:59 -04:00
tarman3
c6bbd60e44 CAM: Dressup context submenu 2025-05-29 09:23:29 +03:00
pre-commit-ci[bot]
86d6971cfd [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pre-commit/mirrors-clang-format: 300fa4c170bf0887bb5585d17ec50901ad2625fb → c8ab0f80399e63a4fabbf5313c0606831f09742e](300fa4c170...c8ab0f8039)
2025-05-29 00:14:40 +02:00
PaddleStroke
42e98afa30 TechDraw: Fix DrawViewSpreadsheet being assigned wrong QGI in QGSPage.cpp (#21623) 2025-05-29 00:06:34 +02:00
dependabot[bot]
b9fe94ed88 Bump github/issue-metrics from 3.20.0 to 3.20.1
Bumps [github/issue-metrics](https://github.com/github/issue-metrics) from 3.20.0 to 3.20.1.
- [Release notes](https://github.com/github/issue-metrics/releases)
- [Commits](6a0f49b4e1...119b5237f4)

---
updated-dependencies:
- dependency-name: github/issue-metrics
  dependency-version: 3.20.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 21:01:12 +02:00
sliptonic
093fbf5f40 Merge pull request #21530 from jffmichi/sort_all_drilling
CAM: sort locations for all drilling operations
2025-05-28 13:55:20 -05:00
sliptonic
d045074b27 Merge pull request #21528 from mosfet80/piDef
CAM: using std::numbers pi definition
2025-05-28 13:53:00 -05:00
tarman3
09783ade8c CAM: Dressup Boundary - CmdMoveDrill 2025-05-28 19:39:50 +03:00
tetektoza
e6ec691ac1 BIM: Add support for deactivation active object to BIM Views Tree (#21570)
* BIM: Use checkbox in model tree for Activation/Deactivation of WP

* BIM: Set active object after deactivating current object if it exists

Currently we can get into a scenario where user can activate two working
planes, one after another. For example, Level, and  then Level001. If
they activate both, and then deactivate Level001, working plane switches
back to Level. But, we didn't set the object as the active one, so user
didn't have clear information that they can deactivate it, only the
working plane was switching it.

So this patch sets the object as the active one, if it exists.

* BIM: Add support for deactivation active object to BIM Views Tree

As the title says - it adds the checkbox that's similarly done in Part
workbench, so user can select/deselect the item and if they had previous
active object, it will also fall back to the previous object.

Also, moved out part of the common logic from ArchBuildingPart and
BimViews to utils.

* BIM: Handle correct context on activating WP for NativeIFC/BIM

* BIM: Remove redundant logic from BIM Views upon double click

As all of the logic is being handled now in `activate` function in
BimViews, this logic is redundant

* BIM: Rename button for taskbar and BIM Views from Activate to Active
2025-05-28 11:27:11 +02:00
tarman3
5db7d0aa24 CAM: Dressup LeadInOut - fix property name select style 2025-05-28 12:19:20 +03:00
Samuel Abels
6500e14c6c CAM: Fix: Custom tool parameters not showing up in property editor 2025-05-28 09:39:43 +02:00
Samuel Abels
1cd7e7015f CAM: Fix: Chamfer schema was missing TipDiameter 2025-05-27 22:50:40 +02:00
Yorik van Havre
40d385859a Draft: Added snap recenter functionality (#19728)
* Allow to align the working plane on selected edge + face of a same object, which aligns the plane with the face, but positions it on the edge (the WP is positioned on the edge's first vertex, the WP's X axis is aligned with the edge, and the face's center point provides the third point to define the plane)
* Added a "Recenter" in-command shortcut. This moves the WP to be centered on the current snap position (the WorkingPlane snap button is taken into account, so one can only move the WP in the same plane or not).
2025-05-27 19:17:43 +02:00
tarman3
8e1c90d09c CAM: Set outside by default for selected Edges 2025-05-27 20:10:57 +03:00
Samuel Abels
d63cfa50cb CAM: remove left over debug print 2025-05-27 16:20:24 +02:00
Samuel Abels
23536f0ff3 CAM: No need to copy defaultl shapes anymore, because the asset manager now dynamically fetches built-in shapes as a fallback 2025-05-27 16:04:10 +02:00
Benjamin Nauck
89f2bbe6b9 Merge pull request #21552 from alfrix/fixup_hole
PD: Fixup hole
2025-05-27 15:00:13 +02:00
Samuel Abels
a6de157b1e CAM: Fix: ShapeType not displayed correctly in property editor 2025-05-27 12:46:12 +02:00
Samuel Abels
a2a5303df8 CAM: Improved handling of toolbit shape type inference 2025-05-27 12:07:19 +02:00
Samuel Abels
5fe73e2393 CAM: Refactor ToolBit.from_dict() for clarity and to generate more relevant warnings 2025-05-27 09:30:35 +02:00
Samuel Abels
63ebc0ae68 CAM: Change Camotics file extension to .json 2025-05-26 23:53:58 +02:00
Samuel Abels
ff2a060d1e CAM: Improve LinuxCNC and Camotics serializer tests 2025-05-26 23:53:30 +02:00
Samuel Abels
7284c32b9d CAM: use three decimals in LinuxCNC export 2025-05-26 23:43:28 +02:00
Samuel Abels
36f0f21b63 CAM: Fix: all toolbits in camotics exported as Cylindrical 2025-05-26 23:42:44 +02:00
Samuel Abels
bd9f1257bc CAM: only copy shape icons if the shape folder is not initialized 2025-05-26 23:36:50 +02:00
Benjamin Nauck
401d965ef0 Merge pull request #21379 from alfrix/set_style
Gui: Set QStyle to Fusion if not set
2025-05-26 22:13:31 +02:00
Luz Paz
5d27b46a87 Fix various typos
Found via codespell
2025-05-26 21:40:10 +02:00