Commit Graph

761 Commits

Author SHA1 Message Date
Roman Telezhynskyi
af3ce8abfe Fix build. 2021-07-10 16:21:44 +03:00
Roman Telezhynskyi
bd229583d4 Test IsAllowanceValid method. 2021-07-10 16:13:29 +03:00
Roman Telezhynskyi
7043d59858 Warn about stale layout only in GUI mode. 2021-07-09 15:38:53 +03:00
Roman Telezhynskyi
d280f6a2bb Fix regression. Minimal seam allowance width is less than the point accuracy values. 2021-07-09 10:42:17 +03:00
Roman Telezhynskyi
c867a9a56e Export the Draw mode. Closes #83 2021-06-28 20:05:19 +03:00
Roman Telezhynskyi
7ee158c11c New menu option Add sheet. 2021-05-27 21:11:32 +03:00
Roman Telezhynskyi
962b5dd561 Cppcheck warning. 2021-05-27 20:58:18 +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
Ronan
302a1fbc2b Move ExportFormatSuffix and Description to VLayoutExporter 2021-05-22 11:52:24 +02:00
Roman Telezhynskyi
68c6c033b4 Merge branch 'develop' into feature/manual-layout 2021-05-15 11:27:37 +03:00
Roman Telezhynskyi
6abddfd240 Standard passmarks length for all pieces. Closes #124 2021-05-10 16:39:17 +03:00
Roman Telezhynskyi
68990ef5b4 Merge branch 'develop' into feature/manual-layout 2021-05-03 18:39:56 +03:00
Roman Telezhynskyi
613502b392 Improve error handling for the dxf export. 2021-04-28 20:06:24 +03:00
Roman Telezhynskyi
f4eb8330b3 Merge branch 'develop' into feature/manual-layout 2021-04-24 13:05:13 +03:00
Roman Telezhynskyi
5fcefc0642 Fix removing last duplicate point.
If removeFirstAndLast not active the last point must remain intact.
2021-04-07 20:41:57 +03:00
Roman Telezhynskyi
56ae4a1381 Fix incorrect seam allowance. Closes #118 2021-04-07 20:38:56 +03:00
Roman Telezhynskyi
453736dfbc Fix crash if a piece contour is empty. 2021-03-30 18:21:02 +03:00
Roman Telezhynskyi
b2e75261b7 Fix incorrect seam allowance. Closes #113 2021-03-30 18:11:18 +03:00
Roman Telezhynskyi
d5310d8ae1 Fix incorrect seam allowance. Closes #112 2021-03-30 16:20:38 +03:00
Roman Telezhynskyi
33b8482f18 Clazy warnings. 2021-03-30 16:10:31 +03:00
Roman Telezhynskyi
95fb3f3d89 Pattern label template placeholder with dimension label value. Closes #109 2021-03-29 15:06:32 +03:00
Roman Telezhynskyi
0138e5a321 Merge remote-tracking branch 'origin/develop' into feature/manual-layout 2021-02-24 16:26:11 +02:00
Roman Telezhynskyi
cecc1dfd4e Incorrect fix of seam allowance distortion. Closes smart-pattern/valentina#99 2021-02-23 18:29:54 +02:00
Roman Telezhynskyi
e9f9fb0f30 Fix incorrect seam allowance for angle type second edge right angle. 2021-02-17 19:26:54 +02:00
Roman Telezhynskyi
c1b7fcd2c9 Changes to QTemporaryFile since Qt 5.10.
On Linux, QTemporaryFile will attempt to create unnamed temporary
files. If that succeeds, open() will return true but exists() will be
false. If you call fileName() or any function that calls it,
QTemporaryFile will give the file a name, so most applications will
not see a difference.

