Merge remote-tracking branch 'upstream/feature/manual-layout' into feature/manual-layout

This commit is contained in:
Roman Telezhynskyi 2020-04-13 15:11:40 +03:00
commit da26ec832c
188 changed files with 19928 additions and 2601 deletions

3
.gitignore vendored
View file

@ -12,6 +12,9 @@
*(v*).vit*
*(v*).vst*
# Valentina's backup file
*.bak
# KDE directory preferences
.directory

View file

@ -2,8 +2,9 @@
host = https://www.transifex.com
lang_map = uk: uk_UA, cs : cs_CZ, nl : nl_NL, fi : fi_FI, es : es_ES, id : id_ID
[valentina-project.valentina_ts]
[valentina-project.valentina-ts]
file_filter = share/translations/valentina_<lang>.ts
minimum_perc = 20
source_file = share/translations/valentina.ts
source_lang = en
type = QT

View file

@ -38,6 +38,15 @@
- Export tiled PDF with watermark.
- [#984] Issue with up to date list of unique names.
- Tracking changes/prevent "OK" recalculation after "Apply".
- Change behavior for menu Pattern piece -> Show main path. Now it has an influence on export as well.
- Call Piece Options and Delete Piece from the piece list context menu.
- Change default values for grainline length and pattern label size to 10 cm.
- Tool Point at distance and angle now allows negative length.
- Export pattern to DXF-ASTM.
- [smart-pattern/valentina#18] Auto-created Visibility Group for group operation.
- Setting scale factor for export and print.
- New layout generator option: Prefer one sheet solution.
- [smart-pattern/valentina#15] Organization of groups - groups categories
# Version 0.6.2 (unreleased)
- [#903] Bug in tool Cut Spline path.

View file

@ -53,3 +53,6 @@ unix {
TEMPLATE = subdirs
SUBDIRS = src
RESOURCES += \
src/app/puzzle/share/resources/puzzleicon.qrc

View file

@ -933,5 +933,7 @@ MSVC_DEBUG_CXXFLAGS += \
-wd5026 \ # move constructor was implicitly defined as deleted
-wd5027 \ # move assignment operator was implicitly defined as deleted
-wd5039 \ # pointer or reference to potentially throwing function passed to extern C function under -EHc.
-wd4774 # format string expected in argument 3 is not a string literal
-wd4774 \ # format string expected in argument 3 is not a string literal
-wd5204 # class has virtual functions, but its trivial destructor is not virtual; instances of objects derived
# from this class may not be destructed correctly
}

View file

@ -1,6 +1,6 @@
.\" Manpage for valentina.
.\" Contact dismine@gmail.com to correct errors.
.TH valentina 1 "21 July, 2019" "valentina man page"
.TH valentina 1 "22 March, 2020" "valentina man page"
.SH NAME
Valentina \- Pattern making program.
.SH SYNOPSIS
@ -102,6 +102,33 @@ The path to output destination folder. By default the directory at which the app
.BR "*" " AutoCAD DXF 2013 AAMA files (*.dxf) = 23,"
.RE
.RS
.BR "*" " AutoCAD DXF R10 ASTM файли (*.dxf) = 24,"
.RE
.RS
.BR "*" " AutoCAD DXF R11/12 ASTM файли (*.dxf) = 25,"
.RE
.RS
.BR "*" " AutoCAD DXF R13 ASTM файли (*.dxf) = 26,"
.RE
.RS
.BR "*" " AutoCAD DXF R14 ASTM файли (*.dxf) = 27,"
.RE
.RS
.BR "*" " AutoCAD DXF 2000 ASTM файли (*.dxf) = 28,"
.RE
.RS
.BR "*" " AutoCAD DXF 2004 ASTM файли (*.dxf) = 29,"
.RE
.RS
.BR "*" " AutoCAD DXF 2007 ASTM файли (*.dxf) = 30,"
.RE
.RS
.BR "*" " AutoCAD DXF 2010 ASTM файли (*.dxf) = 31,"
.RE
.RS
.BR "*" " AutoCAD DXF 2013 ASTM файли (*.dxf) = 32,"
.RE
.RS
.BR "*" " PDF tiled files (*.pdf) = 33."
.RE
.IP "--bdxf"
@ -186,16 +213,24 @@ The path to output destination folder. By default the directory at which the app
.RB "Page top margin in current units like 3.0 (" "export mode" "). If not set will be used value from default printer. Or 0 if none printers was found."
.IP "-B, --bmargin <The bottom margin>"
.RB "Page bottom margin in current units like 3.0 (" "export mode" "). If not set will be used value from default printer. Or 0 if none printers was found."
.IP "--xscale <Horizontal scale>"
.RB "Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, " "export mode" ")."
.IP "--yscale <Vertical scale>"
.RB "Set vertical scale factor from 0.01 to 3.0 (default = 1.0, " "export mode" ")."
.IP "--followGrainline"
.RB "Order detail to follow grainline direction (" "export mode" ").
.RB "Order detail to follow grainline direction (" "export mode" ")."
.IP "--manualPriority"
.RB "Follow manual priority over priority by square (" "export mode" ").
.RB "Follow manual priority over priority by square (" "export mode" ")."
.IP "--nestQuantity"
.RB "Nest quantity copies of each piece (" "export mode" ").
.IP "-c, --crop"
.RB "Auto crop unused length (" "export mode" ")."
.IP "--cropWidth"
.RB "Auto crop unused width (" "export mode" ")."
.IP "-u, --unite"
.RB "Unite pages if possible (" "export mode" "). Maximum value limited by QImage that supports only a maximum of " "32768x32768 px" " images."
.IP "--preferOneSheetSolution"
.RB "Prefer one sheet layout solution (" "export mode" ")."
.IP "-S, --savelen"
.RB "Save length of the sheet if set (" "export mode" "). The option tells the program to use as much as possible width of sheet. Quality of a layout can be worse when this option was used."
.IP "-l, --layounits <The unit>"

View file

@ -1,6 +1,6 @@
.\" Manpage for valentina.
.\" Contact dismine@gmail.com to correct errors.
.TH valentina 1 "17 October, 2019" "valentina man page"
.TH valentina 1 "22 March, 2020" "valentina man page"
.SH NAME
Valentina \- Pattern making program.
.SH SYNOPSIS
@ -102,6 +102,33 @@ The path to output destination folder. By default the directory at which the app
.BR "*" " AutoCAD DXF 2013 AAMA files (*.dxf) = 23,"
.RE
.RS
.BR "*" " AutoCAD DXF R10 ASTM файли (*.dxf) = 24,"
.RE
.RS
.BR "*" " AutoCAD DXF R11/12 ASTM файли (*.dxf) = 25,"
.RE
.RS
.BR "*" " AutoCAD DXF R13 ASTM файли (*.dxf) = 26,"
.RE
.RS
.BR "*" " AutoCAD DXF R14 ASTM файли (*.dxf) = 27,"
.RE
.RS
.BR "*" " AutoCAD DXF 2000 ASTM файли (*.dxf) = 28,"
.RE
.RS
.BR "*" " AutoCAD DXF 2004 ASTM файли (*.dxf) = 29,"
.RE
.RS
.BR "*" " AutoCAD DXF 2007 ASTM файли (*.dxf) = 30,"
.RE
.RS
.BR "*" " AutoCAD DXF 2010 ASTM файли (*.dxf) = 31,"
.RE
.RS
.BR "*" " AutoCAD DXF 2013 ASTM файли (*.dxf) = 32,"
.RE
.RS
.BR "*" " PDF tiled files (*.pdf) = 33."
.RE
.IP "--bdxf"
@ -186,10 +213,14 @@ The path to output destination folder. By default the directory at which the app
.RB "Page top margin in current units like 3.0 (" "export mode" "). If not set will be used value from default printer. Or 0 if none printers was found."
.IP "-B, --bmargin <The bottom margin>"
.RB "Page bottom margin in current units like 3.0 (" "export mode" "). If not set will be used value from default printer. Or 0 if none printers was found."
.IP "--xscale <Horizontal scale>"
.RB "Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, " "export mode" ")."
.IP "--yscale <Vertical scale>"
.RB "Set vertical scale factor from 0.01 to 3.0 (default = 1.0, " "export mode" ")."
.IP "--followGrainline"
.RB "Order detail to follow grainline direction (" "export mode" ").
.RB "Order detail to follow grainline direction (" "export mode" ")."
.IP "--manualPriority"
.RB "Follow manual priority over priority by square (" "export mode" ").
.RB "Follow manual priority over priority by square (" "export mode" ")."
.IP "--nestQuantity"
.RB "Nest quantity copies of each piece (" "export mode" ").
.IP "-c, --crop"
@ -198,6 +229,8 @@ The path to output destination folder. By default the directory at which the app
.RB "Auto crop unused width (" "export mode" ")."
.IP "-u, --unite"
.RB "Unite pages if possible (" "export mode" "). Maximum value limited by QImage that supports only a maximum of " "32768x32768 px" " images."
.IP "--preferOneSheetSolution"
.RB "Prefer one sheet layout solution (" "export mode" ")."
.IP "-S, --savelen"
.RB "Save length of the sheet if set (" "export mode" "). The option tells the program to use as much as possible width of sheet. Quality of a layout can be worse when this option was used."
.IP "-l, --layounits <The unit>"

View file

@ -50,6 +50,13 @@
<translation type="vanished">add union details</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2463,6 +2470,34 @@
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished">Name:</translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished">Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2502,6 +2537,34 @@
<source>Flipping by line</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished">Name:</translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished">Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2515,7 +2578,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Unique pattern piece name</translation>
<translation type="vanished">Unique pattern piece name</translation>
</message>
<message>
<source>Choose group name</source>
@ -2525,6 +2588,18 @@
<source>New group</source>
<translation>New group</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -3064,6 +3139,53 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left:</source>
<translation type="unfinished">Left:</translation>
</message>
<message>
<source>cm</source>
<translation type="unfinished">cm</translation>
</message>
<message>
<source>Right:</source>
<translation type="unfinished">Right:</translation>
</message>
<message>
<source>Top:</source>
<translation type="unfinished">Top:</translation>
</message>
<message>
<source>Bottom:</source>
<translation type="unfinished">Bottom:</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>...</source>
<translation type="obsolete">...</translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3331,10 +3453,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -3343,10 +3461,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -3363,6 +3477,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3775,6 +3902,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation type="unfinished">Center point</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished">Name:</translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished">Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4720,10 +4875,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation type="unfinished">Length:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -5460,6 +5611,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished">Name:</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5567,6 +5742,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation type="unfinished">Options</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -9780,6 +9971,13 @@ This option will take an affect after restart.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -10974,10 +11172,6 @@ Do you want to save your changes?</translation>
<source>Formula wizard</source>
<translation type="unfinished">Formula wizard</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation type="unfinished">Value</translation>
@ -11565,6 +11759,26 @@ Do you want to save your changes?</translation>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation type="unfinished">Can&apos;t open file %1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished">Can&apos;t open schema file %1:
%2.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished">Could not load schema file &apos;%1&apos;.</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished">Validation error file %3 in line %1 column %2</translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11697,6 +11911,18 @@ Do you want to save your changes?</translation>
<source>Length</source>
<translation type="unfinished">Length</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11868,6 +12094,21 @@ Do you want to save your changes?</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -12370,6 +12611,26 @@ Do you want to save your changes?</translation>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -12463,7 +12724,7 @@ Do you want to save your changes?</translation>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Can&apos;t open schema file %1:
<translation type="vanished">Can&apos;t open schema file %1:
%2.</translation>
</message>
<message>
@ -12472,7 +12733,7 @@ Do you want to save your changes?</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Validation error file %3 in line %1 column %2</translation>
<translation type="vanished">Validation error file %3 in line %1 column %2</translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
@ -12500,7 +12761,7 @@ Do you want to save your changes?</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Could not load schema file &apos;%1&apos;.</translation>
<translation type="vanished">Could not load schema file &apos;%1&apos;.</translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
@ -13104,6 +13365,14 @@ Do you want to save your changes?</translation>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -13428,6 +13697,10 @@ Do you want to save your changes?</translation>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -13439,6 +13712,10 @@ Do you want to save your changes?</translation>
<source>Second line point</source>
<translation type="unfinished">Second line point</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -13533,6 +13810,10 @@ Do you want to save your changes?</translation>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -14133,6 +14414,10 @@ Do you want to save your changes?</translation>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -15662,6 +15947,191 @@ Do you want to save your changes?</translation>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -15723,6 +16193,18 @@ Do you want to save your changes?</translation>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
@ -15732,7 +16214,7 @@ Do you want to save your changes?</translation>
</message>
<message>
<source>Rename</source>
<translation>Rename</translation>
<translation type="vanished">Rename</translation>
</message>
<message>
<source>Delete</source>
@ -15754,6 +16236,26 @@ Do you want to save your changes?</translation>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation type="unfinished">Preferences</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished">Přidat spojení jednotlivostí (dílů střihu)</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2447,6 +2454,34 @@
<source>Flipping by axis</source>
<translation>Převrácení podle osy</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Název:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Otáčení</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2486,6 +2521,34 @@
<source>Flipping by line</source>
<translation>Převrácení podle čáry</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Název:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Otáčení</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2499,7 +2562,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Jedinečný název dílu střihu</translation>
<translation type="vanished">Jedinečný název dílu střihu</translation>
</message>
<message>
<source>Choose group name</source>
@ -2509,6 +2572,18 @@
<source>New group</source>
<translation>Nová skupina</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -3048,6 +3123,49 @@
<translation>Koeficient účinnosti: %1%</translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation>Okraje</translation>
</message>
<message>
<source>Left:</source>
<translation>Levý:</translation>
</message>
<message>
<source>cm</source>
<translation>cm</translation>
</message>
<message>
<source>Right:</source>
<translation>Pravý:</translation>
</message>
<message>
<source>Top:</source>
<translation>Nahoře:</translation>
</message>
<message>
<source>Bottom:</source>
<translation>Dole:</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3317,10 +3435,6 @@ Přesto použít nastavení?</translation>
<source>Time given for the algorithm to find best layout.</source>
<translation>Čas daný algoritmu k nalezení nejlepšího rozvržení.</translation>
</message>
<message>
<source> min</source>
<translation> min</translation>
</message>
<message>
<source>Efficiency:</source>
<translation>Účinnost:</translation>
@ -3329,10 +3443,6 @@ Přesto použít nastavení?</translation>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation>%</translation>
</message>
<message>
<source>Manual priority</source>
<translation>Ruční přednost</translation>
@ -3349,6 +3459,19 @@ Přesto použít nastavení?</translation>
<source>Auto crop unused width</source>
<translation>Automaticky ořezat nepoužívanou šířku</translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation> min</translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3761,6 +3884,34 @@ Přesto použít nastavení?</translation>
<source>Center point</source>
<translation>Středový bod</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Název:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Otáčení</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4702,10 +4853,6 @@ Přesto použít nastavení?</translation>
<source>Length:</source>
<translation>Délka:</translation>
</message>
<message>
<source>=</source>
<translation>=</translation>
</message>
<message>
<source>U mark</source>
<translation>Značka U</translation>
@ -5435,6 +5582,30 @@ Přesto použít nastavení?</translation>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation>Tento bod nemůže být původní bod. Vyberte, prosím, jiný původní bod</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Název:</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5538,6 +5709,22 @@ Přesto použít nastavení?</translation>
<source>Orientation:</source>
<translation>Natočení:</translation>
</message>
<message>
<source>Options</source>
<translation>Volby</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -9569,6 +9756,13 @@ Tato volba se projeví po opětovném spuštění.</translation>
<translation>Odstranit položku ze skupiny</translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -10692,10 +10886,6 @@ Chcete uložit změny?</translation>
<source>Formula wizard</source>
<translation>Průvodce vzorcem</translation>
</message>
<message>
<source>=</source>
<translation>=</translation>
</message>
<message>
<source>Value</source>
<translation>Hodnota</translation>
@ -11233,6 +11423,26 @@ Chcete uložit změny?</translation>
<source>Invalid version. Maximum supported format version is %1</source>
<translation>Neplatná verze. Nejvyšší podporovaná verze formátu je %1</translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation>Nelze otevřít soubor %1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Nelze otevřít soubor se schématem %1:
%2.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Nepodařilo se nahrát soubor se schématem &apos;%1&apos;.</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Chyba při ověřování souboru %3 na řádku %1, ve sloupci %2</translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11321,6 +11531,18 @@ Chcete uložit změny?</translation>
<source>Length</source>
<translation>Délka</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11492,6 +11714,21 @@ Chcete uložit změny?</translation>
<translation>Neplatný zářez.</translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -11994,6 +12231,26 @@ Chcete uložit změny?</translation>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -12087,7 +12344,7 @@ Chcete uložit změny?</translation>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Nelze otevřít soubor se schématem %1:
<translation type="vanished">Nelze otevřít soubor se schématem %1:
%2.</translation>
</message>
<message>
@ -12096,7 +12353,7 @@ Chcete uložit změny?</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Chyba při ověřování souboru %3 na řádku %1, ve sloupci %2</translation>
<translation type="vanished">Chyba při ověřování souboru %3 na řádku %1, ve sloupci %2</translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
@ -12124,7 +12381,7 @@ Chcete uložit změny?</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Nepodařilo se nahrát soubor se schématem &apos;%1&apos;.</translation>
<translation type="vanished">Nepodařilo se nahrát soubor se schématem &apos;%1&apos;.</translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
@ -12717,6 +12974,14 @@ Chcete uložit změny?</translation>
<source>Can&apos;t create history record for the tool.</source>
<translation>Nelze vytvořit záznam historie pro nástroj.</translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -13034,6 +13299,10 @@ Chcete uložit změny?</translation>
<source>Origin point</source>
<translation>Původní bod</translation>
</message>
<message>
<source>Flipping by axis</source>
<translation>Převrácení podle osy</translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -13045,6 +13314,10 @@ Chcete uložit změny?</translation>
<source>Second line point</source>
<translation>Druhý bod čáry</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -13139,6 +13412,10 @@ Chcete uložit změny?</translation>
<source>Rotation origin point</source>
<translation>Původní bod otočení</translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -13739,6 +14016,10 @@ Chcete uložit změny?</translation>
<source>Rotation angle</source>
<translation>Úhel otáčení</translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -15238,6 +15519,191 @@ Chcete uložit změny?</translation>
<comment>Left symbol _ in the name</comment>
<translation>OtočeníElOblouk_</translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -15299,6 +15765,18 @@ Chcete uložit změny?</translation>
<source>Hide not in layout</source>
<translation>Skrýt ne v rozvržení</translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
@ -15308,7 +15786,7 @@ Chcete uložit změny?</translation>
</message>
<message>
<source>Rename</source>
<translation>Přejmenovat</translation>
<translation type="vanished">Přejmenovat</translation>
</message>
<message>
<source>Delete</source>
@ -15330,6 +15808,26 @@ Chcete uložit změny?</translation>
<source>Show All</source>
<translation>Ukázat vše</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation>Nastavení</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

File diff suppressed because it is too large Load diff

View file

@ -50,6 +50,13 @@
<translation type="vanished">προσθήκη λεπτομερειών συνένωσης</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2403,6 +2410,34 @@
<source>Flipping by axis</source>
<translation>Αναστροφή κατά άξονα</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Όνομα:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Περιστροφή</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2442,6 +2477,34 @@
<source>Flipping by line</source>
<translation>Αναστροφή κατά γραμμή</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Όνομα:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Περιστροφή</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2455,7 +2518,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Μοναδικό όνομα κομματιού πατρόν</translation>
<translation type="vanished">Μοναδικό όνομα κομματιού πατρόν</translation>
</message>
<message>
<source>Choose group name</source>
@ -2465,6 +2528,18 @@
<source>New group</source>
<translation>Νέα ομάδα</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -2992,6 +3067,49 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation>Περιθώρια</translation>
</message>
<message>
<source>Left:</source>
<translation>Αριστερά:</translation>
</message>
<message>
<source>cm</source>
<translation>εκ</translation>
</message>
<message>
<source>Right:</source>
<translation>Δεξιά:</translation>
</message>
<message>
<source>Top:</source>
<translation>Επάνω:</translation>
</message>
<message>
<source>Bottom:</source>
<translation>Κάτω:</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3244,10 +3362,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -3256,10 +3370,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -3276,6 +3386,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3688,6 +3811,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation>Κεντρικό σημείο</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Όνομα:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Περιστροφή</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4617,10 +4768,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation>Μήκος:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -5349,6 +5496,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Όνομα:</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5452,6 +5623,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation>Επιλογές</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -9363,6 +9550,13 @@ This option will take an affect after restart.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -10455,10 +10649,6 @@ Do you want to save your changes?</source>
<source>Formula wizard</source>
<translation>Βοηθός φόρμουλας</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation>Τιμή</translation>
@ -10973,6 +11163,24 @@ Do you want to save your changes?</source>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11061,6 +11269,18 @@ Do you want to save your changes?</source>
<source>Length</source>
<translation type="unfinished">Μήκος</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11228,6 +11448,21 @@ Do you want to save your changes?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -11614,6 +11849,26 @@ Do you want to save your changes?</source>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -11687,15 +11942,6 @@ Do you want to save your changes?</source>
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
@ -11712,10 +11958,6 @@ Do you want to save your changes?</source>
<source>Could not copy temp file to document file</source>
<translation type="vanished">Δεν ήταν δυνατή η αντιγραφή του προσωρινού αρχείου στο αρχείο εγγράφου</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
<translation type="unfinished"></translation>
@ -12307,6 +12549,14 @@ Do you want to save your changes?</source>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -12608,6 +12858,10 @@ Do you want to save your changes?</source>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation>Αναστροφή κατά άξονα</translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -12619,6 +12873,10 @@ Do you want to save your changes?</source>
<source>Second line point</source>
<translation type="unfinished">Δεύτερο σημείο γραμμής</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -12713,6 +12971,10 @@ Do you want to save your changes?</source>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -13309,6 +13571,10 @@ Do you want to save your changes?</source>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -14734,6 +15000,191 @@ Do you want to save your changes?</source>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -14795,12 +15246,24 @@ Do you want to save your changes?</source>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
<message>
<source>Rename</source>
<translation>Μετονομασία</translation>
<translation type="vanished">Μετονομασία</translation>
</message>
<message>
<source>Delete</source>
@ -14822,6 +15285,26 @@ Do you want to save your changes?</source>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation>Προτιμήσεις</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished">add union details</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2447,6 +2454,34 @@
<source>Flipping by axis</source>
<translation>Flipping by axis</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2486,6 +2521,34 @@
<source>Flipping by line</source>
<translation>Flipping by line</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2499,7 +2562,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Unique pattern piece name</translation>
<translation type="vanished">Unique pattern piece name</translation>
</message>
<message>
<source>Choose group name</source>
@ -2509,6 +2572,18 @@
<source>New group</source>
<translation>New group</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -3048,6 +3123,49 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left:</source>
<translation>Left:</translation>
</message>
<message>
<source>cm</source>
<translation>cm</translation>
</message>
<message>
<source>Right:</source>
<translation>Right:</translation>
</message>
<message>
<source>Top:</source>
<translation>Top:</translation>
</message>
<message>
<source>Bottom:</source>
<translation>Bottom:</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3315,10 +3433,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -3327,10 +3441,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -3347,6 +3457,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3759,6 +3882,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation>Center point</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4700,10 +4851,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation>Length:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -5432,6 +5579,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5535,6 +5706,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation>Options</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -9560,6 +9747,13 @@ This option will take an affect after restart.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -10683,10 +10877,6 @@ Do you want to save your changes?</translation>
<source>Formula wizard</source>
<translation>Formula wizard</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation>Value</translation>
@ -11224,6 +11414,26 @@ Do you want to save your changes?</translation>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation>Can&apos;t open file %1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Can&apos;t open schema file %1:
%2.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Could not load schema file &apos;%1&apos;.</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Validation error file %3 in line %1 column %2</translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11312,6 +11522,18 @@ Do you want to save your changes?</translation>
<source>Length</source>
<translation type="unfinished">Length</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11483,6 +11705,21 @@ Do you want to save your changes?</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -11985,6 +12222,26 @@ Do you want to save your changes?</translation>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -12078,7 +12335,7 @@ Do you want to save your changes?</translation>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Can&apos;t open schema file %1:
<translation type="vanished">Can&apos;t open schema file %1:
%2.</translation>
</message>
<message>
@ -12087,7 +12344,7 @@ Do you want to save your changes?</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Validation error file %3 in line %1 column %2</translation>
<translation type="vanished">Validation error file %3 in line %1 column %2</translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
@ -12115,7 +12372,7 @@ Do you want to save your changes?</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Could not load schema file &apos;%1&apos;.</translation>
<translation type="vanished">Could not load schema file &apos;%1&apos;.</translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
@ -12708,6 +12965,14 @@ Do you want to save your changes?</translation>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -13025,6 +13290,10 @@ Do you want to save your changes?</translation>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation>Flipping by axis</translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -13036,6 +13305,10 @@ Do you want to save your changes?</translation>
<source>Second line point</source>
<translation type="unfinished">Second line point</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -13130,6 +13403,10 @@ Do you want to save your changes?</translation>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -13730,6 +14007,10 @@ Do you want to save your changes?</translation>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -15229,6 +15510,191 @@ Do you want to save your changes?</translation>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation>hyperbolic sine function</translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation>hyperbolic cosine</translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation>hyperbolic tangens function</translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation>hyperbolic arcus sine function</translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation>hyperbolic arcur tangens function</translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation>logarithm to the base 2</translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation>logarithm to the base 10</translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation>logarithm to the base 10</translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation>logarithm to base e (2.71828...)</translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation>e raised to the power of x</translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation>square root of a value</translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation>sign function -1 if x&lt;0; 1 if x&gt;0</translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation>round to nearest integer</translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation>absolute value</translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation>min of all arguments</translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation>max of all arguments</translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation>sum of all arguments</translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation>mean value of all arguments</translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation>Returns the floating-point remainder of numer/denom (rounded towards zero)</translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -15290,6 +15756,18 @@ Do you want to save your changes?</translation>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
@ -15299,7 +15777,7 @@ Do you want to save your changes?</translation>
</message>
<message>
<source>Rename</source>
<translation>Rename</translation>
<translation type="vanished">Rename</translation>
</message>
<message>
<source>Delete</source>
@ -15321,6 +15799,26 @@ Do you want to save your changes?</translation>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation>Preferences</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished">add union details</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2447,6 +2454,34 @@
<source>Flipping by axis</source>
<translation>Flipping by axis</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2486,6 +2521,34 @@
<source>Flipping by line</source>
<translation>Flipping by line</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2499,7 +2562,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Unique pattern piece name</translation>
<translation type="vanished">Unique pattern piece name</translation>
</message>
<message>
<source>Choose group name</source>
@ -2509,6 +2572,18 @@
<source>New group</source>
<translation>New group</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -3048,6 +3123,49 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left:</source>
<translation>Left:</translation>
</message>
<message>
<source>cm</source>
<translation>cm</translation>
</message>
<message>
<source>Right:</source>
<translation>Right:</translation>
</message>
<message>
<source>Top:</source>
<translation>Top:</translation>
</message>
<message>
<source>Bottom:</source>
<translation>Bottom:</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3315,10 +3433,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -3327,10 +3441,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -3347,6 +3457,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3759,6 +3882,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation>Center point</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4700,10 +4851,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation>Length:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -5432,6 +5579,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5535,6 +5706,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation>Options</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -9560,6 +9747,13 @@ This option will take an affect after restart.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -10683,10 +10877,6 @@ Do you want to save your changes?</translation>
<source>Formula wizard</source>
<translation>Formula wizard</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation>Value</translation>
@ -11224,6 +11414,26 @@ Do you want to save your changes?</translation>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation>Can&apos;t open file %1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Can&apos;t open schema file %1:
%2.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Could not load schema file &apos;%1&apos;.</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Validation error file %3 in line %1 column %2</translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11312,6 +11522,18 @@ Do you want to save your changes?</translation>
<source>Length</source>
<translation type="unfinished">Length</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11483,6 +11705,21 @@ Do you want to save your changes?</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -11985,6 +12222,26 @@ Do you want to save your changes?</translation>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -12078,7 +12335,7 @@ Do you want to save your changes?</translation>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Can&apos;t open schema file %1:
<translation type="vanished">Can&apos;t open schema file %1:
%2.</translation>
</message>
<message>
@ -12087,7 +12344,7 @@ Do you want to save your changes?</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Validation error file %3 in line %1 column %2</translation>
<translation type="vanished">Validation error file %3 in line %1 column %2</translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
@ -12115,7 +12372,7 @@ Do you want to save your changes?</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Could not load schema file &apos;%1&apos;.</translation>
<translation type="vanished">Could not load schema file &apos;%1&apos;.</translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
@ -12708,6 +12965,14 @@ Do you want to save your changes?</translation>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -13025,6 +13290,10 @@ Do you want to save your changes?</translation>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation>Flipping by axis</translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -13036,6 +13305,10 @@ Do you want to save your changes?</translation>
<source>Second line point</source>
<translation type="unfinished">Second line point</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -13130,6 +13403,10 @@ Do you want to save your changes?</translation>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -13730,6 +14007,10 @@ Do you want to save your changes?</translation>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -15229,6 +15510,191 @@ Do you want to save your changes?</translation>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -15290,6 +15756,18 @@ Do you want to save your changes?</translation>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
@ -15299,7 +15777,7 @@ Do you want to save your changes?</translation>
</message>
<message>
<source>Rename</source>
<translation>Rename</translation>
<translation type="vanished">Rename</translation>
</message>
<message>
<source>Delete</source>
@ -15321,6 +15799,26 @@ Do you want to save your changes?</translation>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation>Preferences</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished">add union details</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2447,6 +2454,34 @@
<source>Flipping by axis</source>
<translation>Flipping by axis</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2486,6 +2521,34 @@
<source>Flipping by line</source>
<translation>Flipping by line</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2499,7 +2562,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Unique pattern piece name</translation>
<translation type="vanished">Unique pattern piece name</translation>
</message>
<message>
<source>Choose group name</source>
@ -2509,6 +2572,18 @@
<source>New group</source>
<translation>New group</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -3048,6 +3123,49 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left:</source>
<translation>Left:</translation>
</message>
<message>
<source>cm</source>
<translation>cm</translation>
</message>
<message>
<source>Right:</source>
<translation>Right:</translation>
</message>
<message>
<source>Top:</source>
<translation>Top:</translation>
</message>
<message>
<source>Bottom:</source>
<translation>Bottom:</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3315,10 +3433,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -3327,10 +3441,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -3347,6 +3457,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3759,6 +3882,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation>Center point</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4700,10 +4851,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation>Length:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -5432,6 +5579,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Name:</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5535,6 +5706,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation>Options</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -9560,6 +9747,13 @@ This option will take an affect after restart.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -10683,10 +10877,6 @@ Do you want to save your changes?</translation>
<source>Formula wizard</source>
<translation>Formula wizard</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation>Value</translation>
@ -11224,6 +11414,26 @@ Do you want to save your changes?</translation>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation>Can&apos;t open file %1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Can&apos;t open schema file %1:
%2.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Could not load schema file &apos;%1&apos;.</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Validation error file %3 in line %1 column %2</translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11312,6 +11522,18 @@ Do you want to save your changes?</translation>
<source>Length</source>
<translation type="unfinished">Length</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11483,6 +11705,21 @@ Do you want to save your changes?</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -11985,6 +12222,26 @@ Do you want to save your changes?</translation>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -12078,7 +12335,7 @@ Do you want to save your changes?</translation>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Can&apos;t open schema file %1:
<translation type="vanished">Can&apos;t open schema file %1:
%2.</translation>
</message>
<message>
@ -12087,7 +12344,7 @@ Do you want to save your changes?</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Validation error file %3 in line %1 column %2</translation>
<translation type="vanished">Validation error file %3 in line %1 column %2</translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
@ -12115,7 +12372,7 @@ Do you want to save your changes?</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Could not load schema file &apos;%1&apos;.</translation>
<translation type="vanished">Could not load schema file &apos;%1&apos;.</translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
@ -12708,6 +12965,14 @@ Do you want to save your changes?</translation>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -13025,6 +13290,10 @@ Do you want to save your changes?</translation>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation>Flipping by axis</translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -13036,6 +13305,10 @@ Do you want to save your changes?</translation>
<source>Second line point</source>
<translation type="unfinished">Second line point</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -13130,6 +13403,10 @@ Do you want to save your changes?</translation>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -13730,6 +14007,10 @@ Do you want to save your changes?</translation>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -15229,6 +15510,191 @@ Do you want to save your changes?</translation>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -15290,6 +15756,18 @@ Do you want to save your changes?</translation>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
@ -15299,7 +15777,7 @@ Do you want to save your changes?</translation>
</message>
<message>
<source>Rename</source>
<translation>Rename</translation>
<translation type="vanished">Rename</translation>
</message>
<message>
<source>Delete</source>
@ -15321,6 +15799,26 @@ Do you want to save your changes?</translation>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation>Preferences</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished">añadir detalles de la unión</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation>renombrar grupo</translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2447,6 +2454,34 @@
<source>Flipping by axis</source>
<translation>Volteando por ejes</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation>Habilitar para crear un grupo de visibilidad a partir de objetos originales</translation>
</message>
<message>
<source>Visibility Group</source>
<translation>Grupo de Visibilidad</translation>
</message>
<message>
<source>Name:</source>
<translation>Nombre:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotación</translation>
</message>
<message>
<source>Tags:</source>
<translation>Etiquetas:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Separar cada etiqueta con coma.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Agregar etiquetas</translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2486,6 +2521,34 @@
<source>Flipping by line</source>
<translation>Volteando por linea</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation>Habilitar para crear un grupo de visibilidad a partir de objetos originales</translation>
</message>
<message>
<source>Visibility Group</source>
<translation>Grupo de Visibilidad</translation>
</message>
<message>
<source>Name:</source>
<translation>Nombre:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotación</translation>
</message>
<message>
<source>Tags:</source>
<translation>Etiquetas:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Separar cada etiqueta con coma.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Agregar etiquetas</translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2499,7 +2562,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Nombre único de pieza del patrón</translation>
<translation type="vanished">Nombre único de pieza del patrón</translation>
</message>
<message>
<source>Choose group name</source>
@ -2509,6 +2572,18 @@
<source>New group</source>
<translation>Nuevo grupo</translation>
</message>
<message>
<source>Tags:</source>
<translation>Etiquetas:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Separar cada etiqueta con coma.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Agregar etiquetas</translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -3048,6 +3123,49 @@
<translation>Coeficiente de eficiencia: %1%</translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation>Escala del diseño</translation>
</message>
<message>
<source>Margins</source>
<translation>Margenes</translation>
</message>
<message>
<source>Left:</source>
<translation>Izquierda:</translation>
</message>
<message>
<source>cm</source>
<translation>cm</translation>
</message>
<message>
<source>Right:</source>
<translation>Derecha:</translation>
</message>
<message>
<source>Top:</source>
<translation>Superior:</translation>
</message>
<message>
<source>Bottom:</source>
<translation>Inferior:</translation>
</message>
<message>
<source>Scale</source>
<translation>Escala</translation>
</message>
<message>
<source>Horizontal:</source>
<translation>Horizontal:</translation>
</message>
<message>
<source>Vertical:</source>
<translation>Vertical:</translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3316,10 +3434,6 @@ Aplicar características de todos modos?</translation>
<source>Time given for the algorithm to find best layout.</source>
<translation>Tiempo dado para que el algoritmo encuentre el mejor diseño.</translation>
</message>
<message>
<source> min</source>
<translation> min</translation>
</message>
<message>
<source>Efficiency:</source>
<translation>Eficiencia:</translation>
@ -3328,10 +3442,6 @@ Aplicar características de todos modos?</translation>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation>Establecer coeficiente de eficiencia del diseño. El coeficiente de eficiencia del diseño es el radio del área ocupada por las piezas al limite rectangular de todas las piezas. Si el anidamiento alcanza el nivel requerido, el proceso se detiene. Si el valor es 0 no se realizará ninguna comprobación. </translation>
</message>
<message>
<source>%</source>
<translation>%</translation>
</message>
<message>
<source>Manual priority</source>
<translation>Prioridad manual</translation>
@ -3348,6 +3458,19 @@ Aplicar características de todos modos?</translation>
<source>Auto crop unused width</source>
<translation>Recorte automático del ancho no utilizado</translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation>Prefiere una solución de hoja</translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation> min</translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation>Habilite esta opción para preferir obtener soluciones de una hoja.</translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3760,6 +3883,34 @@ Aplicar características de todos modos?</translation>
<source>Center point</source>
<translation>Punto central</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation>Habilitar para crear un grupo de visibilidad a partir de objetos originales</translation>
</message>
<message>
<source>Visibility Group</source>
<translation>Grupo de Visibilidad</translation>
</message>
<message>
<source>Name:</source>
<translation>Nombre:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotación</translation>
</message>
<message>
<source>Tags:</source>
<translation>Etiquetas:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Separar cada etiqueta con coma.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Agregar etiquetas</translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4701,10 +4852,6 @@ Aplicar características de todos modos?</translation>
<source>Length:</source>
<translation>Longitud:</translation>
</message>
<message>
<source>=</source>
<translation>=</translation>
</message>
<message>
<source>U mark</source>
<translation>Marca U</translation>
@ -5433,6 +5580,30 @@ Aplicar características de todos modos?</translation>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation>Este punto no puede ser punto de origen. Por favor, seleccione otro punto de origen</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation>Habilitar para crear un grupo de visibilidad a partir de objetos originales</translation>
</message>
<message>
<source>Visibility Group</source>
<translation>Grupo de Visibilidad</translation>
</message>
<message>
<source>Name:</source>
<translation>Nombre:</translation>
</message>
<message>
<source>Tags:</source>
<translation>Etiquetas:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Separar cada etiqueta con coma.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Agregar etiquetas</translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5536,6 +5707,22 @@ Aplicar características de todos modos?</translation>
<source>Orientation:</source>
<translation>Orientación:</translation>
</message>
<message>
<source>Options</source>
<translation>Opciones</translation>
</message>
<message>
<source>Scale</source>
<translation>Escala</translation>
</message>
<message>
<source>Horizontal:</source>
<translation>Horizontal:</translation>
</message>
<message>
<source>Vertical:</source>
<translation>Vertical:</translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -6295,7 +6482,7 @@ Aplicar características de todos modos?</translation>
</message>
<message numerus="yes">
<source>Followed %n option(s) require restart to take effect: %1.</source>
<translation type="unfinished">
<translation>
<numerusform>Para seguir %n opción(es) se requiere re-inicializar el programa: %1.</numerusform>
<numerusform>Para seguir %n opción(es) se requiere re-inicializar el programa: %1.</numerusform>
</translation>
@ -8256,11 +8443,11 @@ el patrón.</translation>
</message>
<message>
<source>Watermark</source>
<translation type="unfinished"></translation>
<translation>Marca de Agua</translation>
</message>
<message>
<source>Load</source>
<translation type="unfinished"></translation>
<translation>Cargar</translation>
</message>
<message>
<source>Remove</source>
@ -8268,19 +8455,19 @@ el patrón.</translation>
</message>
<message>
<source>Edit current</source>
<translation type="unfinished"></translation>
<translation>Editar actual</translation>
</message>
<message>
<source>Editor</source>
<translation type="unfinished"></translation>
<translation>Editor</translation>
</message>
<message>
<source>Create or edit a watermark</source>
<translation type="unfinished"></translation>
<translation>Crear o editar una marca de agua</translation>
</message>
<message>
<source>Watermark files</source>
<translation type="unfinished"></translation>
<translation>Archivos de marca de agua</translation>
</message>
</context>
<context>
@ -8467,7 +8654,11 @@ el patrón.</translation>
%1
%2</source>
<translation type="unfinished"></translation>
<translation>Error archivo.
%1
%2</translation>
</message>
</context>
<context>
@ -9342,7 +9533,7 @@ Esta opción surtirá efecto después de reiniciar.</translation>
</message>
<message>
<source>Can&apos;t convert toInt parameter</source>
<translation type="unfinished"></translation>
<translation>No se puede convertir el parámetro toInt</translation>
</message>
</context>
<context>
@ -9563,6 +9754,13 @@ Esta opción surtirá efecto después de reiniciar.</translation>
<translation>Remover elemento del grupo</translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation>renombrar grupo</translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -10686,10 +10884,6 @@ Quieres guardar los cambios?</translation>
<source>Formula wizard</source>
<translation>Asistente de formula</translation>
</message>
<message>
<source>=</source>
<translation>=</translation>
</message>
<message>
<source>Value</source>
<translation>Valor</translation>
@ -10712,7 +10906,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>List of all defined passmarks. To define a passmark return to the Main Path tab, call context menu for a point item and make it a passmark.</source>
<translation type="unfinished"></translation>
<translation>Lista de todos los piques definidos. Para definir un pique regrese a la pestaña de Ruta Principal, llame al menú de contexto por un punto del articulo y hágalo un pique.</translation>
</message>
</context>
<context>
@ -11227,6 +11421,26 @@ Quieres guardar los cambios?</translation>
<source>Invalid version. Maximum supported format version is %1</source>
<translation>Versión invalida. La versión de formato máximo admitido es %1</translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation>No se pudo abrir el archivo %1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>No se pudo abrir el archivo de esquema %1:
%2.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>No se puede cargar el archivo de esquema &apos;%1&apos;.</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Error de validación en el archivo %3 en la línea %1 columna %2</translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11315,6 +11529,18 @@ Quieres guardar los cambios?</translation>
<source>Length</source>
<translation>Longitud</translation>
</message>
<message>
<source>operation options</source>
<translation>opciones de operacion</translation>
</message>
<message>
<source>delete operation</source>
<translation>borrar operacion</translation>
</message>
<message>
<source>Visibility group</source>
<translation>Grupo de visibilidad</translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11486,6 +11712,21 @@ Quieres guardar los cambios?</translation>
<translation>Pique invalido.</translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation>Preparación de datos para error de diseño: Detalle &apos;%1&apos; cuadro &lt;= 0</translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation>Preparación de datos para el error de diseño: Hoja de papel del diseño &lt;= 0</translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation>Preparación de datos para el error de diseño: la lista de detalles está vacía</translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -11988,6 +12229,26 @@ Quieres guardar los cambios?</translation>
<source>Auto crop unused width (export mode).</source>
<translation>Auto cortar ancho sin uso (modo de exportación).</translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation>Establecer factor de escala horizontal desde 0.01 hasta 3.0 (predeterminado = 1.0, modo exportación).</translation>
</message>
<message>
<source>Horizontal scale</source>
<translation>Escala horizontal</translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation>Establecer escala vertical desde 0.01 hasta 3.0 ( Predeterminado = 1.0, modo exportación).</translation>
</message>
<message>
<source>Vertical scale</source>
<translation>Escala vertical</translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation>Prefiere una solución de diseño de hoja (modo de exportación).</translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -12081,7 +12342,7 @@ Quieres guardar los cambios?</translation>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>No se pudo abrir el archivo de esquema %1:
<translation type="vanished">No se pudo abrir el archivo de esquema %1:
%2.</translation>
</message>
<message>
@ -12090,7 +12351,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Error de validación en el archivo %3 en la línea %1 columna %2</translation>
<translation type="vanished">Error de validación en el archivo %3 en la línea %1 columna %2</translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
@ -12118,7 +12379,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>No se puede cargar el archivo de esquema &apos;%1&apos;.</translation>
<translation type="vanished">No se puede cargar el archivo de esquema &apos;%1&apos;.</translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
@ -12711,6 +12972,14 @@ Quieres guardar los cambios?</translation>
<source>Can&apos;t create history record for the tool.</source>
<translation>No se puede crear un registro de historial para la herramienta.</translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation>Error de lectura de medidas finales.</translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation>Valor para medida final &apos;%1&apos; es infinito o no es un numero. Por favor, revise sus cálculos.</translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -12720,7 +12989,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>Notch for point &apos;%1&apos; in piece &apos;%2&apos; will be disabled. Manual length is less than allowed value.</source>
<translation type="unfinished"></translation>
<translation>Pique para el punto &apos;%1&apos; en la pieza &apos;%2&apos; será inhabilitado. La longitud manual es menor que el valor permitido.</translation>
</message>
</context>
<context>
@ -12739,7 +13008,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>Not supported file suffix &apos;%1&apos;</source>
<translation type="unfinished"></translation>
<translation>No soporta el archivo con sufijo &apos;%1&apos;</translation>
</message>
<message>
<source>cm</source>
@ -12753,7 +13022,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>Cannot open the watermark image.</source>
<translation type="unfinished"></translation>
<translation>No se puede abrir la imagen de marca de agua.</translation>
</message>
</context>
<context>
@ -13028,6 +13297,10 @@ Quieres guardar los cambios?</translation>
<source>Origin point</source>
<translation>Punto origen</translation>
</message>
<message>
<source>Flipping by axis</source>
<translation>Volteando por ejes</translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -13039,6 +13312,10 @@ Quieres guardar los cambios?</translation>
<source>Second line point</source>
<translation>Punto segunda linea</translation>
</message>
<message>
<source>flipping by line</source>
<translation>voltear por linea</translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -13133,6 +13410,10 @@ Quieres guardar los cambios?</translation>
<source>Rotation origin point</source>
<translation>Punto de origen de rotación</translation>
</message>
<message>
<source>move</source>
<translation>mover</translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -13733,6 +14014,10 @@ Quieres guardar los cambios?</translation>
<source>Rotation angle</source>
<translation>Angulo de rotación</translation>
</message>
<message>
<source>rotate</source>
<translation>rotar</translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -15232,6 +15517,191 @@ Quieres guardar los cambios?</translation>
<comment>Left symbol _ in the name</comment>
<translation>RotaciónElArco_</translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation>convertir grados a radianes</translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation>convertir radianes a grados</translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation>función seno trabajando con radianes</translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation>función coseno trabajando con radianes</translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation>función tangente trabajando con radianes</translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation>función arcoseno trabajando con radianes</translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation>función arco coseno trabajando con radianes</translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation>función arco tangente trabajando con radianes</translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation>función seno hiperbolico</translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation>coseno hiperbolico</translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation>función tangente hiperbolico</translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation>función arco coseno hiperbolico</translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation>función arco coseno hiperbolico</translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation>función arco tangente hiperbolica</translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation>función seno trabajando con grados</translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation>función coseno trabajando con grados</translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation>función tangente trabajando con grados</translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation>función arco seno trabajando con grados</translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation>función arco coseno trabajando con grados</translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation>función arco tangente trabajando con grados</translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation>logaritmo de base 2</translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation>logaritmo de base 10</translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation>logaritmo de base 10</translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation>logaritmo base e (2.71828...)</translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation>e elevado a la potencia de x</translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation>raíz cuadrada de un valor</translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation>signo de la función -1 si x&lt;0; 1 si x&gt;0</translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation>redondear al entero mas cercano</translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation>redondear hasta 1 decimal</translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation>cortar, dividir y rotar la operación de modelado. Toma unidades cm.</translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation>cortar, dividir y rotar la operación de modelado. Toma unidades pulgadas.</translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation>valor absoluto</translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation>minimo de todos los argumentos</translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation>máximo de todos los argumentos</translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation>suma de todos los argumentos</translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation>significado del valor de todos los argumentos</translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation>Devuelve el resto de punto flotante de numerador/denominador (redondeado hacia cero)</translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -15293,6 +15763,18 @@ Quieres guardar los cambios?</translation>
<source>Hide not in layout</source>
<translation>No ocultar en el diseño</translation>
</message>
<message>
<source>Piece options</source>
<translation>Opciones de pieza</translation>
</message>
<message>
<source>Delete piece</source>
<translation>Eliminar pieza</translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation>No se puede encontrar pieza con id &apos;%1&apos;</translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
@ -15302,7 +15784,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>Rename</source>
<translation>Renombrar</translation>
<translation type="vanished">Renombrar</translation>
</message>
<message>
<source>Delete</source>
@ -15324,6 +15806,26 @@ Quieres guardar los cambios?</translation>
<source>Show All</source>
<translation>Mostrar Todo</translation>
</message>
<message>
<source>Tags:</source>
<translation>Etiquetas:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Separar cada etiqueta con coma.</translation>
</message>
<message>
<source>Filter by tags</source>
<translation>Filtrar por etiquetas</translation>
</message>
<message>
<source>Preferences</source>
<translation>Preferencias</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation>Categoría: %1.</translation>
</message>
</context>
<context>
<name>Valentina</name>
@ -15452,11 +15954,11 @@ Quieres guardar los cambios?</translation>
<name>WatermarkWindow</name>
<message>
<source>Watermark</source>
<translation type="unfinished"></translation>
<translation>Marca de Agua</translation>
</message>
<message>
<source>Opacity:</source>
<translation type="unfinished"></translation>
<translation>Opacidad:</translation>
</message>
<message>
<source>Text</source>
@ -15468,7 +15970,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>watermark text</source>
<translation type="unfinished"></translation>
<translation>texto marca de agua</translation>
</message>
<message>
<source>Rotation:</source>
@ -15476,20 +15978,20 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>Font:</source>
<translation type="unfinished"></translation>
<translation>Fuente:</translation>
</message>
<message>
<source>The quick brown fox jumps over the lazy dog</source>
<extracomment>Use native text to test a font options</extracomment>
<translation type="unfinished"></translation>
<translation>El que es perico, donde quiera es verde</translation>
</message>
<message>
<source>Edit font</source>
<translation type="unfinished"></translation>
<translation>Editar fuente</translation>
</message>
<message>
<source>Image</source>
<translation type="unfinished"></translation>
<translation>Imagen</translation>
</message>
<message>
<source>Path:</source>
@ -15497,7 +15999,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>path to image</source>
<translation type="unfinished"></translation>
<translation>ruta a la imagen</translation>
</message>
<message>
<source>Browse</source>
@ -15505,7 +16007,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>Gray color</source>
<translation type="unfinished"></translation>
<translation>Color gris</translation>
</message>
<message>
<source>&amp;File</source>
@ -15541,7 +16043,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>Watermark image</source>
<translation type="unfinished"></translation>
<translation>Imagen Marca de agua</translation>
</message>
<message>
<source>File error.</source>
@ -15549,7 +16051,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>Watermark files</source>
<translation type="unfinished"></translation>
<translation>Archivos de marca de agua</translation>
</message>
<message>
<source>Save as</source>
@ -15557,7 +16059,7 @@ Quieres guardar los cambios?</translation>
</message>
<message>
<source>watermark</source>
<translation type="unfinished"></translation>
<translation>marca de agua</translation>
</message>
<message>
<source>Failed to lock. This file already opened in another window.</source>
@ -15598,7 +16100,8 @@ Quieres guardar los cambios?</translation>
<message>
<source>The watermark has been modified.
Do you want to save your changes?</source>
<translation type="unfinished"></translation>
<translation>La marca de agua ha sido modificada.
Quiere guardar los cambios?</translation>
</message>
<message>
<source>Don&apos;t Save</source>
@ -15610,15 +16113,15 @@ Do you want to save your changes?</source>
</message>
<message>
<source>untitled.vwm</source>
<translation type="unfinished"></translation>
<translation>sintítulo.vwm</translation>
</message>
<message>
<source>Confirm format rewriting</source>
<translation type="unfinished"></translation>
<translation>Confirmar reescritura de formato</translation>
</message>
<message>
<source>This file is using previous format version v%1. The current is v%2. Saving the file with this app version will update the format version for this file. This may prevent you from be able to open the file with older app versions. Do you really want to continue?</source>
<translation type="unfinished"></translation>
<translation>Este archivo esta usando un formato de version previo v%1. El actual es v%2. Guardando el archivo con esta version de la aplicación actualizara el formato de version para este archivo. Esto puede impedir que pueda abrir el archivo con versiones anteriores de la aplicación. ¿Realmente quieres continuar?</translation>
</message>
<message>
<source>File saved</source>

View file

@ -36,6 +36,13 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2059,6 +2066,34 @@
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nmi:</translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2094,6 +2129,34 @@
<source>Flipping by line</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nmi:</translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2105,10 +2168,6 @@
<source>Group name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unique pattern piece name</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Choose group name</source>
<translation type="unfinished"></translation>
@ -2117,6 +2176,18 @@
<source>New group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -2628,6 +2699,49 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>cm</source>
<translation>cm</translation>
</message>
<message>
<source>Right:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Top:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Bottom:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -2820,10 +2934,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -2832,10 +2942,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -2852,6 +2958,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3260,6 +3379,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation>Keskipiste</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nmi:</translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4141,10 +4288,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -4805,6 +4948,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nmi:</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -4888,6 +5055,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation>Asetukset</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -8519,6 +8702,13 @@ This option will take an affect after restart.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -9511,10 +9701,6 @@ Do you want to save your changes?</source>
<source>Formula wizard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation>Arvo</translation>
@ -9997,6 +10183,26 @@ Do you want to save your changes?</source>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation>Tiedostoa %1 ei voitu avata:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Skeematiedostoa %1 ei voitu avata.
%2.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Tarkastus virhe tiedostossa %3 rivillä %1 kohdassa %2</translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -10085,6 +10291,18 @@ Do you want to save your changes?</source>
<source>Length</source>
<translation type="unfinished">Pituus</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -10252,6 +10470,21 @@ Do you want to save your changes?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -10634,6 +10867,26 @@ Do you want to save your changes?</source>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -10727,7 +10980,7 @@ Do you want to save your changes?</source>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Skeematiedostoa %1 ei voitu avata.
<translation type="vanished">Skeematiedostoa %1 ei voitu avata.
%2.</translation>
</message>
<message>
@ -10736,7 +10989,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Tarkastus virhe tiedostossa %3 rivillä %1 kohdassa %2</translation>
<translation type="vanished">Tarkastus virhe tiedostossa %3 rivillä %1 kohdassa %2</translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
@ -10762,10 +11015,6 @@ Do you want to save your changes?</source>
<source>Could not remove document file</source>
<translation type="vanished">Dokumenttitiedostoa ei voitu poistaa</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
<translation type="unfinished"></translation>
@ -11357,6 +11606,14 @@ Do you want to save your changes?</source>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -11607,6 +11864,10 @@ Do you want to save your changes?</source>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -11618,6 +11879,10 @@ Do you want to save your changes?</source>
<source>Second line point</source>
<translation type="unfinished">Viivan toinen piste</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -11712,6 +11977,10 @@ Do you want to save your changes?</source>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -12252,6 +12521,10 @@ Do you want to save your changes?</source>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -13712,6 +13985,191 @@ Do you want to save your changes?</source>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -13773,13 +14231,21 @@ Do you want to save your changes?</source>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
<message>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete</source>
<translation type="unfinished">Poista</translation>
@ -13800,6 +14266,26 @@ Do you want to save your changes?</source>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation>Asetukset</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished">Ajouter des fusions de pièce de patron</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2447,6 +2454,34 @@
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nom:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2486,6 +2521,34 @@
<source>Flipping by line</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nom:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2499,7 +2562,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Nom unique de pièce de patron</translation>
<translation type="vanished">Nom unique de pièce de patron</translation>
</message>
<message>
<source>Choose group name</source>
@ -2509,6 +2572,18 @@
<source>New group</source>
<translation>Nouveau groupe</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -3048,6 +3123,49 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left:</source>
<translation>Gauche:</translation>
</message>
<message>
<source>cm</source>
<translation>cm</translation>
</message>
<message>
<source>Right:</source>
<translation>Droite:</translation>
</message>
<message>
<source>Top:</source>
<translation>Haut:</translation>
</message>
<message>
<source>Bottom:</source>
<translation>Bas:</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3312,10 +3430,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -3324,10 +3438,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -3344,6 +3454,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3756,6 +3879,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation>Point central</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nom:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotation</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4697,10 +4848,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation>Longueur:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -5429,6 +5576,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nom:</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5532,6 +5703,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation>Options</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -9545,6 +9732,13 @@ This option will take an affect after restart.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -10668,10 +10862,6 @@ Voulez-vous enregistrer les changements?</translation>
<source>Formula wizard</source>
<translation>Assistant formule</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation>Valeur</translation>
@ -11205,6 +11395,25 @@ Voulez-vous enregistrer les changements?</translation>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation>impossible d&apos;ouvrir le fichier %1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Erreur d&apos;ouverture du fichier de schéma %1: %2.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Impossible de lire le schéma de fichier &apos;%1&apos;.</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Erreur de validation : fichier %3, ligne %1, colonne %2</translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11293,6 +11502,18 @@ Voulez-vous enregistrer les changements?</translation>
<source>Length</source>
<translation type="unfinished">Longueur</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11460,6 +11681,21 @@ Voulez-vous enregistrer les changements?</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -11962,6 +12198,26 @@ Voulez-vous enregistrer les changements?</translation>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -12055,7 +12311,7 @@ Voulez-vous enregistrer les changements?</translation>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Erreur d&apos;ouverture du fichier de schéma %1: %2.</translation>
<translation type="vanished">Erreur d&apos;ouverture du fichier de schéma %1: %2.</translation>
</message>
<message>
<source>Could not load schema file.</source>
@ -12063,7 +12319,7 @@ Voulez-vous enregistrer les changements?</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Erreur de validation : fichier %3, ligne %1, colonne %2</translation>
<translation type="vanished">Erreur de validation : fichier %3, ligne %1, colonne %2</translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
@ -12091,7 +12347,7 @@ Voulez-vous enregistrer les changements?</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Impossible de lire le schéma de fichier &apos;%1&apos;.</translation>
<translation type="vanished">Impossible de lire le schéma de fichier &apos;%1&apos;.</translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
@ -12684,6 +12940,14 @@ Voulez-vous enregistrer les changements?</translation>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -12993,6 +13257,10 @@ Voulez-vous enregistrer les changements?</translation>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -13004,6 +13272,10 @@ Voulez-vous enregistrer les changements?</translation>
<source>Second line point</source>
<translation type="unfinished">Point de deuxieme ligne</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -13098,6 +13370,10 @@ Voulez-vous enregistrer les changements?</translation>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -13694,6 +13970,10 @@ Voulez-vous enregistrer les changements?</translation>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -15193,6 +15473,191 @@ Voulez-vous enregistrer les changements?</translation>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -15254,6 +15719,18 @@ Voulez-vous enregistrer les changements?</translation>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
@ -15263,7 +15740,7 @@ Voulez-vous enregistrer les changements?</translation>
</message>
<message>
<source>Rename</source>
<translation>Renommer</translation>
<translation type="vanished">Renommer</translation>
</message>
<message>
<source>Delete</source>
@ -15285,6 +15762,26 @@ Voulez-vous enregistrer les changements?</translation>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation>Préférences</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -36,6 +36,13 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -1668,6 +1675,34 @@
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -1703,6 +1738,34 @@
<source>Flipping by line</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -1714,10 +1777,6 @@
<source>Group name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unique pattern piece name</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Choose group name</source>
<translation type="unfinished"></translation>
@ -1726,6 +1785,18 @@
<source>New group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -2185,6 +2256,53 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>cm</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Right:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Top:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Bottom:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>...</source>
<translation type="obsolete">...</translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -2349,10 +2467,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -2361,10 +2475,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -2381,6 +2491,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -2757,6 +2880,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation>נקודת מרכז</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -3475,10 +3626,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -4091,6 +4238,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -4174,6 +4345,26 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation type="unfinished">אפשרויות</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>...</source>
<translation type="obsolete">...</translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -7474,6 +7665,13 @@ This option will take an affect after restart.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -8434,10 +8632,6 @@ Do you want to save your changes?</source>
<source>Formula wizard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation type="unfinished"></translation>
@ -8815,6 +9009,24 @@ Do you want to save your changes?</source>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -8903,6 +9115,18 @@ Do you want to save your changes?</source>
<source>Length</source>
<translation type="unfinished">אורך</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -9070,6 +9294,21 @@ Do you want to save your changes?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -9448,6 +9687,26 @@ Do you want to save your changes?</source>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -9521,15 +9780,6 @@ Do you want to save your changes?</source>
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
@ -9538,10 +9788,6 @@ Do you want to save your changes?</source>
<source>Couldn&apos;t get node</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
<translation type="unfinished"></translation>
@ -10106,6 +10352,14 @@ Do you want to save your changes?</source>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -10352,6 +10606,10 @@ Do you want to save your changes?</source>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -10363,6 +10621,10 @@ Do you want to save your changes?</source>
<source>Second line point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -10457,6 +10719,10 @@ Do you want to save your changes?</source>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -10961,6 +11227,10 @@ Do you want to save your changes?</source>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -12346,6 +12616,191 @@ Do you want to save your changes?</source>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetDetails</name>
@ -12385,13 +12840,21 @@ Do you want to save your changes?</source>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
<message>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete</source>
<translation type="unfinished">למחוק</translation>
@ -12412,6 +12875,26 @@ Do you want to save your changes?</source>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -36,6 +36,13 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -1939,6 +1946,34 @@
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -1974,6 +2009,34 @@
<source>Flipping by line</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -1985,10 +2048,6 @@
<source>Group name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unique pattern piece name</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Choose group name</source>
<translation type="unfinished"></translation>
@ -1997,6 +2056,18 @@
<source>New group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -2456,6 +2527,49 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>cm</source>
<translation type="unfinished">cm</translation>
</message>
<message>
<source>Right:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Top:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Bottom:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -2620,10 +2734,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -2632,10 +2742,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -2652,6 +2758,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3044,6 +3163,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation>titik tengah</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -3778,10 +3925,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -4417,6 +4560,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -4500,6 +4667,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation type="unfinished">pilihan</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -7820,6 +8003,13 @@ This option will take an affect after restart.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -8772,10 +8962,6 @@ Do you want to save your changes?</source>
<source>Formula wizard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation type="unfinished"></translation>
@ -9195,6 +9381,24 @@ Do you want to save your changes?</source>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -9283,6 +9487,18 @@ Do you want to save your changes?</source>
<source>Length</source>
<translation type="unfinished">panjang</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -9450,6 +9666,21 @@ Do you want to save your changes?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -9832,6 +10063,26 @@ Do you want to save your changes?</source>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -9905,15 +10156,6 @@ Do you want to save your changes?</source>
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
@ -9922,10 +10164,6 @@ Do you want to save your changes?</source>
<source>Couldn&apos;t get node</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
<translation type="unfinished"></translation>
@ -10490,6 +10728,14 @@ Do you want to save your changes?</source>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -10736,6 +10982,10 @@ Do you want to save your changes?</source>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -10747,6 +10997,10 @@ Do you want to save your changes?</source>
<source>Second line point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -10841,6 +11095,10 @@ Do you want to save your changes?</source>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -11357,6 +11615,10 @@ Do you want to save your changes?</source>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -12747,6 +13009,191 @@ Do you want to save your changes?</source>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetDetails</name>
@ -12786,13 +13233,21 @@ Do you want to save your changes?</source>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
<message>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete</source>
<translation type="unfinished">hapus</translation>
@ -12813,6 +13268,26 @@ Do you want to save your changes?</source>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished">Aggiungi dettagli di unione</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2439,6 +2446,34 @@
<source>Flipping by axis</source>
<translation>Ruotare sull&apos;asse</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nome:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotazione</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2478,6 +2513,34 @@
<source>Flipping by line</source>
<translation>Ruota sulla linea</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nome:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotazione</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2491,7 +2554,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Nome unico del pezzo del modello</translation>
<translation type="vanished">Nome unico del pezzo del modello</translation>
</message>
<message>
<source>Choose group name</source>
@ -2501,6 +2564,18 @@
<source>New group</source>
<translation>Nuovo gruppo</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -3040,6 +3115,49 @@
<translation>Coefficiente di efficienza: %1%</translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation>Margini</translation>
</message>
<message>
<source>Left:</source>
<translation>Sinistra:</translation>
</message>
<message>
<source>cm</source>
<translation>cm</translation>
</message>
<message>
<source>Right:</source>
<translation>Destra:</translation>
</message>
<message>
<source>Top:</source>
<translation>Top:</translation>
</message>
<message>
<source>Bottom:</source>
<translation>Fondo:</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3309,10 +3427,6 @@ Applicare la configurazione comunque?</translation>
<source>Time given for the algorithm to find best layout.</source>
<translation>Tempo concesso allalgoritmo per trovare il miglior piazzamento.</translation>
</message>
<message>
<source> min</source>
<translation>min</translation>
</message>
<message>
<source>Efficiency:</source>
<translation>Efficienza:</translation>
@ -3321,10 +3435,6 @@ Applicare la configurazione comunque?</translation>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation>Imposta coefficiente di efficienza del piazzamento. Il coefficiente di efficienza del piazzamento è la percentuale di area occupata dai pezzi allinterno dellarea delimitata. Se la loro disposizione raggiunge il livello richiesto, il processo si interrompe. Se il valore è impostato su 0 non viene effettuata nessuna verifica. </translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -3341,6 +3451,19 @@ Applicare la configurazione comunque?</translation>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation>min</translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3753,6 +3876,34 @@ Applicare la configurazione comunque?</translation>
<source>Center point</source>
<translation>Punto centrale</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nome:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotazione</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4632,11 +4783,11 @@ Applicare la configurazione comunque?</translation>
</message>
<message>
<source>Continue the first point to the cutting contour</source>
<translation type="unfinished"></translation>
<translation>Prolunga il primo punto fino al contorno del pezzo</translation>
</message>
<message>
<source>Continue the last point to the cutting contour</source>
<translation type="unfinished"></translation>
<translation>Prolunga l&apos;ultimo punto fino al contorno del pezzo</translation>
</message>
<message>
<source>The path is a cut contour. Use to control export to DXF-AAMA</source>
@ -4694,10 +4845,6 @@ Applicare la configurazione comunque?</translation>
<source>Length:</source>
<translation>Lunghezza:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -5426,6 +5573,30 @@ Applicare la configurazione comunque?</translation>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nome:</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5529,6 +5700,22 @@ Applicare la configurazione comunque?</translation>
<source>Orientation:</source>
<translation>Orientamento:</translation>
</message>
<message>
<source>Options</source>
<translation>Opzioni</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -8044,7 +8231,7 @@ Vuoi salvare i cambiamenti?</translation>
</message>
<message>
<source>Internal path tool</source>
<translation type="unfinished"></translation>
<translation>Strumento Tracciato Interno</translation>
</message>
<message>
<source>Save &amp;As</source>
@ -9555,6 +9742,13 @@ Questa opzione sarà effettiva dopo il riavvio del programma.</translation>
<translation>Rimuovi oggetto dal gruppo</translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -9594,7 +9788,7 @@ Questa opzione sarà effettiva dopo il riavvio del programma.</translation>
<name>SavePlaceLabelOptions</name>
<message>
<source>save place label options</source>
<translation type="unfinished"></translation>
<translation>Salva opzioni di posizionamento etichetta</translation>
</message>
</context>
<context>
@ -10678,10 +10872,6 @@ Vuoi salvare le tue modifiche?</translation>
<source>Formula wizard</source>
<translation>Formula magica</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation>Valore</translation>
@ -11215,6 +11405,25 @@ Vuoi salvare le tue modifiche?</translation>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation>Impossibile aprire file %1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11303,6 +11512,18 @@ Vuoi salvare le tue modifiche?</translation>
<source>Length</source>
<translation type="unfinished">Lunghezza</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11474,6 +11695,21 @@ Vuoi salvare le tue modifiche?</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -11944,6 +12180,26 @@ Vuoi salvare le tue modifiche?</translation>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -12022,19 +12278,10 @@ Vuoi salvare le tue modifiche?</translation>
<translation>Impossibile aprire file %1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file.</source>
<translation type="vanished">Impossibile caricare il file di schema</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
@ -12047,10 +12294,6 @@ Vuoi salvare le tue modifiche?</translation>
<source>This id is not unique.</source>
<translation type="vanished">Questo ID è già esistente.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
<translation type="unfinished"></translation>
@ -12642,6 +12885,14 @@ Vuoi salvare le tue modifiche?</translation>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -12955,6 +13206,10 @@ Vuoi salvare le tue modifiche?</translation>
<source>Origin point</source>
<translation>Punto d&apos;origine</translation>
</message>
<message>
<source>Flipping by axis</source>
<translation>Ruotare sull&apos;asse</translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -12966,6 +13221,10 @@ Vuoi salvare le tue modifiche?</translation>
<source>Second line point</source>
<translation type="unfinished">Secondo punto della linea</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -13060,6 +13319,10 @@ Vuoi salvare le tue modifiche?</translation>
<source>Rotation origin point</source>
<translation>Ruota punto d&apos;origine</translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -13652,6 +13915,10 @@ Vuoi salvare le tue modifiche?</translation>
<source>Rotation angle</source>
<translation>Angolo di rotazione</translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -15106,6 +15373,191 @@ Vuoi salvare le tue modifiche?</translation>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -15167,12 +15619,24 @@ Vuoi salvare le tue modifiche?</translation>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
<message>
<source>Rename</source>
<translation>Rinomina</translation>
<translation type="vanished">Rinomina</translation>
</message>
<message>
<source>Delete</source>
@ -15194,6 +15658,26 @@ Vuoi salvare le tue modifiche?</translation>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation>Preferenze</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished">voeg een samengevoegd detail toe</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation>hernoem groep</translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2447,6 +2454,34 @@
<source>Flipping by axis</source>
<translation>Kantelen via de aslijn</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation>Zet aan om een zichtbaarheidsgroep aan te maken vanuit de originele objecten</translation>
</message>
<message>
<source>Visibility Group</source>
<translation>Zichtbaarheid groep</translation>
</message>
<message>
<source>Name:</source>
<translation>Naam:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotatie</translation>
</message>
<message>
<source>Tags:</source>
<translation>Etiketten:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Plaats een komma tussen ieder etiket.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Etiket toevoegen</translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2486,6 +2521,34 @@
<source>Flipping by line</source>
<translation>Kantelen via de lijn</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation>Zet aan om een zichtbaarheidsgroep aan te maken vanuit de originele objecten</translation>
</message>
<message>
<source>Visibility Group</source>
<translation>Zichtbaarheid groep</translation>
</message>
<message>
<source>Name:</source>
<translation>Naam:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotatie</translation>
</message>
<message>
<source>Tags:</source>
<translation>Etiketten:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Plaats een komma tussen ieder etiket.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Etiket toevoegen</translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2499,7 +2562,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Unieke patroondeel naam</translation>
<translation type="vanished">Unieke patroondeel naam</translation>
</message>
<message>
<source>Choose group name</source>
@ -2509,6 +2572,18 @@
<source>New group</source>
<translation>Nieuwe groep</translation>
</message>
<message>
<source>Tags:</source>
<translation>Etiket:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Plaats een komma tussen ieder etiket.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Etiket toevoegen</translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -3048,6 +3123,49 @@
<translation>Efficiëntie coëfficiënt: %1%</translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation>Schaal van de opmaak</translation>
</message>
<message>
<source>Margins</source>
<translation>Marges</translation>
</message>
<message>
<source>Left:</source>
<translation>Links:</translation>
</message>
<message>
<source>cm</source>
<translation>cm</translation>
</message>
<message>
<source>Right:</source>
<translation>Rechts:</translation>
</message>
<message>
<source>Top:</source>
<translation>Bovenaan:</translation>
</message>
<message>
<source>Bottom:</source>
<translation>Onderaan:</translation>
</message>
<message>
<source>Scale</source>
<translation>Schaal</translation>
</message>
<message>
<source>Horizontal:</source>
<translation>Horizontaal:</translation>
</message>
<message>
<source>Vertical:</source>
<translation>Vertikaal:</translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3317,10 +3435,6 @@ Toch de instellingen aanpassen?</translation>
<source>Time given for the algorithm to find best layout.</source>
<translation>Tijd toegekend aan het algoritme om de beste opmaak te vinden.</translation>
</message>
<message>
<source> min</source>
<translation>min</translation>
</message>
<message>
<source>Efficiency:</source>
<translation>Efficiëntie:</translation>
@ -3329,10 +3443,6 @@ Toch de instellingen aanpassen?</translation>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation>Bepaal de opmaak efficiëntie coëfficiënt. De opmaak efficiëntie coëfficiënt is de verhouding van het gebied door de stukken ingenomen ten opzichte van de rechthoek die alle objecten bevat. Als het aantal inpassingen het verwachte niveau bereikt, wordt het proces gestopt. Als de waarde 0 is, wordt er niet gechecked. </translation>
</message>
<message>
<source>%</source>
<translation>%</translation>
</message>
<message>
<source>Manual priority</source>
<translation>Manuele voorrang</translation>
@ -3349,6 +3459,19 @@ Toch de instellingen aanpassen?</translation>
<source>Auto crop unused width</source>
<translation>Automatisch inkorten van ongebruikte breedte</translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation>Verkies een 1-blad oplossing</translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation>min</translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation>Deze optie aanzetten om 1-blad oplossingen te verkrijgen.</translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3761,6 +3884,34 @@ Toch de instellingen aanpassen?</translation>
<source>Center point</source>
<translation>Middelpunt</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation>Zet aan om een zichtbaarheidsgroep aan te maken vanuit de originele objecten</translation>
</message>
<message>
<source>Visibility Group</source>
<translation>Zichtbaarheid groep</translation>
</message>
<message>
<source>Name:</source>
<translation>Naam:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotatie</translation>
</message>
<message>
<source>Tags:</source>
<translation>Etiket:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Plaats een komma tussen ieder etiket.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Etiket toevoegen</translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4702,10 +4853,6 @@ Toch de instellingen aanpassen?</translation>
<source>Length:</source>
<translation>Lengte:</translation>
</message>
<message>
<source>=</source>
<translation>=</translation>
</message>
<message>
<source>U mark</source>
<translation>U markering</translation>
@ -5434,6 +5581,30 @@ Toch de instellingen aanpassen?</translation>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation>Dit punt kan geen startpunt zijn. Gelieve een ander startpunt te kiezen</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation>Zet aan om een zichtbaarheidsgroep aan te maken vanuit de originele objecten</translation>
</message>
<message>
<source>Visibility Group</source>
<translation>Zichtbaarheid groep</translation>
</message>
<message>
<source>Name:</source>
<translation>Naam:</translation>
</message>
<message>
<source>Tags:</source>
<translation>Etiket:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Plaats een komma tussen ieder etiket.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Etiket toevoegen</translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5537,6 +5708,22 @@ Toch de instellingen aanpassen?</translation>
<source>Orientation:</source>
<translation>Orientatie:</translation>
</message>
<message>
<source>Options</source>
<translation>Opties</translation>
</message>
<message>
<source>Scale</source>
<translation>Schaal</translation>
</message>
<message>
<source>Horizontal:</source>
<translation>Horizontaal:</translation>
</message>
<message>
<source>Vertical:</source>
<translation>Vertikaal:</translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -8131,7 +8318,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Create new pattern piece to start working.</source>
<translation>Maak een nieuw patroondeel om te gaan werken.</translation>
<translation>Start een nieuw patroondeel op.</translation>
</message>
<message>
<source>Changes applied.</source>
@ -9139,7 +9326,7 @@ Deze optie wordt actief na een herstart..</translation>
<name>QObject</name>
<message>
<source>Create new pattern piece to start working.</source>
<translation type="vanished">Maak een nieuw patroondeel om te gaan werken.</translation>
<translation type="vanished">Start een nieuw patroondeel op.</translation>
</message>
<message>
<source>mm</source>
@ -9566,6 +9753,13 @@ Deze optie wordt actief na een herstart..</translation>
<translation>Verwijder item van groep</translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation>hernoem groep</translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -10689,10 +10883,6 @@ Wil je deze veranderingen opslaan?</translation>
<source>Formula wizard</source>
<translation>Formule assistent</translation>
</message>
<message>
<source>=</source>
<translation>=</translation>
</message>
<message>
<source>Value</source>
<translation>Waarde</translation>
@ -11230,6 +11420,26 @@ Wil je deze veranderingen opslaan?</translation>
<source>Invalid version. Maximum supported format version is %1</source>
<translation>Ongeldige versie. Maximum ondersteund formaat is %1</translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation>kan bestand niet openen %1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Kan schema bestand niet openen %1:
%2.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Kan schema bestand niet laden &apos;%1&quot;.</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Validatie fout bestand %3 op lijn %1 kolom %2</translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11318,6 +11528,18 @@ Wil je deze veranderingen opslaan?</translation>
<source>Length</source>
<translation>Lengte</translation>
</message>
<message>
<source>operation options</source>
<translation>bewerkingsopties</translation>
</message>
<message>
<source>delete operation</source>
<translation>verwijder bewerking</translation>
</message>
<message>
<source>Visibility group</source>
<translation>Zichtbaarheid groep</translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11489,6 +11711,21 @@ Wil je deze veranderingen opslaan?</translation>
<translation>Ongeldige inkeping.</translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation>Fout bij het voorbereiden van gegevens voor lay-out: Detail &apos;%1&apos; vierkant &lt;= 0</translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation>Fout bij het voorbereiden van gegevens voor lay-out: Lay-out blad papier &lt;=0</translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation>Fout bij het voorbereiden van gegevens voor lay-out: Detail lijst is leeg</translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -11991,6 +12228,26 @@ Wil je deze veranderingen opslaan?</translation>
<source>Auto crop unused width (export mode).</source>
<translation>Automatisch inkorten van ongebruikte breedte (export modus).</translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation>Zet de horizontale schaal factor tussen 0.01 en 3.0 (standaard=1.0, export modus).</translation>
</message>
<message>
<source>Horizontal scale</source>
<translation>Horizontale schaal</translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation>Zet de vertikale schaal factor tussen 0.01 en 3.0 (standaard=1.0, export modus).</translation>
</message>
<message>
<source>Vertical scale</source>
<translation>Vertikale schaal</translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation>Verkies 1-blad opmaak oplossing (export modus).</translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -12084,7 +12341,7 @@ Wil je deze veranderingen opslaan?</translation>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Kan schema bestand niet openen %1:
<translation type="vanished">Kan schema bestand niet openen %1:
%2.</translation>
</message>
<message>
@ -12093,7 +12350,7 @@ Wil je deze veranderingen opslaan?</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Validatie fout bestand %3 op lijn %1 kolom %2</translation>
<translation type="vanished">Validatie fout bestand %3 op lijn %1 kolom %2</translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
@ -12121,7 +12378,7 @@ Wil je deze veranderingen opslaan?</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Kan schema bestand niet laden &apos;%1&quot;.</translation>
<translation type="vanished">Kan schema bestand niet laden &apos;%1&quot;.</translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
@ -12714,6 +12971,14 @@ Wil je deze veranderingen opslaan?</translation>
<source>Can&apos;t create history record for the tool.</source>
<translation>Kan geen geschiedenis item voor dit gereedschap aanmaken.</translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation>Inlezen definitieve maten fout.</translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation>Waarde voor de definitieve maten &apos;%1&apos; is oneindig of NaN. Controlleer uw berekeningen.</translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -13031,6 +13296,10 @@ Wil je deze veranderingen opslaan?</translation>
<source>Origin point</source>
<translation>Startpunt</translation>
</message>
<message>
<source>Flipping by axis</source>
<translation>Kantelen via de aslijn</translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -13042,6 +13311,10 @@ Wil je deze veranderingen opslaan?</translation>
<source>Second line point</source>
<translation>Tweede lijnpunt</translation>
</message>
<message>
<source>flipping by line</source>
<translation>Kantelen langs een lijn</translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -13136,6 +13409,10 @@ Wil je deze veranderingen opslaan?</translation>
<source>Rotation origin point</source>
<translation>Rotatie startpunt</translation>
</message>
<message>
<source>move</source>
<translation>verplaats</translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -13736,6 +14013,10 @@ Wil je deze veranderingen opslaan?</translation>
<source>Rotation angle</source>
<translation>Hoek van draaiing</translation>
</message>
<message>
<source>rotate</source>
<translation>draai</translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -15235,6 +15516,191 @@ Wil je deze veranderingen opslaan?</translation>
<comment>Left symbol _ in the name</comment>
<translation>RotationElArc_</translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation>omzetten graden naar radialen</translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation>omzetten radialen naar graden</translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation>sinus gebruikt radialen</translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation>cosinus gebruikt radialen</translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation>tangens gebruikt radialen</translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation>boogsinus gebruikt radialen</translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation>boogcosinus gebruikt radialen</translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation>boogtanges gebruikt radialen</translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation>hyperbolische sine functie</translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation>hyperbolische cosinus</translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation>hyperbolische tangens functie</translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation>hyperbolische arcus sine functie</translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation>hyperbolische boogcosinus</translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation>hyperbolische arcus tangens functie</translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation>sinus gebruikt graden</translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation>cosinus gebruikt graden</translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation>tangens gebruikt graden</translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation>boogsinus gebruikt graden</translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation>boogcosinus gebruikt graden</translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation>boogtangens gebruikt graden</translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation>logaritme naar de basis 2</translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation>logaritme naar de basis 10</translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation>logaritme naar de basis 10</translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation>logaritme naar basis e (2.71828...)</translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation>e tot de macht van x</translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation>Kwadrant wortelgetal van een waarde</translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation>Teken functie -1 als x&lt;0; 1 als x&gt;0</translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation>Rond het dichtbijzijnde gehele getal</translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation>afronden op 1 decimaal</translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation>model snijden, splitsen en draaien operatie. Gebruikt cm.</translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation>model snijden, splitsen en draaien operatie. Gebruikt inches.</translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation>absolute waarde</translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation>min van alle argumenten</translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation>max van alle argumenten</translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation>som van alle argumenten</translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation>Gemiddelde waarde van alle argumenten</translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation>Brengt het drijvende-punt restant van numerator/denominator terug ( afgerond naar nul)</translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -15296,6 +15762,18 @@ Wil je deze veranderingen opslaan?</translation>
<source>Hide not in layout</source>
<translation>Verberg niet in opmaak</translation>
</message>
<message>
<source>Piece options</source>
<translation>Werkstuk opties</translation>
</message>
<message>
<source>Delete piece</source>
<translation>Verwijder werkstuk</translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation>Kan werkstuk met id &apos;%1&apos; niet vinden</translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
@ -15305,7 +15783,7 @@ Wil je deze veranderingen opslaan?</translation>
</message>
<message>
<source>Rename</source>
<translation>Hernoem</translation>
<translation type="vanished">Hernoem</translation>
</message>
<message>
<source>Delete</source>
@ -15327,6 +15805,26 @@ Wil je deze veranderingen opslaan?</translation>
<source>Show All</source>
<translation>Vertoon Alles</translation>
</message>
<message>
<source>Tags:</source>
<translation>Etiket:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Plaats een komma tussen ieder etiket.</translation>
</message>
<message>
<source>Filter by tags</source>
<translation>Filter per etiket</translation>
</message>
<message>
<source>Preferences</source>
<translation>Voorkeuren</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation>Categoriëen: %1.</translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished">dodaj szczegóły połaczenia</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2263,6 +2270,34 @@
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nazwa:</translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2302,6 +2337,34 @@
<source>Flipping by line</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nazwa:</translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2315,7 +2378,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Unikalna nazwa formy</translation>
<translation type="vanished">Unikalna nazwa formy</translation>
</message>
<message>
<source>Choose group name</source>
@ -2325,6 +2388,18 @@
<source>New group</source>
<translation>Nowa grupa</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -2816,6 +2891,49 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation>Marginesy</translation>
</message>
<message>
<source>Left:</source>
<translation>Lewy:</translation>
</message>
<message>
<source>cm</source>
<translation>cm</translation>
</message>
<message>
<source>Right:</source>
<translation>Prawy:</translation>
</message>
<message>
<source>Top:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Bottom:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3004,10 +3122,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -3016,10 +3130,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -3036,6 +3146,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3440,6 +3563,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation>Punkt środkowy</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nazwa:</translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4269,10 +4420,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation>Długość:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -4926,6 +5073,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nazwa:</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5009,6 +5180,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation>Opcje</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -8598,6 +8785,13 @@ This option will take an affect after restart.</source>
<translation>Usuń element z grupy</translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -9657,10 +9851,6 @@ Do you want to save your changes?</source>
<source>Formula wizard</source>
<translation>Kreator formuł</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation>Wartość</translation>
@ -10179,6 +10369,24 @@ Do you want to save your changes?</source>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -10267,6 +10475,18 @@ Do you want to save your changes?</source>
<source>Length</source>
<translation type="unfinished">Długość</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -10434,6 +10654,21 @@ Do you want to save your changes?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -10816,6 +11051,26 @@ Do you want to save your changes?</source>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -10889,15 +11144,6 @@ Do you want to save your changes?</source>
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
@ -10906,10 +11152,6 @@ Do you want to save your changes?</source>
<source>Couldn&apos;t get node</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
<translation type="unfinished"></translation>
@ -11489,6 +11731,14 @@ Do you want to save your changes?</source>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -11747,6 +11997,10 @@ Do you want to save your changes?</source>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -11758,6 +12012,10 @@ Do you want to save your changes?</source>
<source>Second line point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -11852,6 +12110,10 @@ Do you want to save your changes?</source>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -12380,6 +12642,10 @@ Do you want to save your changes?</source>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -13815,6 +14081,191 @@ Do you want to save your changes?</source>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -13876,13 +14327,21 @@ Do you want to save your changes?</source>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
<message>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete</source>
<translation>Usuń</translation>
@ -13903,6 +14362,26 @@ Do you want to save your changes?</source>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation>Ustawienia</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished">Adicionar detalhes de ligação</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2447,6 +2454,34 @@
<source>Flipping by axis</source>
<translation>Espelhar através do eixo</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nome:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotação</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2486,6 +2521,34 @@
<source>Flipping by line</source>
<translation>Espelhar através de linha</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nome:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotação</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2499,7 +2562,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Nome único da peça de molde</translation>
<translation type="vanished">Nome único da peça de molde</translation>
</message>
<message>
<source>Choose group name</source>
@ -2509,6 +2572,18 @@
<source>New group</source>
<translation>Novo grupo</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -3048,6 +3123,49 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation>Margens</translation>
</message>
<message>
<source>Left:</source>
<translation>Esquerda:</translation>
</message>
<message>
<source>cm</source>
<translation>cm</translation>
</message>
<message>
<source>Right:</source>
<translation>Direita:</translation>
</message>
<message>
<source>Top:</source>
<translation>Topo:</translation>
</message>
<message>
<source>Bottom:</source>
<translation>Base:</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3313,10 +3431,6 @@ Aplicar configurações de qualquer forma?</translation>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -3325,10 +3439,6 @@ Aplicar configurações de qualquer forma?</translation>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -3345,6 +3455,19 @@ Aplicar configurações de qualquer forma?</translation>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3757,6 +3880,34 @@ Aplicar configurações de qualquer forma?</translation>
<source>Center point</source>
<translation>Ponto central</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nome:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Rotação</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4698,10 +4849,6 @@ Aplicar configurações de qualquer forma?</translation>
<source>Length:</source>
<translation>Comprimento:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -5430,6 +5577,30 @@ Aplicar configurações de qualquer forma?</translation>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Nome:</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5529,6 +5700,22 @@ Aplicar configurações de qualquer forma?</translation>
<source>Orientation:</source>
<translation>Orientação:</translation>
</message>
<message>
<source>Options</source>
<translation>Opções</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -9543,6 +9730,13 @@ Esta opção terá um efeito após o reinício.</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -10666,10 +10860,6 @@ Deseja salvar suas mudanças?</translation>
<source>Formula wizard</source>
<translation>Assistente de fórmulas</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation>Valor</translation>
@ -11203,6 +11393,26 @@ Deseja salvar suas mudanças?</translation>
<source>Invalid version. Maximum supported format version is %1</source>
<translation>Versão inválida. O formato da versão máxima suportado é %1</translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation>Impossível abrir o arquivo %1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Impossível abrir o arquivo de esquema %1:
%2.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Arquivo de erro de validação %3 na linha %1 coluna %2</translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11291,6 +11501,18 @@ Deseja salvar suas mudanças?</translation>
<source>Length</source>
<translation>Comprimento</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11462,6 +11684,21 @@ Deseja salvar suas mudanças?</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -11932,6 +12169,26 @@ Deseja salvar suas mudanças?</translation>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -12025,7 +12282,7 @@ Deseja salvar suas mudanças?</translation>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Impossível abrir o arquivo de esquema %1:
<translation type="vanished">Impossível abrir o arquivo de esquema %1:
%2.</translation>
</message>
<message>
@ -12034,7 +12291,7 @@ Deseja salvar suas mudanças?</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Arquivo de erro de validação %3 na linha %1 coluna %2</translation>
<translation type="vanished">Arquivo de erro de validação %3 na linha %1 coluna %2</translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
@ -12048,10 +12305,6 @@ Deseja salvar suas mudanças?</translation>
<source>Got wrong parameter id. Need only id &gt; 0.</source>
<translation type="vanished">Obteve parâmetro de identidade errado. Permitido somente Identidade &gt; 0.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
<translation type="unfinished"></translation>
@ -12643,6 +12896,14 @@ Deseja salvar suas mudanças?</translation>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -12960,6 +13221,10 @@ Deseja salvar suas mudanças?</translation>
<source>Origin point</source>
<translation>Ponto de origem</translation>
</message>
<message>
<source>Flipping by axis</source>
<translation>Espelhar através do eixo</translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -12971,6 +13236,10 @@ Deseja salvar suas mudanças?</translation>
<source>Second line point</source>
<translation>Segundo ponto da linha</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -13065,6 +13334,10 @@ Deseja salvar suas mudanças?</translation>
<source>Rotation origin point</source>
<translation>Rotação do ponto de origem</translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -13665,6 +13938,10 @@ Deseja salvar suas mudanças?</translation>
<source>Rotation angle</source>
<translation>Ângulo de rotação</translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -15119,6 +15396,191 @@ Deseja salvar suas mudanças?</translation>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -15180,6 +15642,18 @@ Deseja salvar suas mudanças?</translation>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
@ -15189,7 +15663,7 @@ Deseja salvar suas mudanças?</translation>
</message>
<message>
<source>Rename</source>
<translation>Renomear</translation>
<translation type="vanished">Renomear</translation>
</message>
<message>
<source>Delete</source>
@ -15211,6 +15685,26 @@ Deseja salvar suas mudanças?</translation>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation>Preferências</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished">adauga detalii ale Uniunii</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2228,6 +2235,34 @@
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2263,6 +2298,34 @@
<source>Flipping by line</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2274,10 +2337,6 @@
<source>Group name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unique pattern piece name</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Choose group name</source>
<translation type="unfinished"></translation>
@ -2286,6 +2345,18 @@
<source>New group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -2801,6 +2872,49 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>cm</source>
<translation>cm</translation>
</message>
<message>
<source>Right:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Top:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Bottom:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -2993,10 +3107,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -3005,10 +3115,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -3025,6 +3131,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3433,6 +3552,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation>Punct central</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4230,10 +4377,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation>Lungime:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -4883,6 +5026,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -4966,6 +5133,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation>Opțiuni</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -8486,6 +8669,13 @@ This option will take an affect after restart.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -9474,10 +9664,6 @@ Do you want to save your changes?</source>
<source>Formula wizard</source>
<translation>Asistent Formulă</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation>Valoare</translation>
@ -9932,6 +10118,24 @@ Do you want to save your changes?</source>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -10020,6 +10224,18 @@ Do you want to save your changes?</source>
<source>Length</source>
<translation type="unfinished">Lungime</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -10187,6 +10403,21 @@ Do you want to save your changes?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -10569,6 +10800,26 @@ Do you want to save your changes?</source>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -10642,15 +10893,6 @@ Do you want to save your changes?</source>
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
@ -10659,10 +10901,6 @@ Do you want to save your changes?</source>
<source>Couldn&apos;t get node</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
<translation type="unfinished"></translation>
@ -11231,6 +11469,14 @@ Do you want to save your changes?</source>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -11477,6 +11723,10 @@ Do you want to save your changes?</source>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -11488,6 +11738,10 @@ Do you want to save your changes?</source>
<source>Second line point</source>
<translation type="unfinished">Al doilea Punct de linie</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -11582,6 +11836,10 @@ Do you want to save your changes?</source>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -12110,6 +12368,10 @@ Do you want to save your changes?</source>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -13535,6 +13797,191 @@ Do you want to save your changes?</source>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetDetails</name>
@ -13574,13 +14021,21 @@ Do you want to save your changes?</source>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
<message>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete</source>
<translation type="unfinished">Șterge</translation>
@ -13601,6 +14056,26 @@ Do you want to save your changes?</source>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation>Preferințe</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished">добавить объединение деталей</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation>переименовать группу</translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2447,6 +2454,34 @@
<source>Flipping by axis</source>
<translation>Отразить объект по оси</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation>Позволяет создать группу видимости из исходных объектов</translation>
</message>
<message>
<source>Visibility Group</source>
<translation>Группа видимости</translation>
</message>
<message>
<source>Name:</source>
<translation>Название:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Поворот</translation>
</message>
<message>
<source>Tags:</source>
<translation>Категории:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Разделяйте каждую категорию запятой.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Добавить категории</translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2486,6 +2521,34 @@
<source>Flipping by line</source>
<translation>Отразить объект по линии</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation>Позволяет создать группу видимости из исходных объектов</translation>
</message>
<message>
<source>Visibility Group</source>
<translation>Группа видимости</translation>
</message>
<message>
<source>Name:</source>
<translation>Название:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Поворот</translation>
</message>
<message>
<source>Tags:</source>
<translation>Категории:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Разделяйте каждую категорию запятой.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Добавить категории</translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2499,7 +2562,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Уникальное имя выкройки</translation>
<translation type="vanished">Уникальное имя выкройки</translation>
</message>
<message>
<source>Choose group name</source>
@ -2509,6 +2572,18 @@
<source>New group</source>
<translation>Новая группа</translation>
</message>
<message>
<source>Tags:</source>
<translation>Категории:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Разделяйте каждую категорию запятой.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Добавить категории</translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -3048,6 +3123,49 @@
<translation>Коэффициент эффективности: %1%</translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation>Масштаб раскладки</translation>
</message>
<message>
<source>Margins</source>
<translation>Поля</translation>
</message>
<message>
<source>Left:</source>
<translation>Левое:</translation>
</message>
<message>
<source>cm</source>
<translation>см</translation>
</message>
<message>
<source>Right:</source>
<translation>Правое:</translation>
</message>
<message>
<source>Top:</source>
<translation>Верхнее:</translation>
</message>
<message>
<source>Bottom:</source>
<translation>Нижнее:</translation>
</message>
<message>
<source>Scale</source>
<translation>Масштаб</translation>
</message>
<message>
<source>Horizontal:</source>
<translation>По горизонтали:</translation>
</message>
<message>
<source>Vertical:</source>
<translation>По вертикали:</translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3317,10 +3435,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation>Время, данное алгоритму, чтобы найти лучшую раскладку.</translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation>Эффективность:</translation>
@ -3329,17 +3443,13 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation>Установите коэффициент эффективности раскладки. Коэффициент эффективности раскладки - это отношение площади, занимаемой деталями, к ограничивающему прямоугольнику всех деталей. Когда раскладка достигает установленного значения, процесс останавливается. Если значение равно 0, проверка не производится. </translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation>Ручной приоритет</translation>
</message>
<message>
<source>Nest quantity of copies according to piece settings.</source>
<translation type="unfinished"></translation>
<translation>Разложить согласно количеству копий в соответствии с настройками детали.</translation>
</message>
<message>
<source>Nest quantity</source>
@ -3349,6 +3459,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation>Автоматически обрезать неиспользуемую ширину</translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation>Предпочесть решение с одним листом</translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3761,6 +3884,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation>Центральная точка</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation>Позволяет создать группу видимости из исходных объектов</translation>
</message>
<message>
<source>Visibility Group</source>
<translation>Группа видимости</translation>
</message>
<message>
<source>Name:</source>
<translation>Название:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Поворот</translation>
</message>
<message>
<source>Tags:</source>
<translation>Категории:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Разделяйте каждую категорию запятой.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Добавить категории</translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4702,10 +4853,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation>Длина:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation>U метка</translation>
@ -5433,6 +5580,54 @@ Apply settings anyway?</source>
</message>
<message>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation>Эта точка не может быть исходной точкой. Пожалуйста, выберите другую исходную точку</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation>Позволяет создать группу видимости из исходных объектов</translation>
</message>
<message>
<source>Visibility Group</source>
<translation>Группа видимости</translation>
</message>
<message>
<source>Name:</source>
<translation>Название:</translation>
</message>
<message>
<source>Tags:</source>
<translation>Категории:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Разделяйте каждую категорию запятой.</translation>
</message>
<message>
<source>Add tags</source>
<translation>Добавить категории</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -5538,6 +5733,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation>Ориентация:</translation>
</message>
<message>
<source>Options</source>
<translation>Опции</translation>
</message>
<message>
<source>Scale</source>
<translation>Масштаб</translation>
</message>
<message>
<source>Horizontal:</source>
<translation>По горизонтали:</translation>
</message>
<message>
<source>Vertical:</source>
<translation>По вертикали:</translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -8145,7 +8356,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Ctrl+O</source>
<translation type="unfinished"></translation>
<translation>Ctrl+O</translation>
</message>
<message>
<source>Cannot read settings from a malformed .INI file.</source>
@ -8153,7 +8364,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Select path objects, &lt;b&gt;%1&lt;/b&gt; - reverse direction curve</source>
<translation type="unfinished"></translation>
<translation>Выберите объекты контура, &lt;b&gt;%1 &lt;/b&gt;- кривая обратного направления</translation>
</message>
<message>
<source>Select one or more objects, hold &lt;b&gt;%1&lt;/b&gt; - for multiple selection, &lt;b&gt;%2&lt;/b&gt; - finish creation</source>
@ -8460,7 +8671,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Process has been stoped because of exception.</source>
<translation type="unfinished"></translation>
<translation>Процесс был остановлен из-за исключения.</translation>
</message>
<message>
<source>File error.
@ -9315,19 +9526,19 @@ This option will take an affect after restart.</source>
</message>
<message>
<source>Cannot calculate seam allowance before for point &apos;%1&apos;. Reason: %2.</source>
<translation type="unfinished"></translation>
<translation>Невозможно рассчитать припуск на шов перед точкой &apos;%1&apos;. Причина: %2.</translation>
</message>
<message>
<source>Cannot calculate seam allowance after for point &apos;%1&apos;. Reason: %2.</source>
<translation type="unfinished"></translation>
<translation>Невозможно рассчитать припуск на шов после точки &apos;%1&apos;. Причина: %2.</translation>
</message>
<message>
<source>Cannot calculate seam allowance after for point &apos;%1&apos;. Reason: </source>
<translation type="unfinished"></translation>
<translation>Невозможно рассчитать припуск на шов после точки &apos;%1&apos;. Причина: </translation>
</message>
<message>
<source>Cannot calculate passmark length for point &apos;%1&apos;. Reason: %2.</source>
<translation type="unfinished"></translation>
<translation>Невозможно рассчитать длину надсечки для точки &apos;%1&apos;. Причина: %2.</translation>
</message>
<message>
<source>Passmark &apos;%1&apos; is not part of piece &apos;%2&apos;.</source>
@ -9343,7 +9554,7 @@ This option will take an affect after restart.</source>
</message>
<message>
<source>Invalid formula &apos;%1&apos; for tool with id &apos;%2&apos;. %3.</source>
<translation type="unfinished"></translation>
<translation>Неверная формула &apos;%1&apos; для инструмента с идентификатором &apos;%2&apos;. %3.</translation>
</message>
<message>
<source>Can&apos;t convert toInt parameter</source>
@ -9568,6 +9779,13 @@ This option will take an affect after restart.</source>
<translation>Удалить объект из группы</translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation>переименовать группу</translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -10691,10 +10909,6 @@ Do you want to save your changes?</source>
<source>Formula wizard</source>
<translation>Мастер формул</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation>Значение</translation>
@ -10717,7 +10931,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>List of all defined passmarks. To define a passmark return to the Main Path tab, call context menu for a point item and make it a passmark.</source>
<translation type="unfinished"></translation>
<translation>Список всех установленных надсечек. Чтобы поставить надсечку, вернитесь во вкладку «Главный контур», вызовите контекстное меню у нужной точки и поставьте галочку в строке &quot;Надсечка&quot;.</translation>
</message>
</context>
<context>
@ -11232,6 +11446,26 @@ Do you want to save your changes?</source>
<source>Invalid version. Maximum supported format version is %1</source>
<translation>Недействительная версия. Максимально поддерживаемая версия формата %1</translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation>Невозможно открыть файл %1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Невозможно открыть файл схемы %1:
%2.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Не удалось открыть файл схемы &apos;%1&apos;.</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Ошибка валидации файла %3 в строке %1 столбца %2</translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11307,7 +11541,7 @@ Do you want to save your changes?</source>
<name>VAbstractNode</name>
<message>
<source>This id (%1) is not unique.</source>
<translation type="unfinished"></translation>
<translation>Этот идентификатор (%1) не является уникальным.</translation>
</message>
</context>
<context>
@ -11320,6 +11554,18 @@ Do you want to save your changes?</source>
<source>Length</source>
<translation>Длина</translation>
</message>
<message>
<source>operation options</source>
<translation>параметры операции</translation>
</message>
<message>
<source>delete operation</source>
<translation>удалить операцию</translation>
</message>
<message>
<source>Visibility group</source>
<translation>Группа видимости</translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11491,6 +11737,21 @@ Do you want to save your changes?</source>
<translation>Неправильная надсечка.</translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation>Ошибка подготовки данных для раскладки: список деталей пуст</translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -11955,7 +12216,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Order detail to follow grainline direction (export mode).</source>
<translation type="unfinished"></translation>
<translation>Получите детали в соответствии с направлением долевой (режим экспорта).</translation>
</message>
<message>
<source>&lt;Time&gt; in minutes given for the algorithm to find best layout. Time must be in range from 1 minute to 60 minutes. Default value 1 minute.</source>
@ -11979,7 +12240,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Nest quantity copies of each piece (export mode).</source>
<translation type="unfinished"></translation>
<translation>Разложить согласно количеству копий каждой детали (режим экспорта).</translation>
</message>
<message>
<source>Set layout efficiency &lt;coefficient&gt;. Layout efficiency coefficient is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. Coefficient must be in range from 0 to 100. Default value 0.</source>
@ -11993,6 +12254,26 @@ Do you want to save your changes?</source>
<source>Auto crop unused width (export mode).</source>
<translation>Автоматическая обрезка неиспользуемой ширины (режим экспорта).</translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation>Масштаб по горизонтали</translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation>Масштаб по вертикали</translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation>Предпочесть решение с одним листом раскладки (режим экспорта).</translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -12086,7 +12367,7 @@ Do you want to save your changes?</source>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Невозможно открыть файл схемы %1:
<translation type="vanished">Невозможно открыть файл схемы %1:
%2.</translation>
</message>
<message>
@ -12095,7 +12376,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Ошибка валидации файла %3 в строке %1 столбца %2</translation>
<translation type="vanished">Ошибка валидации файла %3 в строке %1 столбца %2</translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
@ -12123,7 +12404,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Не удалось открыть файл схемы &apos;%1&apos;.</translation>
<translation type="vanished">Не удалось открыть файл схемы &apos;%1&apos;.</translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
@ -12135,11 +12416,11 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Not unique id (%1)</source>
<translation type="unfinished"></translation>
<translation>Не уникальный идентификатор (%1)</translation>
</message>
<message>
<source>This id (%1) is not unique.</source>
<translation type="unfinished"></translation>
<translation>Этот идентификатор (%1) не является уникальным.</translation>
</message>
<message>
<source>Couldn&apos;t get version information.</source>
@ -12174,7 +12455,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>This id (%1) is not unique.</source>
<translation type="unfinished"></translation>
<translation>Этот идентификатор (%1) не является уникальным.</translation>
</message>
<message>
<source>Add to group</source>
@ -12212,7 +12493,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Result is infinite</source>
<translation type="unfinished"></translation>
<translation>Результат бесконечен</translation>
</message>
<message>
<source>Result is NaN</source>
@ -12706,14 +12987,30 @@ Do you want to save your changes?</source>
<name>VPatternRecipe</name>
<message>
<source>Invalid tag %1</source>
<translation type="unfinished"></translation>
<translation>Неправильная категория %1</translation>
</message>
<message>
<source>Can&apos;t find element by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
<translation>Не удается найти элемент с идентификатором &apos;%1&apos;</translation>
</message>
<message>
<source>Can&apos;t create history record for the tool.</source>
<translation>Невозможно создать запись истории для инструмента.</translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation>Ошибка чтения финальных измерений.</translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -12758,7 +13055,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Cannot open the watermark image.</source>
<translation type="unfinished"></translation>
<translation>Не удается открыть изображение водяного знака.</translation>
</message>
</context>
<context>
@ -13033,6 +13330,10 @@ Do you want to save your changes?</source>
<source>Origin point</source>
<translation>Исходная точка</translation>
</message>
<message>
<source>Flipping by axis</source>
<translation>Отразить объект по оси</translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -13044,6 +13345,10 @@ Do you want to save your changes?</source>
<source>Second line point</source>
<translation>Вторая точка линии</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -13138,6 +13443,10 @@ Do you want to save your changes?</source>
<source>Rotation origin point</source>
<translation>Исходная точка вращения</translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -13738,6 +14047,10 @@ Do you want to save your changes?</source>
<source>Rotation angle</source>
<translation>Угол вращения</translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -13811,7 +14124,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>This id (%1) is not unique.</source>
<translation type="unfinished"></translation>
<translation>Этот идентификатор (%1) не является уникальным.</translation>
</message>
<message>
<source>Tool was used after deleting.</source>
@ -13852,7 +14165,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>This id (%1) is not unique.</source>
<translation type="unfinished"></translation>
<translation>Этот идентификатор (%1) не является уникальным.</translation>
</message>
</context>
<context>
@ -15242,6 +15555,191 @@ Do you want to save your changes?</source>
<comment>Left symbol _ in the name</comment>
<translation>ВращениеЭлДуга_</translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation>Преобразует градусы в радианы</translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation>Преобразует радианы в градусы</translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation>Функция синуса, работающая с радианами</translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation>Функция косинуса, работающая с радианами</translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation>Функция тангенса, работающая с радианами</translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation>Функция арксинуса, работающая с радианами</translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation>Функция арккосинуса, работающая с радианами</translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation>Функция арктангенса, работающая с радианами</translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation>Функция синуса, работающая с градусами</translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation>Функция косинуса, работающая с градусами</translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation>Функция тангенса, работающая с градусами</translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation>Функция арксинуса, работающая с градусами</translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation>Функция арккосинуса, работающая с градусами</translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation>Функция арктангенса, работающая с градусами</translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation>Квадратный корень из значения</translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation>Округление до целого числа</translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation>Округление до 1 десятичного знака</translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation>Вырезать, разделить и повернуть операцию моделирования. Взять единицу измерения - см.</translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation>Вырезать, разделить и повернуть операцию моделирования. Взять единицу измерения - дюйм.</translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation>Абсолютная величина (модуль)</translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation>Минимальный из всех аргументов</translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation>Максимальный из всех аргументов</translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation>Сумма всех аргументов</translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation>Среднее значение всех аргументов</translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -15303,6 +15801,18 @@ Do you want to save your changes?</source>
<source>Hide not in layout</source>
<translation>Скрыть не в раскладке</translation>
</message>
<message>
<source>Piece options</source>
<translation>Параметры детали</translation>
</message>
<message>
<source>Delete piece</source>
<translation>Удалить деталь</translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
@ -15312,7 +15822,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Rename</source>
<translation>Переименовать</translation>
<translation type="vanished">Переименовать</translation>
</message>
<message>
<source>Delete</source>
@ -15334,6 +15844,26 @@ Do you want to save your changes?</source>
<source>Show All</source>
<translation>Показать все</translation>
</message>
<message>
<source>Tags:</source>
<translation>Категории:</translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation>Разделяйте каждую категорию запятой.</translation>
</message>
<message>
<source>Filter by tags</source>
<translation>Фильтр по категориям</translation>
</message>
<message>
<source>Preferences</source>
<translation>Свойства</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation>Категории: %1.</translation>
</message>
</context>
<context>
<name>Valentina</name>
@ -15359,7 +15889,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>&lt;b&gt;Curved path&lt;/b&gt;: select seven or more points, &lt;b&gt;%1&lt;/b&gt; - finish creation</source>
<translation type="unfinished"></translation>
<translation>&lt;b&gt;Контур кривой&lt;/b&gt;: выберите семь или более точек, &lt;b&gt;%1&lt;/b&gt; - завершить создание</translation>
</message>
</context>
<context>
@ -15452,7 +15982,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>&lt;b&gt;Curved path&lt;/b&gt;: select three or more points, &lt;b&gt;%1&lt;/b&gt; - finish creation</source>
<translation type="unfinished"></translation>
<translation>&lt;b&gt;Контур кривой&lt;/b&gt;: выберите три или более точек, &lt;b&gt;%1&lt;/b&gt; - завершить создание</translation>
</message>
<message>
<source>Use &lt;b&gt;%1&lt;/b&gt; for sticking angle!</source>

View file

@ -50,6 +50,13 @@
<translation type="vanished">додати об&apos;єднання деталей</translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -2447,6 +2454,34 @@
<source>Flipping by axis</source>
<translation>Відзеркалити по вісі</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Імя:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Поворот</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -2486,6 +2521,34 @@
<source>Flipping by line</source>
<translation>Відзеркалити по лінії</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Імя:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Поворот</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -2499,7 +2562,7 @@
</message>
<message>
<source>Unique pattern piece name</source>
<translation>Унікальне ім&apos;я лекала</translation>
<translation type="vanished">Унікальне ім&apos;я лекала</translation>
</message>
<message>
<source>Choose group name</source>
@ -2509,6 +2572,18 @@
<source>New group</source>
<translation>Нова група</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -3048,6 +3123,49 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left:</source>
<translation>Ліве:</translation>
</message>
<message>
<source>cm</source>
<translation>см</translation>
</message>
<message>
<source>Right:</source>
<translation>Праве:</translation>
</message>
<message>
<source>Top:</source>
<translation>Верхнє:</translation>
</message>
<message>
<source>Bottom:</source>
<translation>Нижнє:</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -3315,10 +3433,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -3327,10 +3441,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -3347,6 +3457,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -3759,6 +3882,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation>Точка центру</translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Імя:</translation>
</message>
<message>
<source>Rotation</source>
<translation>Поворот</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -4700,10 +4851,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation>Довжина:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -5433,6 +5580,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation>Імя:</translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -5536,6 +5707,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation>Параметри</translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -9561,6 +9748,13 @@ This option will take an affect after restart.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -10684,10 +10878,6 @@ Do you want to save your changes?</source>
<source>Formula wizard</source>
<translation>Мастер формул</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation>Значення</translation>
@ -11225,6 +11415,25 @@ Do you want to save your changes?</source>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation>Не можу відкрити файл%1:
%2.</translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Не можу відкрити файл схеми %1:\n%2.</translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Не вдалося завантажити файл схеми &apos;%1&apos;.</translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Помилка валідації файлу %3 в рядку %1 стовпця %2</translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -11313,6 +11522,18 @@ Do you want to save your changes?</source>
<source>Length</source>
<translation type="unfinished">Довжина</translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -11484,6 +11705,21 @@ Do you want to save your changes?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -11986,6 +12222,26 @@ Do you want to save your changes?</source>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -12079,7 +12335,7 @@ Do you want to save your changes?</source>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation>Не можу відкрити файл схеми %1:\n%2.</translation>
<translation type="vanished">Не можу відкрити файл схеми %1:\n%2.</translation>
</message>
<message>
<source>Could not load schema file.</source>
@ -12087,7 +12343,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation>Помилка валідації файлу %3 в рядку %1 стовпця %2</translation>
<translation type="vanished">Помилка валідації файлу %3 в рядку %1 стовпця %2</translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
@ -12115,7 +12371,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation>Не вдалося завантажити файл схеми &apos;%1&apos;.</translation>
<translation type="vanished">Не вдалося завантажити файл схеми &apos;%1&apos;.</translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
@ -12708,6 +12964,14 @@ Do you want to save your changes?</source>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -13025,6 +13289,10 @@ Do you want to save your changes?</source>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation>Відзеркалити по вісі</translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -13036,6 +13304,10 @@ Do you want to save your changes?</source>
<source>Second line point</source>
<translation type="unfinished">Друга точка лінії</translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -13130,6 +13402,10 @@ Do you want to save your changes?</source>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -13730,6 +14006,10 @@ Do you want to save your changes?</source>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -15229,6 +15509,191 @@ Do you want to save your changes?</source>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VVITConverter</name>
@ -15290,6 +15755,18 @@ Do you want to save your changes?</source>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
@ -15299,7 +15776,7 @@ Do you want to save your changes?</source>
</message>
<message>
<source>Rename</source>
<translation>Перейменувати</translation>
<translation type="vanished">Перейменувати</translation>
</message>
<message>
<source>Delete</source>
@ -15321,6 +15798,26 @@ Do you want to save your changes?</source>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation>Властивості</translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -50,6 +50,13 @@
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>ChangeGroupOptions</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChangeGroupVisibility</name>
<message>
@ -1820,6 +1827,34 @@
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogFlippingByLine</name>
@ -1855,6 +1890,34 @@
<source>Flipping by line</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogGroup</name>
@ -1866,10 +1929,6 @@
<source>Group name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unique pattern piece name</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Choose group name</source>
<translation type="unfinished"></translation>
@ -1878,6 +1937,18 @@
<source>New group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogHeight</name>
@ -2329,6 +2400,49 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutScale</name>
<message>
<source>Layout scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Margins</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>cm</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Right:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Top:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Bottom:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLayoutSettings</name>
<message>
@ -2501,10 +2615,6 @@ Apply settings anyway?</source>
<source>Time given for the algorithm to find best layout.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Efficiency:</source>
<translation type="unfinished"></translation>
@ -2513,10 +2623,6 @@ Apply settings anyway?</source>
<source>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Manual priority</source>
<translation type="unfinished"></translation>
@ -2533,6 +2639,19 @@ Apply settings anyway?</source>
<source>Auto crop unused width</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet solution</source>
<translation type="unfinished"></translation>
</message>
<message>
<source> min</source>
<comment>minutes</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable this option to prefer getting one sheet solutions.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogLine</name>
@ -2909,6 +3028,34 @@ Apply settings anyway?</source>
<source>Center point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Rotation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogNewMeasurements</name>
@ -3615,10 +3762,6 @@ Apply settings anyway?</source>
<source>Length:</source>
<translation>:</translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>U mark</source>
<translation type="unfinished"></translation>
@ -4194,6 +4337,30 @@ Apply settings anyway?</source>
<source>This point cannot be origin point. Please, select another origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable to create a visibility gropup from original objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility Group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add tags</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLAyout</name>
@ -4277,6 +4444,22 @@ Apply settings anyway?</source>
<source>Orientation:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DialogSaveLayout</name>
@ -7606,6 +7789,13 @@ This option will take an affect after restart.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenameGroup</name>
<message>
<source>rename group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamePP</name>
<message>
@ -8578,10 +8768,6 @@ Do you want to save your changes?</source>
<source>Formula wizard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>=</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value</source>
<translation type="unfinished"></translation>
@ -9016,6 +9202,24 @@ Do you want to save your changes?</source>
<source>Invalid version. Maximum supported format version is %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractCubicBezierPath</name>
@ -9104,6 +9308,18 @@ Do you want to save your changes?</source>
<source>Length</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>operation options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>delete operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Visibility group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VAbstractPattern</name>
@ -9271,6 +9487,21 @@ Do you want to save your changes?</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VBank</name>
<message>
<source>Preparing data for layout error: Detail &apos;%1&apos; square &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: Layout paper sheet &lt;= 0</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preparing data for layout error: List of details is empty</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommandLine</name>
<message>
@ -9649,6 +9880,26 @@ Do you want to save your changes?</source>
<source>Auto crop unused width (export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Horizontal scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Vertical scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Prefer one sheet layout solution (export mode).</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VCommonSettings</name>
@ -9722,15 +9973,6 @@ Do you want to save your changes?</source>
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Can&apos;t open schema file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Validation error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Parsing error file %3 in line %1 column %2</source>
<translation type="unfinished"></translation>
@ -9739,10 +9981,6 @@ Do you want to save your changes?</source>
<source>Couldn&apos;t get node</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not load schema file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Fail to write Canonical XML.</source>
<translation type="unfinished"></translation>
@ -10307,6 +10545,14 @@ Do you want to save your changes?</source>
<source>Can&apos;t create history record for the tool.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reading final measurements error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Value for final measurtement &apos;%1&apos; is infinite or NaN. Please, check your calculations.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VPiece</name>
@ -10549,6 +10795,10 @@ Do you want to save your changes?</source>
<source>Origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Flipping by axis</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolFlippingByLine</name>
@ -10560,6 +10810,10 @@ Do you want to save your changes?</source>
<source>Second line point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>flipping by line</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolHeight</name>
@ -10654,6 +10908,10 @@ Do you want to save your changes?</source>
<source>Rotation origin point</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>move</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolOptionsPropertyBrowser</name>
@ -11158,6 +11416,10 @@ Do you want to save your changes?</source>
<source>Rotation angle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rotate</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VToolSeamAllowance</name>
@ -12543,6 +12805,191 @@ Do you want to save your changes?</source>
<comment>Left symbol _ in the name</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts degrees to radian</source>
<comment>functionm degTorad</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>converts radian to degrees</source>
<comment>function radTodeg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with radians</source>
<comment>function sin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with radians</source>
<comment>function cos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with radians</source>
<comment>function tan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with radians</source>
<comment>function asin</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with radians</source>
<comment>function acos</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with radians</source>
<comment>function atan</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic sine function</source>
<comment>function sinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic cosine</source>
<comment>function cosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic tangens function</source>
<comment>function tanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus sine function</source>
<comment>function asinh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcus cosine function</source>
<comment>function acosh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>hyperbolic arcur tangens function</source>
<comment>function atanh</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sine function working with degrees</source>
<comment>function sinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cosine function working with degrees</source>
<comment>function cosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>tangens function working with degrees</source>
<comment>function tanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus sine function working with degrees</source>
<comment>function asinD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus cosine function working with degrees</source>
<comment>function acosD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>arcus tangens function working with degrees</source>
<comment>function atanD</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 2</source>
<comment>function log2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log10</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to the base 10</source>
<comment>function log</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>logarithm to base e (2.71828...)</source>
<comment>function ln</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>e raised to the power of x</source>
<comment>function exp</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>square root of a value</source>
<comment>function sqrt</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sign function -1 if x&lt;0; 1 if x&gt;0</source>
<comment>function sign</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to nearest integer</source>
<comment>function rint</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>round to up to 1 decimal</source>
<comment>function r2cm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes cm units.</source>
<comment>function csrCm</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>cut, split and rotate modeling operation. Takes inch units.</source>
<comment>function csrInch</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>absolute value</source>
<comment>function abs</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>min of all arguments</source>
<comment>function min</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>max of all arguments</source>
<comment>function max</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>sum of all arguments</source>
<comment>function sum</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>mean value of all arguments</source>
<comment>function avg</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Returns the floating-point remainder of numer/denom (rounded towards zero)</source>
<comment>function fmod</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetDetails</name>
@ -12582,13 +13029,21 @@ Do you want to save your changes?</source>
<source>Hide not in layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Piece options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete piece</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot find piece by id &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>VWidgetGroups</name>
<message>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Delete</source>
<translation type="unfinished"></translation>
@ -12609,6 +13064,26 @@ Do you want to save your changes?</source>
<source>Show All</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tags:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Separate each tag with comma.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Filter by tags</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Preferences</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Categories: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Valentina</name>

View file

@ -0,0 +1,141 @@
/************************************************************************
**
** @file dialogaboutpuzzle.cpp
** @author Ronan Le Tiec
** @date 11 4, 2020
**
** @brief
** @copyright
** This source code is part of the Valentina project, a pattern making
** program, whose allow create and modeling patterns of clothing.
** Copyright (C) 2015 Valentina project
** <https://gitlab.com/smart-pattern/valentina> All Rights Reserved.
**
** Valentina is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** Valentina is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with Valentina. If not, see <http://www.gnu.org/licenses/>.
**
*************************************************************************/
#include "dialogaboutpuzzle.h"
#include "ui_dialogaboutpuzzle.h"
#include "../version.h"
#include "../vmisc/def.h"
#include "../fervor/fvupdater.h"
#include <QDate>
#include <QDesktopServices>
#include <QMessageBox>
#include <QShowEvent>
#include <QUrl>
#include <QtDebug>
//---------------------------------------------------------------------------------------------------------------------
DialogAboutPuzzle::DialogAboutPuzzle(QWidget *parent)
:QDialog(parent),
ui(new Ui::DialogAboutPuzzle),
isInitialized(false)
{
ui->setupUi(this);
//mApp->Settings()->GetOsSeparator() ? setLocale(QLocale()) : setLocale(QLocale::c());
RetranslateUi();
connect(ui->pushButton_Web_Site, &QPushButton::clicked, this, []()
{
if ( not QDesktopServices::openUrl(QUrl(VER_COMPANYDOMAIN_STR)))
{
qWarning() << tr("Cannot open your default browser");
}
});
connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &DialogAboutPuzzle::close);
connect(ui->pushButtonCheckUpdate, &QPushButton::clicked, []()
{
// Set feed URL before doing anything else
FvUpdater::sharedUpdater()->SetFeedURL(FvUpdater::CurrentFeedURL());
FvUpdater::sharedUpdater()->CheckForUpdatesNotSilent();
});
// By default on Windows font point size 8 points we need 11 like on Linux.
FontPointSize(ui->label_Legal_Stuff, 11);
FontPointSize(ui->label_Puzzle_Built, 11);
FontPointSize(ui->label_QT_Version, 11);
}
//---------------------------------------------------------------------------------------------------------------------
DialogAboutPuzzle::~DialogAboutPuzzle()
{
delete ui;
}
//---------------------------------------------------------------------------------------------------------------------
void DialogAboutPuzzle::changeEvent(QEvent *event)
{
if (event->type() == QEvent::LanguageChange)
{
// retranslate designer form (single inheritance approach)
ui->retranslateUi(this);
RetranslateUi();
}
// remember to call base class implementation
QDialog::changeEvent(event);
}
//---------------------------------------------------------------------------------------------------------------------
void DialogAboutPuzzle::showEvent(QShowEvent *event)
{
QDialog::showEvent( event );
if ( event->spontaneous() )
{
return;
}
if (isInitialized)
{
return;
}
// do your init stuff here
setMaximumSize(size());
setMinimumSize(size());
isInitialized = true;//first show windows are held
}
//---------------------------------------------------------------------------------------------------------------------
void DialogAboutPuzzle::FontPointSize(QWidget *w, int pointSize)
{
SCASSERT(w != nullptr)
QFont font = w->font();
font.setPointSize(pointSize);
w->setFont(font);
}
//---------------------------------------------------------------------------------------------------------------------
void DialogAboutPuzzle::RetranslateUi()
{
ui->label_Puzzle_Version->setText(QString("Puzzle %1").arg(APP_VERSION_STR));
ui->labelBuildRevision->setText(tr("Build revision: %1").arg(BUILD_REVISION));
ui->label_QT_Version->setText(buildCompatibilityString());
const QDate date = QLocale::c().toDate(QString(__DATE__).simplified(), QLatin1String("MMM d yyyy"));
ui->label_Puzzle_Built->setText(tr("Built on %1 at %2").arg(date.toString(), __TIME__));
ui->label_Legal_Stuff->setText(QApplication::translate("InternalStrings",
"The program is provided AS IS with NO WARRANTY OF ANY "
"KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY "
"AND FITNESS FOR A PARTICULAR PURPOSE."));
ui->pushButton_Web_Site->setText(tr("Web site : %1").arg(VER_COMPANYDOMAIN_STR));
}

View file

@ -1,14 +1,14 @@
/************************************************************************
**
** @file addgroup.h
** @author Roman Telezhynskyi <dismine(at)gmail.com>
** @date 6 4, 2016
** @file dialogaboutpuzzle.h
** @author Ronan Le Tiec
** @date 11 4, 2020
**
** @brief
** @copyright
** This source code is part of the Valentina project, a pattern making
** program, whose allow create and modeling patterns of clothing.
** Copyright (C) 2016 Valentina project
** Copyright (C) 2015 Valentina project
** <https://gitlab.com/smart-pattern/valentina> All Rights Reserved.
**
** Valentina is free software: you can redistribute it and/or modify
@ -26,31 +26,36 @@
**
*************************************************************************/
#ifndef ADDGROUP_H
#define ADDGROUP_H
#ifndef DIALOGABOUTPUZZLE_H
#define DIALOGABOUTPUZZLE_H
#include <qcompilerdetection.h>
#include <QDomElement>
#include <QMetaObject>
#include <QObject>
#include <QString>
#include <QtGlobal>
#include <QDialog>
#include "vundocommand.h"
namespace Ui
{
class DialogAboutPuzzle;
}
class AddGroup : public VUndoCommand
class DialogAboutPuzzle : public QDialog
{
Q_OBJECT
public:
AddGroup(const QDomElement &xml, VAbstractPattern *doc, QUndoCommand *parent = nullptr);
virtual ~AddGroup();
virtual void undo() override;
virtual void redo() override;
signals:
void UpdateGroups();
explicit DialogAboutPuzzle(QWidget *parent = nullptr);
virtual ~DialogAboutPuzzle();
protected:
virtual void changeEvent(QEvent* event) override;
virtual void showEvent(QShowEvent *event) override;
private:
Q_DISABLE_COPY(AddGroup)
const QString nameActivDraw;
Q_DISABLE_COPY(DialogAboutPuzzle)
Ui::DialogAboutPuzzle *ui;
bool isInitialized;
void FontPointSize(QWidget *w, int pointSize);
void RetranslateUi();
};
#endif // ADDGROUP_H
#endif // DIALOGABOUTPUZZLE_H

View file

@ -0,0 +1,301 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DialogAboutPuzzle</class>
<widget class="QDialog" name="DialogAboutPuzzle">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>462</width>
<height>338</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="windowTitle">
<string>About Puzzle</string>
</property>
<property name="windowIcon">
<iconset resource="../share/resources/puzzleicon.qrc">
<normaloff>:/puzzleicon/64x64/logo.png</normaloff>:/puzzleicon/64x64/logo.png</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>4</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>9</number>
</property>
<property name="bottomMargin">
<number>16</number>
</property>
<item>
<widget class="QLabel" name="label_appIcon">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../share/resources/puzzleicon.qrc">:/puzzleicon/64x64/logo.png</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label_Puzzle_Version">
<property name="font">
<font>
<pointsize>15</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Puzzle version</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="labelBuildRevision">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Build revision:</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label">
<property name="text">
<string>This program is part of Valentina project.</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_Web_Site">
<property name="palette">
<palette>
<active>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>120</red>
<green>120</green>
<blue>120</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="font">
<font>
<underline>true</underline>
</font>
</property>
<property name="cursor">
<cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="text">
<string notr="true">pushButton_Web_Site</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_Puzzle_Built">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string notr="true">label_Tape_Built</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_QT_Version">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string notr="true">label_QT_Version</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_Legal_Stuff">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string notr="true">label_Legal_Stuff</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="topMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="pushButtonCheckUpdate">
<property name="text">
<string>Check For Updates</string>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Ok</set>
</property>
<property name="centerButtons">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources>
<include location="../share/resources/puzzleicon.qrc"/>
</resources>
<connections/>
</ui>

View file

@ -2,20 +2,25 @@
# This need for corect working file translations.pro
SOURCES += \
$$PWD/main.cpp \
$$PWD/main.cpp \
$$PWD/puzzlecommands.cpp \
$$PWD/puzzlemainwindow.cpp \
$$PWD/puzzlemainwindow.cpp \
$$PWD/puzzleapplication.cpp \
$$PWD/vpuzzlecommandline.cpp
$$PWD/vpuzzlecommandline.cpp \
$$PWD/dialogs/dialogaboutpuzzle.cpp \
$$PWD/vpiececarrousel.cpp
*msvc*:SOURCES += $$PWD/stable.cpp
HEADERS += \
$$PWD/puzzlecommands.h \
$$PWD/puzzlemainwindow.h \
$$PWD/stable.h \
$$PWD/puzzlemainwindow.h \
$$PWD/stable.h \
$$PWD/puzzleapplication.h \
$$PWD/vpuzzlecommandline.h
$$PWD/vpuzzlecommandline.h \
$$PWD/dialogs/dialogaboutpuzzle.h \
$$PWD/vpiececarrousel.h
FORMS += \
$$PWD/puzzlemainwindow.ui
$$PWD/puzzlemainwindow.ui \
$$PWD/dialogs/dialogaboutpuzzle.ui

View file

@ -27,19 +27,26 @@
*************************************************************************/
#include "puzzlemainwindow.h"
#include "ui_puzzlemainwindow.h"
#include "dialogs/dialogaboutpuzzle.h"
//---------------------------------------------------------------------------------------------------------------------
PuzzleMainWindow::PuzzleMainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::PuzzleMainWindow)
ui(new Ui::PuzzleMainWindow),
pieceCarrousel(new VPieceCarrousel)
{
ui->setupUi(this);
InitMenuBar();
InitProperties();
InitPieceCarrousel();
}
//---------------------------------------------------------------------------------------------------------------------
PuzzleMainWindow::~PuzzleMainWindow()
{
delete ui;
delete pieceCarrousel;
}
//---------------------------------------------------------------------------------------------------------------------
@ -48,3 +55,508 @@ bool PuzzleMainWindow::LoadFile(const QString &path)
Q_UNUSED(path)
return true;
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::InitMenuBar()
{
// -------------------- connects the actions for the file menu
connect(ui->actionNew, &QAction::triggered, this, &PuzzleMainWindow::New);
connect(ui->actionOpen, &QAction::triggered, this, &PuzzleMainWindow::Open);
connect(ui->actionSave, &QAction::triggered, this, &PuzzleMainWindow::Save);
connect(ui->actionSaveAs, &QAction::triggered, this, &PuzzleMainWindow::SaveAs);
connect(ui->actionImportRawLayout, &QAction::triggered, this, &PuzzleMainWindow::ImportRawLayout);
connect(ui->actionExit, &QAction::triggered, this, &PuzzleMainWindow::close);
// -------------------- connects the actions for the edit menu
// TODO : initialise the undo / redo
// -------------------- connects the actions for the windows menu
// TODO : initialise the entries for the different windows
connect(ui->actionCloseLayout, &QAction::triggered, this, &PuzzleMainWindow::CloseLayout);
// Add dock properties action
QAction* actionDockWidgetToolOptions = ui->dockWidgetProperties->toggleViewAction();
ui->menuWindows->addAction(actionDockWidgetToolOptions);
// connects the action for the Help Menu
connect(ui->actionAboutQt, &QAction::triggered, this, &PuzzleMainWindow::AboutQt);
connect(ui->actionAboutPuzzle, &QAction::triggered, this, &PuzzleMainWindow::AboutPuzzle);
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::InitProperties()
{
InitPropertyTabCurrentPiece();
InitPropertyTabLayout();
InitPropertyTabLayers();
InitPropertyTabTiles();
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::InitPropertyTabCurrentPiece()
{
// ------------------------------ seamline ------------------------------------
connect(ui->checkBoxCurrentPieceShowSeamline, QOverload<bool>::of(&QCheckBox::toggled), this,
&PuzzleMainWindow::CurrentPieceShowSeamlineChanged);
// ------------------------------ geometry ------------------------------------
connect(ui->checkBoxCurrentPieceMirrorPiece, QOverload<bool>::of(&QCheckBox::toggled), this,
&PuzzleMainWindow::CurrentPieceMirrorPieceChanged);
// ------------------------------ rotation ------------------------------------
connect(ui->doubleSpinBoxCurrentPieceAngle, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
&PuzzleMainWindow::CurrentPieceAngleChanged);
// ------------------------------ placement -----------------------------------
connect(ui->doubleSpinBoxCurrentPieceBoxPositionX, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
&PuzzleMainWindow::CurrentPiecePositionChanged);
connect(ui->doubleSpinBoxCurrentPieceBoxPositionY, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
&PuzzleMainWindow::CurrentPiecePositionChanged);
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::InitPropertyTabLayout()
{
// -------------------- init the unit combobox ---------------------
ui->comboBoxLayoutUnit->addItem(tr("Centimeters"), QVariant(UnitsToStr(Unit::Cm)));
ui->comboBoxLayoutUnit->addItem(tr("Millimiters"), QVariant(UnitsToStr(Unit::Mm)));
ui->comboBoxLayoutUnit->addItem(tr("Inches"), QVariant(UnitsToStr(Unit::Inch)));
// set default unit - TODO when we have the setting for the unit
// const qint32 indexUnit = -1;//ui->comboBoxLayoutUnit->findData(qApp->ValentinaSettings()->GetUnit());
// if (indexUnit != -1)
// {
// ui->comboBoxLayoutUnit->setCurrentIndex(indexUnit);
// }
connect(ui->comboBoxLayoutUnit, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
&PuzzleMainWindow::LayoutUnitChanged);
// -------------------- init the template combobox ---------------------
// TODO
connect(ui->comboBoxLayoutTemplate, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
&PuzzleMainWindow::LayoutTemplateChanged);
// -------------------- layout width, length, orientation ------------------------
connect(ui->doubleSpinBoxLayoutWidth, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
&PuzzleMainWindow::LayoutSizeChanged);
connect(ui->doubleSpinBoxLayoutLength, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
&PuzzleMainWindow::LayoutSizeChanged);
connect(ui->radioButtonLayoutPortrait, QOverload<bool>::of(&QRadioButton::clicked), this,
&PuzzleMainWindow::LayoutOrientationChanged);
connect(ui->radioButtonLayoutLandscape, QOverload<bool>::of(&QRadioButton::clicked), this,
&PuzzleMainWindow::LayoutOrientationChanged);
connect(ui->pushButtonLayoutRemoveUnusedLength, QOverload<bool>::of(&QPushButton::clicked), this,
&PuzzleMainWindow::LayoutRemoveUnusedLength);
// -------------------- margins ------------------------
connect(ui->doubleSpinBoxLayoutMarginTop, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
&PuzzleMainWindow::LayoutMarginChanged);
connect(ui->doubleSpinBoxLayoutMarginRight, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
&PuzzleMainWindow::LayoutMarginChanged);
connect(ui->doubleSpinBoxLayoutMarginBottom, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
&PuzzleMainWindow::LayoutMarginChanged);
connect(ui->doubleSpinBoxLayoutMarginLeft, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
&PuzzleMainWindow::LayoutMarginChanged);
// ------------------- follow grainline -----------------------
connect(ui->radioButtonLayoutFollowGrainlineNo, QOverload<bool>::of(&QRadioButton::clicked), this,
&PuzzleMainWindow::LayoutFollowGrainlineChanged);
connect(ui->radioButtonLayoutFollowGrainlineVertical, QOverload<bool>::of(&QRadioButton::clicked), this,
&PuzzleMainWindow::LayoutFollowGrainlineChanged);
connect(ui->radioButtonLayoutFollowGrainlineHorizontal, QOverload<bool>::of(&QRadioButton::clicked), this,
&PuzzleMainWindow::LayoutFollowGrainlineChanged);
// -------------------- pieces gap and checkboxes ---------------
connect(ui->doubleSpinBoxLayoutPiecesGap, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
&PuzzleMainWindow::LayoutPiecesGapChanged);
connect(ui->checkBoxLayoutWarningPiecesSuperposition, QOverload<bool>::of(&QCheckBox::toggled), this,
&PuzzleMainWindow::LayoutWarningPiecesSuperpositionChanged);
connect(ui->checkBoxLayoutWarningPiecesOutOfBound, QOverload<bool>::of(&QCheckBox::toggled), this,
&PuzzleMainWindow::LayoutWarningPiecesOutOfBoundChanged);
connect(ui->checkBoxLayoutStickyEdges, QOverload<bool>::of(&QCheckBox::toggled), this,
&PuzzleMainWindow::LayoutStickyEdgesChanged);
// -------------------- export ---------------------------
// TODO init the file format export combobox
connect(ui->pushButtonLayoutExport, QOverload<bool>::of(&QPushButton::clicked), this,
&PuzzleMainWindow::LayoutExport);
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::InitPropertyTabTiles()
{
// for the MVP we don't want the tiles tab.
// we remove it. As soon as we need it, update this code
ui->tabWidgetProperties->removeTab(2); // remove tiles
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::InitPropertyTabLayers()
{
// for the MVP we don't want the layers tab.
// we remove it. As soon as we need it, update this code
ui->tabWidgetProperties->removeTab(3); // remove layers
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::InitPieceCarrousel()
{
ui->dockWidgetPieceCarrousel->setWidget(pieceCarrousel);
connect(ui->dockWidgetPieceCarrousel, QOverload<Qt::DockWidgetArea>::of(&QDockWidget::dockLocationChanged), this,
&PuzzleMainWindow::PieceCarrouselLocationChanged);
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::New()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::New");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::Open()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::Open");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::Save()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::Save");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::SaveAs()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::SaveAs");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::ImportRawLayout()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::ImportRawLayout");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::CloseLayout()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::CloseLayout");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::AboutQt()
{
QMessageBox::aboutQt(this, tr("About Qt"));
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::AboutPuzzle()
{
auto *aboutDialog = new DialogAboutPuzzle(this);
aboutDialog->setAttribute(Qt::WA_DeleteOnClose, true);
aboutDialog->show();
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::LayoutUnitChanged(int index)
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::LayoutUnitChanged");
int ret = msgBox.exec();
Q_UNUSED(index);
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::LayoutTemplateChanged(int index)
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::LayoutTemplateChanged");
int ret = msgBox.exec();
Q_UNUSED(index);
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::LayoutSizeChanged()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::LayoutSizeChanged");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::LayoutOrientationChanged()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::LayoutOrientationChanged");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::LayoutRemoveUnusedLength()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::LayoutRemoveUnusedLength");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::LayoutMarginChanged()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::LayoutMarginChanged");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::LayoutFollowGrainlineChanged()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::LayoutFollowGrainlineChanged");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::LayoutPiecesGapChanged(double value)
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::LayoutPieceGapChanged");
int ret = msgBox.exec();
Q_UNUSED(value);
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::LayoutWarningPiecesSuperpositionChanged(bool checked)
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::LayoutWarningPiecesSuperpositionChanged");
int ret = msgBox.exec();
Q_UNUSED(checked);
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::LayoutWarningPiecesOutOfBoundChanged(bool checked)
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::LayoutWarningPiecesOutOfBoundChanged");
int ret = msgBox.exec();
Q_UNUSED(checked);
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::LayoutStickyEdgesChanged(bool checked)
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::LayoutStickyEdgesChanged");
int ret = msgBox.exec();
Q_UNUSED(checked);
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::LayoutExport()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::LayoutExport");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::CurrentPieceShowSeamlineChanged(bool checked)
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::CurrentPieceShowSeamlineChanged");
int ret = msgBox.exec();
Q_UNUSED(checked);
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::CurrentPieceMirrorPieceChanged(bool checked)
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::CurrentPieceMirrorPieceChanged");
int ret = msgBox.exec();
Q_UNUSED(checked);
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::CurrentPieceAngleChanged(double value)
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::CurrentPieceAngleChanged");
int ret = msgBox.exec();
Q_UNUSED(value);
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::CurrentPiecePositionChanged()
{
// just for test purpuses, to be removed:
QMessageBox msgBox;
msgBox.setText("TODO PuzzleMainWindow::CurrentPiecePositionChanged");
int ret = msgBox.exec();
Q_UNUSED(ret);
// TODO
}
//---------------------------------------------------------------------------------------------------------------------
void PuzzleMainWindow::PieceCarrouselLocationChanged(Qt::DockWidgetArea area)
{
if(area == Qt::BottomDockWidgetArea || area == Qt::TopDockWidgetArea)
{
pieceCarrousel->setOrientation(Qt::Horizontal);
ui->dockWidgetPieceCarrousel->setMaximumHeight(208);
ui->dockWidgetPieceCarrousel->setMaximumWidth(10000);
}
else if (area == Qt::LeftDockWidgetArea || area == Qt::RightDockWidgetArea)
{
pieceCarrousel->setOrientation(Qt::Vertical);
ui->dockWidgetPieceCarrousel->setMaximumHeight(10000);
ui->dockWidgetPieceCarrousel->setMaximumWidth(160);
}
}

View file

@ -28,7 +28,11 @@
#ifndef PUZZLEMAINWINDOW_H
#define PUZZLEMAINWINDOW_H
#include "../vmisc/def.h"
#include <QMainWindow>
#include <QMessageBox>
#include "vpiececarrousel.h"
namespace Ui {
class PuzzleMainWindow;
@ -47,6 +51,47 @@ public:
private:
Q_DISABLE_COPY(PuzzleMainWindow)
Ui::PuzzleMainWindow *ui;
VPieceCarrousel *pieceCarrousel;
void InitMenuBar();
void InitProperties();
void InitPropertyTabCurrentPiece();
void InitPropertyTabLayout();
void InitPropertyTabTiles();
void InitPropertyTabLayers();
void InitPieceCarrousel();
private slots:
void New();
void Open();
void Save();
void SaveAs();
void ImportRawLayout();
void CloseLayout();
void AboutQt();
void AboutPuzzle();
void LayoutUnitChanged(int index);
void LayoutTemplateChanged(int index);
void LayoutSizeChanged();
void LayoutOrientationChanged();
void LayoutRemoveUnusedLength();
void LayoutMarginChanged();
void LayoutFollowGrainlineChanged();
void LayoutPiecesGapChanged(double value);
void LayoutWarningPiecesSuperpositionChanged(bool checked);
void LayoutWarningPiecesOutOfBoundChanged(bool checked);
void LayoutStickyEdgesChanged(bool checked);
void LayoutExport();
void CurrentPieceShowSeamlineChanged(bool checked);
void CurrentPieceMirrorPieceChanged(bool checked);
void CurrentPieceAngleChanged(double value);
void CurrentPiecePositionChanged();
void PieceCarrouselLocationChanged(Qt::DockWidgetArea area);
};
#endif // PUZZLEMAINWINDOW_H

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,13 @@
<RCC>
<qresource prefix="/">
<file>puzzleicon/64x64/logo.png</file>
<file>puzzleicon/64x64/iconLayout.png</file>
<file>puzzleicon/64x64/iconCurrentPiece.png</file>
<file>puzzleicon/64x64/iconLayers.png</file>
<file>puzzleicon/64x64/iconTiles.png</file>
<file>puzzleicon/64x64/iconLandscape.png</file>
<file>puzzleicon/64x64/iconPortrait.png</file>
<file>puzzleicon/64x64/iconGrainlineVertical.png</file>
<file>puzzleicon/64x64/iconGrainlineHorizontal.png</file>
</qresource>
</RCC>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 979 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 984 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 827 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,013 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 736 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 980 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,008 B

View file

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
viewBox="0 0 33.866666 33.866668"
version="1.1"
id="svg2509"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="icon_current_piece.svg">
<defs
id="defs2503" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="-253.40813"
inkscape:cy="-61.561841"
inkscape:document-units="px"
inkscape:current-layer="g2570"
showgrid="false"
units="px"
inkscape:window-width="2492"
inkscape:window-height="1376"
inkscape:window-x="68"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata2506">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263.13332)">
<g
transform="matrix(0.26453414,0,0,0.26453414,63.37226,-244.46879)"
font-size="14.6667"
font-weight="400"
font-style="normal"
id="g2570"
style="font-style:normal;font-weight:400;font-size:14.66670036px;font-family:Ubuntu;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:bevel;stroke-opacity:1">
<path
d="m -140.95302,1932.7404 0.69118,112.062 h -69.00486 l -0.19139,-25.9137 0.22275,-27.7193 1.69724,-0.6159 1.52048,-0.7014 0.70479,-0.4067 1.0218,-0.6852 1.26935,-1.0451 1.16075,-1.1592 1.06104,-1.2554 0.96326,-1.3272 0.86777,-1.3738 0.77496,-1.3924 0.68291,-1.3795 0.8777,-2.0097 1.26386,-3.522 0.55623,-1.7804 0.21606,-0.9228 0.19427,-1.1523 0.16148,-1.3687 0.11878,-1.5657 0.0676,-1.7466 0.0104,-1.913 -0.058,-2.0662 -0.1324,-2.205 -0.21343,-2.3325 -0.30178,-2.446 -0.39726,-2.5483 -0.49959,-2.6371 -0.60908,-2.7146 -0.72542,-2.7795 -0.84877,-2.8318 -0.97525,-2.8616 -1.05725,-2.761 -0.93355,-2.1985 34.72106,-11.6806 2.50212,3.437 1.09172,1.3233 1.06182,1.1453 1.04965,0.9815 1.05753,0.8335 1.08979,0.7051 1.15089,0.594 1.2433,0.4976 1.36638,0.4114 1.51656,0.3326 1.68999,0.2582 1.88344,0.1898 2.09146,0.1299 3.55478,0.1052 2.77287,0.021"
id="path2568"
inkscape:connector-curvature="0"
style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:4.14862871;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
viewBox="0 0 33.866666 33.866668"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="icon_grainline_horizontal.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6"
inkscape:cx="131.4404"
inkscape:cy="23.984595"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="2492"
inkscape:window-height="1376"
inkscape:window-x="68"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263.13333)">
<path
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.08413111px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 5.5252585,275.18217 0.051298,3.99382 22.7141635,-0.0537 0.01533,-3.8659 5.496769,4.82839 -5.511316,4.79342 -0.03376,-3.83055 -22.7010593,-0.0398 0.042982,3.95521 -5.53642339,-4.9772 z"
id="path815"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
viewBox="0 0 33.866666 33.866668"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="icon_grainline_vertical.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6"
inkscape:cx="10.587649"
inkscape:cy="31.675878"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="2492"
inkscape:window-height="1376"
inkscape:window-x="68"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263.13333)">
<path
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.08413111px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 21.94176,268.65855 -3.993828,0.0513 0.05369,22.71416 3.865904,0.0153 -4.828397,5.49677 -4.79342,-5.51132 3.830552,-0.0338 0.03977,-22.70106 -3.955217,0.043 4.977207,-5.53642 z"
id="path815"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
viewBox="0 0 33.866666 33.866668"
version="1.1"
id="svg8"
sodipodi:docname="icon_landscape.svg"
inkscape:export-filename="/home/ronan/Desktop/icon_layout.png"
inkscape:export-xdpi="48"
inkscape:export-ydpi="48"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="129.97931"
inkscape:cy="45.737629"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="2492"
inkscape:window-height="1376"
inkscape:window-x="68"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263.13332)">
<path
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.05013251;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 33.343664,293.0374 v -17.62724 l -4.39397,-4.25101 -4.14294,-4.06324 H 0.52713435 v 25.94149 z"
id="rect815"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<path
style="fill:#ffffff;fill-opacity:0;stroke:#000000;stroke-width:1.05799997;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:transform-center-x="-0.55548508"
inkscape:transform-center-y="0.97501237"
d="m 24.948494,267.23765 -0.0243,8.13814 8.41946,0.0344"
id="path848"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
viewBox="0 0 33.866666 33.866668"
version="1.1"
id="svg8"
sodipodi:docname="icon_layers.svg"
inkscape:export-filename="/home/ronan/Desktop/icon_layout.png"
inkscape:export-xdpi="48"
inkscape:export-ydpi="48"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="-330.80339"
inkscape:cy="-397.46436"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="2492"
inkscape:window-height="1376"
inkscape:window-x="68"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263.13332)">
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.19349599;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect815"
width="17.856504"
height="17.856504"
x="0.59674788"
y="263.73007" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.19349599;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect815-5"
width="17.856504"
height="17.856504"
x="8.4442673"
y="270.30368" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.19349599;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect815-3"
width="17.856504"
height="17.856504"
x="15.413412"
y="278.54672" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View file

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
viewBox="0 0 33.866666 33.866668"
version="1.1"
id="svg8"
sodipodi:docname="icon_layout.svg"
inkscape:export-filename="/home/ronan/Desktop/icon_layout.png"
inkscape:export-xdpi="48"
inkscape:export-ydpi="48"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="96.514929"
inkscape:cy="54.111874"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1513"
inkscape:window-height="1106"
inkscape:window-x="596"
inkscape:window-y="129"
inkscape:window-maximized="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263.13332)">
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.05013251;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect815"
width="25.9415"
height="32.816536"
x="3.9646497"
y="263.65839" />
<rect
style="fill:none;fill-opacity:1;stroke:#00eaff;stroke-width:1.04943001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect815-3"
width="23.835947"
height="30.700571"
x="5.0226316"
y="264.71637" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
viewBox="0 0 33.866666 33.866668"
version="1.1"
id="svg8"
sodipodi:docname="icon_portrait.svg"
inkscape:export-filename="/home/ronan/Desktop/icon_layout.png"
inkscape:export-xdpi="48"
inkscape:export-ydpi="48"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="74.673459"
inkscape:cy="45.737629"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="2492"
inkscape:window-height="1376"
inkscape:window-x="68"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263.13332)">
<path
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.05013251;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 3.9646542,263.65839 H 21.591894 l 4.25101,4.39397 4.06324,4.14294 v 24.27962 H 3.9646542 Z"
id="rect815"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<path
style="fill:#ffffff;fill-opacity:0;stroke:#000000;stroke-width:1.05799997;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:transform-center-x="0.97501255"
inkscape:transform-center-y="-0.55548525"
d="m 29.764404,272.05356 -8.13814,0.0243 -0.0344,-8.41946"
id="path848"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View file

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128"
height="128"
viewBox="0 0 33.866666 33.866668"
version="1.1"
id="svg8"
sodipodi:docname="icon_tiles.svg"
inkscape:export-filename="/home/ronan/Desktop/icon_layout.png"
inkscape:export-xdpi="48"
inkscape:export-ydpi="48"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="-330.80339"
inkscape:cy="-397.46436"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1513"
inkscape:window-height="1106"
inkscape:window-x="596"
inkscape:window-y="129"
inkscape:window-maximized="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263.13332)">
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.05013251;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect815"
width="25.9415"
height="32.816536"
x="3.9646497"
y="263.65839" />
<rect
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.98678774;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect815-3"
width="0.071545608"
height="30.772118"
x="16.89756"
y="264.67615" />
<rect
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.9272486;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect815-3-6"
width="0.081191778"
height="23.942709"
x="274.76807"
y="-28.642822"
transform="matrix(9.5379316e-4,0.99999955,-0.99999794,0.00202899,0,0)" />
<rect
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.9272486;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect815-3-6-7"
width="0.081191778"
height="23.942709"
x="285.62363"
y="-28.632275"
transform="matrix(9.5379382e-4,0.99999955,-0.99999794,0.00202899,0,0)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3 KiB

View file

@ -30,7 +30,7 @@
#define STABLE_H
/* I like to include this pragma too, so the build log indicates if pre-compiled headers were in use. */
#pragma message("Compiling precompiled headers for tape utility.\n")
#pragma message("Compiling precompiled headers for puzzle utility.\n")
/* Add C includes here */

View file

@ -33,7 +33,7 @@
#define VER_INTERNALNAME_STR "Puzzle"
#define VER_ORIGINALFILENAME_STR "puzzle.exe"
#define VER_PRODUCTNAME_STR "Tape"
#define VER_PRODUCTNAME_STR "Puzzle"
#define VER_FILEDESCRIPTION_STR "Valentina's manual layout creator."
#endif // VERSION_H

View file

@ -0,0 +1,155 @@
/************************************************************************
**
** @file vpiececarrousel.cpp
** @author Ronan Le Tiec
** @date 13 4, 2020
**
** @brief
** @copyright
** This source code is part of the Valentina project, a pattern making
** program, whose allow create and modeling patterns of clothing.
** Copyright (C) 2020 Valentina project
** <https://gitlab.com/smart-pattern/valentina> All Rights Reserved.
**
** Valentina is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** Valentina is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with Valentina. If not, see <http://www.gnu.org/licenses/>.
**
*************************************************************************/
#include "vpiececarrousel.h"
#include <QVBoxLayout>
#include <QLabel>
#include <QMessageBox>
//---------------------------------------------------------------------------------------------------------------------
VPieceCarrousel::VPieceCarrousel(QWidget *parent) :
QWidget(parent),
comboBoxLayer(new QComboBox),
mainScrollArea(new QScrollArea(this)),
layers(QList<QWidget *>())
{
QVBoxLayout *mainLayout = new QVBoxLayout();
setLayout(mainLayout);
setMinimumSize(140,140);
mainLayout->addWidget(comboBoxLayer);
comboBoxLayer->addItem(tr("Unplaced pieces"));
comboBoxLayer->addItem(tr("Layout"));
comboBoxLayer->setCurrentIndex(0);
connect(comboBoxLayer, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
&VPieceCarrousel::ActiveLayerChanged);
QWidget *widget = new QWidget();
QVBoxLayout *mainScrollAreaLayout = new QVBoxLayout();
mainScrollAreaLayout->setMargin(0);
widget->setLayout(mainScrollAreaLayout);
mainScrollArea->setWidget(widget);
mainLayout->addWidget(mainScrollArea);
// mainScrollArea->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn );
mainScrollArea->setWidgetResizable( true );
// this code is for test purpuses, it needs to be updated when we have proper data!
QWidget *unplacedPieces = new QWidget();
QVBoxLayout *unplacedPiecesLayout = new QVBoxLayout();
unplacedPiecesLayout->setMargin(0);
unplacedPieces->setLayout(unplacedPiecesLayout);
for(int i=0; i<=10; ++i)
{
QLabel *myLabel = new QLabel();
myLabel->setText(QString ("Element A.%1").arg(i));
myLabel->setFixedSize(120,120);
myLabel->setAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
if(i%2 ==0)
{
myLabel->setStyleSheet("background-color:white");
}
else {
myLabel->setStyleSheet("background-color:red");
}
unplacedPiecesLayout->addWidget(myLabel);
}
mainScrollAreaLayout->addWidget(unplacedPieces);
layers.append(unplacedPieces);
QWidget *layoutPieces = new QWidget();
QVBoxLayout *layoutPiecesLayout = new QVBoxLayout();
layoutPiecesLayout->setMargin(0);
layoutPieces->setLayout(layoutPiecesLayout);
for(int i=0; i<=5; ++i)
{
QLabel *myLabel = new QLabel();
myLabel->setText(QString ("Element B.%1").arg(i));
myLabel->setFixedSize(120,120);
myLabel->sizePolicy();
myLabel->setAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
myLabel->setStyleSheet("background-color:cornflowerblue");
layoutPiecesLayout->addWidget(myLabel);
}
mainScrollAreaLayout->addWidget(layoutPieces);
layers.append(layoutPieces);
QSpacerItem *spacer = new QSpacerItem(10, 10, QSizePolicy::Expanding, QSizePolicy::Expanding);
mainScrollAreaLayout->addSpacerItem(spacer);
// -------------------- init the layers combobox ---------------------
ActiveLayerChanged(0);
}
//---------------------------------------------------------------------------------------------------------------------
VPieceCarrousel::~VPieceCarrousel()
{
delete comboBoxLayer;
delete mainScrollArea;
}
//---------------------------------------------------------------------------------------------------------------------
void VPieceCarrousel::ActiveLayerChanged(int index)
{
int j=0;
for (QWidget *widget: layers) {
widget->setVisible(j == index);
j++;
}
}
//---------------------------------------------------------------------------------------------------------------------
void VPieceCarrousel::setOrientation(Qt::Orientation orientation)
{
QBoxLayout::Direction direction = QBoxLayout::LeftToRight;
if(orientation == Qt::Horizontal)
{
comboBoxLayer->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
}
else // Qt::Vertical
{
direction = QBoxLayout::TopToBottom;
comboBoxLayer->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
}
QBoxLayout* mainScrollAreaLayout = qobject_cast<QBoxLayout*>(mainScrollArea->widget()->layout());
mainScrollAreaLayout->setDirection(direction);
for (QWidget *widget: layers) {
QBoxLayout* layerLayout = qobject_cast<QBoxLayout*>(widget->layout());
layerLayout->setDirection(direction);
}
}

View file

@ -1,14 +1,14 @@
/************************************************************************
**
** @file delgroup.h
** @author Roman Telezhynskyi <dismine(at)gmail.com>
** @date 6 4, 2016
** @file vpiececarrousel.h
** @author Ronan Le Tiec
** @date 13 04, 2020
**
** @brief
** @copyright
** This source code is part of the Valentina project, a pattern making
** program, whose allow create and modeling patterns of clothing.
** Copyright (C) 2016 Valentina project
** Copyright (C) 2020 Valentina project
** <https://gitlab.com/smart-pattern/valentina> All Rights Reserved.
**
** Valentina is free software: you can redistribute it and/or modify
@ -26,30 +26,34 @@
**
*************************************************************************/
#ifndef DELGROUP_H
#define DELGROUP_H
#ifndef VPIECECARROUSEL_H
#define VPIECECARROUSEL_H
#include <qcompilerdetection.h>
#include <QMetaObject>
#include <QObject>
#include <QString>
#include <QtGlobal>
#include <QWidget>
#include <QComboBox>
#include <QScrollArea>
#include "vundocommand.h"
class DelGroup : public VUndoCommand
class VPieceCarrousel : public QWidget
{
Q_OBJECT
public:
DelGroup(VAbstractPattern *doc, quint32 id, QUndoCommand *parent = nullptr);
virtual ~DelGroup();
virtual void undo() override;
virtual void redo() override;
explicit VPieceCarrousel(QWidget *parent = nullptr);
virtual ~VPieceCarrousel();
void setOrientation(Qt::Orientation orientation);
signals:
void UpdateGroups();
public slots:
private:
Q_DISABLE_COPY(DelGroup)
const QString nameActivDraw;
QComboBox *comboBoxLayer;
QScrollArea *mainScrollArea;
QList<QWidget *> layers;
private slots:
void ActiveLayerChanged(int index);
};
#endif // DELGROUP_H
#endif // VPIECECARROUSEL_H

View file

@ -172,6 +172,10 @@ inline void noisyFailureMsgHandler(QtMsgType type, const QMessageLogContext &con
vStdErr() << QApplication::translate("vNoisyHandler", "WARNING:") << logMsg << "\n";
break;
case QtCriticalMsg:
if (isPatternMessage)
{
qApp->PostPatternMessage(logMsg, type);
}
debugdate += QStringLiteral(":CRITICAL:%1(%2)] %3: %4: %5").arg(context.file).arg(context.line)
.arg(context.function, context.category, logMsg);
vStdErr() << QApplication::translate("vNoisyHandler", "CRITICAL:") << logMsg << "\n";

View file

@ -204,6 +204,7 @@ VLayoutGeneratorPtr VCommandLine::DefaultGenerator() const
diag.SetAutoCropWidth(IsOptionSet(LONG_OPTION_CROP_WIDTH));
diag.SetUnitePages(IsOptionSet(LONG_OPTION_UNITE));
diag.SetSaveLength(IsOptionSet(LONG_OPTION_SAVELENGTH));
diag.SetPreferOneSheetSolution(IsOptionSet(LONG_OPTION_PREFER_ONE_SHEET_SOLUTION));
diag.SetGroup(OptGroup());
if (IsOptionSet(LONG_OPTION_IGNORE_MARGINS))
@ -408,6 +409,28 @@ bool VCommandLine::IsCSVWithHeader() const
return IsOptionSet(LONG_OPTION_CSVWITHHEADER);
}
//---------------------------------------------------------------------------------------------------------------------
qreal VCommandLine::ExportXScale() const
{
qreal xs = 0;
if (IsOptionSet(LONG_OPTION_EXPXSCALE))
{
xs = OptionValue(LONG_OPTION_EXPXSCALE).toDouble();
}
return xs;
}
//---------------------------------------------------------------------------------------------------------------------
qreal VCommandLine::ExportYScale() const
{
qreal ys = 0;
if (IsOptionSet(LONG_OPTION_EXPYSCALE))
{
ys = OptionValue(LONG_OPTION_EXPYSCALE).toDouble();
}
return ys;
}
//---------------------------------------------------------------------------------------------------------------------
QString VCommandLine::OptExportSuchDetails() const
{
@ -664,6 +687,12 @@ void VCommandLine::InitCommandLineOptions()
translate("VCommandLine", "Page bottom margin in current units like 3.0 (export mode). If not set will be "
"used value from default printer. Or 0 if none printers was found."),
translate("VCommandLine", "The bottom margin")},
{LONG_OPTION_EXPXSCALE,
translate("VCommandLine", "Set horizontal scale factor from 0.01 to 3.0 (default = 1.0, export mode)."),
translate("VCommandLine", "Horizontal scale")},
{LONG_OPTION_EXPYSCALE,
translate("VCommandLine", "Set vertical scale factor from 0.01 to 3.0 (default = 1.0, export mode)."),
translate("VCommandLine", "Vertical scale")},
//=================================================================================================================
{LONG_OPTION_FOLLOW_GRAINLINE,
translate("VCommandLine", "Order detail to follow grainline direction (export mode).")},
@ -678,6 +707,8 @@ void VCommandLine::InitCommandLineOptions()
{{SINGLE_OPTION_UNITE, LONG_OPTION_UNITE},
translate("VCommandLine", "Unite pages if possible (export mode). Maximum value limited by QImage that "
"supports only a maximum of 32768x32768 px images.")},
{LONG_OPTION_PREFER_ONE_SHEET_SOLUTION,
translate("VCommandLine", "Prefer one sheet layout solution (export mode).")},
//=================================================================================================================
{{SINGLE_OPTION_SAVELENGTH, LONG_OPTION_SAVELENGTH},
translate("VCommandLine", "Save length of the sheet if set (export mode). The option tells the program to use "

View file

@ -88,6 +88,9 @@ public:
bool IsExportOnlyDetails() const;
bool IsCSVWithHeader() const;
qreal ExportXScale() const;
qreal ExportYScale() const;
//@brief returns the piece name regex or empty string if not set
QString OptExportSuchDetails() const;

View file

@ -40,7 +40,10 @@
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutarc.h"
#include "../xml/vpattern.h"
#include "../vmisc/diagnostic.h"
#include <QDebug>
#include <QtConcurrent>
#include <functional>
//---------------------------------------------------------------------------------------------------------------------
/**
@ -165,26 +168,30 @@ void DialogHistory::FillTable()
qint32 currentRow = -1;
qint32 count = 0;
ui->tableWidget->setRowCount(history.size());//Make row count max possible number
for (qint32 i = 0; i< history.size(); ++i)
std::function<HistoryRecord (const VToolRecord &tool)> CreateRecord = [this](const VToolRecord &tool)
{
const VToolRecord tool = history.at(i);
const QString historyRecord = Record(tool);
if (not historyRecord.isEmpty())
return Record(tool);
};
QVector<HistoryRecord> historyRecords = QtConcurrent::blockingMapped(history, CreateRecord);
for (auto &record : historyRecords)
{
if (not record.description.isEmpty())
{
currentRow++;
{
QTableWidgetItem *item = new QTableWidgetItem(QString());
item->setTextAlignment(Qt::AlignHCenter);
item->setData(Qt::UserRole, tool.getId());
item->setData(Qt::UserRole, record.id);
item->setFlags(item->flags() ^ Qt::ItemIsEditable);
ui->tableWidget->setItem(currentRow, 0, item);
}
QTableWidgetItem *item = new QTableWidgetItem(historyRecord);
QFont font = item->font();
font.setBold(true);
item->setFont(font);
QTableWidgetItem *item = new QTableWidgetItem(record.description);
item->setFont(QFont("Times", 12, QFont::Bold));
item->setFlags(item->flags() ^ Qt::ItemIsEditable);
ui->tableWidget->setItem(currentRow, 1, item);
++count;
@ -211,16 +218,20 @@ QT_WARNING_DISABLE_GCC("-Wswitch-default")
* @param tool record data
* @return description
*/
QString DialogHistory::Record(const VToolRecord &tool)
HistoryRecord DialogHistory::Record(const VToolRecord &tool) const
{
// This check helps to find missed tools in the switch
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 55, "Not all tools were used in history.");
const QDomElement domElem = doc->elementById(tool.getId());
HistoryRecord record;
record.id = tool.getId();
bool updateCache = false;
const QDomElement domElem = doc->elementById(tool.getId(), QString(), updateCache);
if (domElem.isElement() == false)
{
qDebug()<<"Can't find element by id"<<Q_FUNC_INFO;
return QString();
qDebug()<<"Can't find element by id" << record.id << Q_FUNC_INFO;
return record;
}
try
{
@ -238,110 +249,130 @@ QString DialogHistory::Record(const VToolRecord &tool)
Q_UNREACHABLE(); //-V501
break;
case Tool::BasePoint:
return tr("%1 - Base point").arg(PointName(tool.getId()));
record.description = tr("%1 - Base point").arg(PointName(tool.getId()));
return record;
case Tool::EndLine:
return tr("%1_%2 - Line from point %1 to point %2")
.arg(PointName(AttrUInt(domElem, AttrBasePoint)), PointName(tool.getId()));
record.description = tr("%1_%2 - Line from point %1 to point %2")
.arg(PointName(AttrUInt(domElem, AttrBasePoint)), PointName(tool.getId()));
return record;
case Tool::Line:
return tr("%1_%2 - Line from point %1 to point %2")
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)));
record.description = tr("%1_%2 - Line from point %1 to point %2")
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)));
return record;
case Tool::AlongLine:
return tr("%3 - Point along line %1_%2")
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)), PointName(tool.getId()));
record.description = tr("%3 - Point along line %1_%2")
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)), PointName(tool.getId()));
return record;
case Tool::ShoulderPoint:
return tr("%1 - Point of shoulder").arg(PointName(tool.getId()));
record.description = tr("%1 - Point of shoulder").arg(PointName(tool.getId()));
return record;
case Tool::Normal:
return tr("%3 - normal to line %1_%2")
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)), PointName(tool.getId()));
record.description = tr("%3 - normal to line %1_%2")
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)), PointName(tool.getId()));
return record;
case Tool::Bisector:
return tr("%4 - bisector of angle %1_%2_%3")
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)),
PointName(AttrUInt(domElem, AttrThirdPoint)), PointName(tool.getId()));
record.description = tr("%4 - bisector of angle %1_%2_%3")
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)),
PointName(AttrUInt(domElem, AttrThirdPoint)), PointName(tool.getId()));
return record;
case Tool::LineIntersect:
return tr("%5 - intersection of lines %1_%2 and %3_%4")
.arg(PointName(AttrUInt(domElem, AttrP1Line1)),
PointName(AttrUInt(domElem, AttrP2Line1)),
PointName(AttrUInt(domElem, AttrP1Line2)),
PointName(AttrUInt(domElem, AttrP2Line2)),
PointName(tool.getId()));
record.description = tr("%5 - intersection of lines %1_%2 and %3_%4")
.arg(PointName(AttrUInt(domElem, AttrP1Line1)),
PointName(AttrUInt(domElem, AttrP2Line1)),
PointName(AttrUInt(domElem, AttrP1Line2)),
PointName(AttrUInt(domElem, AttrP2Line2)),
PointName(tool.getId()));
return record;
case Tool::Spline:
{
const QSharedPointer<VSpline> spl = data->GeometricObject<VSpline>(tool.getId());
SCASSERT(not spl.isNull())
return spl->NameForHistory(tr("Curve"));
record.description = spl->NameForHistory(tr("Curve"));
return record;
}
case Tool::CubicBezier:
{
const QSharedPointer<VCubicBezier> spl = data->GeometricObject<VCubicBezier>(tool.getId());
SCASSERT(not spl.isNull())
return spl->NameForHistory(tr("Cubic bezier curve"));
record.description = spl->NameForHistory(tr("Cubic bezier curve"));
return record;
}
case Tool::Arc:
{
const QSharedPointer<VArc> arc = data->GeometricObject<VArc>(tool.getId());
SCASSERT(not arc.isNull())
return arc->NameForHistory(tr("Arc"));
record.description = arc->NameForHistory(tr("Arc"));
return record;
}
case Tool::ArcWithLength:
{
const QSharedPointer<VArc> arc = data->GeometricObject<VArc>(tool.getId());
SCASSERT(not arc.isNull())
return tr("%1 with length %2")
.arg(arc->NameForHistory(tr("Arc")))
.arg(arc->GetLength());
record.description = tr("%1 with length %2")
.arg(arc->NameForHistory(tr("Arc")))
.arg(arc->GetLength());
return record;
}
case Tool::SplinePath:
{
const QSharedPointer<VSplinePath> splPath = data->GeometricObject<VSplinePath>(tool.getId());
SCASSERT(not splPath.isNull())
return splPath->NameForHistory(tr("Spline path"));
record.description = splPath->NameForHistory(tr("Spline path"));
return record;
}
case Tool::CubicBezierPath:
{
const QSharedPointer<VCubicBezierPath> splPath = data->GeometricObject<VCubicBezierPath>(tool.getId());
SCASSERT(not splPath.isNull())
return splPath->NameForHistory(tr("Cubic bezier curve path"));
record.description = splPath->NameForHistory(tr("Cubic bezier curve path"));
return record;
}
case Tool::PointOfContact:
return tr("%4 - point of contact of arc with the center in point %1 and line %2_%3")
.arg(PointName(AttrUInt(domElem, AttrCenter)),
PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)),
PointName(tool.getId()));
record.description = tr("%4 - point of contact of arc with the center in point %1 and line %2_%3")
.arg(PointName(AttrUInt(domElem, AttrCenter)),
PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)),
PointName(tool.getId()));
return record;
case Tool::Height:
return tr("Point of perpendicular from point %1 to line %2_%3")
.arg(PointName(AttrUInt(domElem, AttrBasePoint)),
PointName(AttrUInt(domElem, AttrP1Line)),
PointName(AttrUInt(domElem, AttrP2Line)));
record.description = tr("Point of perpendicular from point %1 to line %2_%3")
.arg(PointName(AttrUInt(domElem, AttrBasePoint)),
PointName(AttrUInt(domElem, AttrP1Line)),
PointName(AttrUInt(domElem, AttrP2Line)));
return record;
case Tool::Triangle:
return tr("Triangle: axis %1_%2, points %3 and %4")
.arg(PointName(AttrUInt(domElem, AttrAxisP1)),
PointName(AttrUInt(domElem, AttrAxisP2)),
PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)));
record.description = tr("Triangle: axis %1_%2, points %3 and %4")
.arg(PointName(AttrUInt(domElem, AttrAxisP1)),
PointName(AttrUInt(domElem, AttrAxisP2)),
PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)));
return record;
case Tool::PointOfIntersection:
return tr("%1 - point of intersection %2 and %3")
.arg(PointName(tool.getId()),
PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)));
record.description = tr("%1 - point of intersection %2 and %3")
.arg(PointName(tool.getId()),
PointName(AttrUInt(domElem, AttrFirstPoint)),
PointName(AttrUInt(domElem, AttrSecondPoint)));
return record;
case Tool::CutArc:
{
const QSharedPointer<VArc> arc = data->GeometricObject<VArc>(AttrUInt(domElem, AttrArc));
SCASSERT(not arc.isNull())
return tr("%1 - cut %2")
.arg(PointName(tool.getId()), arc->NameForHistory(tr("arc")));
record.description = tr("%1 - cut %2")
.arg(PointName(tool.getId()), arc->NameForHistory(tr("arc")));
return record;
}
case Tool::CutSpline:
{
const quint32 splineId = AttrUInt(domElem, VToolCutSpline::AttrSpline);
const QSharedPointer<VAbstractCubicBezier> spl = data->GeometricObject<VAbstractCubicBezier>(splineId);
SCASSERT(not spl.isNull())
return tr("%1 - cut %2")
.arg(PointName(tool.getId()), spl->NameForHistory(tr("curve")));
record.description = tr("%1 - cut %2")
.arg(PointName(tool.getId()), spl->NameForHistory(tr("curve")));
return record;
}
case Tool::CutSplinePath:
{
@ -349,56 +380,71 @@ QString DialogHistory::Record(const VToolRecord &tool)
const QSharedPointer<VAbstractCubicBezierPath> splPath =
data->GeometricObject<VAbstractCubicBezierPath>(splinePathId);
SCASSERT(not splPath.isNull())
return tr("%1 - cut %2")
.arg(PointName(tool.getId()), splPath->NameForHistory(tr("curve path")));
record.description = tr("%1 - cut %2")
.arg(PointName(tool.getId()), splPath->NameForHistory(tr("curve path")));
return record;
}
case Tool::LineIntersectAxis:
return tr("%1 - point of intersection line %2_%3 and axis through point %4")
.arg(PointName(tool.getId()),
PointName(AttrUInt(domElem, AttrP1Line)),
PointName(AttrUInt(domElem, AttrP2Line)),
PointName(AttrUInt(domElem, AttrBasePoint)));
record.description = tr("%1 - point of intersection line %2_%3 and axis through point %4")
.arg(PointName(tool.getId()),
PointName(AttrUInt(domElem, AttrP1Line)),
PointName(AttrUInt(domElem, AttrP2Line)),
PointName(AttrUInt(domElem, AttrBasePoint)));
return record;
case Tool::CurveIntersectAxis:
return tr("%1 - point of intersection curve and axis through point %2")
.arg(PointName(tool.getId()), PointName(AttrUInt(domElem, AttrBasePoint)));
record.description = tr("%1 - point of intersection curve and axis through point %2")
.arg(PointName(tool.getId()), PointName(AttrUInt(domElem, AttrBasePoint)));
return record;
case Tool::PointOfIntersectionArcs:
return tr("%1 - point of arcs intersection").arg(PointName(tool.getId()));
record.description = tr("%1 - point of arcs intersection").arg(PointName(tool.getId()));
return record;
case Tool::PointOfIntersectionCircles:
return tr("%1 - point of circles intersection").arg(PointName(tool.getId()));
record.description = tr("%1 - point of circles intersection").arg(PointName(tool.getId()));
return record;
case Tool::PointOfIntersectionCurves:
return tr("%1 - point of curves intersection").arg(PointName(tool.getId()));
record.description = tr("%1 - point of curves intersection").arg(PointName(tool.getId()));
return record;
case Tool::PointFromCircleAndTangent:
return tr("%1 - point from circle and tangent").arg(PointName(tool.getId()));
record.description = tr("%1 - point from circle and tangent").arg(PointName(tool.getId()));
return record;
case Tool::PointFromArcAndTangent:
return tr("%1 - point from arc and tangent").arg(PointName(tool.getId()));
record.description = tr("%1 - point from arc and tangent").arg(PointName(tool.getId()));
return record;
case Tool::TrueDarts:
return tr("Correction the dart %1_%2_%3")
.arg(PointName(AttrUInt(domElem, AttrDartP1)),
PointName(AttrUInt(domElem, AttrDartP2)),
PointName(AttrUInt(domElem, AttrDartP2)));
record.description = tr("Correction the dart %1_%2_%3")
.arg(PointName(AttrUInt(domElem, AttrDartP1)),
PointName(AttrUInt(domElem, AttrDartP2)),
PointName(AttrUInt(domElem, AttrDartP2)));
return record;
case Tool::EllipticalArc:
{
const QSharedPointer<VEllipticalArc> elArc = data->GeometricObject<VEllipticalArc>(tool.getId());
SCASSERT(not elArc.isNull())
return tr("%1 with length %2")
.arg(elArc->NameForHistory(tr("Elliptical arc")))
.arg(elArc->GetLength());
record.description = tr("%1 with length %2")
.arg(elArc->NameForHistory(tr("Elliptical arc")))
.arg(elArc->GetLength());
return record;
}
case Tool::Rotation:
return tr("Rotate objects around point %1. Suffix '%2'")
.arg(PointName(AttrUInt(domElem, AttrCenter)),
doc->GetParametrString(domElem, AttrSuffix, QString()));
record.description = tr("Rotate objects around point %1. Suffix '%2'")
.arg(PointName(AttrUInt(domElem, AttrCenter)),
doc->GetParametrString(domElem, AttrSuffix, QString()));
return record;
case Tool::FlippingByLine:
return tr("Flipping by line %1_%2. Suffix '%3'")
.arg(PointName(AttrUInt(domElem, AttrP1Line)),
PointName(AttrUInt(domElem, AttrP2Line)),
doc->GetParametrString(domElem, AttrSuffix, QString()));
record.description = tr("Flipping by line %1_%2. Suffix '%3'")
.arg(PointName(AttrUInt(domElem, AttrP1Line)),
PointName(AttrUInt(domElem, AttrP2Line)),
doc->GetParametrString(domElem, AttrSuffix, QString()));
return record;
case Tool::FlippingByAxis:
return tr("Flipping by axis through %1 point. Suffix '%2'")
.arg(PointName(AttrUInt(domElem, AttrCenter)),
doc->GetParametrString(domElem, AttrSuffix, QString()));
record.description = tr("Flipping by axis through %1 point. Suffix '%2'")
.arg(PointName(AttrUInt(domElem, AttrCenter)),
doc->GetParametrString(domElem, AttrSuffix, QString()));
return record;
case Tool::Move:
return tr("Move objects. Suffix '%1'").arg(doc->GetParametrString(domElem, AttrSuffix, QString()));
record.description = tr("Move objects. Suffix '%1'")
.arg(doc->GetParametrString(domElem, AttrSuffix, QString()));
return record;
//Because "history" not only show history of pattern, but help restore current data for each pattern's
//piece, we need add record about details and nodes, but don't show them.
case Tool::Piece:
@ -414,16 +460,16 @@ QString DialogHistory::Record(const VToolRecord &tool)
case Tool::PlaceLabel:
case Tool::InsertNode:
case Tool::DuplicateDetail:
return QString();
return record;
}
}
catch (const VExceptionBadId &e)
{
qDebug()<<e.ErrorMessage()<<Q_FUNC_INFO;
return QString();
return record;
}
qDebug()<<"Can't create history record for the tool.";
return QString();
qDebug()<<"Can't create history record for the tool" << record.id;
return record;
}
QT_WARNING_POP
@ -465,13 +511,13 @@ void DialogHistory::ShowPoint()
* @param pointId point if in data.
* @return point name.
*/
QString DialogHistory::PointName(quint32 pointId)
QString DialogHistory::PointName(quint32 pointId) const
{
return data->GeometricObject<VPointF>(pointId)->name();
}
//---------------------------------------------------------------------------------------------------------------------
quint32 DialogHistory::AttrUInt(const QDomElement &domElement, const QString &name)
quint32 DialogHistory::AttrUInt(const QDomElement &domElement, const QString &name) const
{
return doc->GetParametrUInt(domElement, name, QChar('0'));
}

