Commit Graph

3281 Commits

Author SHA1 Message Date
wmayer
1aad309886 Gui: remove some more deprecated Py2 2021-04-26 10:59:32 +02:00
luz paz
81918da613 Gui: remove py2 code 2021-04-25 11:27:48 +02:00
wmayer
ef4f74aa94 Gui: fix memory leak in SelectionParser::yyparse() 2021-04-22 23:16:03 +02:00
wmayer
b7aee7bfa1 fixes #0003844: PVS: The pointer was not released in destructor. A memory leak is possible. 2021-04-21 21:46:14 +02:00
wmayer
c4f411af26 Gui: use public methods in Command sub-classes 2021-04-21 19:34:50 +02:00
wmayer
ab247acd0d Gui: properly handle small quantities in property editor 2021-04-20 17:10:33 +02:00
Mateusz Skowroński
92683e1f63 Fix CMake warning: qt5_make_output_file is not part of the official API, and might be removed in Qt 6. 2021-04-19 15:10:53 +02:00
Yorik van Havre
e537a1f7f8 Merge pull request #4727 from bitacovir/TransformManip_Icon
[UI] Add SVG icon for Std TransformManip command
2021-04-19 11:21:53 +02:00
turn211
47a41ae1c8 Gui: ProDark Stylesheet QT Icon Fix
forum thread: https://forum.freecadweb.org/viewtopic.php?f=34&t=57427
2021-04-15 10:52:57 +02:00
donovaly
525f5dd709 [GUI] new icon to mark for recomputation
The icon is from @bitacovir
2021-04-14 14:57:40 +02:00
luz paz
6a7184139d Gui: remove Py2 code from several src/Gui .cpp files 2021-04-14 14:56:02 +02:00
Chris Hennes
fc1dc18cf6 [GUI] Stylesheet fix for icons in Qt file dialog
Work by @turn211.
2021-04-14 13:33:40 +02:00
wmayer
733cbce2c6 Gui: fix memory leak 2021-04-12 00:06:18 +02:00
bitacovir
6b8379824f [UI] Add SVG icon for Std TransformManip command 2021-04-09 14:18:22 -04:00
Mateusz Skowroński
1986e6b547 Qt::MidButton is deprecated. Use Qt::MiddleButton instead. 2021-04-04 11:33:51 +02:00
Mateusz Skowroński
73a077ae01 QDockWidget:AllDockWidgetFeatures is deprecated. Use individual flags instead. 2021-04-04 11:33:51 +02:00
wmayer
5b755c20b5 Gui: set UTF-8 encoding when reading file with contributors 2021-04-04 11:04:23 +02:00
wmayer
8ac8492167 Gui: [skip ci] support user-defined about image 2021-04-04 00:12:53 +02:00
Chris Hennes
c039217af1 Allow different splash and about image 2021-04-03 22:36:28 +02:00
wmayer
5d49bf78de Gui: QuantitySpinBox inherits from ExpressionSpinBox to reduce code duplication 2021-04-02 22:22:16 +02:00
wmayer
e151f19d41 Gui: add class ExpressionSpinBox to reduce code duplication 2021-04-02 21:36:29 +02:00
wmayer
75bf85eb5b Gui: Change label type to ExpressionLabel in ExpressionBinding
* Add function ExpressionBinding::makeLabel() and use it in subclasses to reduce code duplication
2021-04-02 17:46:42 +02:00
Chris Hennes
64fb634ed1 Add tooltip to f(x) when there is no expression
As suggested by @luzpaz, this adds a tooltip to the f(x) icon of all
of the widgets that use it: QuantitySpinBox, UIntSpinBox, IntSpinBox,
DoubleSpinBox, and ExpLineEdit. These five classes are divided across
three files, and all five classes duplicate the same basic code. In the
existing code, no tooltip is shown if there is no expression. If there
is an expression, it (alone) is used as the tooltip.

This commit modifies that behavior to have explanatory text as the
tooltip when there is no expression, and when there is, to prepend a
short string to the beginning.

To reduce further code duplication, this is implemented by adding a new
function to ExpressionLabel allowing the text of the expression to be set.
It checks that text and if it's empty, uses a preset default string as the
tooltip. If there is expression text, it instead prepends another
bit of text to the front and sets the entire expression+prefix as the
tooltip.

TODO: In the future a lot of the preexisting code duplication could be
removed by making the ExpressionLabel class do more internal management
of the expression.

Thanks to @kisolre for the assistance tracking these down, and
suggesting the default text used.
2021-04-02 16:17:04 +02:00
wmayer
72eceb91c6 Gui: remove WinNativeGestureRecognizers because this was a workaround for Qt4 under Windows 2021-04-02 11:47:12 +02:00
wmayer
e7c91d68af Gui: [skip ci] remove MainWindow::showMainWindow() & timer 2021-04-02 11:15:04 +02:00
Chris Hennes
50c7ee36bf [GUI] Remove code for Qt < 5.9 2021-04-02 10:10:37 +02:00
donovaly
8fb567291d [Gui] fix a NaviCube Corner
fixes a copy/paste issue of commit f525904c1b
2021-03-30 12:10:15 +02:00
wmayer
f525904c1b Gui: concatenate rotations and apply the result once at the end 2021-03-29 18:29:44 +02:00
donovaly
23747f9d11 fix animation issue
SO's auto rotation has its own rotation logic that ends at fixed positions. This collides with the "to nearest" option whose aim is to rotate to the next sensible state taking into account from what position the rotation was started.