To get a real file on disk call fileName().
2021-02-17 19:20:35 +02:00
Roman Telezhynskyi
2bb95154cd Fix Tape crash. 2021-02-06 15:52:21 +02:00
Roman Telezhynskyi
d61089d755 Suppress a warning. 2021-02-05 17:44:58 +02:00
Roman Telezhynskyi
6d3d624980 Improve error handling for final measurements placeholders. #85 2021-01-30 21:15:49 +02:00
Roman Telezhynskyi
d62bf67759 Fix regression. Export to tiled PDF has no suffix. 2021-01-30 20:05:04 +02:00
Roman Telezhynskyi
8b15f4aed6 Final measurement printout on pattern piece. Closes #85 2021-01-23 21:37:36 +02:00
Roman Telezhynskyi
d30ca54297 Fix width of a grainline on export. 2021-01-23 18:54:07 +02:00
Roman Telezhynskyi
2406e98350 Add support for TIFF format. Closes smart-pattern/valentina#87 2021-01-23 18:47:50 +02:00
Roman Telezhynskyi
5eb8784cd4 New warning. Grainline is not valid. 2021-01-23 15:24:44 +02:00
Roman Telezhynskyi
6f3e65e30e Merge branch 'develop' into feature/manual-layout 2020-12-26 22:29:10 +02:00
Roman Telezhynskyi
3c0c624682 Don't check warnings for a legacy mac os x build. 2020-12-26 19:44:55 +02:00
Roman Telezhynskyi
abe92c667d Temporary enable full output for macosx. 2020-12-25 09:40:18 +02:00
Roman Telezhynskyi
26457152cd Remove deprecated QPrinter methods. 2020-12-24 13:32:40 +02:00
Roman Telezhynskyi
60c6c9e5f4 Fix build. 2020-12-24 07:32:31 +02:00
Roman Telezhynskyi
54bad5d29c Fix build. 2020-12-23 20:08:33 +02:00
Roman Telezhynskyi
dccc87d8af Cppcheck warning. 2020-12-23 19:01:04 +02:00
Roman Telezhynskyi
547b6bcdb3 VLayoutExporter, add support for the RLD format. 2020-12-23 18:57:25 +02:00
Roman Telezhynskyi
a58a783aba Merge branch 'develop' into feature/manual-layout 2020-12-23 18:40:33 +02:00
Roman Telezhynskyi
510a5ab6a7 Refactoring. 2020-12-23 15:42:30 +02:00
Roman Telezhynskyi
abb4397901 Introducing VPrintLayout class.
Refactoring printing a layout.
2020-12-23 15:30:06 +02:00
Roman Telezhynskyi
03ec38f2c3 Introducing new class VLayoutExporter.
Move all export code outside of the main window class.
2020-12-19 19:10:55 +02:00
Roman Telezhynskyi
e70e998dc5 Improve the layout option "Auto crop unused width". 2020-12-18 17:01:58 +02:00
Roman Telezhynskyi
0ab76dd6b9 New warning. Warn about empty measurements dimension value when preparing placeholders. 2020-12-17 17:42:47 +02:00
Roman Telezhynskyi
aa5f026c58 Merge branch 'develop' into feature/manual-layout 2020-11-27 11:56:55 +02:00
Roman Telezhynskyi
3ce704d039 Improve crossing check for the layout algorithm. 2020-11-26 19:55:02 +02:00
Roman Telezhynskyi
a6437dbb3b Fix incorrect nesting status for valid cases. 2020-11-26 19:12:59 +02:00
Roman Telezhynskyi
f4f6ba9989 Improve canceling nesting. 2020-11-26 19:11:42 +02:00
Roman Telezhynskyi
4041f9e154 Restore layout debug system. 2020-11-26 19:10:09 +02:00
Roman Telezhynskyi
b82d6f1bb1 Merge remote-tracking branch 'origin/develop' into feature/manual-layout 2020-11-20 13:40:39 +02:00
Roman Telezhynskyi
80d9fbc107 New function Warning. 2020-11-20 13:18:38 +02:00
Roman Telezhynskyi
0371905c0d Merge remote-tracking branch 'origin/develop' into feature/manual-layout 2020-11-10 16:00:01 +02:00
Roman Telezhynskyi
d10f20f399 Extend placeholders list with list of measurements. 2020-10-16 13:43:54 +03:00
Roman Telezhynskyi
1b2343e537 Extend list of placeholders.
Added customer email and birth date, all dimensions.
2020-10-16 11:37:49 +03:00
Roman Telezhynskyi
4cea74d63b Loading measurements in Valentina. 2020-10-15 18:05:21 +03:00
Roman Telezhynskyi
054560c7a0 Fix label size for case with two pins.
(cherry picked from commit 64f70a58cf)
2020-09-23 16:55:04 +03:00
Roman Telezhynskyi
0828f25788 Fix crash when a notch is empty. 2020-09-22 14:43:39 +03:00
Roman Telezhynskyi
e3ca47dc10 Fix the second case of error: 'auto' not allowed in lambda parameter. 2020-09-22 10:23:27 +03:00
Roman Telezhynskyi
88ec0f69ca Fix error: 'auto' not allowed in lambda parameter. 2020-09-22 09:45:17 +03:00
llocram
c8119b88c9 Silenced conversion warning 2020-08-28 17:32:35 +02:00
llocram
819bcadee4 Replaced hand-crafted find-algorithm with std::find_if. Removed a logical error (pos > points.size() never returns true). 2020-08-28 14:18:41 +02:00
llocram
1a2c5de357 Replaced hand-crafted reverse algorithm with std::reverse 2020-08-28 14:09:16 +02:00
llocram
ed970fe6f6 Minor refactoring 2020-08-28 13:57:14 +02:00
Roman Telezhynskyi
07858f7fcb Refactoring. 2020-08-01 11:55:56 +03:00
Roman Telezhynskyi
15d02bc456 Fix invalid layout allowance. Closes #58 2020-07-31 16:31:27 +03:00
Roman Telezhynskyi
49c62b072b Refactoring.
Add new constructor for class VRawSAPoint to improve readability.
2020-07-31 16:15:00 +03:00
Roman Telezhynskyi
9389cb546c Refactoring. Redesign a container reversing method. 2020-07-13 16:28:59 +03:00
Roman Telezhynskyi
e419ccfece Fix build on Qt 5.15: missed include in vlayoutdef header.
(cherry picked from commit 6af9d104cd)
2020-06-13 11:26:20 +03:00
Roman Telezhynskyi
6af9d104cd Fix build on Qt 5.15: missed include in vlayoutdef header. 2020-06-13 11:25:54 +03:00
Roman Telezhynskyi
20b797b2c5 Merge branch 'develop' into feature/manual-layout. 2020-06-04 13:45:32 +03:00
Roman Telezhynskyi
54482b7c75 Fix label alignment.
Alignment type 0 (no alignment, same as left) was incorrectly handled for layout piece. Code for the layout piece label is separate and did not handle this case. Valid value 0 was handled as right alignment.
2020-06-03 14:47:37 +03:00
Roman Telezhynskyi
db007ac301 Improve checking allowance validity. 2020-06-03 13:18:43 +03:00
Ronan Le Tiec
664c6dcd51 Typo 2020-04-24 17:25:43 +02:00
Roman Telezhynskyi
30a27ee85a UUID field for piece. 2020-04-22 14:32:25 +03:00
Roman Telezhynskyi
3b37d22a0b Actions Open Puzzle, Create Manual Layout, Update Manual Layout in Valentina. 2020-04-21 19:02:21 +03:00
Roman Telezhynskyi
c6c4edb893 Merge branch 'develop' into feature/manual-layout 2020-03-25 15:28:23 +02:00
Roman Telezhynskyi
31f92c3610 Improve calculation of the layout efficiency for cases with several pages. 2020-03-22 18:21:22 +02:00
Roman Telezhynskyi
49828889e2 New layout generator option: Prefer one sheet solution. 2020-03-22 16:22:03 +02:00
Roman Telezhynskyi
c8526f2eb0 Setting scale factor for export and print. 2020-03-21 18:15:29 +02:00
Roman Telezhynskyi
47b3eab0ad Refactoring for VPoster class.
Pass QSize instead QRect. To calculate tiles we need width and size only.
2020-03-21 17:31:25 +02:00
Roman Telezhynskyi
77be615877 Improve empty sheet edge.
User expects to have piece positioned tight to the top left corner of a paper sheet.
2020-03-21 17:28:08 +02:00
Roman Telezhynskyi
4fcbbc99fd Make sure that printer page layout switched to millimeters before getting margins. 2020-03-20 10:19:31 +02:00
Roman Telezhynskyi
1b663bb5e1 Export pattern to DXF-ASTM. 2020-03-15 13:35:31 +02:00
Roman Telezhynskyi
30bac523c8 Improve seam allowance.
Increase max allowed length of corner to cover real world case.
2020-03-07 11:17:06 +02:00
Roman Telezhynskyi
8c9eec2448 Option Pattern Piece -> Show main path doesn't show second passmarks on main path. 2020-02-25 08:44:13 +02:00
Roman Telezhynskyi
06bc9f8baf Suppress Clang warning. 2020-02-21 10:47:13 +02:00
Roman Telezhynskyi
46131d3cb9 Improve pattern messages.
Include cases when impossible to prepare data for layout.
2020-02-20 19:35:49 +02:00
Roman Telezhynskyi
f1ecc80e03 Change behavior for menu Pattern piece -> Show main path. Now it has an influence on export as well. 2020-02-20 17:28:15 +02:00
Roman Telezhynskyi
309259a0e4 Approximation scale on curved path - Draw vs. Detail. Closes smart-pattern/valentina#8. 2020-02-10 16:34:50 +02:00
Roman Telezhynskyi
6864ddc1af Fix build with Qt 5.14. 2020-02-04 11:22:23 +02:00
Roman Telezhynskyi
475bdadf9b Fix link to project repo in license header. 2020-01-31 08:02:08 +02:00
Roman Telezhynskyi
7998687b03 Refactoring. Hide compatibility layer behind a function.
fromList().