View file

@ -35,6 +35,12 @@
class VPattern;
struct HistoryRecord
{
QString description{};
quint32 id{NULL_ID};
};
namespace Ui
{
class DialogHistory;
@ -86,11 +92,11 @@ private:
qint32 cursorToolRecordRow;
void FillTable();
QString Record(const VToolRecord &tool);
HistoryRecord Record(const VToolRecord &tool) const;
void InitialTable();
void ShowPoint();
QString PointName(quint32 pointId);
quint32 AttrUInt(const QDomElement &domElement, const QString &name);
QString PointName(quint32 pointId) const;
quint32 AttrUInt(const QDomElement &domElement, const QString &name) const;
void RetranslateUi();
int CursorRow() const;
};

View file

@ -95,9 +95,8 @@ DialogIncrements::DialogIncrements(VContainer *data, VPattern *doc, QWidget *par
qCDebug(vDialog, "Showing variables.");
ShowUnits();
const bool freshCall = true;
FillIncrements(freshCall);
FillPreviewCalculations(freshCall);
FillIncrements();
FillPreviewCalculations();
FillLengthsLines();
FillLengthLinesAngles();
FillLengthsCurves();
@ -182,15 +181,15 @@ DialogIncrements::DialogIncrements(VContainer *data, VPattern *doc, QWidget *par
/**
* @brief FillIncrementTable fill data for increment table
*/
void DialogIncrements::FillIncrements(bool freshCall)
void DialogIncrements::FillIncrements()
{
FillIncrementsTable(ui->tableWidgetIncrement, data->DataIncrementsWithSeparators(), false, freshCall);
FillIncrementsTable(ui->tableWidgetIncrement, data->DataIncrementsWithSeparators(), false);
}
//---------------------------------------------------------------------------------------------------------------------
void DialogIncrements::FillPreviewCalculations(bool freshCall)
void DialogIncrements::FillPreviewCalculations()
{
FillIncrementsTable(ui->tableWidgetPC, data->DataIncrementsWithSeparators(), true, freshCall);
FillIncrementsTable(ui->tableWidgetPC, data->DataIncrementsWithSeparators(), true);
}
//---------------------------------------------------------------------------------------------------------------------
@ -302,6 +301,7 @@ QTableWidgetItem * DialogIncrements::AddCell(QTableWidget *table, const QString
QTableWidgetItem *item = new QTableWidgetItem(text);
item->setTextAlignment(aligment);
item->setToolTip(text);
// set the item non-editable (view only), and non-selectable
Qt::ItemFlags flags = item->flags();
@ -869,7 +869,7 @@ void DialogIncrements::RefreshPattern()
//---------------------------------------------------------------------------------------------------------------------
void DialogIncrements::FillIncrementsTable(QTableWidget *table,
const QMap<QString, QSharedPointer<VIncrement> > &increments,
bool takePreviewCalculations, bool freshCall)
bool takePreviewCalculations)
{
SCASSERT(table != nullptr)
@ -920,11 +920,6 @@ void DialogIncrements::FillIncrementsTable(QTableWidget *table,
}
}
if (freshCall)
{
table->resizeColumnsToContents();
table->resizeRowsToContents();
}
table->horizontalHeader()->setStretchLastSection(true);
table->blockSignals(false);
}

View file

@ -111,10 +111,10 @@ private:
void FillIncrementsTable(QTableWidget *table,
const QMap<QString, QSharedPointer<VIncrement> > &increments,
bool takePreviewCalculations, bool freshCall = false);
bool takePreviewCalculations);
void FillIncrements(bool freshCall = false);
void FillPreviewCalculations(bool freshCall = false);
void FillIncrements();
void FillPreviewCalculations();
void FillLengthsLines();
void FillLengthLinesAngles();
void FillLengthsCurves();

