Commit Graph

283 Commits

Author SHA1 Message Date
Kacper Donat
781c9b6b84 Gui: Force OpenGL rendering for main window
This is big hack for Qt6 to force rendering using OpenGL from the
beginning. Since Qt6 OpenGL context is initialized only after creating
first QOpenGLWidget which results in window hiding and showing again
after some delay. This causes various timing issus as the window is not
supposed to do that.
2024-09-12 13:27:44 +02:00
wmayer
8f1a533045 MSVC: Fix several compiler warnings 2024-09-12 11:58:36 +02:00
wmayer
fe69762652 Qt6: QColor::setNamedColor is deprecated since Qt 6.6 2024-09-11 15:41:04 +02:00
qewer33
9beff61b72 Gui: Make splashscreen use multiple splash images 2024-09-02 12:44:36 -04:00
qewer33
5850c2e04b Gui: Disable splashscreen messages by default 2024-09-02 12:44:36 -04:00
bgbsww
441fbdd064 Add a command line option to keep application open after running tests 2024-08-05 10:47:59 -05:00
Chris Hennes
336a581942 Merge pull request #15451 from Ondsel-Development/fix-single-instance-windows
Core: Fix single instance windows
2024-07-29 10:42:47 -05:00
wmayer
8de6e5e8a8 Qt6: Fix MinGW build 2024-07-25 20:09:06 +02:00
Pieter Hijma
7b98eac9a0 Core: Improve communication single-instance 2024-07-22 17:39:32 +02:00
Zheng, Lei
dcfe3e8868 Gui: Add dragging support for custom ToolBarAreas
This adds dragging support for toolbars placed in custom toolbar areas.
It is achived by creating our own custom ToolBar class that handles
logic of providing custom gripper. This is required because Qt hides
gripper when toolbar is not direct child of the main window which cannot
be overriden. Custom class should allow us to create more capable
toolbars in the future so it should be great addition on its own.