--HG--
branch : develop
2020-01-16 19:46:05 +02:00
Roman Telezhynskyi
658eafc3d3 Refactoring. Hide compatibility layer behind a function.
toVector().

--HG--
branch : develop
2020-01-16 19:20:55 +02:00
Roman Telezhynskyi
7e3c7e0f88 Refactoring. Hide compatibility layer behind a function.
toSet(), toList(), swapItemsAt().

--HG--
branch : develop
2020-01-16 19:09:23 +02:00
Roman Telezhynskyi
98a88ed529 Refactoring. Hide compatibility layer behind a function.
QLineF::intersects.

--HG--
branch : develop
2020-01-16 17:34:08 +02:00
Roman Telezhynskyi
5658e0b0d5 Fix copy paste error.
--HG--
branch : develop
2020-01-07 14:21:47 +02:00
Roman Telezhynskyi
b3f236dbb5 Refactoring. Rename ArrowType enum class.
--HG--
branch : develop
2020-01-07 13:54:23 +02:00
Roman Telezhynskyi
21d6a85678 Fix copy paste error.
--HG--
branch : develop
2020-01-07 12:55:45 +02:00
Roman Telezhynskyi
0e12e9f9fb Suppress warning Wnoexcept.
Cannot fix because QPointF is part of library.

