Commit graph

278 commits

Author SHA1 Message Date
Roman Telezhynskyi 895b02ef0d Move 'Precompiled headers' group to buildconfig. 2023-01-10 13:27:56 +02:00
Roman Telezhynskyi d6e3dfcbb3 Property to disable the use of precompiled headers. 2023-01-10 13:27:56 +02:00
Roman Telezhynskyi 2ba1a5db5e Improve stable.h. 2023-01-10 13:27:56 +02:00
Roman Telezhynskyi 33b2fb5ed0 Fix GCC warnings. 2023-01-05 15:14:13 +02:00
Roman Telezhynskyi 964b4c0aea Optimize dependencies with Export item. 2023-01-05 12:25:29 +02:00
Roman Telezhynskyi 2788e0a136 Successful build of test binaries. 2023-01-04 21:00:11 +02:00
Roman Telezhynskyi eb38a1c26f Successful build of main binaries. 2023-01-04 18:31:50 +02:00
Roman Telezhynskyi 93be6f3771 error C2397: conversion from 'int' to 'double' requires a narrowing conversion. 2022-11-11 20:56:56 +02:00
Roman Telezhynskyi 890486f2db Fix build on Windows. 2022-11-10 16:16:57 +02:00
Roman Telezhynskyi 5f62b1bd52 QSharedPointer::get() was introduced in Qt 5.11. 2022-11-10 12:05:06 +02:00
Roman Telezhynskyi 52c8e47e60 New option "Seam line on drawing".
There are two ways to export a sew line to DXF-AAMA: on Draw layer or Sew line layer. The second is not standard, but preferable way for most CAD systems.
2022-11-04 17:16:50 +02:00
Roman Telezhynskyi bd10a78f55 Successful compilation. 2022-10-28 16:16:13 +03:00
Roman Telezhynskyi 4a89a0892f Introduce new macro Q_DISABLE_ASSIGN_MOVE. 2022-10-08 15:22:17 +03:00
Roman Telezhynskyi 576e3bbbf2 Refactoring. 2022-10-07 16:04:07 +03:00
Roman Telezhynskyi fb85ec4eec Inconsistent $MEASUREMENT/$INSUNITS variables. 2022-09-20 11:50:38 +03:00
Roman Telezhynskyi a13f13e3fc Refactoring.
Optimize includes.
2022-08-22 11:34:02 +03:00
Roman Telezhynskyi 003c9bf33f Fix build. 2022-08-17 15:51:35 +03:00
Roman Telezhynskyi 5b9c1b1d55 Port changes from mainstream. 2022-08-13 19:27:47 +03:00
Roman Telezhynskyi 0ab0edc654 Refactoring. 2022-08-12 18:50:22 +03:00
Roman Telezhynskyi 4e07172a6f Cppcheck warnings. 2022-08-08 15:25:14 +03:00
Roman Telezhynskyi 29bd9b6497 Implementation of C++14's make_unique for C++11 compilers. 2022-02-17 15:45:41 +02:00
Roman Telezhynskyi eae539dc4a Add missing header. 2022-02-17 14:44:53 +02:00
Roman Telezhynskyi 95e115faca make_unique available since C++14. 2022-02-17 13:04:51 +02:00
Roman Telezhynskyi 6f55659c16 Fix build. 2022-02-08 20:40:33 +02:00
Roman Telezhynskyi 5b3bcdf1af Remove unused DRW_Class::parseCode() method. 2022-02-07 14:55:31 +02:00
Roman Telezhynskyi adea504bc1 protect vector<>.reserve() calls
Malformed or suspicious input files can cause std::exceptions by
vector<>.reserve() calls. Now they are caught to avoid crashes or other
vulnerabilities.
2022-02-07 14:52:41 +02:00
Roman Telezhynskyi 1639603551 Added NULL check for hatch code 93. 2022-02-07 11:49:20 +02:00
Roman Telezhynskyi a3e1cc8639 Fix build with Qt 5.6. 2022-01-29 14:57:21 +02:00
Roman Telezhynskyi 1b188bf414 Compatibility issues. 2022-01-29 10:59:02 +02:00
Roman Telezhynskyi f28660e0ea Clang warnings. 2021-11-24 14:50:31 +02:00
Roman Telezhynskyi 612306bbd8 Cppcheck warning. 2021-11-24 14:25:47 +02:00
Roman Telezhynskyi b9958e9953 fixed LibreCAD 2 issue #1371, read failed with binary DXF 2021-11-23 14:48:30 +02:00
Roman Telezhynskyi 0db9e1f728 Class to handle plot settings object entries. 2021-11-23 14:43:26 +02:00
Roman Telezhynskyi c6bd3ae727 Fix typo. 2021-11-23 13:21:24 +02:00
Roman Telezhynskyi 11a7fc2652 viewport - target xyz. 2021-11-23 13:16:58 +02:00
Roman Telezhynskyi 6a219c5ed4 Port set version bug from solvespace fork and cleanup version handling in DRW_TextCodec.
One of the most intrusive changes in QGIS' fork was that the debugging code was replaced with hardcoded changes to redirect the output to QGIS' internal logging mechanism. In this PR I've setup an interface to allow clients to create custom output debugging classes and assign these to be used by the library.