View file

@ -0,0 +1,214 @@
/************************************************************************
**
** @file dialoglayoutscale.cpp
** @author Roman Telezhynskyi <dismine(at)gmail.com>
** @date 21 3, 2020
**
** @brief
** @copyright
** This source code is part of the Valentina project, a pattern making
** program, whose allow create and modeling patterns of clothing.
** Copyright (C) 2020 Valentina project
** <https://gitlab.com/smart-pattern/valentina> All Rights Reserved.
**
** Valentina is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** Valentina is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with Valentina. If not, see <http://www.gnu.org/licenses/>.
**
*************************************************************************/
#include "dialoglayoutscale.h"
#include "ui_dialoglayoutscale.h"
#include "../core/vapplication.h"
#include "../vmisc/vsettings.h"
#include <QPushButton>
//---------------------------------------------------------------------------------------------------------------------
DialogLayoutScale::DialogLayoutScale(bool printTiled, QWidget *parent)
:QDialog(parent),
ui(new Ui::DialogLayoutScale)
{
ui->setupUi(this);
qApp->ValentinaSettings()->GetOsSeparator() ? setLocale(QLocale()) : setLocale(QLocale::c());
QPushButton *bOk = ui->buttonBox->button(QDialogButtonBox::Ok);
SCASSERT(bOk != nullptr)
connect(bOk, &QPushButton::clicked, this, &DialogLayoutScale::Save);
if (not printTiled)
{
ui->groupBoxMargins->setVisible(false);
}
connect(ui->toolButtonScaleConnected, &QToolButton::clicked, this, &DialogLayoutScale::ToggleScaleConnection);
connect(ui->doubleSpinBoxHorizontalScale, QOverload<double>::of(&QDoubleSpinBox::valueChanged),
this, &DialogLayoutScale::HorizontalScaleChanged);
connect(ui->doubleSpinBoxVerticalScale, QOverload<double>::of(&QDoubleSpinBox::valueChanged),
this, &DialogLayoutScale::VerticalScaleChanged);
ReadSettings();
}
//---------------------------------------------------------------------------------------------------------------------
DialogLayoutScale::~DialogLayoutScale()
{
delete ui;
}
//---------------------------------------------------------------------------------------------------------------------
void DialogLayoutScale::SetTiledMargins(QMarginsF margins)
{
// read Margins top, right, bottom, left
margins = UnitConvertor(margins, Unit::Mm, qApp->patternUnit());
ui->doubleSpinBoxLeftField->setValue(margins.left());
ui->doubleSpinBoxTopField->setValue(margins.top());
ui->doubleSpinBoxRightField->setValue(margins.right());
ui->doubleSpinBoxBottomField->setValue(margins.bottom());
}
//---------------------------------------------------------------------------------------------------------------------
QMarginsF DialogLayoutScale::GetTiledMargins() const
{
QMarginsF margins = QMarginsF(
ui->doubleSpinBoxLeftField->value(),
ui->doubleSpinBoxTopField->value(),
ui->doubleSpinBoxRightField->value(),
ui->doubleSpinBoxBottomField->value()
);
return UnitConvertor(margins, qApp->patternUnit(), Unit::Mm);
}
//---------------------------------------------------------------------------------------------------------------------
void DialogLayoutScale::SetXScale(qreal scale)
{
ui->doubleSpinBoxHorizontalScale->setValue(scale * 100.);
}
//---------------------------------------------------------------------------------------------------------------------
qreal DialogLayoutScale::GetXScale() const
{
return ui->doubleSpinBoxHorizontalScale->value() / 100.;
}
//---------------------------------------------------------------------------------------------------------------------
void DialogLayoutScale::SetYScale(qreal scale)
{
ui->doubleSpinBoxVerticalScale->setValue(scale * 100.);
}
//---------------------------------------------------------------------------------------------------------------------
qreal DialogLayoutScale::GetYScale() const
{
return ui->doubleSpinBoxVerticalScale->value() / 100.;
}
//---------------------------------------------------------------------------------------------------------------------
void DialogLayoutScale::showEvent(QShowEvent *event)
{
QDialog::showEvent( event );
if ( event->spontaneous() )
{
return;
}
if (isInitialized)
{
return;
}
// do your init stuff here
setFixedSize(size());
isInitialized = true;//first show windows are held
}
//---------------------------------------------------------------------------------------------------------------------
void DialogLayoutScale::Save()
{
WriteSettings();
accept();
}
//---------------------------------------------------------------------------------------------------------------------
void DialogLayoutScale::ToggleScaleConnection()
{
m_scaleConnected = not m_scaleConnected;
QIcon icon;
icon.addFile(m_scaleConnected ? QStringLiteral(":/icon/32x32/link.png")
: QStringLiteral(":/icon/32x32/broken_link.png"));
ui->toolButtonScaleConnected->setIcon(icon);
}
//---------------------------------------------------------------------------------------------------------------------
void DialogLayoutScale::HorizontalScaleChanged(double d)
{
if (m_scaleConnected)
{
ui->doubleSpinBoxVerticalScale->blockSignals(true);
ui->doubleSpinBoxVerticalScale->setValue(d);
ui->doubleSpinBoxVerticalScale->blockSignals(false);
}
}
//---------------------------------------------------------------------------------------------------------------------
void DialogLayoutScale::VerticalScaleChanged(double d)
{
if (m_scaleConnected)
{
ui->doubleSpinBoxHorizontalScale->blockSignals(true);
ui->doubleSpinBoxHorizontalScale->setValue(d);
ui->doubleSpinBoxHorizontalScale->blockSignals(false);
}
}
//---------------------------------------------------------------------------------------------------------------------
void DialogLayoutScale::ReadSettings()
{
VSettings *settings = qApp->ValentinaSettings();
const Unit unit = qApp->patternUnit();
// read Margins top, right, bottom, left
const QMarginsF margins = settings->GetTiledPDFMargins(unit);
ui->doubleSpinBoxLeftField->setValue(margins.left());
ui->doubleSpinBoxTopField->setValue(margins.top());
ui->doubleSpinBoxRightField->setValue(margins.right());
ui->doubleSpinBoxBottomField->setValue(margins.bottom());
ui->doubleSpinBoxLeftField->setSuffix(UnitsToStr(unit, true));
ui->doubleSpinBoxTopField->setSuffix(UnitsToStr(unit, true));
ui->doubleSpinBoxRightField->setSuffix(UnitsToStr(unit, true));
ui->doubleSpinBoxBottomField->setSuffix(UnitsToStr(unit, true));
}
//---------------------------------------------------------------------------------------------------------------------
void DialogLayoutScale::WriteSettings() const
{
VSettings *settings = qApp->ValentinaSettings();
const Unit unit = qApp->patternUnit();
// write Margins top, right, bottom, left
QMarginsF margins = QMarginsF(
ui->doubleSpinBoxLeftField->value(),
ui->doubleSpinBoxTopField->value(),
ui->doubleSpinBoxRightField->value(),
ui->doubleSpinBoxBottomField->value()
);
settings->SetTiledPDFMargins(margins,unit);
}

