Commit Graph

378 Commits

Author SHA1 Message Date
Joao Matos
1c2ac570f8 Convert DocumentCreateFlags instances to use designated initializer list. 2025-03-07 20:42:51 +00:00
Syres916
46b2ec526b [Gui] Trigger the same checks for Drag & Drop files as File > Open 2025-03-04 20:45:15 -06:00
Benjamin Bræstrup Sayoc
f647d4a1eb Gui: Use QStringLiteral 2025-02-10 18:34:57 +01:00
tritao
123569823e App: Provide temporary document creation flag to Python App.loadDocument. 2025-02-03 18:01:18 +01:00
Benjamin Nauck
344b655f16 Move where icons in menus attribute is set
Without this, icons are not visible on macOS
2024-12-20 11:55:21 -05:00
wmayer
a8f2ddb038 Gui: Move Python functions from Application to ApplicationPy
This reduces build time when adding new Python functions because only one file must be compiled.
Handles also many linter warnings.
2024-12-20 11:50:07 -05:00
Chris Hennes
b160f1afc0 Merge pull request #18244 from wwmayer/space_mouse_runtime
Gui: Add runtime check to choose between modern and legacy space mous…
2024-12-09 11:36:17 -05:00
wmayer
3884e2c34a Gui: Add runtime check to choose between modern and legacy space mouse devices 2024-12-03 18:54:21 +01:00
PaddleStroke
b7f1a0c150 ViewProviderOrigin: Renamed to ViewProviderCoordinateSystem 2024-11-27 12:15:53 +01:00
PaddleStroke
19702dcb21 Core: Add App::LocalCoordinateSystem.
Most of App::Origin is moved into this sub class of App::Origin.
Add App::Point. Change graphics of the planes/axis.
Remove scale-by-content behavior and make it fixed size on screen.
2024-11-26 17:36:02 +01:00
PaddleStroke
aa2e4ca1cb Rename ViewProviderOriginFeature to ViewProviderDatum 2024-11-26 15:36:48 +01:00
Ladislav Michl
bf1a276977 Gui: set Qt attributes in setupApplication() 2024-11-12 07:59:47 +01:00
Ladislav Michl
cff4245a85 Gui: refactor hiddenMainWindow usage 2024-11-12 07:53:38 +01:00
wmayer
c6f083b3e7 Core: Add wrapper function Application::applicationPid() 2024-11-01 15:48:01 +01:00
wmayer
7820ca7f73 Core: Don't freeze application if lock file already exists 2024-11-01 15:02:22 +01:00
PaddleStroke
4f323f9580 Core: Enable TaskDialogs to associate view (#17373)
* Core: Add possibility for task dialogs to associate a view and be able to close when associated view is closed.

* TaskImage: Use task dialog view association.

* Sketcher: Use task dialog view association. Preventing crash (https://github.com/FreeCAD/FreeCAD/issues/16702)

* EditableDatumLabel: Use QPointer to prevent crash
2024-10-29 09:58:11 -05:00
Adrian Insaurralde Avalos
763fab69b1 Gui: use wildcard for some warnings filters. Fix #16687 2024-10-28 17:39:18 +01:00
Adrián Insaurralde Avalos
5979ebd6f8 Gui: extend warning filters
filter out:
-qt.qpa.wayland
-kf.config.core
-kf.kio.widgets
-kf.service.sycoca
-kf.solid.backends.udisks2
2024-10-21 18:33:25 +02:00
wmayer
5435b3e4db Core: Set unit scheme when switching between unsaved documents
Fixes #17297
2024-10-21 18:17:30 +02:00
Benjamin Nauck
a85d03d807 Revert "Make sure splasher is stopped before showing dialog"
This reverts commit 104a3b90b0.
2024-10-20 18:40:40 +02:00
Jiří Pinkava
cdb1a4f8ef Gui: Workaround for crash on close of MDI window
The Qt6 (up to Qt 6.7.3 now) contains bug, which can lead, under
specific circumstances, to crash of the application, when the
MDI window is closed. The circumstances are:

* at least 2 MDI windows needs to be open
* stylesheet muset set different size (border, margin) for activated and un-activated tabBar tab
* the closed window must be inactive, but created before the window now active and open
* race condition must occur betwee the closing and resize event handlers for the tabBar
  (see qt bug for details)

So this bug only occures with Qt6 with the Dark or Light styles selected (no classic) and only if
specific sequence of steps is followed during opening and closing the MDI windows.

The bug is in Qt code path executed when QMdiArea::ActivationHistoryOrder is set.

The other possible workaround might be to change all the affected stylesheets, but this seems to me
impractical and also fragile, because the affected code path will be still active.

https://bugreports.qt.io/browse/QTBUG-129596
2024-10-14 10:32:53 -05:00
Benjamin Nauck
104a3b90b0 Make sure splasher is stopped before showing dialog 2024-10-10 16:14:12 -05:00
mwganson
98f57c9ecc [Step Import] fix issue with non-latin characters in import path 2024-10-07 17:43:14 +02:00
wmayer
08ff1e5eeb Core: Fix macro recording when using module_io 2024-10-02 21:13:19 -06:00
supermixed
f763425b4f Core: Import STEP: Cancel button does not cancel (#16499)
* Fix importing .step file when user cancelled import settings dialog
* Refactor object loading python code, fix not using settings when STEP options dialog not shown
* Use custom exception type for user cancelling import instead of `RuntimeError`
* Pull python code out to external file
2024-09-20 08:25:23 -05:00
bgbsww
f82bfd5ddc Move the recompute dialog to after Gui opens instead of per document signal. 2024-09-19 08:49:13 -05:00
bgbsww
914a7616f7 Gui: fix python syntax in C++ code that broke some compilers (#16614) 2024-09-18 09:06:20 -04:00
bgbsww
0f53f2195d Add override flag for recomputes; set it in relevant tests with old files. 2024-09-16 17:49:35 +02:00
bgbsww
a54f03f666 Move code for recompute dialog and disable warning 2024-09-16 17:49:35 +02:00
Zheng, Lei
445a884682 Transfer in LS3 code 2024-09-16 17:49:35 +02:00
wmayer
bf8b4a7583 Core: Expose Placement dialog to Python 2024-09-05 18:17:08 +02:00
Max Wilfinger
d7b54595ac removed version "v0.21" from the old backup format warning message 2024-09-02 18:01:51 +02:00
wwmayer
977e13795a Gui: Prepare for clang-format (#16051)
* Gui: Prepare for clang-format

* [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>
2024-09-02 17:48:55 +02:00
wmayer
3e33f184b4 Core: Rename ViewProviderPythonFeature to ViewProviderFeaturePython
Fixes #15888
2024-08-26 18:14:22 +02:00
Chris Hennes
e52ef2a525 GUI: Update MacOS detection macros
For GUI-specific things use Q_OS_MACOS, and for other things use
Q_OS_APPLE.
2024-08-12 11:34:39 -04:00
Pieter Hijma
7b98eac9a0 Core: Improve communication single-instance 2024-07-22 17:39:32 +02:00
wmayer
4219aaef99 Core: Support of import options 2024-06-21 12:00:38 -05:00
Chris Hennes
d45cf8507b Merge pull request #13810 from hlorus/replace_measuredistance
Integrate Std_MeasureDistance into unified measurement facility
2024-06-17 10:55:40 -05:00
hlorus
b42c3aade0 Remove Std_MeasureDistance 2024-06-11 17:57:01 +02:00
wmayer
a58eebd903 Gui: Move texture handling to view provider extension
It should be avoided to add all stuff to the base class when it's only needed in one sub-class
2024-06-11 11:55:44 +02:00
Kacper Donat
26300e0d4e Gui: Add Std_ReloadStyleSheet command
This adds a command that will reload currently active stylesheet - a must have for stylesheet developers
2024-05-20 10:41:23 -05:00
wmayer
e591b95228 Gui: expose ViewProviderGeometryObject::getUserDefinedMaterial() to Python 2024-04-25 17:56:58 +02:00
Patryk Skowroński
233a61e54e New integration with 3Dconnexion devices (#12929)
* New integration with 3Dconnexion devices

* CMake build option hidden for Mac

* Minor fixes, to be squashed to previous commit

* cmake: fix indent and case; to be squashed

* Corrected name case

---------

Co-authored-by: Patryk Skowroński <pskowronski@3dconnexion.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
Co-authored-by: Ladislav Michl <ladis@linux-mips.org>
2024-04-15 10:43:45 -05:00
wmayer
d92267c6a7 Fix several compiler warnings
* fix -Winconsistent-missing-override
* fix -Wunused-but-set-variable
* fix -Wunused-parameter
* fix -Wunused-lambda-capture
* fix -Wunused-private-field
* fix -Wpessimizing-move
2024-04-03 10:04:56 +02:00
wmayer
f5baef888c Gui: fix several regressions caused by PR #12035
* fix hard crash in MainWindow::_updateActions() if no MDI view exists
* in MDIView::buildWindowTitle() use the label of the document because this changes when saving it while the name is immutable
* fix const correctness in MDIView::buildWindowTitle()
* do not set the modified flag of the main window in MDIView::buildWindowTitle() but in the calling instance
* move setting the main window title to Application::viewActivated to reduce code duplication
* fix missing application name if FreeCADGui is loaded as Python module
2024-03-18 23:27:51 +01:00
wmayer
58a53e929d Gui: refactor Application::runApplication 2024-02-26 11:21:38 -06:00
Florian Foinant-Willig
5a22009217 Add SuppressibleExtension 2024-02-21 16:19:32 +01:00
Pieter Hijma
095e94183a [Core] Managing Custom Data Elements: VarSet (#12135)
* [Core] Add a basic VarSet document object

* [Core] Add basic tests for VarSets

* Core: Replace the VarSet icon with an outlined one
2024-02-21 10:38:06 +01:00
bdieterm
bed5e4362b Gui: unite init code for FreeCAD GUI (normal and via Gui.showMainWindow()) 2024-02-19 10:48:00 -06:00
bgbsww
a1c08dbf43 Move the unit schema into Project Information and remove all Project Unit System code (#11266)
* Add unit system to Project Information and store with document.

* Remove the project unit system

* Restore correct document activation signalling to fix test fail

* Remove commented out dead lines

* Restore ignore option for project unit schemas

* Whitespace fix

* Refresh after changing units

* Remove field label

* Property editor changes applied to unit system
2023-12-04 13:04:53 -06:00