This will allow me to remove all the related downstream changes in QGIS' fork and re-sync these files back to upstream.
Interface for debug printers.
2021-11-23 13:12:11 +02:00
Roman Telezhynskyi a8d8fa0946 Modernize debugging. 2021-11-23 11:28:54 +02:00
Roman Telezhynskyi 642fbe815d Use ununordered_map instead of map
Should result in a performance boost when reading large files.
2021-11-23 11:15:11 +02:00
Roman Telezhynskyi c51d9d5b30 More modernization and cleanups. 2021-11-22 19:28:51 +02:00
Roman Telezhynskyi 5f6445cf93 Read extrusion tags for dimension entities
Dimension entities support DXF codes 210, 220, 230 and and DRW_Dimension
already had a extPoint member, but the tags were never used when
parsing.
2021-11-22 18:53:33 +02:00
Roman Telezhynskyi b18f09d86e DRW_Coord: Simplify constructor. 2021-11-22 18:48:47 +02:00
Roman Telezhynskyi c7fc0b8dcb Misc. typos 2021-11-22 18:44:44 +02:00
Roman Telezhynskyi 1b4dfc7988 Misc typos: length. 2021-11-22 18:39:20 +02:00
Roman Telezhynskyi 47e0e3d0f3 fixed heap use after free vulnerability CVE-2021-21900
as reported in TALOS-2021-1351 / CVE-2021-21900,
DRW_TableEntry::parseCode had the potential to trigger an use after free exception with a malformed DXF file.
2021-11-22 18:22:27 +02:00
Roman Telezhynskyi b861d6a28e GCC warnings. 2021-09-25 17:18:33 +03:00
Roman Telezhynskyi 51ed05e1fa GCC warnings. 2021-09-25 12:57:15 +03:00
Roman Telezhynskyi 1b3e133309 GCC warnings. 2021-09-25 12:42:28 +03:00
Roman Telezhynskyi 2ffda9a073 Introduce *_MARK_NONFINAL_CLASS and *_MARK_NONFINAL_METHOD macroses to suppress GCC warning Wsuggest-final-types. 2021-09-25 11:43:05 +03:00
Roman Telezhynskyi 718ff2056a Refactor names to avoid confusion. 2021-08-14 15:18:15 +03:00
Roman Telezhynskyi f3c0af7294 Improve creating a piece icon.
Add more information about contour: seam line, seam allowance, notches, grainline, internal paths.
2021-05-27 19:52:37 +03:00
Roman Telezhynskyi 613502b392 Improve error handling for the dxf export. 2021-04-28 20:06:24 +03:00
Roman Telezhynskyi 730614fc97 Fix export to DXF AAMA/ASTM.
Don't export a sew line if a piece doesn't have seam allowance.
2021-04-19 17:28:25 +03:00
Roman Telezhynskyi 2bb95154cd Fix Tape crash. 2021-02-06 15:52:21 +02:00
Roman Telezhynskyi abe92c667d Temporary enable full output for macosx. 2020-12-25 09:40:18 +02:00
Roman Telezhynskyi 80d9fbc107 New function Warning. 2020-11-20 13:18:38 +02:00
Roman Telezhynskyi 4cea74d63b Loading measurements in Valentina. 2020-10-15 18:05:21 +03:00
Roman Telezhynskyi 3383df193b More deprecation warnings. 2020-07-07 10:51:00 +03:00
Roman Telezhynskyi c8526f2eb0 Setting scale factor for export and print. 2020-03-21 18:15:29 +02:00
Roman Telezhynskyi b756460da8 Cppcheck warning.
We don't need support for reading ASTM notches.
2020-03-15 13:43:18 +02:00
Roman Telezhynskyi 1b663bb5e1 Export pattern to DXF-ASTM. 2020-03-15 13:35:31 +02:00
Roman Telezhynskyi 475bdadf9b Fix link to project repo in license header. 2020-01-31 08:02:08 +02:00
Roman Telezhynskyi e619fdc80c Fix build.
--HG--
branch : develop
2020-01-20 13:16:38 +02:00
Roman Telezhynskyi 254c7e776f Fix build.
--HG--
branch : develop
2020-01-20 12:28:35 +02:00
Roman Telezhynskyi 24e50455b0 Improve conversion for dxf file export.
We never checked if it really works. And it doesn't in many cases. Not always
Qt recognizes standard ANSI_* names as valid aliases for codepages. Because
codec itself can have many aliases we will test them one by one until one will
fit.