View file

@ -1,14 +1,14 @@
/************************************************************************
**
** @file changegroupVisibility.h
** @file dialoglayoutscale.h
** @author Roman Telezhynskyi <dismine(at)gmail.com>
** @date 14 7, 2019
** @date 21 3, 2020
**
** @brief
** @copyright
** This source code is part of the Valentina project, a pattern making
** program, whose allow create and modeling patterns of clothing.
** Copyright (C) 2019 Valentina project
** Copyright (C) 2020 Valentina project
** <https://gitlab.com/smart-pattern/valentina> All Rights Reserved.
**
** Valentina is free software: you can redistribute it and/or modify
@ -25,31 +25,50 @@
** along with Valentina. If not, see <http://www.gnu.org/licenses/>.
**
*************************************************************************/
#ifndef CHANGEGROUPVISIBILITY_H
#define CHANGEGROUPVISIBILITY_H
#ifndef DIALOGLAYOUTSCALE_H
#define DIALOGLAYOUTSCALE_H
#include "vundocommand.h"
#include <QDialog>
class ChangeGroupVisibility : public VUndoCommand
namespace Ui
{
class DialogLayoutScale;
}
class DialogLayoutScale : public QDialog
{
Q_OBJECT
public:
ChangeGroupVisibility(VAbstractPattern *doc, vidtype id, bool visible, QUndoCommand *parent = nullptr);
virtual ~ChangeGroupVisibility();
virtual void undo() override;
virtual void redo() override;
signals:
void UpdateGroup(vidtype id, bool visible);
public:
explicit DialogLayoutScale(bool printTiled, QWidget *parent = nullptr);
~DialogLayoutScale();
void SetTiledMargins(QMarginsF margins);
QMarginsF GetTiledMargins() const;
void SetXScale(qreal scale);
qreal GetXScale() const;
void SetYScale(qreal scale);
qreal GetYScale() const;
protected:
virtual void showEvent(QShowEvent *event) override;
private slots:
void Save();
void ToggleScaleConnection();
void HorizontalScaleChanged(double d);
void VerticalScaleChanged(double d);
private:
Q_DISABLE_COPY(ChangeGroupVisibility)
Q_DISABLE_COPY(DialogLayoutScale)
Ui::DialogLayoutScale *ui;
bool isInitialized{false};
bool m_scaleConnected{true};
bool m_oldVisibility{true};
bool m_newVisibility{true};
const QString m_nameActivDraw{};
void Do(bool visible);
void ReadSettings();
void WriteSettings() const;
};
#endif // CHANGEGROUPVISIBILITY_H
#endif // DIALOGLAYOUTSCALE_H