--HG--
branch : develop
2020-01-07 12:55:23 +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
a6d67587ab Lupdate.
--HG--
branch : develop
2020-01-07 11:01:42 +02:00
Roman Telezhynskyi
5177057be1 Since Qt 5.14 enumerations can be serialized through QDataStream without the
need of manually defining streaming operators. Enum classes are
serialized using the declared size.

--HG--
branch : develop
2020-01-07 09:45:26 +02:00
Roman Telezhynskyi
3db69c34ee Noexcept-expression evaluates to 'false' because of a call to 'constexpr
VSAPoint::VSAPoint()'.

--HG--
branch : develop
2020-01-07 08:28:13 +02:00
Roman Telezhynskyi
1f6285aef9 Fix deprecation warnings.
(grafted from 686129d90f37b8d0c428092668673d44f06545d8)

--HG--
branch : develop
2020-01-06 20:10:09 +02:00
Roman Telezhynskyi
d74225e63e QLineF::IntersectType QLineF::intersect(const QLineF&, QPointF*) const' is
deprecated: Use intersects() instead.
(grafted from b8646bf40865848ad48eae89cae8419483d56f6b)

--HG--
branch : develop
2020-01-06 18:34:35 +02:00
Roman Telezhynskyi
84001dac61 Refactoring. Added move constructor.
--HG--
branch : develop
2019-12-30 17:13:18 +02:00
Roman Telezhynskyi
54cb9fe0fb Fix move semantic.
New class.