--HG--
branch : develop
2020-01-16 14:10:49 +02:00
Roman Telezhynskyi 110aa16650 Show warning if no available codec for code page when export in dxf.
--HG--
branch : develop
2020-01-11 12:04:31 +02:00
Roman Telezhynskyi 63c4725e81 Fix regression in DXF-AAMA export.
Some paths were not properly mapped.

--HG--
branch : develop
2020-01-11 11:48:02 +02:00
Roman Telezhynskyi cf1e383d7b Don't use 'char' as a type of enum class.
QDataStream doesn't support serialization for this type.

--HG--
branch : develop
2020-01-07 12:54:01 +02:00
Roman Telezhynskyi 50dd76b256 Fix regression in method VDxfEngine::ExportAAMADrill().
Placelabel center no longer mapped. Mapping must be made manually.

--HG--
branch : develop
2019-08-07 10:15:53 +03:00
Roman Telezhynskyi 1f8b89bb60 Enable the drill layer in list of AAMA layers.
--HG--
branch : develop
2019-08-01 12:49:00 +03:00
Roman Telezhynskyi 5c84c80039 Refactoring. Reduce modules dependency.
--HG--
branch : develop
2019-07-22 17:06:30 +03:00
Roman Telezhynskyi 5c55778d66 Since Q5.12 available support for C++17.
--HG--
branch : develop
2019-05-28 17:41:15 +03:00
Roman Telezhynskyi 6294dc0748 New struct VLayoutPassmark to store data about a passmark.
--HG--
branch : develop
2019-05-27 14:57:36 +03:00
Roman Telezhynskyi 57d6d79a53 New placelabel shape Circle.
--HG--
branch : develop
2019-04-23 17:42:09 +03:00
Roman Telezhynskyi 0987428a93 Increase required Qt version up to 5.4.
--HG--
branch : develop
2019-04-05 15:42:22 +03:00
Roman Telezhynskyi a214a78006 Continue replacing custom *_FALLTHROUGH macroses with Q_FALLTHROUGH().
--HG--
branch : develop
2019-03-27 13:31:02 +02:00
Roman Telezhynskyi 7caf42cf48 Since Q5.4 available support C++14. Some libraries still missed use.
--HG--
branch : develop
2018-12-23 20:27:24 +02:00
Roman Telezhynskyi 5f5b7e41fa Enable alternative operator representations for support old or nonconforming
compilers by default.