View file

@ -0,0 +1,334 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DialogLayoutScale</class>
<widget class="QDialog" name="DialogLayoutScale">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>404</width>
<height>211</height>
</rect>
</property>
<property name="windowTitle">
<string>Layout scale</string>
</property>
<property name="windowIcon">
<iconset resource="../../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/64x64/icon64x64.png</normaloff>:/icon/64x64/icon64x64.png</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QGroupBox" name="groupBoxMargins">
<property name="enabled">
<bool>true</bool>
</property>
<property name="title">
<string>Margins</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="labelLeftField">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Left:</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="QDoubleSpinBox" name="doubleSpinBoxLeftField">
<property name="suffix">
<string>cm</string>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelRightField">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Right:</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<widget class="QDoubleSpinBox" name="doubleSpinBoxRightField">
<property name="suffix">
<string>cm</string>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="labelTopField">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Top:</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="2">
<widget class="QDoubleSpinBox" name="doubleSpinBoxTopField">
<property name="suffix">
<string>cm</string>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelBottomField">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Bottom:</string>
</property>
</widget>
</item>
<item row="3" column="1" colspan="2">
<widget class="QDoubleSpinBox" name="doubleSpinBoxBottomField">
<property name="suffix">
<string>cm</string>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QGroupBox" name="groupBoxScale">
<property name="title">
<string>Scale</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Horizontal:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>Vertical:</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QDoubleSpinBox" name="doubleSpinBoxHorizontalScale">
<property name="suffix">
<string notr="true">%</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="minimum">
<double>1.000000000000000</double>
</property>
<property name="maximum">
<double>300.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>100.000000000000000</double>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="doubleSpinBoxVerticalScale">
<property name="suffix">
<string notr="true">%</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="minimum">
<double>1.000000000000000</double>
</property>
<property name="maximum">
<double>300.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>100.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="spacing">
<number>1</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_7">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;┐&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QToolButton" name="toolButtonScaleConnected">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string notr="true">...</string>
</property>
<property name="icon">
<iconset resource="../../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/32x32/link.png</normaloff>:/icon/32x32/link.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="popupMode">
<enum>QToolButton::DelayedPopup</enum>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_8">
<property name="text">
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt; font-weight:600;&quot;&gt;┘&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="../../../libs/vmisc/share/resources/icon.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>DialogLayoutScale</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>DialogLayoutScale</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View file

