Commit Graph

652 Commits

Author SHA1 Message Date
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
Roman Telezhynskyi
067d40813c Cppcheck warning.
--HG--
branch : develop
2019-08-22 15:33:32 +03:00
Roman Telezhynskyi
eb8f004a4a Suppress warning "-Weffc++".
--HG--
branch : develop
2019-08-22 15:32:45 +03:00
Roman Telezhynskyi
d930e94c42 Use QtConcurrent::mapped to run nesting. This will allow to use QFutureWatcher
and create a barier to wait when all jobs finish.

Reduced number of jobs. All piece edges checked in one thread.

--HG--
branch : develop
2019-08-22 10:57:38 +03:00
Roman Telezhynskyi
009ac4a0a6 Improve gathering strips.
We must not ignore one strip of layout result to provide correct size.

--HG--
branch : develop
2019-08-21 19:11:36 +03:00
Roman Telezhynskyi
8332d4b15b Serialization a point to json. ref #874.
--HG--
branch : develop
2019-08-07 17:53:18 +03:00
Roman Telezhynskyi
bcea1b69fa Breaking change. All intersections are now treaded as a loop.
--HG--
branch : develop
2019-08-07 12:25:22 +03:00
Roman Telezhynskyi
c2d194c23f Clazy warning.
--HG--
branch : develop
2019-08-06 16:39:14 +03:00
Roman Telezhynskyi
5aadcd067b Improve tiled PDF.
Don't add scissors on bottom row. Users use them as quick guide where to cut
before joining. Scissors on the bottom row force a user to lost information
about a sheet.

--HG--
branch : develop
2019-08-05 10:21:04 +03:00
Roman Telezhynskyi
3461281c40 Fix bug with nesting a descending group.
Another bug in the function. Wrong increment.

--HG--
branch : develop
2019-07-28 15:32:19 +03:00