Commit Graph

16794 Commits

Author SHA1 Message Date
wmayer
b9e79be0a7 Sketcher: [skip ci] add security checks before accessing pointer 2020-06-14 16:23:16 +02:00
Abdullah Tahiri
a0dcc8caf0 TaskDlgEditSketch: Remove unnecessary recompute
===============================================

On Undo/Redo there should not be an unconditional recompute.

The need for this recompute is probably related to the fact that PropertyConstraintList
has invalid geometry keys.
2020-06-14 14:44:28 +02:00
Abdullah Tahiri
ee9eb741b4 Sketcher: ViewProviderSketch delay updateData on undo/redo transactions
=======================================================================

On App:Document::undo, applchn is called on every transactional object (e.g. properties) affected, which
calls Paste on the property.

Each of the properties of SketchObject cause a call to SketchObject::OnChanged, and App::DocumentObject::OnChanged, the latter
calling onChangeProperty, which signals the viewprovider from Gui::Document::slotChangedObject via ViewProviderSketch::updateData.

This causes that the ViewProvider is updated when Constraints and Geometry indexes are not matching.

The solution proposed has three parts:
1. First, at ViewProvider::updateData update is prevented while undo/redo transaction is performed by checking isPerformingTransaction()
2. Second, the onUndoRedoFinished() mechanism of SketchObject causes the call of updateData when it solves the sketch (and sets the solved geometry)
3. Third, Gui::Document::signalUndoDocument and Gui::Document::signalRedoDocument (via the slots in ViewProviderSketch) are
used to perform the recompute of the ViewProvider when the undo/redo transaction is finished if needed.
2020-06-14 14:44:28 +02:00
Abdullah Tahiri
b08aa0d0e9 Sketcher: onUndoRedoFinished implementation and request
=======================================================