Thus the solution is to disable SO's auto rotation while the cube is rotated.
2021-03-29 17:11:50 +02:00
donovaly
e58ee299d4 [Gui] improving NaviCube
fixes bug 4495

- add missing edge faces
- implement a proper rotation recipe -> rotate towards the nearest possible state
- add preferences settings to turn off this new rotation behavior
- get rid of transparent cube faces to avoid wrong clicks, this way also remove the backfaces
- to make the edge faces fit, use triangles for the corners
- expose cube size setting to preferences dialog
- add new button to view backside
- get rid of bitmaps because as reported in https://forum.freecadweb.org/viewtopic.php?f=3&t=52118&start=20#p481781
the x y z labels are not scaled on HiDPI screens
moreover they are often "in they way" when you want to click on a corner and in principle they don't provide more info since we already have the CS with the axis labels

- also fix an arithmetic overflow compiler warning
- also rename 2 variables
2021-03-29 17:11:34 +02:00
wmayer
033bf619fa Gui: [skip ci] expose Control::showModelView() to Python 2021-03-29 17:05:54 +02:00
Matthijs Kooijman
a12f26b8f5 Gui: Enable compression of tablet motion events
By default (on platforms that support it, X11 and Windows currently) QT
applies compression for high frequency events (mouse move, touch, window
resizes) to keep things smooth even when handling the event takes a
while (e.g. to calculate snapping).

However, tablet pen move events (and mouse move events synthesised from
those, which is what FreeCAD uses) are not compressed by default (to
allow maximum precision when e.g. hand-drawing curves), leading to
unacceptable slowdowns using a tablet pen.

This commit enable compression for tablet events here to solve that and
make use of a tablet just as smooth as a mouse with FreeCAD.

This can (and likely will) lead to some movement events being dropped,
but since there is no freeform curve drawing tool, that should not be
problematic (and if it is ever added, it could still work without
compression if the mouse movement event handler is written to be fast
enough).
2021-03-29 12:08:46 +02:00
donovaly
c712b2feb6 [Gui] add recompute icon to context menu
as discussed here: https://forum.freecadweb.org/viewtopic.php?f=34&t=57139&start=10
2021-03-29 11:12:15 +02:00
wmayer
f45207fcb1 Gui: [skip ci] add some separators to context-menu to group recompute related functions 2021-03-29 11:11:12 +02:00
wmayer
4c6c1af016 Gui: fix Command::_invoke to avoid build failure 2021-03-29 11:06:16 +02:00
wmayer
b55cc8aec1 Gui: [skip ci] refactor Command::invoke 2021-03-28 20:04:31 +02:00
wmayer
ffb196b1b7 Gui: Running a command with Gui.runCommand() must always be considered as Gui command 2021-03-28 18:40:16 +02:00
David Osterberg
703bb02af0 Gui: Change the Part icon 2021-03-28 17:46:16 +02:00
Chris Hennes
b1f8184858 Remove unneeded Qt version checks 2021-03-28 17:41:27 +02:00
Chris Hennes
b15f134038 Remove deprecated Qt constants
Qt has deprecated the following constants, this commit replaces them
with their new equivalent/replacement:

Qt::TextColorRole -> Qt::ForegroundRole
Qt::BackgroundColorRole -> Qt::BackgroundRole
QPainter::HighQualityAntialiasing -> QPainter::Antialiasing
QPalette::Foreground -> QPalette::WindowText
2021-03-28 17:03:09 +02:00
Chris Hennes
1f62d46661 Minor refactoring and cleanup of the About window
Removes old Qt code, restores the conditional inclusion of the
3Dconnexion license information, shortens the displayed hash, and links
the hash to its repo.
2021-03-28 16:12:27 +02:00
lvk88
07804a8c85 [GUI] Enable dragging in dependency graph view
This commit makes it possible to drag the dependency graph using the
left mouse button.

See issue #3896.
2021-03-28 12:06:59 +02:00
donovaly
6bd2dc7d21 [Gui] add Std_TransformManip to MenuItem
I was wondering why we only offer this tool in the context menu. I tested and cannot see a drawback in having it also in the edit menu
2021-03-28 11:34:40 +02:00
wmayer
a3e3487f74 Gui: [skip ci] handle number of decimals in PropertyUnitItem, PropertyVectorDistanceItem and PropertyPlacementItem 2021-03-27 18:31:49 +01:00
donovaly
bcc669b930 [Base] add electrical conductivity
- this is necessary to perform electrodynamics simulations. Since the typical values are in the range of 1e6 S/m, we need the new units kS and MS

- since this is for simulations, also add electrical conductivity to the FEM material cards
2021-03-25 17:13:52 +01:00
Chris Hennes
04cf845d77 [GUI] Remove explicit triangle styling from tabs
On Windows the lower tabs of the PropertyView were being set to
triangular, which breaks stylesheets. This removes that code, so they
now take on whatever the standard shape is on the system.

Fixes #0004599
2021-03-25 15:44:19 +01:00
wmayer
477e0d3982 Gui: [skip ci] avoid using const reference as member for several action classes to avoid memory corruption 2021-03-20 16:13:56 +01:00
Abdullah Tahiri
4bf6b19849 Gui: Extend DlgCheckableMessageBox to use specific preference path and parameter 2021-03-20 15:59:15 +01:00
turn211
b1ac7701e6 [Stylesheet] ProDark: major bugfix for add-ons
https://forum.freecadweb.org/viewtopic.php?f=34&t=55134&start=100
2021-03-19 06:31:27 -04:00
Chrismettal
1233555826 [Stylesheet] increase behave-dark contrast on input boxes (#4619)
PR #4619
2021-03-14 14:38:12 -04:00