--HG--
branch : develop
2019-12-30 14:48:27 +02:00
Roman Telezhynskyi
74bb3e4369 Fix move sematic.
(grafted from fb8691f522f3515d7c3014a0ea90b60b352a444e)

--HG--
branch : develop
2019-12-30 13:00:57 +02:00
Roman Telezhynskyi
6fc51d83b0 Improve ergonomic. Allow a user to define both text and image, and control
which will of them be active.

--HG--
branch : develop
2019-12-30 14:43:06 +02:00
Roman Telezhynskyi
f83f28998f error: implicit instantiation of undefined template 'QVector<TextLine>'.
--HG--
branch : develop
2019-12-29 16:23:15 +02:00
Roman Telezhynskyi
5f6b17fc9d error: 'VWatermarkData' defined as a struct here but previously declared as a
class.

--HG--
branch : develop
2019-12-29 16:00:06 +02:00
Roman Telezhynskyi
08b58c2518 Code style.
--HG--
branch : develop
2019-12-29 15:59:48 +02:00
Roman Telezhynskyi
9e7cf5c55c error: 'static bool QPixmapCache::find(const QString&, QPixmap&)' is
deprecated: Use bool find(const QString &, QPixmap *) instead.

--HG--
branch : develop
2019-12-29 11:06:34 +02:00
Roman Telezhynskyi
1d7667df61 Export tiled PDF with watermark.
--HG--
branch : develop
2019-12-13 10:51:29 +02:00
Roman Telezhynskyi
7fd1674a81 Added a ruler at the bottom of a tiled PDF document.
--HG--
branch : develop
2019-12-08 14:43:26 +02:00
Andrey Ushakov
bc26d545d1 add rule in page bottom
--HG--
branch : develop
2019-12-08 00:18:44 +03:00
Roman Telezhynskyi
0cb7965379 Minimal seam allowance must be little bit bigger.
--HG--
branch : develop
2019-11-03 17:50:39 +02:00
Roman Telezhynskyi
bb70989165 Fixing error: invalid return type 'void' of constexpr function.
--HG--
branch : develop
2019-11-03 10:45:04 +02:00
Roman Telezhynskyi
b8f2d1782b Cppcheck warning.
--HG--
branch : develop
2019-11-03 10:20:00 +02:00
Roman Telezhynskyi
2887350c16 Fix bugs with a seam allowance.
--HG--
branch : develop
2019-11-03 10:13:02 +02:00
Roman Telezhynskyi
c924a6f700 New class VRawSAPoint.
Post processing a seam allowance.

--HG--
branch : develop
2019-11-03 10:01:32 +02:00
Roman Telezhynskyi
7f5ec1c9a1 It is better to not allow user to set seam allowance width to 0. 0 seam
allowance creates intersections with a main path.

--HG--
branch : develop
2019-11-03 09:30:36 +02:00
Roman Telezhynskyi
8f6ae65224 New feature Pattern Messages.
Added special field to show pattern warnings instead of warning dialogs.
Fixed issue with tabified dockwidgets.

