Commit Graph

24661 Commits

Author SHA1 Message Date
Chris Hennes
b34acb8b31 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
8de66e134f Web: remove obsolete function setTextSizeMultiplier because QtWebEngine already supports HiDPI monitors 2021-04-02 14:10:02 +02:00
Chris Hennes
8e6c5946cd [Web] Remove deprecated Qt < 5.9 code 2021-04-02 13:46:43 +02:00
wmayer
0177f9b9f8 TD: [skip ci] fix DrawingView::print/MDIViewPage::print 2021-04-02 12:06:24 +02:00
Chris Hennes
bd86b4dcfe [TD] Remove deprecated Qt < 5.9 code 2021-04-02 12:02:54 +02:00
wmayer
37eb08380a Gui: remove WinNativeGestureRecognizers because this was a workaround for Qt4 under Windows 2021-04-02 11:47:12 +02:00
wmayer
8992084a9a Gui: [skip ci] remove MainWindow::showMainWindow() & timer 2021-04-02 11:15:04 +02:00
Chris Hennes
098d7b9aee [GUI] Remove code for Qt < 5.9 2021-04-02 10:10:37 +02:00
Benjamin Nauck
67bbb61103 Tux: Add "_light" suffix to light navigation icons 2021-04-01 19:48:18 +02:00
Benjamin Nauck
c7212d9c21 Tux: Add "_dark" suffix to dark navigation icons 2021-04-01 19:48:18 +02:00
Chris Hennes
cbf9b72bb3 [Sketcher] Remove deprecated Qt < 5.9 code 2021-04-01 19:38:23 +02:00
Chris Hennes
e0b9f28198 [Part] Remove deprecated Qt < 5.9 code 2021-04-01 19:36:40 +02:00
Chris Hennes
ee2d7651b8 [Spreadsheet] Remove deprecated Qt < 5.9 code 2021-04-01 19:31:22 +02:00
Chris Hennes
93f2166d2b [Test] Remove deprecated Qt < 5.9 code 2021-04-01 19:30:30 +02:00
Chris Hennes
d959bf1582 [Main] Remove deprecated Qt < 5.9 code 2021-04-01 19:29:44 +02:00
Chris Hennes
5592548e2e [Base] Remove deprecated Qt < 5.9 code 2021-04-01 19:28:43 +02:00
wmayer
f9a54c3385 Py3: fixes #0004081: Abillity to show console output when running under Python 2021-04-01 17:51:10 +02:00
wmayer
41421e0c64 CMake: fix possible linker error when using external SMESH 2021-04-01 13:41:14 +02:00
wmayer
136a402b7e Import: if in a dxf file control points and fit points are given then use the former to create the B-Spline 2021-04-01 13:27:03 +02:00
wmayer
f95aeb7144 smesh: [skip ci] build FEM & MeshPart with C++14 when using external smesh because it doesn't support C++17 yet 2021-03-31 15:35:28 +02:00
Chris Hennes
08b7d9d0f3 [OpenSCAD] Fix projection for OCCT7.3
OCCT 7.3 did not work well when using a very large projection plane, so
this commit reduces the plane size to the minimum required for the cut
operation. It also performs some minor refactoring in anticipation of
the implementation of the true projection feature, and it removes the
last attempted fix, which proved unnecessary.
2021-03-30 22:55:16 +02:00
Yorik van Havre
c18d98a60d Merge pull request #4299 from three-ddd/archstairs_connections_flight_landing
[0.20] [Arch] connections between stair flight and landing
2021-03-30 13:17:24 +02:00
Yorik van Havre
433441298c Merge pull request #4410 from marioalexis84/draft-snap
Draft: Fixes #0004278: Working Plane Proxy origin hijack nearby object
2021-03-30 13:16:14 +02:00
Yorik van Havre
edfd7e055d Merge pull request #4517 from Roy-043/Arch_Roof_fix_for_adjust_list_len
[ARCH] Arch_Roof fix for adjust_list_len function
2021-03-30 13:05:10 +02:00
Yorik van Havre
ac8f611fc7 Merge pull request #4546 from chennes/lgtmDraftUnusedLoopVariables
[DRAFT] Remove unused loop variable
2021-03-30 13:04:08 +02:00
Yorik van Havre
1ba31301e9 Merge pull request #4547 from chennes/lgtmArchUnusedIterationVariable1
[Arch] Refactor to eliminate unused variable
2021-03-30 13:01:06 +02:00
Yorik van Havre
0a88f05317 Merge pull request #4548 from chennes/lgtmDraftColorArrayCreation
[Draft] Eliminate unused loop iteration variables
2021-03-30 13:00:45 +02:00
Yorik van Havre
d30ecd96bd Merge pull request #4625 from marioalexis84/draft-edit
Draft: Make Edit closed wires consistent with open wires and tracker
2021-03-30 12:50:06 +02:00
Matthijs Kooijman
4346d87c88 Arch: Fix displayed rotation values when adding or editing window components
This ensures the rotation edge and mode GUI elements are cleared when starting
to add or edit a component. Previously, when adding a new component or
editing one without rotation, the GUI elements would retain the value
from the previously edited component, which made it hard to check that
components did not have any rotation, and would make it easy to
accidentally add rotation to components that did not need it (just by
clicking edit and confirming).
2021-03-30 12:40:06 +02:00
Yorik van Havre
8e0f112aae Start: Fixed translated quote issue 2021-03-30 12:38:31 +02:00
Yorik van Havre
126e17338c Merge pull request #4690 from chennes/openscadFixMinorIssuesB
[OpenSCAD] Minor bug fixes in importing CSG
2021-03-30 12:28:03 +02:00
Yorik van Havre
0a812163e3 Merge pull request #4691 from chennes/cmakeFixStartTestInstallationLocation
[Start] Correct TestStart installation location
2021-03-30 12:27:32 +02:00
donovaly
1a28c4969a [Gui] fix a NaviCube Corner
fixes a copy/paste issue of commit 7831a218d7
2021-03-30 12:10:15 +02:00
Chris Hennes
4d0d6570f0 [Start] Correct TestStart installation location 2021-03-29 14:11:32 -05:00
Chris Hennes
9540cf0bbd [OpenSCAD] Add piecewise helix for OCCT < 7.5
Address a hang when using older versions of OCC to create a rotated
extrusion. This approximates the auxilliary spine as set of line
segments formed from the helix, rather than using the helix directly.
2021-03-29 13:59:03 -05:00
Chris Hennes
46b0043b49 [OpenSCAD] Add additional recompute() logic 2021-03-29 13:58:52 -05:00
wmayer
2887eadea7 Gui: concatenate rotations and apply the result once at the end 2021-03-29 18:29:44 +02:00
donovaly
8e417f96b8 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
54fd82b109 [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
12b8f10421 Gui: [skip ci] expose Control::showModelView() to Python 2021-03-29 17:05:54 +02:00
Abdullah Tahiri
85e8ad36b5 Sketcher: No vertex color update (selection/preselection) after box selection
=============================================================================

The issue:
https://forum.freecadweb.org/viewtopic.php?f=10&t=56550#p486554

The fix:
Setting the render type to Image causes the issue, but neither do I know why it is
necessary to set it to Image, nor do I understand why this is causing the issue. I
only know it solves the issue.
2021-03-29 16:23:18 +02:00
Abdullah Tahiri
b28ec0c989 Sketcher: add subnodes to the right separator 2021-03-29 16:23:18 +02:00
donovaly
73e4e4f339 [Part] save more icons with uniform resolution
- also save them as plain SVG to get rid of sometimes deprecated Inkscape-only stuff
2021-03-29 16:21:59 +02:00
wmayer
acbb604a16 App: use std::wstring_convert instead of QString to encode/decode unicode/utf-8 2021-03-29 16:19:13 +02:00
wmayer
6c01302a19 Gui: fix unicode handling of path names on Windows 2021-03-29 15:41:13 +02:00
Benjamin Nauck
dbc4611bb2 App: Refactor win appData setup with boost::filesystem 2021-03-29 15:03:41 +02:00
Benjamin Nauck
a7e6171e49 App: Refactor *nix appData setup with boost::filesystem 2021-03-29 15:02:49 +02:00
Benjamin Nauck
c431672e87 App: Refactor mac appData setup with boost::filesystem
This will make it easier to add support for migration when moving
appData from `Library/Preferences` to `Library/Application Support`.
2021-03-29 15:02:36 +02:00
Matthijs Kooijman
fdc6890f4e 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
856f16211c [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