* QMetaObject::invokeMethod: No such method Gui::OverlayManager::raiseAll()
* variable 'total' set but not used [-Wunused-but-set-variable]
* 'globalPos' is deprecated: Use globalPosition() [-Wdeprecated-declarations]
* Import: Support DXF text rotation - fixes#10882
- Reads and supports text rotation in builtin DXF import
- Makes the builtin DXF import produce Draft texts instead of App::Annotations
- Extends the arguments of Draft make_text()
* [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>
Fixes#6187.
Other fixes:
* Made handling of shapes and global placement more consistent.
* Shapes without curves were also triangulated.
* Polygonal faces could have flipped normals and duplicate points.
When saving the thumbnail there is a check if the 3D window is the active window. This check fails if a document is saved for the first time because
the appearing file dialog causes the 3D window to not be active any more. Thus, no snapshot of the 3D window will be created and the program logo will be
saved instead. A workaround is to save the document twice.
This PR removes the check for the active window so that the snapshot can be created. The issue might be related to #10937.
With PR #10016 the saving of thumbnails is on by default but the spin box to set the size is still disabled.
This results into an inconsistency and one has to click the Save thumbnails check box twice to enable the size widget.
The commit adds some new functions:
* getThumbnailDir()
Returns the path to the thumbnail directory which is a sub-directory of the Cache directory.
There is no need to always create a unique directory after each restart because it doesn't harm
if the thumbnail directoy contains deprecated files.
* createThumbnailDir()
Creates the thumbnail directoy if it doesn't exist yet.
* getSha1Hash
Helper function to compute a SHA-1 hash of a given path. If the same path is passed
then the hash value will be the same.
This way it can be avoided to create a different image file from a project file
after each restart.
* getUniquePNG
Computes the path of a PNG image file for a given project file. It's also possible
to pass an arbitrary string as argument.
* useCachedPNG
If the PNG image exists and if it's newer than the project file True is returned
and False otherwise.
The changes in detail are:
1. For a given project file it is checked if the thumbnail directory already contains
a cached image. If it's newer than the project file it will used, otherwise it will
be re-created.
2. For the system icon to a given file format it is only checked if the icon already exists.
If yes, it will be used.