--HG--
branch : develop
2019-10-28 17:44:31 +02:00
Roman Telezhynskyi
b7c1b4c4a6 Clazy warnings.
--HG--
branch : develop
2019-10-28 14:52:49 +02:00
Roman Telezhynskyi
7f9906bbcc Fix for seam aloowance angle type By first edge symmetry.
--HG--
branch : develop
2019-10-23 11:24:59 +03:00
Roman Telezhynskyi
95d6bceb9b Layout stops after timeout too slow.
--HG--
branch : develop
2019-10-18 11:47:02 +03:00
Andrey Ushakov
ea75af2f46 New command line option --cropWidth. Helps to crop unused width of paper.
--HG--
branch : develop
2019-10-16 11:16:16 +03:00
Roman Telezhynskyi
02bcc2f1e1 New test case.
Do not remove point on line if it is end/start of a curve.

--HG--
branch : develop
2019-09-12 20:57:26 +03:00
Roman Telezhynskyi
c802df2b73 Lupdate warnings.
Lupdate lacks of some features to support all C++ valid declarations.

--HG--
branch : develop
2019-09-10 16:57:31 +03:00
Roman Telezhynskyi
0536b42a7c Fix regression in angle type By Intersection.
--HG--
branch : develop
2019-09-10 13:17:06 +03:00
Roman Telezhynskyi
c1c4768921 Fix potential crash place.
--HG--
branch : develop
2019-09-09 18:49:59 +03:00
Roman Telezhynskyi
880aa4de0c Fix regression in angle type "By second edge right angle".
--HG--
branch : develop
2019-09-06 11:12:01 +03:00
Roman Telezhynskyi
20abb9979e Fix broken tests.
--HG--
branch : develop
2019-09-05 14:13:22 +03:00
Roman Telezhynskyi
23ffeba014 Fix case with prong. All acute angles now support only angle type by length.
--HG--
branch : develop
2019-09-03 17:46:09 +03:00
Roman Telezhynskyi
1baaaeafb9 Refactoring. Move rollback code to methods.
--HG--
branch : develop
2019-09-02 08:55:45 +03:00
Roman Telezhynskyi
c137c46e2d New test cover a rollback case.
--HG--
branch : develop
2019-09-02 08:43:02 +03:00
Roman Telezhynskyi
7af89dc9c8 Cppcheck warning.
--HG--
branch : develop
2019-09-02 08:29:18 +03:00
Roman Telezhynskyi
fcfa632118 Fix broken tests.
--HG--
branch : develop
2019-09-01 13:02:19 +03:00
Roman Telezhynskyi
6233ed0daa Bug fixes for seam allowance angle types.
--HG--
branch : develop
2019-09-01 13:01:10 +03:00
Roman Telezhynskyi
27a08641fa Refactoring. Move class VSAPoint to separate file.
--HG--
branch : develop
2019-09-01 12:58:54 +03:00
Roman Telezhynskyi
d12070b146 Fix bug with angle by intersection.
Was used wrong point bigLine2.p2() instead of bigLine2.p1().

--HG--
branch : develop
2019-08-31 15:30:07 +03:00
Roman Telezhynskyi
1cede87cc6 Fix function IsOutsidePoint.
Not enough just to compare direction. We also must be sure a distance to tested point is bigger than a segment.

--HG--
branch : develop
2019-08-31 09:32:43 +03:00
Roman Telezhynskyi
5dc735b5f4 New test case "Loop for start point on line".
--HG--
branch : develop
2019-08-29 15:14:17 +03:00
Roman Telezhynskyi
df3684d2a1 VPiece to JSON.
Strict version to support Unit tests.

--HG--
branch : develop
2019-08-29 15:01:27 +03:00
Roman Telezhynskyi
c63a1af61d error: definition of implicit copy constructor for 'VPosition' is deprecated
because it has a user-declared destructor.

--HG--
branch : develop
2019-08-22 18:09:47 +03:00
Roman Telezhynskyi
f6ddad1a53 error: no member named 'function' in namespace 'std'
--HG--
branch : develop
2019-08-22 17:47:34 +03:00
Roman Telezhynskyi
98ba5f056a Fix build on Windows.
--HG--
branch : develop
2019-08-22 17:18:49 +03:00