@ -292,6 +292,18 @@ void DialogLayoutSettings::SetSaveLength(bool save)
ui->checkBoxSaveLength->setChecked(save);
}
//---------------------------------------------------------------------------------------------------------------------
bool DialogLayoutSettings::IsPreferOneSheetSolution() const
{
return ui->checkBoxOneSheetSolution->isChecked();
}
//---------------------------------------------------------------------------------------------------------------------
void DialogLayoutSettings::SetPreferOneSheetSolution(bool prefer)
{
ui->checkBoxOneSheetSolution->setChecked(prefer);
}
//---------------------------------------------------------------------------------------------------------------------
bool DialogLayoutSettings::IsUnitePages() const
{
@ -600,6 +612,7 @@ void DialogLayoutSettings::DialogAccepted()
generator->SetAutoCropLength(GetAutoCropLength());
generator->SetAutoCropWidth(GetAutoCropWidth());
generator->SetSaveLength(IsSaveLength());
generator->SetPreferOneSheetSolution(IsPreferOneSheetSolution());
generator->SetUnitePages(IsUnitePages());
generator->SetStripOptimization(IsStripOptimization());
generator->SetMultiplier(GetMultiplier());
@ -695,6 +708,7 @@ void DialogLayoutSettings::RestoreDefaults()
SetNestingTime(VSettings::GetDefNestingTime());
SetEfficiencyCoefficient(VSettings::GetDefEfficiencyCoefficient());
SetNestQuantity(VSettings::GetDefLayoutNestQuantity());
SetPreferOneSheetSolution(VSettings::GetDefLayoutPreferOneSheetSolution());
CorrectMaxFileds();
IgnoreAllFields(ui->checkBoxIgnoreFileds->isChecked());
@ -1019,6 +1033,7 @@ void DialogLayoutSettings::ReadSettings()
SetAutoCropLength(settings->GetLayoutAutoCropLength());
SetAutoCropWidth(settings->GetLayoutAutoCropWidth());
SetSaveLength(settings->GetLayoutSaveLength());
SetPreferOneSheetSolution(settings->GetLayoutPreferOneSheetSolution());
SetUnitePages(settings->GetLayoutUnitePages());
SetFields(settings->GetFields(GetDefPrinterFields()));
SetIgnoreAllFields(settings->GetIgnoreAllFields());
@ -1046,6 +1061,7 @@ void DialogLayoutSettings::WriteSettings() const
settings->SetLayoutAutoCropLength(GetAutoCropLength());
settings->SetLayoutAutoCropWidth(GetAutoCropWidth());
settings->SetLayoutSaveLength(IsSaveLength());
settings->SetLayoutPreferOneSheetSolution(IsPreferOneSheetSolution());
settings->SetLayoutUnitePages(IsUnitePages());
settings->SetFields(GetFields());
settings->SetIgnoreAllFields(IsIgnoreAllFields());

View file

@ -85,6 +85,9 @@ public:
bool IsSaveLength() const;
void SetSaveLength(bool save);
bool IsPreferOneSheetSolution() const;
void SetPreferOneSheetSolution(bool prefer);
bool IsUnitePages() const;
void SetUnitePages(bool save);

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>601</width>
<height>600</height>
<height>645</height>
</rect>
</property>
<property name="windowTitle">
@ -384,7 +384,7 @@
<string>Time given for the algorithm to find best layout.</string>
</property>
<property name="suffix">
<string> min</string>
<string comment="minutes"> min</string>
</property>
<property name="minimum">
<number>1</number>
@ -429,7 +429,7 @@
<string>Set layout efficiency coefficient. Layout efficiency coefficientt is the ratio of the area occupied by the pieces to the bounding rect of all pieces. If nesting reaches required level the process stops. If value is 0 no check will be made. </string>
</property>
<property name="suffix">
<string>%</string>
<string notr="true">%</string>
</property>
<property name="decimals">
<number>1</number>
@ -448,6 +448,16 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxOneSheetSolution">
<property name="toolTip">
<string>Enable this option to prefer getting one sheet solutions.</string>
</property>
<property name="text">
<string>Prefer one sheet solution</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_7">
<property name="orientation">

View file

@ -36,5 +36,6 @@
#include "dialogaboutapp.h"
#include "dialogpreferences.h"
#include "dialogfinalmeasurements.h"
#include "dialoglayoutscale.h"
#endif // DIALOGS_H

View file

@ -2,6 +2,7 @@
# This need for corect working file translations.pro
HEADERS += \
$$PWD/dialoglayoutscale.h \
$$PWD/dialogs.h \
$$PWD/dialogincrements.h \
$$PWD/dialoghistory.h \
@ -26,6 +27,7 @@ HEADERS += \
SOURCES += \
$$PWD/dialogincrements.cpp \
$$PWD/dialoghistory.cpp \
$$PWD/dialoglayoutscale.cpp \
$$PWD/dialogpatternproperties.cpp \
$$PWD/dialognewpattern.cpp \
$$PWD/dialogaboutapp.cpp \
@ -47,6 +49,7 @@ SOURCES += \
FORMS += \
$$PWD/dialogincrements.ui \
$$PWD/dialoghistory.ui \
$$PWD/dialoglayoutscale.ui \
$$PWD/dialogpatternproperties.ui \
$$PWD/dialognewpattern.ui \
$$PWD/dialogaboutapp.ui \

View file

@ -151,26 +151,15 @@ DialogSaveLayout::DialogSaveLayout(int count, Draw mode, const QString &fileName
InitTemplates(ui->comboBoxTemplates);
connect(ui->toolButtonScaleConnected, &QToolButton::clicked, this, &DialogSaveLayout::ToggleScaleConnection);
connect(ui->doubleSpinBoxHorizontalScale, QOverload<double>::of(&QDoubleSpinBox::valueChanged),
this, &DialogSaveLayout::HorizontalScaleChanged);
connect(ui->doubleSpinBoxVerticalScale, QOverload<double>::of(&QDoubleSpinBox::valueChanged),
this, &DialogSaveLayout::VerticalScaleChanged);
ReadSettings();
// connect for the template drop down box of the tiled pds
connect(ui->comboBoxTemplates, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, &DialogSaveLayout::WriteSettings);
// connects for the margins of the tiled pdf
connect(ui->doubleSpinBoxLeftField, QOverload<double>::of(&QDoubleSpinBox::valueChanged),
this, &DialogSaveLayout::WriteSettings);
connect(ui->doubleSpinBoxTopField, QOverload<double>::of(&QDoubleSpinBox::valueChanged),
this, &DialogSaveLayout::WriteSettings);
connect(ui->doubleSpinBoxRightField, QOverload<double>::of(&QDoubleSpinBox::valueChanged),
this, &DialogSaveLayout::WriteSettings);
connect(ui->doubleSpinBoxBottomField, QOverload<double>::of(&QDoubleSpinBox::valueChanged),
this, &DialogSaveLayout::WriteSettings);
// connects for the orientation buttons for the tiled pdf
connect(ui->toolButtonPortrait, &QToolButton::toggled, this, &DialogSaveLayout::WriteSettings);
connect(ui->toolButtonLandscape, &QToolButton::toggled, this, &DialogSaveLayout::WriteSettings);
ShowExample();//Show example for current format.
}
@ -520,6 +509,8 @@ LayoutExportFormats DialogSaveLayout::Format() const
//---------------------------------------------------------------------------------------------------------------------
void DialogSaveLayout::Save()
{
WriteSettings();
for (int i=0; i < count; ++i)
{
const QString name = Path()+'/'+FileName()+QString::number(i+1)+ExportFormatSuffix(Format());
@ -623,6 +614,39 @@ void DialogSaveLayout::ShowExample()
}
}
//---------------------------------------------------------------------------------------------------------------------
void DialogSaveLayout::ToggleScaleConnection()
{
m_scaleConnected = not m_scaleConnected;
QIcon icon;
icon.addFile(m_scaleConnected ? QStringLiteral(":/icon/32x32/link.png")
: QStringLiteral(":/icon/32x32/broken_link.png"));
ui->toolButtonScaleConnected->setIcon(icon);
}
//---------------------------------------------------------------------------------------------------------------------
void DialogSaveLayout::HorizontalScaleChanged(double d)
{
if (m_scaleConnected)
{
ui->doubleSpinBoxVerticalScale->blockSignals(true);
ui->doubleSpinBoxVerticalScale->setValue(d);
ui->doubleSpinBoxVerticalScale->blockSignals(false);
}
}
//---------------------------------------------------------------------------------------------------------------------
void DialogSaveLayout::VerticalScaleChanged(double d)
{
if (m_scaleConnected)
{
ui->doubleSpinBoxHorizontalScale->blockSignals(true);
ui->doubleSpinBoxHorizontalScale->setValue(d);
ui->doubleSpinBoxHorizontalScale->blockSignals(false);
}
}
//---------------------------------------------------------------------------------------------------------------------
bool DialogSaveLayout::IsTextAsPaths() const
{
@ -719,6 +743,30 @@ PageOrientation DialogSaveLayout::GetTiledPageOrientation() const
}
}
//---------------------------------------------------------------------------------------------------------------------
void DialogSaveLayout::SetXScale(qreal scale)
{
ui->doubleSpinBoxHorizontalScale->setValue(scale * 100.);
}
//---------------------------------------------------------------------------------------------------------------------
qreal DialogSaveLayout::GetXScale() const
{
return ui->doubleSpinBoxHorizontalScale->value() / 100.;
}
//---------------------------------------------------------------------------------------------------------------------
void DialogSaveLayout::SetYScale(qreal scale)
{
ui->doubleSpinBoxVerticalScale->setValue(scale * 100.);
}
//---------------------------------------------------------------------------------------------------------------------
qreal DialogSaveLayout::GetYScale() const
{
return ui->doubleSpinBoxVerticalScale->value() / 100.;
}
//---------------------------------------------------------------------------------------------------------------------
void DialogSaveLayout::showEvent(QShowEvent *event)
{
@ -810,16 +858,15 @@ QVector<std::pair<QString, LayoutExportFormats> > DialogSaveLayout::InitFormats(
InitFormat(LayoutExportFormats::DXF_AC1021_AAMA);
InitFormat(LayoutExportFormats::DXF_AC1024_AAMA);
InitFormat(LayoutExportFormats::DXF_AC1027_AAMA);
// We will support them anyway
// InitFormat(LayoutExportFormats::DXF_AC1006_ASTM);
// InitFormat(LayoutExportFormats::DXF_AC1009_ASTM);
// InitFormat(LayoutExportFormats::DXF_AC1012_ASTM);
// InitFormat(LayoutExportFormats::DXF_AC1014_ASTM);
// InitFormat(LayoutExportFormats::DXF_AC1015_ASTM);
// InitFormat(LayoutExportFormats::DXF_AC1018_ASTM);
// InitFormat(LayoutExportFormats::DXF_AC1021_ASTM);
// InitFormat(LayoutExportFormats::DXF_AC1024_ASTM);
// InitFormat(LayoutExportFormats::DXF_AC1027_ASTM);
InitFormat(LayoutExportFormats::DXF_AC1006_ASTM);
InitFormat(LayoutExportFormats::DXF_AC1009_ASTM);
InitFormat(LayoutExportFormats::DXF_AC1012_ASTM);
InitFormat(LayoutExportFormats::DXF_AC1014_ASTM);
InitFormat(LayoutExportFormats::DXF_AC1015_ASTM);
InitFormat(LayoutExportFormats::DXF_AC1018_ASTM);
InitFormat(LayoutExportFormats::DXF_AC1021_ASTM);
InitFormat(LayoutExportFormats::DXF_AC1024_ASTM);
InitFormat(LayoutExportFormats::DXF_AC1027_ASTM);
InitFormat(LayoutExportFormats::PDFTiled);
// InitFormat(LayoutExportFormats::NC);

View file

@ -86,6 +86,12 @@ public:
void SetTiledPageOrientation(PageOrientation orientation);
PageOrientation GetTiledPageOrientation() const;
void SetXScale(qreal scale);
qreal GetXScale() const;
void SetYScale(qreal scale);
qreal GetYScale() const;
protected:
virtual void showEvent(QShowEvent *event) override;
void InitTemplates(QComboBox *comboBoxTemplates);
@ -94,6 +100,9 @@ private slots:
void Save();
void PathChanged(const QString &text);
void ShowExample();
void ToggleScaleConnection();
void HorizontalScaleChanged(double d);
void VerticalScaleChanged(double d);
private:
Q_DISABLE_COPY(DialogSaveLayout)
Ui::DialogSaveLAyout *ui;
@ -101,6 +110,7 @@ private:
bool isInitialized;
Draw m_mode;
bool m_tiledExportMode;
bool m_scaleConnected{true};
static bool havePdf;
static bool tested;

View file

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>719</width>
<height>314</height>
<width>493</width>
<height>391</height>
</rect>
</property>
<property name="windowTitle">
@ -17,20 +17,20 @@
<iconset resource="../../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/64x64/icon64x64.png</normaloff>:/icon/64x64/icon64x64.png</iconset>
</property>
<layout class="QFormLayout" name="formLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Path:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Path:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEditPath">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -46,7 +46,7 @@
<item>
<widget class="QPushButton" name="pushButtonBrowse">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -61,44 +61,229 @@
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>File format:</string>
</property>
</widget>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<widget class="QLabel" name="label_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>File format:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBoxFormat">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="comboBoxFormat">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QGroupBox" name="groupBoxFormatOptions">
<property name="title">
<string>Options</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QCheckBox" name="checkBoxBinaryDXF">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Binary form</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxTextAsPaths">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Text as paths</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="groupBoxScale">
<property name="title">
<string>Scale</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Horizontal:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>Vertical:</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QDoubleSpinBox" name="doubleSpinBoxHorizontalScale">
<property name="suffix">
<string notr="true">%</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="minimum">
<double>1.000000000000000</double>
</property>
<property name="maximum">
<double>300.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>100.000000000000000</double>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="doubleSpinBoxVerticalScale">
<property name="suffix">
<string notr="true">%</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="minimum">
<double>1.000000000000000</double>
</property>
<property name="maximum">
<double>300.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>100.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="spacing">
<number>1</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_7">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;┐&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QToolButton" name="toolButtonScaleConnected">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="text">
<string notr="true">...</string>
</property>
<property name="icon">
<iconset resource="../../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/32x32/link.png</normaloff>:/icon/32x32/link.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="popupMode">
<enum>QToolButton::DelayedPopup</enum>
</property>
</widget>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="label_8">
<property name="text">
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt; font-weight:600;&quot;&gt;┘&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="checkBoxBinaryDXF">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Binary form</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QCheckBox" name="checkBoxTextAsPaths">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Text as paths</string>
</property>
</widget>
</item>
<item row="4" column="1">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QGroupBox" name="groupBoxMargins">
@ -148,6 +333,9 @@
<property name="suffix">
<string>cm</string>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="0" column="1">
@ -164,6 +352,9 @@
<property name="suffix">
<string>cm</string>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
@ -204,6 +395,9 @@
<property name="suffix">
<string>cm</string>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
@ -224,6 +418,9 @@
<property name="suffix">
<string>cm</string>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
</layout>
@ -239,79 +436,75 @@
<property name="title">
<string>Paper format</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QFormLayout" name="formLayout_4">
<item row="1" column="0">
<widget class="QLabel" name="labelTemplates">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="labelTemplates">
<property name="text">
<string>Templates:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="comboBoxTemplates"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Orientation:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QToolButton" name="toolButtonPortrait">
<property name="text">
<string>Templates:</string>
<string notr="true">...</string>
</property>
<property name="icon">
<iconset resource="../../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/16x16/portrait.png</normaloff>:/icon/16x16/portrait.png</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="autoExclusive">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="comboBoxTemplates"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<item>
<widget class="QToolButton" name="toolButtonLandscape">
<property name="text">
<string>Orientation:</string>
<string notr="true">...</string>
</property>
<property name="icon">
<iconset resource="../../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/16x16/landscape.png</normaloff>:/icon/16x16/landscape.png</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoExclusive">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QToolButton" name="toolButtonPortrait">
<property name="text">
<string notr="true">...</string>
</property>
<property name="icon">
<iconset resource="../../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/16x16/portrait.png</normaloff>:/icon/16x16/portrait.png</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="autoExclusive">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="toolButtonLandscape">
<property name="text">
<string notr="true">...</string>
</property>
<property name="icon">
<iconset resource="../../../libs/vmisc/share/resources/icon.qrc">
<normaloff>:/icon/16x16/landscape.png</normaloff>:/icon/16x16/landscape.png</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="autoExclusive">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
@ -320,19 +513,28 @@
</item>
</layout>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>File name:</string>
</property>
</widget>
</item>
<item row="5" column="1">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
</property>
<item>
<widget class="QLabel" name="label_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>File name:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEditFileName">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<sizepolicy hsizetype="Expanding" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -347,6 +549,12 @@
</item>
<item>
<widget class="QLabel" name="labelExample">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>130</width>
@ -363,7 +571,7 @@
</item>
</layout>
</item>
<item row="6" column="0" colspan="2">
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>

View file

@ -263,12 +263,44 @@ void VWidgetDetails::ShowContextMenu(const QPoint &pos)
QAction *actionSelectAll = menu->addAction(tr("Select all"));
QAction *actionSelectNone = menu->addAction(tr("Select none"));
QAction *actionSeparator = new QAction(this);
actionSeparator->setSeparator(true);
menu->addAction(actionSeparator);
menu->addSeparator();
QAction *actionInvertSelection = menu->addAction(tr("Invert selection"));
bool pieceMode = false;
QAction *actionPieceOptions = nullptr;
QAction *actionDeletePiece = nullptr;
VToolSeamAllowance *toolPiece = nullptr;
QTableWidgetItem *selectedItem = ui->tableWidget->itemAt(pos);
if (selectedItem)
{
QTableWidgetItem *item = ui->tableWidget->item(selectedItem->row(), PieceColumn::InLayout);
const quint32 id = item->data(Qt::UserRole).toUInt();
try
{
toolPiece = qobject_cast<VToolSeamAllowance *>(VAbstractPattern::getTool(id));
if (toolPiece)
{
pieceMode = true;
menu->addSeparator();
actionPieceOptions = menu->addAction(QIcon::fromTheme(QStringLiteral("preferences-other")),
tr("Piece options"));
actionDeletePiece = menu->addAction(QIcon::fromTheme(QStringLiteral("edit-delete")),
tr("Delete piece"));
actionDeletePiece->setDisabled(toolPiece->referens() > 0);
}
}
catch (const VExceptionBadId &)
{
const QString errorMsg = tr("Cannot find piece by id '%1'").arg(id);
qWarning() << VAbstractApplication::patternMessageSignature + errorMsg;
}
}
const QHash<quint32, VPiece> *allDetails = m_data->DataPieces();
if (allDetails->count() == 0)
{
@ -333,6 +365,23 @@ void VWidgetDetails::ShowContextMenu(const QPoint &pos)
qApp->getUndoStack()->endMacro();
}
else if (pieceMode && selectedAction == actionPieceOptions)
{
toolPiece->ShowOptions();
}
else if (pieceMode && selectedAction == actionDeletePiece)
{
try
{
toolPiece->DeleteFromMenu();
}
catch(const VExceptionToolWasDeleted &e)
{
Q_UNUSED(e);
return;//Leave this method immediately!!!
}
//Leave this method immediately after call!!!
}
}
//------------------------------------------------------------------------------------------------------------------

View file

@ -29,11 +29,11 @@
#include "vwidgetgroups.h"
#include "ui_vwidgetgroups.h"
#include "../vtools/dialogs/tools/dialoggroup.h"
#include "../vtools/undocommands/delgroup.h"
#include "../vtools/undocommands/changegroupvisibility.h"
#include "../vtools/undocommands/changemultiplegroupsvisibility.h"
#include "../vtools/undocommands/undogroup.h"
#include "../vpatterndb/vcontainer.h"
#include "../vmisc/compatibility.h"
#include <QCompleter>
#include <QMenu>
#include <QTableWidget>
@ -53,6 +53,7 @@ VWidgetGroups::VWidgetGroups(VAbstractPattern *doc, QWidget *parent)
connect(ui->tableWidget, &QTableWidget::cellClicked, this, &VWidgetGroups::GroupVisibilityChanged);
connect(ui->tableWidget, &QTableWidget::cellChanged, this, &VWidgetGroups::RenameGroup);
connect(ui->tableWidget, &QTableWidget::customContextMenuRequested, this, &VWidgetGroups::CtxMenu);
connect(ui->lineEditTags, &QLineEdit::textChanged, this, &VWidgetGroups::UpdateGroups);
}
//---------------------------------------------------------------------------------------------------------------------
@ -112,6 +113,32 @@ void VWidgetGroups::SetMultipleGroupsVisibility(const QVector<vidtype> &groups,
qApp->getUndoStack()->push(changeGroups);
}
//---------------------------------------------------------------------------------------------------------------------
QMap<quint32, VGroupData> VWidgetGroups::FilterGroups(const QMap<quint32, VGroupData> &groups)
{
QMap<quint32, VGroupData> filtered;
QSet<QString> filterCategories = ConvertToSet<QString>(VAbstractPattern::FilterGroupTags(ui->lineEditTags->text()));
if (filterCategories.isEmpty())
{
return groups;
}
auto i = groups.constBegin();
while (i != groups.constEnd())
{
const VGroupData &data = i.value();
QSet<QString> groupCategories = ConvertToSet<QString>(data.tags);
if (SetIntersects(filterCategories, groupCategories))
{
filtered.insert(i.key(), data);
}
++i;
}
return filtered;
}
//---------------------------------------------------------------------------------------------------------------------
int VWidgetGroups::GroupRow(vidtype id) const
{
@ -150,9 +177,9 @@ void VWidgetGroups::RenameGroup(int row, int column)
}
const quint32 id = ui->tableWidget->item(row, 0)->data(Qt::UserRole).toUInt();
doc->SetGroupName(id, ui->tableWidget->item(row, column)->text());
UpdateGroups();
::RenameGroup *renameGroup = new ::RenameGroup(doc, id, ui->tableWidget->item(row, column)->text());
connect(renameGroup, &RenameGroup::UpdateGroups, this, &VWidgetGroups::UpdateGroups);
qApp->getUndoStack()->push(renameGroup);
}
//---------------------------------------------------------------------------------------------------------------------
@ -187,7 +214,7 @@ void VWidgetGroups::CtxMenu(const QPoint &pos)
menu->addAction(QIcon(QStringLiteral("://icon/16x16/closed_eye.png")), tr("Hide")) :
menu->addAction(QIcon(QStringLiteral("://icon/16x16/open_eye.png")), tr("Show"));
QAction *actionRename = menu->addAction(tr("Rename"));
QAction *actionPreferences = menu->addAction(QIcon::fromTheme(preferencesOtherIcon), tr("Preferences"));
QAction *actionDelete = menu->addAction(QIcon::fromTheme(editDeleteIcon), tr("Delete"));
menu->addSeparator();
QAction *actionHideAll = menu->addAction(tr("Hide All"));
@ -201,19 +228,22 @@ void VWidgetGroups::CtxMenu(const QPoint &pos)
{
SetGroupVisibility(id, not doc->GetGroupVisibility(id));
}
else if (selectedAction == actionRename)
else if (selectedAction == actionPreferences)
{
QScopedPointer<VContainer> fackeContainer(new VContainer(qApp->TrVars(), qApp->patternUnitP(),
VContainer::UniqueNamespace()));
QScopedPointer<DialogGroup> dialog(new DialogGroup(fackeContainer.data(), NULL_ID, this));
dialog->SetName(doc->GetGroupName(id));
dialog->SetTags(doc->GetGroupTags(id));
dialog->SetGroupCategories(doc->GetGroupCategories());
const int result = dialog->exec();
if (result == QDialog::Accepted)
{
doc->SetGroupName(id, dialog->GetName());
item = ui->tableWidget->item(row, 1);
item->setText(dialog->GetName());
ChangeGroupOptions *changeGroupOptions = new ChangeGroupOptions(doc, id, dialog->GetName(),
dialog->GetTags());
connect(changeGroupOptions, &ChangeGroupOptions::UpdateGroups, this, &VWidgetGroups::UpdateGroups);
qApp->getUndoStack()->push(changeGroupOptions);
}
}
else if (selectedAction == actionDelete)
@ -279,8 +309,12 @@ void VWidgetGroups::UpdateGroups()
}
//---------------------------------------------------------------------------------------------------------------------
void VWidgetGroups::FillTable(const QMap<quint32, QPair<QString, bool> > &groups)
void VWidgetGroups::FillTable(QMap<quint32, VGroupData> groups)
{
ui->lineEditTags->SetCompletion(doc->GetGroupCategories());
groups = FilterGroups(groups);
ui->tableWidget->blockSignals(true);
ui->tableWidget->clear();
@ -291,12 +325,12 @@ void VWidgetGroups::FillTable(const QMap<quint32, QPair<QString, bool> > &groups
while (i != groups.constEnd())
{
++currentRow;
const QPair<QString, bool> data = i.value();
const VGroupData data = i.value();
QTableWidgetItem *item = new QTableWidgetItem();
item->setTextAlignment(Qt::AlignHCenter);
(data.second) ? item->setIcon(QIcon("://icon/16x16/open_eye.png"))
: item->setIcon(QIcon("://icon/16x16/closed_eye.png"));
(data.visible) ? item->setIcon(QIcon("://icon/16x16/open_eye.png"))
: item->setIcon(QIcon("://icon/16x16/closed_eye.png"));
item->setData(Qt::UserRole, i.key());
@ -307,8 +341,9 @@ void VWidgetGroups::FillTable(const QMap<quint32, QPair<QString, bool> > &groups
ui->tableWidget->setItem(currentRow, 0, item);
item = new QTableWidgetItem(data.first);
item = new QTableWidgetItem(data.name);
item->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter);
item->setToolTip(tr("Categories: %1.").arg(data.tags.join(", ")));
if(doc->GroupIsEmpty(i.key()))
{

View file

@ -34,6 +34,7 @@
class QTableWidgetItem;
class VAbstractPattern;
struct VGroupData;
namespace Ui
{
@ -61,10 +62,12 @@ private:
Ui::VWidgetGroups *ui;
VAbstractPattern *doc;
void FillTable(const QMap<quint32, QPair<QString, bool> > &groups);
void FillTable(QMap<quint32, VGroupData> groups);
void SetGroupVisibility(vidtype id, bool visible) const;
void SetMultipleGroupsVisibility(const QVector<vidtype> &groups, bool visible) const;
QMap<quint32, VGroupData> FilterGroups(const QMap<quint32, VGroupData> &groups);
int GroupRow(vidtype id) const;
};

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>371</width>
<height>279</height>
<height>438</height>
</rect>
</property>
<property name="windowTitle">
@ -18,6 +18,30 @@
<normaloff>:/icon/64x64/icon64x64.png</normaloff>:/icon/64x64/icon64x64.png</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Tags:</string>
</property>
</widget>
</item>
<item>
<widget class="VCompleterLineEdit" name="lineEditTags">
<property name="toolTip">
<string>Separate each tag with comma.</string>
</property>
<property name="placeholderText">
<string>Filter by tags</string>
</property>
<property name="clearButtonEnabled">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QTableWidget" name="tableWidget">
<property name="alternatingRowColors">
@ -47,16 +71,23 @@
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>10</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>VCompleterLineEdit</class>
<extends>QLineEdit</extends>
<header>vlineedit.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../../../libs/vmisc/share/resources/icon.qrc"/>
</resources>

View file

@ -58,7 +58,7 @@
#include "tools/vtooluniondetails.h"
#include "dialogs/dialogs.h"
#include "dialogs/vwidgetgroups.h"
#include "../vtools/undocommands/addgroup.h"
#include "../vtools/undocommands/undogroup.h"
#include "dialogs/vwidgetdetails.h"
#include "../vpatterndb/vpiecepath.h"
#include "../qmuparser/qmuparsererror.h"
@ -648,6 +648,12 @@ void MainWindow::SetToolButton(bool checked, Tool t, const QString &cursor, cons
case Tool::PlaceLabel:
dialogTool->SetPiecesList(doc->GetActivePPPieces());
break;
case Tool::Rotation:
case Tool::Move:
case Tool::FlippingByAxis:
case Tool::FlippingByLine:
dialogTool->SetGroupCategories(doc->GetGroupCategories());
break;
default:
break;
}
@ -1241,7 +1247,8 @@ void MainWindow::ClosedDialogGroup(int result)
{
const QPointer<DialogGroup> dialog = qobject_cast<DialogGroup *>(dialogTool);
SCASSERT(not dialog.isNull())
const QDomElement group = doc->CreateGroup(pattern->getNextId(), dialog->GetName(), dialog->GetGroup());
const QDomElement group = doc->CreateGroup(pattern->getNextId(), dialog->GetName(), dialog->GetTags(),
dialog->GetGroup());
if (not group.isNull())
{
AddGroup *addGroup = new AddGroup(group, doc);
@ -5527,6 +5534,8 @@ bool MainWindow::DoExport(const VCommandLinePtr &expParams)
m_dialogSaveLayout->SelectFormat(static_cast<LayoutExportFormats>(expParams->OptExportType()));
m_dialogSaveLayout->SetBinaryDXFFormat(expParams->IsBinaryDXF());
m_dialogSaveLayout->SetTextAsPaths(expParams->IsTextAsPaths());
m_dialogSaveLayout->SetXScale(expParams->ExportXScale());
m_dialogSaveLayout->SetYScale(expParams->ExportYScale());
if (static_cast<LayoutExportFormats>(expParams->OptExportType()) == LayoutExportFormats::PDFTiled)
{
@ -5562,6 +5571,8 @@ bool MainWindow::DoExport(const VCommandLinePtr &expParams)
m_dialogSaveLayout->SetDestinationPath(expParams->OptDestinationPath());
m_dialogSaveLayout->SelectFormat(static_cast<LayoutExportFormats>(expParams->OptExportType()));
m_dialogSaveLayout->SetBinaryDXFFormat(expParams->IsBinaryDXF());
m_dialogSaveLayout->SetXScale(expParams->ExportXScale());
m_dialogSaveLayout->SetYScale(expParams->ExportYScale());
if (static_cast<LayoutExportFormats>(expParams->OptExportType()) == LayoutExportFormats::PDFTiled)
{

View file

@ -41,6 +41,7 @@
#include "../vlayout/vlayoutgenerator.h"
#include "dialogs/dialoglayoutprogress.h"
#include "dialogs/dialogsavelayout.h"
#include "dialogs/dialoglayoutscale.h"
#include "../vlayout/vposter.h"
#include "../vpatterndb/floatItemData/vpiecelabeldata.h"
#include "../vpatterndb/floatItemData/vpatternlabeldata.h"
@ -312,7 +313,7 @@ bool MainWindowsNoGUI::GenerateLayout(VLayoutGenerator& lGenerator)
if (lGenerator.PapersCount() <= papersCount)
{
const qreal layoutEfficiency = lGenerator.LayoutEfficiency();
if (efficiency < layoutEfficiency)
if (efficiency < layoutEfficiency || lGenerator.PapersCount() < papersCount)
{
efficiency = layoutEfficiency;
if (VApplication::IsGUIMode())
@ -403,7 +404,10 @@ bool MainWindowsNoGUI::GenerateLayout(VLayoutGenerator& lGenerator)
|| (nestingState == LayoutErrors::NoError && not qFuzzyIsNull(lGenerator.GetEfficiencyCoefficient())
&& efficiency >= lGenerator.GetEfficiencyCoefficient()))
{
break;
if (not lGenerator.IsPreferOneSheetSolution() || lGenerator.PapersCount() == 1)
{
break;
}
}
if (IsTimeout())
@ -510,7 +514,16 @@ void MainWindowsNoGUI::ExportData(const QVector<VLayoutPiece> &listDetails)
format == LayoutExportFormats::DXF_AC1018_AAMA ||
format == LayoutExportFormats::DXF_AC1021_AAMA ||
format == LayoutExportFormats::DXF_AC1024_AAMA ||
format == LayoutExportFormats::DXF_AC1027_AAMA)
format == LayoutExportFormats::DXF_AC1027_AAMA ||
format == LayoutExportFormats::DXF_AC1006_ASTM ||
format == LayoutExportFormats::DXF_AC1009_ASTM ||
format == LayoutExportFormats::DXF_AC1012_ASTM ||
format == LayoutExportFormats::DXF_AC1014_ASTM ||
format == LayoutExportFormats::DXF_AC1015_ASTM ||
format == LayoutExportFormats::DXF_AC1018_ASTM ||
format == LayoutExportFormats::DXF_AC1021_ASTM ||
format == LayoutExportFormats::DXF_AC1024_ASTM ||
format == LayoutExportFormats::DXF_AC1027_ASTM)
{
if (m_dialogSaveLayout->Mode() == Draw::Layout)
{
@ -665,15 +678,31 @@ void MainWindowsNoGUI::ExportApparelLayout(const QVector<VLayoutPiece> &details,
switch (format)
{
case LayoutExportFormats::DXF_AC1006_ASTM:
ASTMDxfFile(name, DRW::AC1006, m_dialogSaveLayout->IsBinaryDXFFormat(), size, details);
break;
case LayoutExportFormats::DXF_AC1009_ASTM:
ASTMDxfFile(name, DRW::AC1009, m_dialogSaveLayout->IsBinaryDXFFormat(), size, details);
break;
case LayoutExportFormats::DXF_AC1012_ASTM:
ASTMDxfFile(name, DRW::AC1012, m_dialogSaveLayout->IsBinaryDXFFormat(), size, details);
break;
case LayoutExportFormats::DXF_AC1014_ASTM:
ASTMDxfFile(name, DRW::AC1014, m_dialogSaveLayout->IsBinaryDXFFormat(), size, details);
break;
case LayoutExportFormats::DXF_AC1015_ASTM:
ASTMDxfFile(name, DRW::AC1015, m_dialogSaveLayout->IsBinaryDXFFormat(), size, details);
break;
case LayoutExportFormats::DXF_AC1018_ASTM:
ASTMDxfFile(name, DRW::AC1018, m_dialogSaveLayout->IsBinaryDXFFormat(), size, details);
break;
case LayoutExportFormats::DXF_AC1021_ASTM:
ASTMDxfFile(name, DRW::AC1021, m_dialogSaveLayout->IsBinaryDXFFormat(), size, details);
break;
case LayoutExportFormats::DXF_AC1024_ASTM:
ASTMDxfFile(name, DRW::AC1024, m_dialogSaveLayout->IsBinaryDXFFormat(), size, details);
break;
case LayoutExportFormats::DXF_AC1027_ASTM:
Q_UNREACHABLE(); // For now not supported
ASTMDxfFile(name, DRW::AC1027, m_dialogSaveLayout->IsBinaryDXFFormat(), size, details);
break;
case LayoutExportFormats::DXF_AC1006_AAMA:
AAMADxfFile(name, DRW::AC1006, m_dialogSaveLayout->IsBinaryDXFFormat(), size, details);
@ -798,7 +827,6 @@ void MainWindowsNoGUI::PrintPages(QPrinter *printer)
ToPixel(printer->pageRect(QPrinter::Millimeter).height(), Unit::Mm));
const double xscale = printer->pageRect().width() / printerPageRect.width();
const double yscale = printer->pageRect().height() / printerPageRect.height();
const double scale = qMin(xscale, yscale);
QPainter painter;
if (not painter.begin(printer))
@ -844,7 +872,9 @@ void MainWindowsNoGUI::PrintPages(QPrinter *printer)
auto *paper = qgraphicsitem_cast<QGraphicsRectItem *>(papers.at(i));
if (paper)
{
*poster += posterazor->Calc(paper->rect().toRect(), i, orientation);
QRectF paperRect = paper->rect();
QSizeF image(paperRect.width() * m_xscale, paperRect.height() * m_yscale);
*poster += posterazor->Calc(image.toSize(), i, orientation);
}
}
@ -949,7 +979,9 @@ void MainWindowsNoGUI::PrintPages(QPrinter *printer)
qreal x,y;
if(printer->fullPage())
{
QMarginsF printerMargins = printer->pageLayout().margins();
QPageLayout layout = printer->pageLayout();
layout.setUnits(QPageLayout::Millimeter);
QMarginsF printerMargins = layout.margins();
x = qFloor(ToPixel(printerMargins.left(),Unit::Mm));
y = qFloor(ToPixel(printerMargins.top(),Unit::Mm));
}
@ -958,7 +990,7 @@ void MainWindowsNoGUI::PrintPages(QPrinter *printer)
x = 0; y = 0;
}
QRectF target(x * scale, y * scale, source.width() * scale, source.height() * scale);
QRectF target(x * xscale, y * yscale, source.width() * xscale, source.height() * yscale);
scenes.at(paperIndex)->render(&painter, target, source, Qt::IgnoreAspectRatio);
@ -1187,10 +1219,10 @@ void MainWindowsNoGUI::SvgFile(const QString &name, QGraphicsRectItem *paper, QG
const QRectF r = paper->rect();
QSvgGenerator generator;
generator.setFileName(name);
generator.setSize(QSize(qFloor(r.width() + margins.left() + margins.right()),
qFloor(r.height() + margins.top() + margins.bottom())));
generator.setViewBox(QRectF(0, 0, r.width() + margins.left() + margins.right(),
r.height() + margins.top() + margins.bottom()));
generator.setSize(QSize(qFloor(r.width() * m_dialogSaveLayout->GetXScale() + margins.left() + margins.right()),
qFloor(r.height() * m_dialogSaveLayout->GetYScale() + margins.top() + margins.bottom())));
generator.setViewBox(QRectF(0, 0, r.width() * m_dialogSaveLayout->GetXScale() + margins.left() + margins.right(),
r.height() * m_dialogSaveLayout->GetYScale() + margins.top() + margins.bottom()));
generator.setTitle(tr("Pattern"));
generator.setDescription(doc->GetDescription().toHtmlEscaped());
generator.setResolution(static_cast<int>(PrintDPI));
@ -1200,6 +1232,7 @@ void MainWindowsNoGUI::SvgFile(const QString &name, QGraphicsRectItem *paper, QG
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::black, qApp->Settings()->WidthHairLine(), Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
painter.setBrush ( QBrush ( Qt::NoBrush ) );
painter.scale(m_dialogSaveLayout->GetXScale(), m_dialogSaveLayout->GetYScale());
scene->render(&painter, r, r, Qt::IgnoreAspectRatio);
painter.end();
}
@ -1214,8 +1247,8 @@ void MainWindowsNoGUI::PngFile(const QString &name, QGraphicsRectItem *paper, QG
{
const QRectF r = paper->rect();
// Create the image with the exact size of the shrunk scene
QImage image(QSize(qFloor(r.width() + margins.left() + margins.right()),
qFloor(r.height() + margins.top() + margins.bottom())),
QImage image(QSize(qFloor(r.width() * m_dialogSaveLayout->GetXScale() + margins.left() + margins.right()),
qFloor(r.height() * m_dialogSaveLayout->GetYScale() + margins.top() + margins.bottom())),
QImage::Format_ARGB32);
image.fill(Qt::white);
QPainter painter(&image);
@ -1223,6 +1256,7 @@ void MainWindowsNoGUI::PngFile(const QString &name, QGraphicsRectItem *paper, QG
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::black, qApp->Settings()->WidthMainLine(), Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
painter.setBrush ( QBrush ( Qt::NoBrush ) );
painter.scale(m_dialogSaveLayout->GetXScale(), m_dialogSaveLayout->GetYScale());
scene->render(&painter, r, r, Qt::IgnoreAspectRatio);
image.save(name);
}
@ -1245,9 +1279,11 @@ void MainWindowsNoGUI::PdfFile(const QString &name, QGraphicsRectItem *paper, QG
printer.setResolution(static_cast<int>(PrintDPI));
printer.setOrientation(QPrinter::Portrait);
printer.setFullPage(ignorePrinterFields);
if (not printer.setPageSize(QPageSize(QSizeF(FromPixel(r.width() + margins.left() + margins.right(), Unit::Mm),
FromPixel(r.height() + margins.top() + margins.bottom(), Unit::Mm)),
QPageSize::Millimeter)))
qreal width = FromPixel(r.width() * m_dialogSaveLayout->GetXScale() + margins.left() + margins.right(), Unit::Mm);
qreal height = FromPixel(r.height() * m_dialogSaveLayout->GetYScale() + margins.top() + margins.bottom(), Unit::Mm);
if (not printer.setPageSize(QPageSize(QSizeF(width, height), QPageSize::Millimeter)))
{
qWarning() << tr("Cannot set printer page size");
}
@ -1272,6 +1308,7 @@ void MainWindowsNoGUI::PdfFile(const QString &name, QGraphicsRectItem *paper, QG
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::black, qApp->Settings()->WidthMainLine(), Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
painter.setBrush ( QBrush ( Qt::NoBrush ) );
painter.scale(m_dialogSaveLayout->GetXScale(), m_dialogSaveLayout->GetYScale());
scene->render(&painter, r, r, Qt::IgnoreAspectRatio);
painter.end();
}
@ -1297,6 +1334,9 @@ void MainWindowsNoGUI::PdfTiledFile(const QString &name)
qWarning()<<tr("Pages will be cropped because they do not fit printer paper size.");
}
m_xscale = m_dialogSaveLayout->GetXScale();
m_yscale = m_dialogSaveLayout->GetYScale();
printer.setOutputFileName(name);
printer.setResolution(static_cast<int>(PrintDPI));
PrintPages(&printer);
@ -1395,7 +1435,11 @@ void MainWindowsNoGUI::FlatDxfFile(const QString &name, int version, bool binary
PrepareTextForDXF(endStringPlaceholder, details);
VDxfPaintDevice generator;
generator.setFileName(name);
generator.setSize(paper->rect().size().toSize());
const QRectF r = paper->rect();
generator.setSize(QSize(qFloor(r.width() * m_dialogSaveLayout->GetXScale()),
qFloor(r.height() * m_dialogSaveLayout->GetYScale())));
generator.setResolution(PrintDPI);
generator.SetVersion(static_cast<DRW::Version>(version));
generator.SetBinaryFormat(binary);
@ -1404,6 +1448,7 @@ void MainWindowsNoGUI::FlatDxfFile(const QString &name, int version, bool binary
QPainter painter;
if (painter.begin(&generator))
{
painter.scale(m_dialogSaveLayout->GetXScale(), m_dialogSaveLayout->GetYScale());
scene->render(&painter, paper->rect(), paper->rect(), Qt::IgnoreAspectRatio);
painter.end();
}
@ -1413,6 +1458,23 @@ void MainWindowsNoGUI::FlatDxfFile(const QString &name, int version, bool binary
//---------------------------------------------------------------------------------------------------------------------
void MainWindowsNoGUI::AAMADxfFile(const QString &name, int version, bool binary, const QSize &size,
const QVector<VLayoutPiece> &details) const
{
VDxfPaintDevice generator;
generator.setFileName(name);
generator.setSize(QSize(qCeil(size.width() * m_dialogSaveLayout->GetXScale()),
qCeil(size.height() * m_dialogSaveLayout->GetYScale())));
generator.setResolution(PrintDPI);
generator.SetVersion(static_cast<DRW::Version>(version));
generator.SetBinaryFormat(binary);
generator.setInsunits(VarInsunits::Millimeters);// Decided to always use mm. See issue #745
generator.SetXScale(m_dialogSaveLayout->GetXScale());
generator.SetYScale(m_dialogSaveLayout->GetYScale());
generator.ExportToAAMA(details);
}
//---------------------------------------------------------------------------------------------------------------------
void MainWindowsNoGUI::ASTMDxfFile(const QString &name, int version, bool binary, const QSize &size,
const QVector<VLayoutPiece> &details) const
{
VDxfPaintDevice generator;
generator.setFileName(name);
@ -1421,7 +1483,9 @@ void MainWindowsNoGUI::AAMADxfFile(const QString &name, int version, bool binary
generator.SetVersion(static_cast<DRW::Version>(version));
generator.SetBinaryFormat(binary);
generator.setInsunits(VarInsunits::Millimeters);// Decided to always use mm. See issue #745
generator.ExportToAAMA(details);
generator.SetXScale(m_dialogSaveLayout->GetXScale());
generator.SetYScale(m_dialogSaveLayout->GetYScale());
generator.ExportToASTM(details);
}
QT_WARNING_POP
@ -1437,6 +1501,17 @@ void MainWindowsNoGUI::PreparePaper(int index) const
shadows.at(index)->setVisible(false);
paper->setPen(QPen(Qt::white, 0.1, Qt::NoPen));// border
}
QTransform matrix;
matrix.scale(m_xscale, m_yscale);
QList<QGraphicsItem *> paperDetails = details.at(index);
for (auto detail : paperDetails)
{
QTransform m = detail->transform();
m *= matrix;
detail->setTransform(m);
}
}
//---------------------------------------------------------------------------------------------------------------------
@ -1451,6 +1526,17 @@ void MainWindowsNoGUI::RestorePaper(int index) const
scenes.at(index)->setBackgroundBrush(brush);
shadows.at(index)->setVisible(true);
}
QTransform matrix;
matrix.scale(1./m_xscale, 1./m_yscale);
QList<QGraphicsItem *> paperDetails = details.at(index);
for (auto detail : paperDetails)
{
QTransform m = detail->transform();
m *= matrix;
detail->setTransform(m);
}
}
//---------------------------------------------------------------------------------------------------------------------
@ -1541,8 +1627,19 @@ void MainWindowsNoGUI::PrintPreview()
return;
}
{
DialogLayoutScale layoutScale(isTiled, this);
layoutScale.SetXScale(1);
layoutScale.SetYScale(1);
layoutScale.exec();
m_xscale = layoutScale.GetXScale();
m_yscale = layoutScale.GetYScale();
}
SetPrinterSettings(printer.data(), PrintType::PrintPreview);
printer->setResolution(static_cast<int>(PrintDPI));
// display print preview dialog
QPrintPreviewDialog preview(printer.data());
connect(&preview, &QPrintPreviewDialog::paintRequested, this, &MainWindowsNoGUI::PrintPages);
@ -1573,6 +1670,16 @@ void MainWindowsNoGUI::LayoutPrint()
return;
}
{
DialogLayoutScale layoutScale(isTiled, this);
layoutScale.SetXScale(1);
layoutScale.SetYScale(1);
layoutScale.exec();
m_xscale = layoutScale.GetXScale();
m_yscale = layoutScale.GetYScale();
}
SetPrinterSettings(printer.data(), PrintType::PrintNative);
QPrintDialog dialog(printer.data(), this );
// If only user couldn't change page margins we could use method setMinMax();

View file

@ -162,6 +162,9 @@ private:
QString layoutPrinterName;
qreal m_xscale{1};
qreal m_yscale{1};
static QList<QGraphicsItem *> CreateShadows(const QList<QGraphicsItem *> &papers);
static QList<QGraphicsScene *> CreateScenes(const QList<QGraphicsItem *> &papers,
const QList<QGraphicsItem *> &shadows,
@ -182,6 +185,8 @@ private:
const QList<QList<QGraphicsItem *> > &details)const;
void AAMADxfFile(const QString &name, int version, bool binary, const QSize &size,
const QVector<VLayoutPiece> &details) const;
void ASTMDxfFile(const QString &name, int version, bool binary, const QSize &size,
const QVector<VLayoutPiece> &details) const;
void PreparePaper(int index) const;
void RestorePaper(int index) const;

View file

@ -3450,6 +3450,22 @@ void VPattern::GarbageCollector(bool commit)
{
modElement.removeChild(modNode);
cleared = true;
// Clear history
try
{
vidtype id = GetParametrId(modNode);
auto record = std::find_if(history.begin(), history.end(),
[id](const VToolRecord &record) { return record.getId() == id; });
if (record != history.end())
{
history.erase(record);
}
}
catch(const VExceptionWrongId &)
{
// do nothing
}
}
}
}

View file

@ -58,6 +58,7 @@
<file>schema/pattern/v0.8.4.xsd</file>
<file>schema/pattern/v0.8.5.xsd</file>
<file>schema/pattern/v0.8.6.xsd</file>
<file>schema/pattern/v0.8.7.xsd</file>
<file>schema/standard_measurements/v0.3.0.xsd</file>
<file>schema/standard_measurements/v0.4.0.xsd</file>
<file>schema/standard_measurements/v0.4.1.xsd</file>

File diff suppressed because it is too large Load diff

View file

@ -135,7 +135,8 @@ const QString VAbstractPattern::AttrNumber = QStringLiteral("number")
const QString VAbstractPattern::AttrCheckUniqueness = QStringLiteral("checkUniqueness");
const QString VAbstractPattern::AttrManualPassmarkLength = QStringLiteral("manualPassmarkLength");
const QString VAbstractPattern::AttrPassmarkLength = QStringLiteral("passmarkLength");
const QString VAbstractPattern::AttrOpacity = QStringLiteral("opacity");
const QString VAbstractPattern::AttrOpacity = QStringLiteral("opacity");
const QString VAbstractPattern::AttrTags = QStringLiteral("tags");
const QString VAbstractPattern::AttrAll = QStringLiteral("all");
@ -283,6 +284,17 @@ QMap<int, QString> AdjustMaterials(QMap<int, QString> materials)
return materials;
}
//---------------------------------------------------------------------------------------------------------------------
QString PrepareGroupTags(QStringList tags)
{
for (auto &tag : tags)
{
tag = tag.simplified();
}
return ConvertToList(ConvertToSet<QString>(tags)).join(',');
}
}
//---------------------------------------------------------------------------------------------------------------------
@ -1730,6 +1742,12 @@ void VAbstractPattern::SelectedDetail(quint32 id)
emit ShowDetail(id);
}
//---------------------------------------------------------------------------------------------------------------------
void VAbstractPattern::UpdateVisiblityGroups()
{
emit UpdateGroups();
}
//---------------------------------------------------------------------------------------------------------------------
void VAbstractPattern::ToolExists(const quint32 &id)
{
@ -2422,17 +2440,22 @@ QDomElement VAbstractPattern::CreateGroups()
}
//---------------------------------------------------------------------------------------------------------------------
QDomElement VAbstractPattern::CreateGroup(quint32 id, const QString &name, const QMap<quint32, quint32> &groupData)
QDomElement VAbstractPattern::CreateGroup(quint32 id, const QString &name, const QStringList &tags,
const QMap<quint32, quint32> &groupData, vidtype tool)
{
if (id == NULL_ID || groupData.isEmpty())
{
return QDomElement();
}
const QString preparedTags = PrepareGroupTags(tags);
QDomElement group = createElement(TagGroup);
SetAttribute(group, AttrId, id);
SetAttribute(group, AttrName, name);
SetAttribute(group, AttrVisible, true);
SetAttributeOrRemoveIf(group, AttrTool, tool, tool == null_id);
SetAttributeOrRemoveIf(group, AttrTags, preparedTags, preparedTags.isEmpty());
auto i = groupData.constBegin();
while (i != groupData.constEnd())
@ -2446,73 +2469,102 @@ QDomElement VAbstractPattern::CreateGroup(quint32 id, const QString &name, const
return group;
}
//---------------------------------------------------------------------------------------------------------------------
vidtype VAbstractPattern::GroupLinkedToTool(vidtype toolId) const
{
const QDomNodeList groups = elementsByTagName(TagGroup);
for (int i=0; i < groups.size(); ++i)
{
const QDomElement group = groups.at(i).toElement();
if (not group.isNull() && group.hasAttribute(AttrTool))
{
const quint32 id = GetParametrUInt(group, AttrTool, NULL_ID_STR);
if (toolId == id)
{
return GetParametrUInt(group, AttrId, NULL_ID_STR);
}
}
}
return null_id;
}
//---------------------------------------------------------------------------------------------------------------------
QString VAbstractPattern::GetGroupName(quint32 id)
{
QString name = tr("New group");
QDomElement groups = CreateGroups();
if (not groups.isNull())
QDomElement group = elementById(id, TagGroup);
if (group.isElement())
{
QDomElement group = elementById(id, TagGroup);
if (group.isElement())
{
name = GetParametrString(group, AttrName, name);
return name;
}
else
{
if (groups.childNodes().isEmpty())
{
QDomNode parent = groups.parentNode();
parent.removeChild(groups);
}
name = GetParametrString(group, AttrName, name);
qDebug("Can't get group by id = %u.", id);
return name;
}
}
else
{
qDebug("Can't get tag Groups.");
return name;
}
return name;
}
//---------------------------------------------------------------------------------------------------------------------
void VAbstractPattern::SetGroupName(quint32 id, const QString &name)
{
QDomElement groups = CreateGroups();
if (not groups.isNull())
QDomElement group = elementById(id, TagGroup);
if (group.isElement())
{
QDomElement group = elementById(id, TagGroup);
if (group.isElement())
{
group.setAttribute(AttrName, name);
modified = true;
emit patternChanged(false);
}
else
{
if (groups.childNodes().isEmpty())
{
QDomNode parent = groups.parentNode();
parent.removeChild(groups);
}
qDebug("Can't get group by id = %u.", id);
}
}
else
{
qDebug("Can't get tag Groups.");
group.setAttribute(AttrName, name);
modified = true;
emit patternChanged(false);
}
}
//---------------------------------------------------------------------------------------------------------------------
QMap<quint32, QPair<QString, bool> > VAbstractPattern::GetGroups()
QStringList VAbstractPattern::GetGroupTags(vidtype id)
{
QMap<quint32, QPair<QString, bool> > data;
QStringList tags;
QDomElement group = elementById(id, TagGroup);
if (group.isElement())
{
tags = FilterGroupTags(GetParametrEmptyString(group, AttrTags));
}
return tags;
}
//---------------------------------------------------------------------------------------------------------------------
void VAbstractPattern::SetGroupTags(quint32 id, const QStringList &tags)
{
QDomElement group = elementById(id, TagGroup);
if (group.isElement())
{
const QString rawTags = tags.join(',');
SetAttributeOrRemoveIf(group, AttrTags, rawTags, rawTags.isEmpty());
modified = true;
emit patternChanged(false);
}
}
//---------------------------------------------------------------------------------------------------------------------
QStringList VAbstractPattern::GetGroupCategories() const
{
QSet<QString> categories;
const QDomNodeList groups = elementsByTagName(TagGroup);
for (int i=0; i < groups.size(); ++i)
{
const QDomElement group = groups.at(i).toElement();
if (not group.isNull() && group.hasAttribute(AttrTags))
{
QStringList groupTags = VAbstractPattern::FilterGroupTags(GetParametrEmptyString(group, AttrTags));
categories.unite(ConvertToSet<QString>(groupTags));
}
}
return ConvertToList(categories);
}
//---------------------------------------------------------------------------------------------------------------------
QMap<quint32, VGroupData> VAbstractPattern::GetGroups()
{
QMap<quint32, VGroupData> data;
try
{
@ -2529,11 +2581,13 @@ QMap<quint32, QPair<QString, bool> > VAbstractPattern::GetGroups()
{
if (group.tagName() == TagGroup)
{
VGroupData groupData;
const quint32 id = GetParametrUInt(group, AttrId, QChar('0'));
const bool visible = GetParametrBool(group, AttrVisible, trueStr);
const QString name = GetParametrString(group, AttrName, tr("New group"));
groupData.visible = GetParametrBool(group, AttrVisible, trueStr);
groupData.name = GetParametrString(group, AttrName, tr("New group"));
groupData.tags = FilterGroupTags(GetParametrEmptyString(group, AttrTags));
data.insert(id, qMakePair(name, visible));
data.insert(id, groupData);
}
}
}
@ -2547,7 +2601,7 @@ QMap<quint32, QPair<QString, bool> > VAbstractPattern::GetGroups()
}
catch (const VExceptionConversionError &)
{
return QMap<quint32, QPair<QString, bool> >();
return QMap<quint32, VGroupData>();
}
return data;
@ -2804,3 +2858,22 @@ QString VAbstractPattern::PieceDrawName(quint32 id)
return draw.attribute(VAbstractPattern::AttrName);
}
//---------------------------------------------------------------------------------------------------------------------
QStringList VAbstractPattern::FilterGroupTags(const QString &tags)
{
if (tags.isEmpty())
{
return QStringList();
}
QStringList list = tags.split(',');
for (auto &tag : list)
{
tag = tag.simplified();
}
list.removeAll("");
return ConvertToList(ConvertToSet<QString>(list));
}

View file

@ -78,6 +78,13 @@ struct VFinalMeasurement
QString description;
};
struct VGroupData
{
QString name{};
bool visible{true};
QStringList tags{};
};
QT_WARNING_POP
class VAbstractPattern : public VDomDocument
@ -200,16 +207,27 @@ public:
void ParseGroups(const QDomElement &domElement);
QDomElement CreateGroups();
QDomElement CreateGroup(quint32 id, const QString &name, const QMap<quint32, quint32> &groupData);
QDomElement CreateGroup(quint32 id, const QString &name, const QStringList &tags,
const QMap<quint32, quint32> &groupData, vidtype tool=null_id);
vidtype GroupLinkedToTool(vidtype toolId) const;
QString GetGroupName(quint32 id);
void SetGroupName(quint32 id, const QString &name);
QMap<quint32, QPair<QString, bool> > GetGroups();
QStringList GetGroupTags(vidtype id);
void SetGroupTags(quint32 id, const QStringList &tags);
QStringList GetGroupCategories() const;
QMap<quint32, VGroupData> GetGroups();
QMap<quint32, QString> GetGroupsContainingItem(quint32 toolId, quint32 objectId, bool containItem);
QDomElement AddItemToGroup(quint32 toolId, quint32 objectId, quint32 groupId);
QDomElement RemoveItemFromGroup(quint32 toolId, quint32 objectId, quint32 groupId);
bool GroupIsEmpty(quint32 id);
bool GetGroupVisibility(quint32 id);
static QStringList FilterGroupTags(const QString &tags);
QString PieceDrawName(quint32 id);
static const QString TagPattern;
@ -288,6 +306,7 @@ public:
static const QString AttrManualPassmarkLength;
static const QString AttrPassmarkLength;
static const QString AttrOpacity;
static const QString AttrTags;
static const QString AttrAll;
@ -404,7 +423,8 @@ signals:
/**
* @brief UpdateGroups emit if the groups have been updated
*/
void UpdateGroups();
void UpdateGroups();
void UpdateToolTip();
public slots:
virtual void LiteParseTree(const Document &parse)=0;
@ -413,6 +433,7 @@ public slots:
void ClearScene();
void CheckInLayoutList();
void SelectedDetail(quint32 id);
void UpdateVisiblityGroups();
protected:
/** @brief nameActivDraw name current pattern peace. */

View file

@ -264,7 +264,7 @@ VDomDocument::~VDomDocument()
}
//---------------------------------------------------------------------------------------------------------------------
QDomElement VDomDocument::elementById(quint32 id, const QString &tagName)
QDomElement VDomDocument::elementById(quint32 id, const QString &tagName, bool updateCache)
{
if (id == 0)
{
@ -273,16 +273,27 @@ QDomElement VDomDocument::elementById(quint32 id, const QString &tagName)
if (m_elementIdCache.contains(id))
{
const QDomElement e = m_elementIdCache.value(id);
if (e.parentNode().nodeType() != QDomNode::BaseNode)
{
return e;
}
m_elementIdCache.remove(id);
const QDomElement e = m_elementIdCache.value(id);
if (e.parentNode().nodeType() != QDomNode::BaseNode)
{
if (not tagName.isEmpty())
{
if (e.tagName() == tagName)
{
return e;
}
}
else
{
return e;
}
}
}
// Cached missed
RefreshElementIdCache();
if (updateCache)
{ // Cached missed
RefreshElementIdCache();
}
if (tagName.isEmpty())
{
@ -290,10 +301,8 @@ QDomElement VDomDocument::elementById(quint32 id, const QString &tagName)
QHash<quint32, QDomElement> tmpCache;
if (VDomDocument::find(tmpCache, this->documentElement(), id))
{
m_elementIdCache = tmpCache;
return m_elementIdCache.value(id);
return tmpCache.value(id);
}
m_elementIdCache = tmpCache;
}
else
{
@ -305,7 +314,6 @@ QDomElement VDomDocument::elementById(quint32 id, const QString &tagName)
{
const quint32 elementId = GetParametrUInt(domElement, AttrId, NULL_ID_STR);
m_elementIdCache.insert(elementId, domElement);
if (elementId == id)
{
return domElement;

View file

@ -96,7 +96,7 @@ public:
explicit VDomDocument(QObject *parent = nullptr);
virtual ~VDomDocument();
QDomElement elementById(quint32 id, const QString &tagName = QString());
QDomElement elementById(quint32 id, const QString &tagName = QString(), bool updateCache=true);
template <typename T>
void SetAttribute(QDomElement &domElement, const QString &name, const T &value) const;

View file

@ -59,8 +59,8 @@ class QDomElement;
*/
const QString VPatternConverter::PatternMinVerStr = QStringLiteral("0.1.4");
const QString VPatternConverter::PatternMaxVerStr = QStringLiteral("0.8.6");
const QString VPatternConverter::CurrentSchema = QStringLiteral("://schema/pattern/v0.8.6.xsd");
const QString VPatternConverter::PatternMaxVerStr = QStringLiteral("0.8.7");
const QString VPatternConverter::CurrentSchema = QStringLiteral("://schema/pattern/v0.8.7.xsd");
//VPatternConverter::PatternMinVer; // <== DON'T FORGET TO UPDATE TOO!!!!
//VPatternConverter::PatternMaxVer; // <== DON'T FORGET TO UPDATE TOO!!!!
@ -236,7 +236,8 @@ QString VPatternConverter::XSDSchema(int ver) const
std::make_pair(FORMAT_VERSION(0, 8, 3), QStringLiteral("://schema/pattern/v0.8.3.xsd")),
std::make_pair(FORMAT_VERSION(0, 8, 4), QStringLiteral("://schema/pattern/v0.8.4.xsd")),
std::make_pair(FORMAT_VERSION(0, 8, 5), QStringLiteral("://schema/pattern/v0.8.5.xsd")),
std::make_pair(FORMAT_VERSION(0, 8, 6), CurrentSchema)
std::make_pair(FORMAT_VERSION(0, 8, 6), QStringLiteral("://schema/pattern/v0.8.6.xsd")),
std::make_pair(FORMAT_VERSION(0, 8, 7), CurrentSchema)
};
if (schemas.contains(ver))
@ -481,6 +482,10 @@ void VPatternConverter::ApplyPatches()
ValidateXML(XSDSchema(FORMAT_VERSION(0, 8, 6)));
Q_FALLTHROUGH();
case (FORMAT_VERSION(0, 8, 6)):
ToV0_8_7();
ValidateXML(XSDSchema(FORMAT_VERSION(0, 8, 7)));
Q_FALLTHROUGH();
case (FORMAT_VERSION(0, 8, 7)):
break;
default:
InvalidVersion(m_ver);
@ -498,7 +503,7 @@ void VPatternConverter::DowngradeToCurrentMaxVersion()
bool VPatternConverter::IsReadOnly() const
{
// Check if attribute readOnly was not changed in file format
Q_STATIC_ASSERT_X(VPatternConverter::PatternMaxVer == FORMAT_VERSION(0, 8, 6),
Q_STATIC_ASSERT_X(VPatternConverter::PatternMaxVer == FORMAT_VERSION(0, 8, 7),
"Check attribute readOnly.");
// Possibly in future attribute readOnly will change position etc.
@ -1128,6 +1133,16 @@ void VPatternConverter::ToV0_8_6()
Save();
}
//---------------------------------------------------------------------------------------------------------------------
void VPatternConverter::ToV0_8_7()
{
// TODO. Delete if minimal supported version is 0.8.7
Q_STATIC_ASSERT_X(VPatternConverter::PatternMinVer < FORMAT_VERSION(0, 8, 7),
"Time to refactor the code.");
SetVersion(QStringLiteral("0.8.7"));
Save();
}
//---------------------------------------------------------------------------------------------------------------------
void VPatternConverter::TagUnitToV0_2_0()
{

View file

@ -53,7 +53,7 @@ public:
static const QString PatternMaxVerStr;
static const QString CurrentSchema;
static Q_DECL_CONSTEXPR const int PatternMinVer = FORMAT_VERSION(0, 1, 4);
static Q_DECL_CONSTEXPR const int PatternMaxVer = FORMAT_VERSION(0, 8, 6);
static Q_DECL_CONSTEXPR const int PatternMaxVer = FORMAT_VERSION(0, 8, 7);
protected:
virtual int MinVer() const override;
@ -129,6 +129,7 @@ private:
void ToV0_8_4();
void ToV0_8_5();
void ToV0_8_6();
void ToV0_8_7();
void TagUnitToV0_2_0();
void TagIncrementToV0_2_0();

View file

@ -43,9 +43,12 @@ bool dx_iface::fileExport(bool binary)
void dx_iface::writeEntity(DRW_Entity* e){
switch (e->eType) {
case DRW::POINT:
case DRW::POINT:
dxfW->writePoint(static_cast<DRW_Point*>(e));
break;
case DRW::ASTMNOTCH:
dxfW->writeASTMNotch(static_cast<DRW_ASTMNotch*>(e));
break;
case DRW::LINE:
dxfW->writeLine(static_cast<DRW_Line*>(e));
break;
@ -283,6 +286,107 @@ void dx_iface::AddAAMAHeaderData()
cData.headerC.addStr("$CLAYER", "1", 8); // Current layer name
}
void dx_iface::AddASTMLayers()
{
DRW_Layer layer;
layer.name = '1';// piece boundary
layer.color = DRW::black;
cData.layers.push_back(layer);
// Do not support
// layer.name = '2';// turn points
// layer.color = DRW::black;
// cData.layers.push_back(layer);
// Do not support
// layer.name = '3';// curve points
// layer.color = DRW::black;
// cData.layers.push_back(layer);
layer.name = '4';// V-notch and slit notch
layer.color = DRW::black;
cData.layers.push_back(layer);
// Do not support
// layer.name = '5';// grade reference and alternate grade reference line(s)
// layer.color = DRW::black;
// cData.layers.push_back(layer);
// Do not support
// layer.name = '6';// mirror line
// layer.color = DRW::black;
// cData.layers.push_back(layer);
layer.name = '7';// grainline
layer.color = DRW::black;
cData.layers.push_back(layer);
layer.name = '8';// internal line(s)
layer.color = DRW::black;
cData.layers.push_back(layer);
// Do not support
// layer.name = '9';// stripe reference line(s)
// layer.color = DRW::black;
// cData.layers.push_back(layer);
// Do not support
// layer.name = '10';// plaid reference line(s)
// layer.color = DRW::black;
// cData.layers.push_back(layer);
layer.name = "11";// internal cutout(s)
layer.color = DRW::black;
cData.layers.push_back(layer);
// Layer 12 intentionally left blank by the standard
layer.name = "13";// drill holes
layer.color = DRW::black;
cData.layers.push_back(layer);
layer.name = "14";// sew line(s)
layer.color = DRW::black;
cData.layers.push_back(layer);
layer.name = "15";// annotation text
layer.color = DRW::black;
cData.layers.push_back(layer);
layer.name = "80";// T-notch
layer.color = DRW::black;
cData.layers.push_back(layer);
layer.name = "81";// castle notch
layer.color = DRW::black;
cData.layers.push_back(layer);
layer.name = "82";// check notch
layer.color = DRW::black;
cData.layers.push_back(layer);
layer.name = "83";// U-notch
layer.color = DRW::black;
cData.layers.push_back(layer);
layer.name = "84";// piece boundary quality validation curves
layer.color = DRW::black;
cData.layers.push_back(layer);
layer.name = "85";// internal lines quality validation curves
layer.color = DRW::black;
cData.layers.push_back(layer);
layer.name = "86";// internal cutouts quality validation curves
layer.color = DRW::black;
cData.layers.push_back(layer);
layer.name = "87";// sew lines quality validation curves
layer.color = DRW::black;
cData.layers.push_back(layer);
}
void dx_iface::AddDefLayers()
{
DRW_Layer defLayer;

View file

@ -124,6 +124,7 @@ public:
void AddDefLayers();
void AddAAMALayers();
void AddAAMAHeaderData();
void AddASTMLayers();
private:
Q_DISABLE_COPY(dx_iface)

View file

@ -224,6 +224,18 @@ void DRW_Point::parseCode(int code, dxfReader *reader){
}
}
void DRW_ASTMNotch::parseCode(int code, dxfReader *reader)
{
switch (code) {
case 50:
angle = reader->getDouble();
break;
default:
DRW_Point::parseCode(code, reader);
break;
}
}
void DRW_Line::parseCode(int code, dxfReader *reader){
switch (code) {
case 11:

Some files were not shown because too many files have changed in this diff Show more