The sketchobject is now left in a known status after undo/redo transaction
2020-06-14 14:44:28 +02:00
donovaly
1fa5d3759c [TD] use KeyboardTracking for section view dialog
use the keyboardTracking feature as we now also do for the detail view dialog
2020-06-14 06:47:37 -04:00
donovaly
e55d522970 [TD] remove hatch property DirProjection
as discussed in https://forum.freecadweb.org/viewtopic.php?f=35&t=47536&p=408075#p407904
the property DirProjection can go.
2020-06-13 20:45:31 -04:00
donovaly
ade9a9b34d DlgPrefsTechDrawGeneral.ui: get rid of explicit font family
this is unnecessary since Qt will automatically use the available font. It only raises questions since one see in the commit diffs that depending on who modified the dialog, his system default font will appear. (like in the initial commit of this PR)
2020-06-13 20:44:57 -04:00
donovaly
99d5adbc5e [TD] some wording fixes
- I had a look at Crowdin and saw that the translators don't know what to do with the uppercase letter words. And in fact we can use "normal" terms
- I also fixed a typo (missing 'd') to be consistent
2020-06-13 20:44:57 -04:00
donovaly
b3a6b22308 code simplification 2020-06-13 09:46:20 -04:00
donovaly
da4be69493 [TD] fix hatch color issue
as discussed: https://forum.freecadweb.org/viewtopic.php?f=35&t=47536&p=407916#p407916
there are 2 types of SVG declarations possible
2020-06-13 09:46:20 -04:00
wmayer
2799f553a1 Py2: fix Python 2 build failure 2020-06-12 17:51:33 +02:00
wmayer
47b862bbd9 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
8b5e05d1dc Fix -Wdeprecated-copy 2020-06-12 17:51:33 +02:00
wmayer
a455927d4a Qt5: Replace deprecated functions of QString:
'QString& QString::vsprintf(const char*, __va_list_tag*)' is deprecated: Use vasprintf(), arg() or QTextStream instead [-Wdeprecated-declarations]
'QString& QString::sprintf(const char*, ...)' is deprecated: Use asprintf(), arg() or QTextStream instead [-Wdeprecated-declarations]
2020-06-12 17:51:33 +02:00
wmayer
aefd5e2358 Qt5: 'void Q[Plain]TextEdit::setTabStopWidth(int)' is deprecated [-Wdeprecated-declarations] 2020-06-12 17:51:33 +02:00
wmayer
d456b1021e Qt5: 'QVariant qVariantFromValue(const T&)' is deprecated: Use QVariant::fromValue() instead. [-Wdeprecated-declarations] 2020-06-12 17:51:33 +02:00
wmayer
cff0638672 Qt5: QDesktopWidget is deprecated use QScreen [-Wdeprecated-declarations] 2020-06-12 17:51:33 +02:00
wmayer
c8dae9eb85 Qt5: 'void QTime::start()' / 'int QTime::elapsed() const' / 'int QTime::restart()' are deprecated: Use QElapsedTimer instead [-Wdeprecated-declarations] 2020-06-12 17:51:33 +02:00
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
88fd77b31d Porting Py3.8/Py3.9:
Since Py3.3: 'Py_ssize_t PyUnicode_GetSize(PyObject*)' is deprecated [-Wdeprecated-declarations]
Since Py3.9: 'PyObject* PyEval_CallObjectWithKeywords(PyObject*, PyObject*, PyObject*)' is deprecated [-Wdeprecated-declarations]
Since Py3.9: 'void PyEval_InitThreads()' is deprecated [-Wdeprecated-declarations]
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
3437bce123 Qt5: 'static void QCoreApplication::flush()' is deprecated since Qt 5.9 [-Wdeprecated-declarations] 2020-06-12 17:51:33 +02:00
wmayer
52b9d66004 Qt5: 'void QTreeWidgetItem::setTextColor(int, const QColor&)' is deprecated: Use QTreeWidgetItem::setForeground() instead [-Wdeprecated-declarations] 2020-06-12 17:51:33 +02:00
wmayer
7b72dcb062 Qt5: 'QString::null' is deprecated: use QString() [-Wdeprecated-declarations] 2020-06-12 17:51:33 +02:00
wmayer
ac7da8b39f clang/gcc/cmake: [skip ci] suppress deprecated-copy warnings for OpenInventor class SbMatrix 2020-06-12 14:49:18 +02:00
Yorik van Havre
fa219743d0 Arch: Better support for App::Parts in Arch Windows 2020-06-12 14:22:39 +02:00
donovaly
7bba15a2c9 [TD] make all hatch patters plain SVG
- everything that is part of the drawing should be plain SVG (strictly following the SVG specification) to assure that every SVG program can handle it (e.g. Internet browsers).
The hatch patterns however contained old stuff like traces of Sodipodi that might be a problem in the future.
2020-06-12 08:13:10 -04:00
donovaly
e889a49bbb [TD] add dialog for hatches
as discussed in the forum, the hatch feature misses a dialog. So here it is. The code is more or less just the one of the existing GeomHatch dialog
2020-06-12 08:12:37 -04:00
donovaly
d9981891c9 [TD] GeomHatch dialog: use sensible hatch limits
- negative scale and line width is not sensible and lead to strange effects thus set a minimum
- set the minimum reasonably above 0 since e.g. a hatch scale of 0.01 fills 8 GB RAM -> out of RAM error
- disable KeyboardTracking since we don't want a time-consuming recomputation while the user changes a value
2020-06-12 08:12:07 -04:00
donovaly
be59c64f31 [TD] detail view: add missing tooltip 2020-06-12 08:11:25 -04:00
wmayer
709c349fa7 [skip ci] avoid to redefine GL_GLEXT_PROTOTYPES if already defined 2020-06-12 14:07:45 +02:00
Yorik van Havre
f98ed46ad6 Arch: Allow to export structural analysis model to IFC 2020-06-11 14:15:38 +02:00
Yorik van Havre
b63f380f61 Draft: Allow to define rounding value in DraftVecUtils.rounded 2020-06-11 14:15:04 +02:00
Yorik van Havre
0d8fb86f11 Arch: Support user-defined profiles csv file 2020-06-10 15:38:29 +02:00
donovaly
c5055422c4 [TD] update view when autoscale was set 2020-06-10 08:04:18 -04:00
wmayer
184efc03bf Sketcher: [skip ci] fix -Wimplicit-fallthrough= 2020-06-10 13:09:58 +02:00
wmayer
b5c2befaec PartDesign: [skip ci] fix -Wunused-variable 2020-06-10 12:52:52 +02:00
wmayer
2b1e6ce49a clang/gcc/cmake: [skip ci] suppress deprecated-copy warnings for OpenInventor class SbMatrix 2020-06-10 12:49:45 +02:00
WandererFan
f80a78cf64 [TD]CosmeticEdge type guards 2020-06-09 18:40:59 -04:00
WandererFan
64a96e2216 [TD]CosmeticEdge setters and getters 2020-06-09 18:40:59 -04:00
wandererfan
476b19590b [TD]Fix CosmeticVertex size 2020-06-09 16:12:14 -04:00
wandererfan
190de1b598 [TD]save template as plain Svg, not Inkscape Svg 2020-06-09 16:12:14 -04:00
wandererfan
9102299395 [TD]hide Symbol property in Editor 2020-06-09 16:12:14 -04:00
wmayer
3632c81435 clang/gcc/cmake: move handling of suppressed deprecated-copy warnings from source file to CMake file to more easily support gcc 10 2020-06-09 15:30:42 +02:00
Yorik van Havre
ee55ea844e Arch: Fixed wrong structural node generation 2020-06-09 15:16:34 +02:00
donovaly
ac80ba3945 [TD] add scale settings to detail task dialog 2020-06-09 08:51:46 -04:00
wandererfan
30a1e76d38 [TD]Fix editable field in template 2020-06-09 07:22:00 -04:00
wandererfan
121ee38837 [TD]Fix geometric hatch in Pdf 2020-06-09 07:22:00 -04:00
vocx-fc
9dc454ea2a Draft: add some explanation on the properties of PathArray
The use of `App::PropertyLinkSubList` for `'PathSubelements'`
is a mistake because we could use a single `App::PropertyLinkSub`
to handle both `'PathObject'` and `'PathSubelements'` properties.

This commit doesn't change any code, it just adds comments
explaining the situation so that it is not forgotten,
and we remember to address it in the future.

Ideally we should migrate the objects, but we may also decide
to break compatibility with older `PathArrays` if both properties
can't be migrated easily.
2020-06-09 12:02:25 +02:00