Commit Graph

1112 Commits

Author SHA1 Message Date
wmayer
8dbe26a95f Qt5: 'int QFontMetrics::width' is deprecated since Qt 5.11: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations] 2020-06-12 17:51:33 +02:00
wmayer
730154a684 boost 1.73.0: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated 2020-06-12 17:51:33 +02:00
wmayer
9ed9d30338 Qt5: 'static bool QPixmapCache::find(const QString&, QPixmap&)' is deprecated: Use bool find(const QString &, QPixmap *) instead [-Wdeprecated-declarations] 2020-06-12 17:51:33 +02:00
wmayer
e16e756af9 [skip ci] include missing boost header 2020-06-07 17:21:37 +02:00
Abdullah Tahiri
c2c0428e99 Sketcher: Fix solver failure when setting datum results in wrong solver information
===================================================================================

fixes:
https://forum.freecadweb.org/viewtopic.php?p=404945#p405014
2020-06-03 19:07:50 +02:00
0penBrain
f70fdcadb5 [Sketcher] Solver message updated when toggling driving in datum dialog 2020-06-03 18:30:37 +02:00
Abdullah Tahiri
5a9e3358c0 Sketcher: Avoid PointOnObject Autoconstraint on BSpline
=======================================================

fixes #4295

PointOnObject autoconstraint for BSplines is currently not supported, this
commit prevents malformed autoconstraint creation.
2020-06-02 19:08:06 +02:00
Abdullah Tahiri
ef51a169e3 Sketcher: Make setposition text unpickable
==========================================

fixes #4272

The setposition text string was being picked interfering with preselection of autoconstraints.

Merit for the solution goes to Werner:
https://forum.freecadweb.org/viewtopic.php?f=10&t=47092&p=404519#p404519
2020-06-01 19:56:01 +02:00
Abdullah Tahiri
3e1746d373 Sketcher: Fix for failure of constraint substitution
====================================================

fixes #4105

When a constraint substitution is present, a solve must precede any call to the redundant removal to update the solver information.
2020-05-29 14:19:42 +02:00
Abdullah Tahiri
057d8798bb Sketcher: Fixing Driving constraint apparent redundancy
=======================================================

When adding a reference constraint of type radius or diameter to an external geometry using the method of select the
continuous mode method (select tool first, click geometry afterwards), with ActiveUpdate checked, there was a missing
solving to bring the solver information in line with the Driven constraint.

fixes #4054
2020-05-28 19:10:22 +02:00
Abdullah Tahiri
b32821d2f2 Sketcher: ViewProvider Grid control
===================================

Encapsulation of grid internals in ViewProviderObject2D, while allowing control via property changes and protected functions.
2020-05-27 19:25:47 +02:00
0penBrain
bcf451bac8 [Sketcher] Grid is displayed in 3D view only if sketch is visible 2020-05-27 19:25:47 +02:00
0penBrain
fe04d47b4c [Sketcher] Local settings are correctly restored ; fixes #3952,#4058 2020-05-27 19:25:47 +02:00
0penBrain
b094ca2ed4 [Sketcher] Grid snapping is enabled only if grid is shown 2020-05-27 19:25:47 +02:00
0penBrain
23e26e2ca6 [Sketcher] 'Avoid redundant autoconstraint' is processed only if 'Autoconstraints' is active 2020-05-27 19:25:47 +02:00
0penBrain
fece0f2dfc [Sketcher] Move general settings widget enable/disable logic in TaskSketcherGeneral so ...
... all options are freely accessible in the preferences editor ...
 ... eg. no need to check 'Show Grid' to customize grid size or snap
 Also remove the sparse automatical saving to preferences from sketcher Task pane ...
 ... (some settings were saved, some not)
2020-05-27 19:25:47 +02:00
0penBrain
3528429363 [Sketcher] Fix catching of rendering order change
model()->layoutChanged signal didn't work at all, was never emitted by widget
 Replaced with an eventFilter catching ChildRemoved to further emit the signal