--HG--
branch : develop
2018-12-11 22:27:55 +02:00
Roman Telezhynskyi 219a15da23 Fix issue with export non-latin DXF file name on Windows.
--HG--
branch : develop
2018-07-16 20:00:42 +03:00
Roman Telezhynskyi 968996da86 It seems like mistake. ratio renamed to width.
--HG--
branch : develop
2018-07-16 19:55:37 +03:00
Roman Telezhynskyi 85e90504ef Minore fixes.
--HG--
branch : develop
2018-07-16 19:54:00 +03:00
Roman Telezhynskyi 5015dda5dd Fix DXF vport. AutoCAD complains about clipped view.
--HG--
branch : develop
2018-07-16 19:53:15 +03:00
Roman Telezhynskyi 63b1eb8068 Cppcheck warning 'missingOverride'.
--HG--
branch : develop
2018-06-26 15:53:48 +03:00
Roman Telezhynskyi 788f27889f Refactoring. Use temporary variable instead of copy.
--HG--
branch : develop
2018-04-14 16:47:55 +03:00
Roman Telezhynskyi 6fa7be60e4 Fix export to DXF-AAMA. Don't "draw" a main path if seam allowance is built-in.
--HG--
branch : develop
2018-04-14 16:47:11 +03:00
Roman Telezhynskyi 3970bbdbc0 Refactoring. Use QChar instead of QString where possible.
--HG--
branch : develop
2018-04-12 13:13:19 +03:00
Roman Telezhynskyi 0e3a9533af Refactoring. Use C++11 range-based loop.
--HG--
branch : develop
2018-04-03 14:36:38 +03:00
Roman Telezhynskyi 6b6a2632a9 Refactoring. Replacing all Q_FOREACH/foreach loops with the c++ range-based
loops.

--HG--
branch : develop
2018-04-03 11:15:58 +03:00
Roman Telezhynskyi 3252130f36 Refactoring. Use C++11 range-based loop.
--HG--
branch : develop
2018-04-02 20:38:56 +03:00
Roman Telezhynskyi 2cb7c4c603 Utilize macro QT_DEPRECATED_WARNINGS.
--HG--
branch : develop
2018-03-22 19:57:56 +02:00
Roman Telezhynskyi 6a7405b4d4 Refactoring. Use QString default constructor instead of empty string.
--HG--
branch : develop
2018-03-14 16:01:24 +02:00
Roman Telezhynskyi ca79c7ff93 Added place label.
--HG--
branch : feature
2017-10-15 12:25:20 +03:00
Roman Telezhynskyi 61172d46c4 Fix typo in headers.
--HG--
branch : develop
2017-10-05 12:20:01 +03:00
Roman Telezhynskyi be83ff5a12 SonarQube warnings.
--HG--
branch : develop
2017-08-21 16:47:17 +03:00
Roman Telezhynskyi d91f32be02 Proposed to always use mm as the default DXF export unit. ref #745.
--HG--
branch : develop
2017-08-10 16:50:10 +03:00
Roman Telezhynskyi 4914d2c3e7 Fix grainline orientation in AAMA.
--HG--
branch : develop
2017-08-02 17:04:31 +03:00
Roman Telezhynskyi a9367f7ae6 Prevent memory leak.
--HG--
branch : develop
2017-07-27 21:04:13 +03:00
Roman Telezhynskyi a6976fd1ee Fix details position if export from Detail mode. red #391.
--HG--
branch : develop
2017-07-20 19:14:19 +03:00
Roman Telezhynskyi 83251364b0 Fix broken building on Windows.
--HG--
branch : develop
2017-07-20 14:21:14 +03:00
Roman Telezhynskyi 9ae393a462 For AAMA layer 1 must be default.
--HG--
branch : feature
2017-07-19 10:34:24 +03:00
Roman Telezhynskyi f20549d310 Optitex doesn't like layer 19.
--HG--
branch : feature
2017-07-19 10:33:21 +03:00