Co-Authored-By: Kacper Donat <kacper@kadet.net>
2024-06-25 11:39:51 +02:00
Chris Hennes
d01ce32a1f Update for LibPack3 (#10337)
* cMake: Add base support for LibPack3

Minor changes to FreeCAD source code to support compiling with Qt 6.5 on MSVC,
and changes to cMake setup to support the new Libpack.

* NETGENPlugin: Fix compilation with MSVC and OCCT 7.8

* Material: Switch to Wrapped_ParseTupleAndKeywords for /fpermissive- on MSVC

* Base: Prevent accidental definition of MIN and MAX by MSVC

* cMake: Prevent accidentally finding an old LibPack

* Material: Wrap another ParseTuple call

* OCCT: Modify includes for 7.8.x

* Part: Change TNP code to use Wrapped_ParseTupleAndArgs

* Spreadsheet: Workaround for MSVC macro pollution

* Mesh: Workaround for MSVC macro pollution

* Base: Remove extra MSVC flag (moved to CMake)

* Tests: Fix compiling with /permissive-

* FEM: Fix Qt warnings about duplicate element names

* cMake: Ensure major version numbers are set

* Address review comments.

* cMake: Further tweaks for LibPack3

* cMake: Modify specification of compiler flags for MSVC

* Main: Remove QtQuick testing code

* cmake: Find Boost before SMESH (which uses it)

* Fixes for LibPack2

* cMake: Another try at importinhg VTK cleanly
2024-06-24 18:25:05 +02:00
wmayer
2ad397e18e Core: Remove superfluous + operator 2024-06-16 07:53:50 +02:00
wmayer
6f76ccfb83 Gui: Restore previous width when closing task dialog
This fixes #11016
2024-05-20 11:35:59 -05:00
PaddleStroke
e5780a5e3d Core / Measure: Introduce QuickMeasure 2024-05-06 18:12:14 +02:00
wmayer
9cfd437214 Gui: simplify MainWindow::showDocumentation()
The Help module is now part of FreeCAD. So, there is no need any more to run the addon manager
2024-05-06 18:04:13 +02:00
Zheng Lei
c24ace7f73 Gui: support toolbar drag and drop to status bar and menu bar (#13571)
* Gui: support toolbar drag and drop to status bar and menu bar

Closes FreeCAD/FreeCAD#12979

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

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

* Gui: improve toolbar handling in status and menu bar

* Gui: fix workbench tab bar orientation in status or menu bar

* Gui: remove workbench toolbar position settings

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-06 17:59:16 +02:00
dzid26
c6493f2ef8 Core: Bring ConfirmSave dialog to the top (#13352) 2024-04-18 22:56:28 -05:00
wmayer
1cfad41422 Gui: clear the title bar after closing the last MDI window 2024-03-22 16:08:44 +01: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
Max Wilfinger
241ce40b5f use setWindowModified() to indicate modified state and window title 2024-03-18 17:36:20 +01:00
Max Wilfinger
b4ad517ed6 display current active document in main window title 2024-03-18 17:36:20 +01:00
André Caldas
560898907b Avoids using getNameInDocument() to test if DocumentObject is attached to a Document.
This patch substitutes by isAttachedToDocument() (almost) everywhere where
getNameInDocument() is used for this purpose.

The very few places not touched by this patch demand a (just a little) less trivial change.
When we change the returning type of getNameInDocument() to std::string,
those places will be easily found, because they shall generate a compiler error
(converting std::string to bool).

Rationale:
The fact that getNameInDocument() return nullptr to indicate
that the object is not attached to a document is responsible for lots of bugs
where the developer does not check for "nullptr".

The idea is to eliminate all those uses of getNameInDocument() and, in the near future,
make getNameInDocument() return always a valid std::string.
2023-12-11 17:37:58 +01: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
Kacper Donat
2914938c72 Gui: Add ability to easily lock Toolbars from UI
This adds the Std_ToggleToolBarLock action mentioned in #4992. It is
exposed in the context menu of toolbar and also in the view -> toolbars
app menu.
2023-12-01 12:13:43 +01:00
Chris Hennes
fa65438556 Core: Enable compiling with MSVC /permissive- (#11014)
* Base: Fixes for MSVC permissive-

* App: Fixes for MSVC permissive-

* Gui: Fixes for MSVC permissive-

* Main: Fixes for MSVC permissive-

* Fem: Fixes for MSVC permissive-

* Material: Fixes for MSVC permissive-

* Part: Fixes for MSVC permissive-

* Mesh: Fixes for MSVC permissive-

* Points: Fixes for MSVC permissive-

* Robot: Fixes for MSVC permissive-

* TechDraw: Fixes for MSVC permissive-

* Path: Fixes for MSVC permissive-

* Core; Changes per review comments

* TD: Revision from wandererfan

* [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>
2023-11-27 17:37:29 +01:00
wmayer
33f08ef2fe Gui: restore old behaviour to set up main window 2023-11-13 13:55:44 -03:00
wmayer
a20a053b60 Gui: only use primary screen to restore main windows settings 2023-11-13 13:55:44 -03:00
Paddle
889c8c49f1 SplashScreen : Add "ShowSplasherMessages" parameter to disable labels from the splashscreen. 2023-11-04 21:58:00 +01:00
wmayer
19fcb32ff0 Gui: make tab position of combo view configurable and set it back to North by default 2023-10-13 16:17:25 +02:00
wmayer
46f8ad3d7f Gui: refactor MainWindow::initDockWindows
* split MainWindow::initDockWindows into smaller functions
* remove of legacy group for Tree view, Property view and DAG view
* simplify code logic
2023-10-13 16:17:25 +02:00
wmayer
27dd573101 Gui: remove trailing whitespaces (thanks luzpaz) 2023-10-12 00:58:44 +02:00
wmayer
b016e328f5 Gui: removing parameters from settings that affects older versions is rude 2023-10-12 00:58:44 +02:00
wmayer
4eee90f6d4 Gui: replace deprecated QDesktopWidget with QScreen
Since Qt5.11 QDesktopWidget is marked as deprecated and has been removed in Qt6. New code has to use QScreen instead.
2023-10-12 00:58:44 +02:00
Zheng, Lei
bf9584a90b Gui: add support for transparent overlay docking widget 2023-10-11 09:58:53 +02:00
wmayer
0398716487 Gui: fixes #10807: By default keep the old tabulated layout of ComboView and TaskView 2023-09-30 17:33:33 +02:00
wmayer
f5b4123109 Gui: implement handling of Combo, Property and Tree view 2023-09-14 13:35:13 +02:00
wmayer
897923ac3b Gui: rework ComboView 2023-09-14 13:24:24 +02:00
wmayer
5419a0c28f Gui: add TaskView to its own dock window 2023-09-14 13:17:33 +02:00
wmayer
561be3f55c Gui: fix some MSVC truncation warnings
See forum: https://forum.freecad.org/viewtopic.php?t=81051
2023-09-10 18:08:06 +02:00
FEA-eng
b277feed7d Update MainWindow.cpp
fixed small typo in the warning about 0.22 being dev version not for production use
2023-09-05 15:40:16 -05:00
wmayer
c016f1c1fb Gui: modernize C++: use equals default 2023-08-20 18:12:43 +02:00
Chris Hennes
2ee7a9266a Gui: Tweak size of developer warning
Ensure that the warning adapts to the font size and text length as needed.
2023-08-12 10:24:05 -07:00
wmayer
bb23aaf3e9 Core: modernize C++: redundant void arg 2023-08-05 16:50:31 +02:00
Chris Hennes
ea49b3fe78 GUI: Add prominent dev build indicators 2023-08-04 18:21:39 -06:00
wmayer
e72da4d4c4 Gui: modernize C++: use override 2023-08-04 17:09:53 +02:00
Oliver Oxtoby
ba5f7e6d75 Gui: Avoid segfault if window is not an MDIView
Fixes #10003. See also #9758.
2023-07-29 08:10:38 +02:00
Ajinkya Dahale
0e3dce286e [Core] Warn user if using deprecated backup extension 2023-07-20 10:25:34 -05:00
wmayer
141b2ecf0a Qt6: fix possible build failure with Qt 6.5
Forum thread: https://forum.freecad.org/viewtopic.php?p=692199#p692199
2023-07-20 08:58:56 -05:00
Abdullah Tahiri
a19e2454be MainWindow: Fix for Automatic WB and edit mode WBs
==================================================

As described here:
https://forum.freecad.org/viewtopic.php?p=687188#p687188
2023-07-01 19:56:52 +02:00
Chris Hennes
10b4ab204a GUI: Update Splashscreen 2023-06-15 09:57:27 -05:00