2020-05-27 19:25:47 +02:00
0penBrain
392ad609b4 [Sketcher] Fix saving/loading of rendering order
Wasn't working at all
 Now saved only from preferences editor
2020-05-27 19:25:47 +02:00
0penBrain
cd788bbd28 [Sketcher] Simplify general settings management 2020-05-27 19:25:47 +02:00
0penBrain
2de7560489 [Sketcher] Fix grid size initialization ; fixes #4055 2020-05-27 19:25:47 +02:00
0penBrain
c6fdc526dd [Sketcher] Add missing 'Auto remove redundant' to preferences 2020-05-27 19:25:47 +02:00
Abdullah Tahiri
b8e41e99e3 Sketcher: Root point selected when endpoint in external geometry point
======================================================================

fixes #3831

Solver Interface getPointId method is only intended for normal geometry, and returns -1 if geoid is out of range, which was misinterpreted as root point selection.
2020-05-26 14:14:00 +02:00
0penBrain
23bf4e745d [Sketcher] Ensure datum edit dialog is fully shown over the main window 2020-05-03 11:11:47 +02:00
0penBrain
47c0edfc04 [Sketcher] Harmonize points selection order for symmetry constraint ; fixes #3746 2020-05-03 08:11:47 +02:00
Yorik van Havre
141764e64f Merged crowdin translations 2020-04-29 16:08:23 +02:00
Yorik van Havre
7003b3f747 Updated source ts files 2020-04-29 15:41:26 +02:00
Abdullah Tahiri
63b73f91fd Sketcher: Default solver information font size to system 2020-04-28 14:53:28 +02:00
Abdullah Tahiri
df9c158837 Remove hard-coded font families 2020-04-28 14:53:28 +02:00
vocx-fc
b46d08e748 Sketcher: update XPM icon for PointOnPoint constraint
The SVG icon was changed in df8e0785a3 but the small XPM icon
was not modified.

Unlike other XPM icons which are used in `ViewProviderSketch.cpp`,
this `PointOnPoint` XPM icon doesn't seem to be used at all.
Nevertheless, we still update it so that the XPM matches
its corresponding SVG.

Also update the `README.md` to explain how these XPM icons
are generated.
2020-04-27 11:25:11 +02:00
0penBrain
8c33c43532 [Sketcher] Improve elements color tampering with edge coloring
Use HSV colorspace for maximum Qt4 compatibility
2020-04-07 17:05:37 +02:00
0penBrain
3bfe6e2459 [Sketcher] Fix Qt4 compatibility in MultIcon + minor improvement 2020-04-07 17:05:37 +02:00
Abdullah Tahiri
779631a67b Sketcher: Element Widget External/Construction icons fixes
==========================================================

Changes:
- Move multIcon structure to be internal to TaskSketcherElements class
- Change Caps to MultIcon for consistency
- Move tamperIcon from TaskSketcherElements to MultIcon struct
- Change tamperIcon method to be the constructor of MultIcon and change from struct to class
- Update the tamperIcon algorithm, so that only the point that is not marked in green as selected
is made pink.

Bug fix:

UpdateIcons and SlotElementsChanged are methods sharing code (they could benefit from a refactoring), but
they are conceptually different and are called in very different circumnstances.

UpdateIcons preserves selection. This means that one may select the stating point of line1, press z to switch
to edges, select the edge of line 2 and do a point on object constraint all without touching the 3D view.

SlotElementsChanged occurs when there are additions or removals in the number of geometry elements of the widget.

Warning:

This code requires QT 5.6 because of function pixelColour(int, int):
https://doc.qt.io/qt-5/qimage.html#pixelColor-1

Travis without QT5 complains with:

/home/travis/build/FreeCAD/FreeCAD/src/Mod/Sketcher/Gui/TaskSketcherElements.cpp:1120:31: error: ‘class QImage’ has no member named ‘pixelColor’; did you mean ‘setColor’?
2020-04-07 17:05:37 +02:00
0penBrain
7db539fb21 [Sketcher] Distinguish normal/reference/construction elements in task dialog 2020-04-07 17:05:37 +02:00
wmayer
e14e5b845e [skip ci] use QLocale class consistently to make it possible to change it application-wide 2020-03-26 16:37:45 +01:00
luz.paz
65f6347953 [skip ci] Fix typos
Found via 
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-03-24 11:14:24 +01:00
0penBrain
00142c9b32 [Sketcher] Remove 'Hexagonal profile' menu ; fixes #4290
Menu creation has been removed (commented) but all other profile feature are kept
 for compatibility.
2020-03-20 12:10:35 +01:00
wmayer
ed04d40e2b Sketcher: modify PR 3201 a bit
+ remove unneeded class members from EditData class
+ do not include ui-header from within header files
+ fix possible memory leak in EditDatumDialog
+ when canceling dialog make sure sketch will be updated
2020-03-19 13:45:52 +01:00
0penBrain
d520de1aba [Sketcher] Constraint driving/driven status integration in dimension edition dialog
This integrates the ability to manage dimensional constraint driving/driven status
 in the constraint edition dialog box.
 It adds a checkbox in the dialog to show/select whether a constraint is driving or
 driven. When the constraint value is modified, it is automatically set as driving.
 Main focus is to allow to edit name (alias) of reference (driven) constraints
 directly in the constraint edition box.

 Resolves #3793, #3978
2020-03-19 13:45:52 +01:00
dulouie
134c841e08 Sketcher: fix contraints cmd crosshair color 2020-03-16 09:34:21 +01:00
luz.paz
ebe194a9e9 Fix typos
Found via  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-03-06 14:50:35 +01:00
Yorik van Havre
8933e8ed38 Merged latest translations from crowdin 2020-03-05 11:58:03 -03:00
Zheng, Lei
e4978be7a4 App: add new convenient class SubObjectT
Derived from App::DocumentObjectT to add support of sub object

Also some minor changes to App::DocumentObjectT

Changed Gui::SelectionChanges to make use of SubObjectT
2020-02-11 15:40:27 -05:00
wmayer
e1b3ec41b6 Sketcher: add option to disable leaving sketch with Esc button 2020-02-09 13:52:09 +01:00
wmayer
b11909185c Sketcher: [skip ci] fix -Wunused-private-field 2020-02-09 10:33:06 +01:00
wmayer
c2d0305e44 Sketcher: split huge settings page into two pages 2020-02-08 19:45:23 +01:00
wmayer
56ef40c449 Sketcher: [skip ci] add create polygon command to sketcher menu 2020-02-07 15:28:07 +01:00
donovaly
24ec114cb8 remove program-specific SVG namespaces
while fixing a SVG export issue for techDraw I noticed that some SVG files have program-dependent (and thus not clean) code in it. These are traces of the programs Sodipodi and Inkscape, like e.g. this line:
inkscape:export-filename="/home/yorik/PartDesign_Groove.png

This is unnecessary and FC should not use program-dependent code in the SVG but use instead plain SVG strictly following the SVG specification.

This PR transforms the few affected SVGs to a plain version.
2020-02-07 07:34:49 -05:00
wmayer
7064ebc581 Sketcher: [skip ci] explicit command to stop current operation
Fore more details: https://forum.freecadweb.org/viewtopic.php?f=3&t=42207
2020-02-06 15:55:00 +01:00
wandererfan
eb717b2fd3 [SK]change coincident point icon 2020-01-30 08:48:03 -05:00
triplus
5eb1ca4308 Sketcher - improve text readability on dark themes
https://forum.freecadweb.org/viewtopic.php?f=34&t=40493
2020-01-27 10:08:07 +01:00