summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiam P. White <inkscapebrony@gmail.com>2014-11-09 05:13:46 +0000
committerLiam P. White <inkscapebrony@gmail.com>2014-11-09 05:13:46 +0000
commit4b236f3f1e3fe5374e18dac9e6c35567d9dc0995 (patch)
treed6a8f361b37294feb8da05c2ce61271e5137a237
parentRemove FIXME from refactoring (diff)
parentFix bug in previous commit. Add test against it (diff)
downloadinkscape-4b236f3f1e3fe5374e18dac9e6c35567d9dc0995.tar.gz
inkscape-4b236f3f1e3fe5374e18dac9e6c35567d9dc0995.zip
Update to trunk r13690
(bzr r13341.5.22)
-rw-r--r--Makefile.am1
-rw-r--r--build.xml3
-rw-r--r--packaging/macosx/dmg_background.pngbin24536 -> 23997 bytes
-rw-r--r--packaging/macosx/dmg_background.svg20
-rw-r--r--po/inkscape.pot5899
-rwxr-xr-x[-rw-r--r--]po/sk.po643
-rw-r--r--share/extensions/dimension.inx2
-rw-r--r--share/extensions/dpiswitcher.inx21
-rw-r--r--share/extensions/dpiswitcher.py148
-rw-r--r--share/extensions/dxf_input.inx2
-rwxr-xr-xshare/extensions/dxf_input.py8
-rw-r--r--share/extensions/dxf_outlines.inx16
-rwxr-xr-xshare/extensions/dxf_outlines.py4
-rw-r--r--share/extensions/gimp_xcf.inx2
-rwxr-xr-xshare/extensions/gimp_xcf.py2
-rw-r--r--share/extensions/layout_nup.inx4
-rwxr-xr-xshare/extensions/layout_nup_pageframe.py2
-rwxr-xr-xshare/extensions/perfectboundcover.py2
-rw-r--r--share/extensions/print_win32_vector.py2
-rwxr-xr-xshare/extensions/svg2fxg.xsl12
-rwxr-xr-xshare/extensions/svg2xaml.xsl12
-rwxr-xr-xshare/extensions/synfig_prepare.py10
-rw-r--r--share/extensions/test/svg/default-inkscape-SVG.svg4
-rw-r--r--share/extensions/test/svg/default-plain-SVG.svg4
-rw-r--r--share/extensions/test/svg/empty-SVG.svg4
-rw-r--r--share/extensions/webslicer_create_rect.inx2
-rw-r--r--share/symbols/MapSymbolsNPS.svg4
-rw-r--r--share/templates/default_pt.svg2
-rw-r--r--share/templates/default_px.svg5
-rw-r--r--src/display/drawing-pattern.cpp4
-rw-r--r--src/extension/internal/cairo-ps-out.cpp4
-rw-r--r--src/extension/internal/cairo-render-context.cpp6
-rw-r--r--src/extension/internal/cairo-renderer-pdf-out.cpp2
-rw-r--r--src/extension/internal/cairo-renderer.cpp2
-rw-r--r--src/extension/param/radiobutton.cpp2
-rw-r--r--src/live_effects/effect.cpp35
-rw-r--r--src/live_effects/effect.h8
-rw-r--r--src/live_effects/lpe-bspline.cpp156
-rw-r--r--src/live_effects/lpe-bspline.h8
-rw-r--r--src/live_effects/lpe-fillet-chamfer.cpp120
-rw-r--r--src/live_effects/lpe-fillet-chamfer.h3
-rw-r--r--src/live_effects/lpe-lattice2.cpp2
-rw-r--r--src/live_effects/lpe-perspective-envelope.cpp6
-rw-r--r--src/live_effects/lpe-powerstroke.cpp2
-rw-r--r--src/live_effects/lpe-roughen.cpp29
-rw-r--r--src/live_effects/lpe-roughen.h2
-rw-r--r--src/live_effects/lpe-simplify.cpp4
-rw-r--r--src/live_effects/parameter/filletchamferpointarray.cpp42
-rw-r--r--src/live_effects/parameter/filletchamferpointarray.h2
-rw-r--r--src/live_effects/parameter/parameter.cpp2
-rw-r--r--src/main.cpp8
-rw-r--r--src/selection-chemistry.cpp9
-rw-r--r--src/sp-filter.cpp4
-rw-r--r--src/sp-item.cpp101
-rw-r--r--src/sp-item.h150
-rw-r--r--src/style-test.h28
-rw-r--r--src/style.cpp39
-rw-r--r--src/style.h1
-rw-r--r--src/svg/svg-affine-test.h7
-rw-r--r--src/svg/svg-affine.cpp157
-rw-r--r--src/svg/svg-angle.cpp4
-rw-r--r--src/svg/svg-length-test.h14
-rw-r--r--src/ui/dialog/Makefile_insert2
-rw-r--r--src/ui/dialog/export.cpp2
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp5
-rw-r--r--src/ui/dialog/lpe-fillet-chamfer-properties.cpp32
-rw-r--r--src/ui/dialog/lpe-fillet-chamfer-properties.h3
-rw-r--r--src/ui/dialog/lpe-powerstroke-properties.cpp2
-rw-r--r--src/ui/dialog/objects.cpp2
-rw-r--r--src/ui/dialog/tags.cpp7
-rw-r--r--src/ui/tool/path-manipulator.cpp5
-rw-r--r--src/ui/tools/node-tool.cpp10
-rw-r--r--src/ui/tools/select-tool.cpp2
-rw-r--r--src/ui/widget/addtoicon.cpp13
-rw-r--r--src/ui/widget/clipmaskicon.cpp13
-rw-r--r--src/ui/widget/highlight-picker.cpp13
-rw-r--r--src/ui/widget/insertordericon.cpp13
-rw-r--r--src/ui/widget/registered-widget.cpp2
78 files changed, 4468 insertions, 3461 deletions
diff --git a/Makefile.am b/Makefile.am
index 7745f0dc3..fb1bfa126 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -122,7 +122,6 @@ EXTRA_DIST = \
packaging/macosx/Resources/application-vnd.wordperfect-graphic.icns \
packaging/macosx/Resources/bin/gimp-wrapper.sh \
packaging/macosx/Resources/bin/inkscape \
- packaging/macosx/Resources/bin/python-wrapper.sh \
packaging/macosx/Resources/etc/fonts/fonts.conf \
packaging/macosx/Resources/etc/gtk-2.0/gtkrc \
packaging/macosx/Resources/image-svg+xml-compressed.icns \
diff --git a/build.xml b/build.xml
index 6f3324752..dd3bf0942 100644
--- a/build.xml
+++ b/build.xml
@@ -836,7 +836,8 @@
-->
<target name="check" depends="linkcxxtests,distbase"
description="perform unit tests">
- <cxxtestrun command="${build}/cxxtests" workingdir="${dist}" />
+ <copy todir="${dist}" file="${build}/cxxtests.exe"/>
+ <cxxtestrun command="${dist}/cxxtests" workingdir="${dist}" />
</target>
<!--
diff --git a/packaging/macosx/dmg_background.png b/packaging/macosx/dmg_background.png
index 0ee039718..cbb27c341 100644
--- a/packaging/macosx/dmg_background.png
+++ b/packaging/macosx/dmg_background.png
Binary files differ
diff --git a/packaging/macosx/dmg_background.svg b/packaging/macosx/dmg_background.svg
index a62beb370..650069fbd 100644
--- a/packaging/macosx/dmg_background.svg
+++ b/packaging/macosx/dmg_background.svg
@@ -14,7 +14,7 @@
height="800"
id="svg13532"
version="1.1"
- inkscape:version="0.91pre2 r13554 custom"
+ inkscape:version="0.91+devel r13674"
viewBox="0 0 1280 800"
sodipodi:docname="dmg_background.svg">
<defs
@@ -562,9 +562,9 @@
borderopacity="1"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="1655"
- inkscape:cy="550"
+ inkscape:zoom="0.70710678"
+ inkscape:cx="1680"
+ inkscape:cy="533.33334"
inkscape:document-units="px"
inkscape:current-layer="layer5"
showgrid="false"
@@ -575,7 +575,7 @@
inkscape:window-width="1163"
inkscape:window-height="742"
inkscape:window-x="53"
- inkscape:window-y="0"
+ inkscape:window-y="22"
inkscape:window-maximized="0"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
@@ -986,15 +986,15 @@
sodipodi:role="line">Inkscape is Free and Open Source Software licensed under the GPL.</tspan></text>
<text
xml:space="preserve"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- x="376.46323"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="459"
y="141.78999"
id="text4804"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4806"
- x="376.46323"
- y="141.78999">Inkscape 0.91pre2 custom</tspan></text>
+ x="459"
+ y="141.78999">Inkscape 0.91+devel</tspan></text>
<path
sodipodi:nodetypes="cccccccc"
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.8258427;fill:url(#linearGradient3762);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none"
@@ -1008,7 +1008,7 @@
y="0"
xlink:href="#g4785"
id="dmg_background"
- transform="matrix(1.25,0,0,1.25,1280,0)"
+ transform="matrix(1.3333333,0,0,1.3333333,1280,0)"
width="100%"
height="100%"
inkscape:export-xdpi="72"
diff --git a/po/inkscape.pot b/po/inkscape.pot
index ec5cec712..a8220e7a3 100644
--- a/po/inkscape.pot
+++ b/po/inkscape.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: inkscape-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2014-10-19 12:42+0200\n"
+"POT-Creation-Date: 2014-11-05 22:05+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -660,7 +660,7 @@ msgstr ""
#: ../share/filters/filters.svg.h:839 ../share/filters/filters.svg.h:843
#: ../src/extension/internal/filter/morphology.h:76
#: ../src/extension/internal/filter/morphology.h:203
-#: ../src/filter-enums.cpp:31
+#: ../src/filter-enums.cpp:32
msgid "Morphology"
msgstr ""
@@ -1058,7 +1058,7 @@ msgstr ""
#: ../src/extension/internal/filter/paint.h:717
#: ../src/extension/internal/filter/shadows.h:73
#: ../src/extension/internal/filter/transparency.h:345
-#: ../src/filter-enums.cpp:66 ../src/ui/dialog/clonetiler.cpp:832
+#: ../src/filter-enums.cpp:67 ../src/ui/dialog/clonetiler.cpp:832
#: ../src/ui/dialog/clonetiler.cpp:983
#: ../src/ui/dialog/document-properties.cpp:157
#: ../share/extensions/color_HSL_adjust.inx.h:20
@@ -4318,87 +4318,7 @@ msgid "Wind Surfing"
msgstr ""
#: ../share/templates/templates.h:1
-msgid "A4 Landscape Page"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Empty A4 landscape sheet"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "A4 paper sheet empty landscape"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "A4 Page"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Empty A4 sheet"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "A4 paper sheet empty"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Black Opaque"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Empty black page"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "black opaque empty"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "White Opaque"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Empty white page"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "white opaque empty"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Business Card 85x54mm"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Empty business card template."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "business card empty 85x54"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Business Card 90x50mm"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "business card empty 90x50"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "CD Cover 300dpi"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Empty CD box cover."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "CD cover disc disk 300dpi box"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "CD Label 120x120 "
+msgid "CD Label 120mmx120mm "
msgstr ""
#: ../share/templates/templates.h:1
@@ -4410,182 +4330,6 @@ msgid "CD label 120x120 disc disk"
msgstr ""
#: ../share/templates/templates.h:1
-msgid "DVD Cover Regular 300dpi "
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Template for both-sides DVD covers."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "DVD cover regular 300dpi"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "DVD Cover Slim 300dpi "
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Template for both-sides DVD slim covers."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "DVD cover slim 300dpi"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "DVD Cover Superslim 300dpi "
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Template for both-sides DVD superslim covers."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "DVD cover superslim 300dpi"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "DVD Cover Ultraslim 300dpi "
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Template for both-sides DVD ultraslim covers."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "DVD cover ultraslim 300dpi"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Desktop 1024x768"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Empty desktop size sheet"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "desktop 1024x768 wallpaper"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Desktop 1600x1200"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "desktop 1600x1200 wallpaper"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Desktop 640x480"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "desktop 640x480 wallpaper"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Desktop 800x600"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "desktop 800x600 wallpaper"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Fontforge Glyph"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "font fontforge glyph 1000x1000"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Icon 16x16"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Small 16x16 icon template."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "icon 16x16 empty"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Icon 32x32"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "32x32 icon template."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "icon 32x32 empty"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Icon 48x48"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "48x48 icon template."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "icon 48x48 empty"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Icon 64x64"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "64x64 icon template."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "icon 64x64 empty"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Letter Landscape"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Standard letter landscape sheet - 792x612"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "letter landscape 792x612 empty"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Letter"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Standard letter sheet - 612x792"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "letter 612x792 empty"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "No Borders"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Empty sheet with no borders"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "no borders empty"
-msgstr ""
-
-#: ../share/templates/templates.h:1
msgid "No Layers"
msgstr ""
@@ -4598,66 +4342,6 @@ msgid "no layers empty"
msgstr ""
#: ../share/templates/templates.h:1
-msgid "Video HDTV 1920x1080"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "HDTV video template for 1920x1080 resolution."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "HDTV video empty 1920x1080"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Video NTSC 720x486"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "NTSC video template for 720x486 resolution."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "NTSC video empty 720x486"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Video PAL 728x576"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "PAL video template for 728x576 resolution."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "PAL video empty 728x576"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Web Banner 468x60"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Empty 468x60 web banner template."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "web banner 468x60 empty"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Web Banner 728x90"
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "Empty 728x90 web banner template."
-msgstr ""
-
-#: ../share/templates/templates.h:1
-msgid "web banner 728x90 empty"
-msgstr ""
-
-#: ../share/templates/templates.h:1
msgid "LaTeX Beamer"
msgstr ""
@@ -4682,7 +4366,7 @@ msgid "guidelines typography canvas"
msgstr ""
#. 3D box
-#: ../src/box3d.cpp:260 ../src/box3d.cpp:1313
+#: ../src/box3d.cpp:260 ../src/box3d.cpp:1312
#: ../src/ui/dialog/inkscape-preferences.cpp:400
msgid "3D Box"
msgstr ""
@@ -4701,11 +4385,11 @@ msgctxt "Profile name"
msgid "None"
msgstr ""
-#: ../src/context-fns.cpp:36 ../src/context-fns.cpp:65
+#: ../src/context-fns.cpp:33 ../src/context-fns.cpp:62
msgid "<b>Current layer is hidden</b>. Unhide it to be able to draw on it."
msgstr ""
-#: ../src/context-fns.cpp:42 ../src/context-fns.cpp:71
+#: ../src/context-fns.cpp:39 ../src/context-fns.cpp:68
msgid "<b>Current layer is locked</b>. Unlock it to be able to draw on it."
msgstr ""
@@ -4713,16 +4397,16 @@ msgstr ""
msgid "Create guide"
msgstr ""
-#: ../src/desktop-events.cpp:471
+#: ../src/desktop-events.cpp:481
msgid "Move guide"
msgstr ""
-#: ../src/desktop-events.cpp:478 ../src/desktop-events.cpp:536
+#: ../src/desktop-events.cpp:488 ../src/desktop-events.cpp:546
#: ../src/ui/dialog/guides.cpp:138
msgid "Delete guide"
msgstr ""
-#: ../src/desktop-events.cpp:516
+#: ../src/desktop-events.cpp:526
#, c-format
msgid "<b>Guideline</b>: %s"
msgstr ""
@@ -4735,31 +4419,31 @@ msgstr ""
msgid "No next zoom."
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:317 ../src/display/canvas-grid.cpp:693
+#: ../src/display/canvas-axonomgrid.cpp:317 ../src/display/canvas-grid.cpp:667
msgid "Grid _units:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:319 ../src/display/canvas-grid.cpp:695
+#: ../src/display/canvas-axonomgrid.cpp:319 ../src/display/canvas-grid.cpp:669
msgid "_Origin X:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:319 ../src/display/canvas-grid.cpp:695
+#: ../src/display/canvas-axonomgrid.cpp:319 ../src/display/canvas-grid.cpp:669
#: ../src/ui/dialog/inkscape-preferences.cpp:739
#: ../src/ui/dialog/inkscape-preferences.cpp:764
msgid "X coordinate of grid origin"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:321 ../src/display/canvas-grid.cpp:697
+#: ../src/display/canvas-axonomgrid.cpp:321 ../src/display/canvas-grid.cpp:671
msgid "O_rigin Y:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:321 ../src/display/canvas-grid.cpp:697
+#: ../src/display/canvas-axonomgrid.cpp:321 ../src/display/canvas-grid.cpp:671
#: ../src/ui/dialog/inkscape-preferences.cpp:740
#: ../src/ui/dialog/inkscape-preferences.cpp:765
msgid "Y coordinate of grid origin"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:323 ../src/display/canvas-grid.cpp:701
+#: ../src/display/canvas-axonomgrid.cpp:323 ../src/display/canvas-grid.cpp:675
msgid "Spacing _Y:"
msgstr ""
@@ -4770,7 +4454,7 @@ msgstr ""
#: ../src/display/canvas-axonomgrid.cpp:325
#: ../src/ui/dialog/inkscape-preferences.cpp:771
-#: ../src/widgets/box3d-toolbar.cpp:299
+#: ../src/widgets/box3d-toolbar.cpp:302
msgid "Angle X:"
msgstr ""
@@ -4781,7 +4465,7 @@ msgstr ""
#: ../src/display/canvas-axonomgrid.cpp:327
#: ../src/ui/dialog/inkscape-preferences.cpp:772
-#: ../src/widgets/box3d-toolbar.cpp:378
+#: ../src/widgets/box3d-toolbar.cpp:381
msgid "Angle Z:"
msgstr ""
@@ -4790,37 +4474,37 @@ msgstr ""
msgid "Angle of z-axis"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:331 ../src/display/canvas-grid.cpp:705
+#: ../src/display/canvas-axonomgrid.cpp:331 ../src/display/canvas-grid.cpp:679
msgid "Minor grid line _color:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:331 ../src/display/canvas-grid.cpp:705
+#: ../src/display/canvas-axonomgrid.cpp:331 ../src/display/canvas-grid.cpp:679
#: ../src/ui/dialog/inkscape-preferences.cpp:723
msgid "Minor grid line color"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:331 ../src/display/canvas-grid.cpp:705
+#: ../src/display/canvas-axonomgrid.cpp:331 ../src/display/canvas-grid.cpp:679
msgid "Color of the minor grid lines"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:336 ../src/display/canvas-grid.cpp:710
+#: ../src/display/canvas-axonomgrid.cpp:336 ../src/display/canvas-grid.cpp:684
msgid "Ma_jor grid line color:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:336 ../src/display/canvas-grid.cpp:710
+#: ../src/display/canvas-axonomgrid.cpp:336 ../src/display/canvas-grid.cpp:684
#: ../src/ui/dialog/inkscape-preferences.cpp:725
msgid "Major grid line color"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:337 ../src/display/canvas-grid.cpp:711
+#: ../src/display/canvas-axonomgrid.cpp:337 ../src/display/canvas-grid.cpp:685
msgid "Color of the major (highlighted) grid lines"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:341 ../src/display/canvas-grid.cpp:715
+#: ../src/display/canvas-axonomgrid.cpp:341 ../src/display/canvas-grid.cpp:689
msgid "_Major grid line every:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:341 ../src/display/canvas-grid.cpp:715
+#: ../src/display/canvas-axonomgrid.cpp:341 ../src/display/canvas-grid.cpp:689
msgid "lines"
msgstr ""
@@ -4832,59 +4516,59 @@ msgstr ""
msgid "Axonometric grid"
msgstr ""
-#: ../src/display/canvas-grid.cpp:275
+#: ../src/display/canvas-grid.cpp:249
msgid "Create new grid"
msgstr ""
-#: ../src/display/canvas-grid.cpp:341
+#: ../src/display/canvas-grid.cpp:315
msgid "_Enabled"
msgstr ""
-#: ../src/display/canvas-grid.cpp:342
+#: ../src/display/canvas-grid.cpp:316
msgid ""
"Determines whether to snap to this grid or not. Can be 'on' for invisible "
"grids."
msgstr ""
-#: ../src/display/canvas-grid.cpp:346
+#: ../src/display/canvas-grid.cpp:320
msgid "Snap to visible _grid lines only"
msgstr ""
-#: ../src/display/canvas-grid.cpp:347
+#: ../src/display/canvas-grid.cpp:321
msgid ""
"When zoomed out, not all grid lines will be displayed. Only the visible ones "
"will be snapped to"
msgstr ""
-#: ../src/display/canvas-grid.cpp:351
+#: ../src/display/canvas-grid.cpp:325
msgid "_Visible"
msgstr ""
-#: ../src/display/canvas-grid.cpp:352
+#: ../src/display/canvas-grid.cpp:326
msgid ""
"Determines whether the grid is displayed or not. Objects are still snapped "
"to invisible grids."
msgstr ""
-#: ../src/display/canvas-grid.cpp:699
+#: ../src/display/canvas-grid.cpp:673
msgid "Spacing _X:"
msgstr ""
-#: ../src/display/canvas-grid.cpp:699
+#: ../src/display/canvas-grid.cpp:673
#: ../src/ui/dialog/inkscape-preferences.cpp:745
msgid "Distance between vertical grid lines"
msgstr ""
-#: ../src/display/canvas-grid.cpp:701
+#: ../src/display/canvas-grid.cpp:675
#: ../src/ui/dialog/inkscape-preferences.cpp:746
msgid "Distance between horizontal grid lines"
msgstr ""
-#: ../src/display/canvas-grid.cpp:732
+#: ../src/display/canvas-grid.cpp:706
msgid "_Show dots instead of lines"
msgstr ""
-#: ../src/display/canvas-grid.cpp:733
+#: ../src/display/canvas-grid.cpp:707
msgid "If set, displays dots at gridpoints instead of gridlines"
msgstr ""
@@ -5034,11 +4718,11 @@ msgstr ""
msgid "Bounding box side midpoint"
msgstr ""
-#: ../src/display/snap-indicator.cpp:196 ../src/ui/tool/node.cpp:1319
+#: ../src/display/snap-indicator.cpp:196 ../src/ui/tool/node.cpp:1505
msgid "Smooth node"
msgstr ""
-#: ../src/display/snap-indicator.cpp:199 ../src/ui/tool/node.cpp:1318
+#: ../src/display/snap-indicator.cpp:199 ../src/ui/tool/node.cpp:1504
msgid "Cusp node"
msgstr ""
@@ -5108,7 +4792,7 @@ msgstr ""
msgid "Memory document %1"
msgstr ""
-#: ../src/document.cpp:786
+#: ../src/document.cpp:792
#, c-format
msgid "Unnamed document %d"
msgstr ""
@@ -5118,11 +4802,11 @@ msgid "[Unchanged]"
msgstr ""
#. Edit
-#: ../src/event-log.cpp:371 ../src/event-log.cpp:374 ../src/verbs.cpp:2386
+#: ../src/event-log.cpp:371 ../src/event-log.cpp:374 ../src/verbs.cpp:2469
msgid "_Undo"
msgstr ""
-#: ../src/event-log.cpp:381 ../src/event-log.cpp:385 ../src/verbs.cpp:2388
+#: ../src/event-log.cpp:381 ../src/event-log.cpp:385 ../src/verbs.cpp:2471
msgid "_Redo"
msgstr ""
@@ -5150,7 +4834,7 @@ msgstr ""
msgid " (No preferences)"
msgstr ""
-#: ../src/extension/effect.h:70 ../src/verbs.cpp:2160
+#: ../src/extension/effect.h:70 ../src/verbs.cpp:2243
msgid "Extensions"
msgstr ""
@@ -5279,6 +4963,7 @@ msgstr ""
#: ../src/extension/internal/bitmap/raise.cpp:42
#: ../src/extension/internal/bitmap/sample.cpp:41
#: ../src/extension/internal/bluredge.cpp:138
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:63
#: ../src/ui/dialog/object-attributes.cpp:68
#: ../src/ui/dialog/object-attributes.cpp:77
#: ../src/widgets/calligraphy-toolbar.cpp:430
@@ -5594,7 +5279,7 @@ msgid "Equalize selected bitmap(s); histogram equalization"
msgstr ""
#: ../src/extension/internal/bitmap/gaussianBlur.cpp:38
-#: ../src/filter-enums.cpp:28
+#: ../src/filter-enums.cpp:29
msgid "Gaussian Blur"
msgstr ""
@@ -5727,7 +5412,7 @@ msgstr ""
#: ../src/extension/internal/bitmap/opacity.cpp:40
#: ../src/ui/dialog/filter-effects-dialog.cpp:2884
-#: ../src/widgets/dropper-toolbar.cpp:83
+#: ../src/ui/dialog/objects.cpp:1621 ../src/widgets/dropper-toolbar.cpp:83
msgid "Opacity:"
msgstr ""
@@ -5832,7 +5517,7 @@ msgstr ""
#: ../src/extension/internal/bitmap/threshold.cpp:40
#: ../src/extension/internal/bitmap/unsharpmask.cpp:46
-#: ../src/widgets/paintbucket-toolbar.cpp:146
+#: ../src/widgets/paintbucket-toolbar.cpp:148
msgid "Threshold:"
msgstr ""
@@ -5914,7 +5599,7 @@ msgstr ""
#: ../src/extension/internal/cairo-ps-out.cpp:372
#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:250
#: ../src/extension/internal/emf-inout.cpp:3569
-#: ../src/extension/internal/wmf-inout.cpp:3143
+#: ../src/extension/internal/wmf-inout.cpp:3144
msgid "Convert texts to paths"
msgstr ""
@@ -6027,56 +5712,56 @@ msgstr ""
msgid "out of %i"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:159
-#: ../src/extension/internal/vsd-input.cpp:159
+#: ../src/extension/internal/cdr-input.cpp:165
+#: ../src/extension/internal/vsd-input.cpp:165
msgid "Page Selector"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:294
+#: ../src/extension/internal/cdr-input.cpp:300
msgid "Corel DRAW Input"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:299
+#: ../src/extension/internal/cdr-input.cpp:305
msgid "Corel DRAW 7-X4 files (*.cdr)"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:300
+#: ../src/extension/internal/cdr-input.cpp:306
msgid "Open files saved in Corel DRAW 7-X4"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:307
+#: ../src/extension/internal/cdr-input.cpp:313
msgid "Corel DRAW templates input"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:312
+#: ../src/extension/internal/cdr-input.cpp:318
msgid "Corel DRAW 7-13 template files (*.cdt)"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:313
+#: ../src/extension/internal/cdr-input.cpp:319
msgid "Open files saved in Corel DRAW 7-13"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:320
+#: ../src/extension/internal/cdr-input.cpp:326
msgid "Corel DRAW Compressed Exchange files input"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:325
+#: ../src/extension/internal/cdr-input.cpp:331
msgid "Corel DRAW Compressed Exchange files (*.ccx)"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:326
+#: ../src/extension/internal/cdr-input.cpp:332
msgid "Open compressed exchange files saved in Corel DRAW"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:333
+#: ../src/extension/internal/cdr-input.cpp:339
msgid "Corel DRAW Presentation Exchange files input"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:338
+#: ../src/extension/internal/cdr-input.cpp:344
msgid "Corel DRAW Presentation Exchange files (*.cmx)"
msgstr ""
-#: ../src/extension/internal/cdr-input.cpp:339
+#: ../src/extension/internal/cdr-input.cpp:345
msgid "Open presentation exchange files saved in Corel DRAW"
msgstr ""
@@ -6097,37 +5782,37 @@ msgid "EMF Output"
msgstr ""
#: ../src/extension/internal/emf-inout.cpp:3570
-#: ../src/extension/internal/wmf-inout.cpp:3144
+#: ../src/extension/internal/wmf-inout.cpp:3145
msgid "Map Unicode to Symbol font"
msgstr ""
#: ../src/extension/internal/emf-inout.cpp:3571
-#: ../src/extension/internal/wmf-inout.cpp:3145
+#: ../src/extension/internal/wmf-inout.cpp:3146
msgid "Map Unicode to Wingdings"
msgstr ""
#: ../src/extension/internal/emf-inout.cpp:3572
-#: ../src/extension/internal/wmf-inout.cpp:3146
+#: ../src/extension/internal/wmf-inout.cpp:3147
msgid "Map Unicode to Zapf Dingbats"
msgstr ""
#: ../src/extension/internal/emf-inout.cpp:3573
-#: ../src/extension/internal/wmf-inout.cpp:3147
+#: ../src/extension/internal/wmf-inout.cpp:3148
msgid "Use MS Unicode PUA (0xF020-0xF0FF) for converted characters"
msgstr ""
#: ../src/extension/internal/emf-inout.cpp:3574
-#: ../src/extension/internal/wmf-inout.cpp:3148
+#: ../src/extension/internal/wmf-inout.cpp:3149
msgid "Compensate for PPT font bug"
msgstr ""
#: ../src/extension/internal/emf-inout.cpp:3575
-#: ../src/extension/internal/wmf-inout.cpp:3149
+#: ../src/extension/internal/wmf-inout.cpp:3150
msgid "Convert dashed/dotted lines to single lines"
msgstr ""
#: ../src/extension/internal/emf-inout.cpp:3576
-#: ../src/extension/internal/wmf-inout.cpp:3150
+#: ../src/extension/internal/wmf-inout.cpp:3151
msgid "Convert gradients to colored polygon series"
msgstr ""
@@ -6323,7 +6008,7 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:1602
#: ../src/extension/internal/filter/paint.h:705
#: ../src/extension/internal/filter/transparency.h:63
-#: ../src/filter-enums.cpp:54
+#: ../src/filter-enums.cpp:55
msgid "Darken"
msgstr ""
@@ -6340,7 +6025,7 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:1594
#: ../src/extension/internal/filter/paint.h:703
#: ../src/extension/internal/filter/transparency.h:62
-#: ../src/filter-enums.cpp:53 ../src/ui/dialog/input.cpp:382
+#: ../src/filter-enums.cpp:54 ../src/ui/dialog/input.cpp:382
msgid "Screen"
msgstr ""
@@ -6358,7 +6043,7 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:1601
#: ../src/extension/internal/filter/paint.h:701
#: ../src/extension/internal/filter/transparency.h:60
-#: ../src/filter-enums.cpp:52
+#: ../src/filter-enums.cpp:53
msgid "Multiply"
msgstr ""
@@ -6373,7 +6058,7 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:1593
#: ../src/extension/internal/filter/paint.h:704
#: ../src/extension/internal/filter/transparency.h:64
-#: ../src/filter-enums.cpp:55
+#: ../src/filter-enums.cpp:56
msgid "Lighten"
msgstr ""
@@ -6441,7 +6126,7 @@ msgstr ""
#: ../src/extension/internal/filter/paint.h:702
#: ../src/extension/internal/filter/textures.h:77
#: ../src/extension/internal/filter/transparency.h:61
-#: ../src/filter-enums.cpp:51 ../src/ui/dialog/inkscape-preferences.cpp:646
+#: ../src/filter-enums.cpp:52 ../src/ui/dialog/inkscape-preferences.cpp:646
msgid "Normal"
msgstr ""
@@ -6478,10 +6163,10 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:637
#: ../src/extension/internal/filter/color.h:821
#: ../src/extension/internal/filter/transparency.h:132
-#: ../src/filter-enums.cpp:127 ../src/ui/tools/flood-tool.cpp:193
-#: ../src/widgets/sp-color-icc-selector.cpp:355
-#: ../src/widgets/sp-color-scales.cpp:429
-#: ../src/widgets/sp-color-scales.cpp:430
+#: ../src/filter-enums.cpp:128 ../src/ui/tools/flood-tool.cpp:193
+#: ../src/widgets/sp-color-icc-selector.cpp:330
+#: ../src/widgets/sp-color-scales.cpp:415
+#: ../src/widgets/sp-color-scales.cpp:416
msgid "Red"
msgstr ""
@@ -6491,10 +6176,10 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:638
#: ../src/extension/internal/filter/color.h:822
#: ../src/extension/internal/filter/transparency.h:133
-#: ../src/filter-enums.cpp:128 ../src/ui/tools/flood-tool.cpp:194
-#: ../src/widgets/sp-color-icc-selector.cpp:356
-#: ../src/widgets/sp-color-scales.cpp:432
-#: ../src/widgets/sp-color-scales.cpp:433
+#: ../src/filter-enums.cpp:129 ../src/ui/tools/flood-tool.cpp:194
+#: ../src/widgets/sp-color-icc-selector.cpp:331
+#: ../src/widgets/sp-color-scales.cpp:418
+#: ../src/widgets/sp-color-scales.cpp:419
msgid "Green"
msgstr ""
@@ -6504,10 +6189,10 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:639
#: ../src/extension/internal/filter/color.h:823
#: ../src/extension/internal/filter/transparency.h:134
-#: ../src/filter-enums.cpp:129 ../src/ui/tools/flood-tool.cpp:195
-#: ../src/widgets/sp-color-icc-selector.cpp:357
-#: ../src/widgets/sp-color-scales.cpp:435
-#: ../src/widgets/sp-color-scales.cpp:436
+#: ../src/filter-enums.cpp:130 ../src/ui/tools/flood-tool.cpp:195
+#: ../src/widgets/sp-color-icc-selector.cpp:332
+#: ../src/widgets/sp-color-scales.cpp:421
+#: ../src/widgets/sp-color-scales.cpp:422
msgid "Blue"
msgstr ""
@@ -6530,7 +6215,7 @@ msgstr ""
#: ../src/extension/internal/filter/bumps.h:98
#: ../src/extension/internal/filter/bumps.h:329
#: ../src/libgdl/gdl-dock-placeholder.c:175 ../src/libgdl/gdl-dock.c:199
-#: ../src/widgets/rect-toolbar.cpp:331
+#: ../src/widgets/rect-toolbar.cpp:335
#: ../share/extensions/interp_att_g.inx.h:11
msgid "Height"
msgstr ""
@@ -6544,9 +6229,9 @@ msgstr ""
#: ../src/extension/internal/filter/paint.h:592
#: ../src/extension/internal/filter/paint.h:707
#: ../src/ui/tools/flood-tool.cpp:198
-#: ../src/widgets/sp-color-icc-selector.cpp:366
-#: ../src/widgets/sp-color-scales.cpp:461
-#: ../src/widgets/sp-color-scales.cpp:462 ../src/widgets/tweak-toolbar.cpp:318
+#: ../src/widgets/sp-color-icc-selector.cpp:341
+#: ../src/widgets/sp-color-scales.cpp:447
+#: ../src/widgets/sp-color-scales.cpp:448 ../src/widgets/tweak-toolbar.cpp:318
#: ../share/extensions/color_randomize.inx.h:5
msgid "Lightness"
msgstr ""
@@ -6658,7 +6343,7 @@ msgstr ""
#: ../src/extension/internal/filter/bumps.h:322
#: ../src/extension/internal/filter/transparency.h:57
-#: ../src/filter-enums.cpp:29 ../src/sp-image.cpp:517
+#: ../src/filter-enums.cpp:30 ../src/sp-image.cpp:518
msgid "Image"
msgstr ""
@@ -6697,14 +6382,14 @@ msgstr ""
#: ../src/extension/internal/filter/bumps.h:353
#: ../src/extension/internal/filter/morphology.h:176
-#: ../src/filter-enums.cpp:90
+#: ../src/filter-enums.cpp:91
msgid "Atop"
msgstr ""
#: ../src/extension/internal/filter/bumps.h:354
#: ../src/extension/internal/filter/distort.h:70
#: ../src/extension/internal/filter/morphology.h:174
-#: ../src/filter-enums.cpp:88
+#: ../src/filter-enums.cpp:89
msgid "In"
msgstr ""
@@ -6741,20 +6426,20 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:156
#: ../src/extension/internal/filter/color.h:257
-#: ../src/extension/internal/filter/paint.h:87 ../src/filter-enums.cpp:65
+#: ../src/extension/internal/filter/paint.h:87 ../src/filter-enums.cpp:66
#: ../src/ui/dialog/inkscape-preferences.cpp:945
#: ../src/ui/tools/flood-tool.cpp:197
-#: ../src/widgets/sp-color-icc-selector.cpp:362
-#: ../src/widgets/sp-color-icc-selector.cpp:367
-#: ../src/widgets/sp-color-scales.cpp:458
-#: ../src/widgets/sp-color-scales.cpp:459 ../src/widgets/tweak-toolbar.cpp:302
+#: ../src/widgets/sp-color-icc-selector.cpp:337
+#: ../src/widgets/sp-color-icc-selector.cpp:342
+#: ../src/widgets/sp-color-scales.cpp:444
+#: ../src/widgets/sp-color-scales.cpp:445 ../src/widgets/tweak-toolbar.cpp:302
#: ../share/extensions/color_randomize.inx.h:4
msgid "Saturation"
msgstr ""
#: ../src/extension/internal/filter/color.h:160
#: ../src/extension/internal/filter/transparency.h:135
-#: ../src/filter-enums.cpp:130 ../src/ui/tools/flood-tool.cpp:199
+#: ../src/filter-enums.cpp:131 ../src/ui/tools/flood-tool.cpp:199
msgid "Alpha"
msgstr ""
@@ -6800,32 +6485,33 @@ msgstr ""
msgid "Blend image or object with a flood color"
msgstr ""
-#: ../src/extension/internal/filter/color.h:424 ../src/filter-enums.cpp:22
+#: ../src/extension/internal/filter/color.h:424 ../src/filter-enums.cpp:23
msgid "Component Transfer"
msgstr ""
-#: ../src/extension/internal/filter/color.h:427 ../src/filter-enums.cpp:109
+#: ../src/extension/internal/filter/color.h:427 ../src/filter-enums.cpp:110
msgid "Identity"
msgstr ""
#: ../src/extension/internal/filter/color.h:428
-#: ../src/extension/internal/filter/paint.h:498 ../src/filter-enums.cpp:110
+#: ../src/extension/internal/filter/paint.h:498 ../src/filter-enums.cpp:111
#: ../src/ui/dialog/filter-effects-dialog.cpp:1050
msgid "Table"
msgstr ""
#: ../src/extension/internal/filter/color.h:429
-#: ../src/extension/internal/filter/paint.h:499 ../src/filter-enums.cpp:111
+#: ../src/extension/internal/filter/paint.h:499 ../src/filter-enums.cpp:112
#: ../src/ui/dialog/filter-effects-dialog.cpp:1053
msgid "Discrete"
msgstr ""
-#: ../src/extension/internal/filter/color.h:430 ../src/filter-enums.cpp:112
-#: ../src/live_effects/lpe-powerstroke.cpp:188
+#: ../src/extension/internal/filter/color.h:430 ../src/filter-enums.cpp:113
+#: ../src/live_effects/lpe-interpolate_points.cpp:25
+#: ../src/live_effects/lpe-powerstroke.cpp:194
msgid "Linear"
msgstr ""
-#: ../src/extension/internal/filter/color.h:431 ../src/filter-enums.cpp:113
+#: ../src/extension/internal/filter/color.h:431 ../src/filter-enums.cpp:114
msgid "Gamma"
msgstr ""
@@ -6878,26 +6564,26 @@ msgid "Extract Channel"
msgstr ""
#: ../src/extension/internal/filter/color.h:640
-#: ../src/widgets/sp-color-icc-selector.cpp:369
-#: ../src/widgets/sp-color-icc-selector.cpp:374
-#: ../src/widgets/sp-color-scales.cpp:483
-#: ../src/widgets/sp-color-scales.cpp:484
+#: ../src/widgets/sp-color-icc-selector.cpp:344
+#: ../src/widgets/sp-color-icc-selector.cpp:349
+#: ../src/widgets/sp-color-scales.cpp:469
+#: ../src/widgets/sp-color-scales.cpp:470
msgid "Cyan"
msgstr ""
#: ../src/extension/internal/filter/color.h:641
-#: ../src/widgets/sp-color-icc-selector.cpp:370
-#: ../src/widgets/sp-color-icc-selector.cpp:375
-#: ../src/widgets/sp-color-scales.cpp:486
-#: ../src/widgets/sp-color-scales.cpp:487
+#: ../src/widgets/sp-color-icc-selector.cpp:345
+#: ../src/widgets/sp-color-icc-selector.cpp:350
+#: ../src/widgets/sp-color-scales.cpp:472
+#: ../src/widgets/sp-color-scales.cpp:473
msgid "Magenta"
msgstr ""
#: ../src/extension/internal/filter/color.h:642
-#: ../src/widgets/sp-color-icc-selector.cpp:371
-#: ../src/widgets/sp-color-icc-selector.cpp:376
-#: ../src/widgets/sp-color-scales.cpp:489
-#: ../src/widgets/sp-color-scales.cpp:490
+#: ../src/widgets/sp-color-icc-selector.cpp:346
+#: ../src/widgets/sp-color-icc-selector.cpp:351
+#: ../src/widgets/sp-color-scales.cpp:475
+#: ../src/widgets/sp-color-scales.cpp:476
msgid "Yellow"
msgstr ""
@@ -6922,15 +6608,15 @@ msgid "Fade to:"
msgstr ""
#: ../src/extension/internal/filter/color.h:744
-#: ../src/ui/widget/selected-style.cpp:261
-#: ../src/widgets/sp-color-icc-selector.cpp:372
-#: ../src/widgets/sp-color-scales.cpp:492
-#: ../src/widgets/sp-color-scales.cpp:493
+#: ../src/ui/widget/selected-style.cpp:274
+#: ../src/widgets/sp-color-icc-selector.cpp:347
+#: ../src/widgets/sp-color-scales.cpp:478
+#: ../src/widgets/sp-color-scales.cpp:479
msgid "Black"
msgstr ""
#: ../src/extension/internal/filter/color.h:745
-#: ../src/ui/widget/selected-style.cpp:257
+#: ../src/ui/widget/selected-style.cpp:270
msgid "White"
msgstr ""
@@ -6953,7 +6639,7 @@ msgid "Customize greyscale components"
msgstr ""
#: ../src/extension/internal/filter/color.h:905
-#: ../src/ui/widget/selected-style.cpp:253
+#: ../src/ui/widget/selected-style.cpp:266
msgid "Invert"
msgstr ""
@@ -7006,8 +6692,8 @@ msgid "Shadows"
msgstr ""
#: ../src/extension/internal/filter/color.h:1044
-#: ../src/extension/internal/filter/paint.h:356 ../src/filter-enums.cpp:32
-#: ../src/live_effects/effect.cpp:95
+#: ../src/extension/internal/filter/paint.h:356 ../src/filter-enums.cpp:33
+#: ../src/live_effects/effect.cpp:110
#: ../src/ui/dialog/filter-effects-dialog.cpp:1047
#: ../src/widgets/gradient-toolbar.cpp:1156
msgid "Offset"
@@ -7174,13 +6860,13 @@ msgstr ""
#: ../src/extension/internal/filter/distort.h:71
#: ../src/extension/internal/filter/morphology.h:175
-#: ../src/filter-enums.cpp:89
+#: ../src/filter-enums.cpp:90
msgid "Out"
msgstr ""
#: ../src/extension/internal/filter/distort.h:77
#: ../src/extension/internal/filter/textures.h:75
-#: ../src/ui/widget/selected-style.cpp:131
+#: ../src/ui/widget/selected-style.cpp:132
#: ../src/ui/widget/style-swatch.cpp:128
msgid "Stroke:"
msgstr ""
@@ -7213,8 +6899,8 @@ msgstr ""
#: ../src/extension/internal/filter/distort.h:85
#: ../src/extension/internal/filter/distort.h:194
#: ../src/extension/internal/filter/overlays.h:62
-#: ../src/extension/internal/filter/paint.h:693 ../src/filter-enums.cpp:35
-#: ../src/filter-enums.cpp:144
+#: ../src/extension/internal/filter/paint.h:693 ../src/filter-enums.cpp:36
+#: ../src/filter-enums.cpp:145
msgid "Turbulence"
msgstr ""
@@ -7256,6 +6942,7 @@ msgid "Blur and displace edges of shapes and pictures"
msgstr ""
#: ../src/extension/internal/filter/distort.h:190
+#: ../src/live_effects/effect.cpp:140
msgid "Roughen"
msgstr ""
@@ -7332,7 +7019,7 @@ msgstr ""
#: ../src/extension/internal/filter/morphology.h:65
#: ../src/libgdl/gdl-dock-placeholder.c:167 ../src/libgdl/gdl-dock.c:191
-#: ../src/widgets/rect-toolbar.cpp:314 ../src/widgets/spray-toolbar.cpp:116
+#: ../src/widgets/rect-toolbar.cpp:318 ../src/widgets/spray-toolbar.cpp:116
#: ../src/widgets/tweak-toolbar.cpp:128
#: ../share/extensions/interp_att_g.inx.h:10
msgid "Width"
@@ -7368,17 +7055,18 @@ msgid "Composite type:"
msgstr ""
#: ../src/extension/internal/filter/morphology.h:173
-#: ../src/filter-enums.cpp:87
+#: ../src/filter-enums.cpp:88
msgid "Over"
msgstr ""
#: ../src/extension/internal/filter/morphology.h:177
-#: ../src/filter-enums.cpp:91
+#: ../src/filter-enums.cpp:92
msgid "XOR"
msgstr ""
#: ../src/extension/internal/filter/morphology.h:179
#: ../src/ui/dialog/layer-properties.cpp:185
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:59
msgid "Position:"
msgstr ""
@@ -7570,10 +7258,12 @@ msgstr ""
msgid "Drawing"
msgstr ""
+#. 0.91
#: ../src/extension/internal/filter/paint.h:335
#: ../src/extension/internal/filter/paint.h:496
#: ../src/extension/internal/filter/paint.h:590
-#: ../src/extension/internal/filter/paint.h:976 ../src/splivarot.cpp:2212
+#: ../src/extension/internal/filter/paint.h:976
+#: ../src/live_effects/effect.cpp:151 ../src/splivarot.cpp:2212
msgid "Simplify"
msgstr ""
@@ -7644,6 +7334,7 @@ msgid "Contrasted"
msgstr ""
#: ../src/extension/internal/filter/paint.h:591
+#: ../src/live_effects/lpe-jointype.cpp:51
msgid "Line width"
msgstr ""
@@ -7839,7 +7530,7 @@ msgid "Inkblot on tissue or rough paper"
msgstr ""
#: ../src/extension/internal/filter/transparency.h:53
-#: ../src/filter-enums.cpp:20
+#: ../src/filter-enums.cpp:21
msgid "Blend"
msgstr ""
@@ -7848,14 +7539,14 @@ msgid "Source:"
msgstr ""
#: ../src/extension/internal/filter/transparency.h:56
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1551
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1590
msgid "Background"
msgstr ""
#: ../src/extension/internal/filter/transparency.h:59
#: ../src/ui/dialog/filter-effects-dialog.cpp:2839
#: ../src/ui/dialog/input.cpp:1088 ../src/widgets/eraser-toolbar.cpp:106
-#: ../src/widgets/pencil-toolbar.cpp:127 ../src/widgets/spray-toolbar.cpp:186
+#: ../src/widgets/pencil-toolbar.cpp:132 ../src/widgets/spray-toolbar.cpp:186
#: ../src/widgets/tweak-toolbar.cpp:254 ../share/extensions/extrude.inx.h:2
#: ../share/extensions/triangle.inx.h:8
msgid "Mode:"
@@ -7902,79 +7593,79 @@ msgstr ""
msgid "Repaint anything visible monochrome"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:184
+#: ../src/extension/internal/gdkpixbuf-input.cpp:183
#, c-format
msgid "%s bitmap image import"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:191
+#: ../src/extension/internal/gdkpixbuf-input.cpp:190
msgid "Image Import Type:"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:191
+#: ../src/extension/internal/gdkpixbuf-input.cpp:190
msgid ""
"Embed results in stand-alone, larger SVG files. Link references a file "
"outside this SVG document and all files must be moved together."
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:192
+#: ../src/extension/internal/gdkpixbuf-input.cpp:191
#: ../src/ui/dialog/inkscape-preferences.cpp:1449
msgid "Embed"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:193 ../src/sp-anchor.cpp:119
+#: ../src/extension/internal/gdkpixbuf-input.cpp:192 ../src/sp-anchor.cpp:119
#: ../src/ui/dialog/inkscape-preferences.cpp:1449
msgid "Link"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:196
+#: ../src/extension/internal/gdkpixbuf-input.cpp:195
msgid "Image DPI:"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:196
+#: ../src/extension/internal/gdkpixbuf-input.cpp:195
msgid ""
"Take information from file or use default bitmap import resolution as "
"defined in the preferences."
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:197
+#: ../src/extension/internal/gdkpixbuf-input.cpp:196
msgid "From file"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:198
+#: ../src/extension/internal/gdkpixbuf-input.cpp:197
msgid "Default import resolution"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:201
+#: ../src/extension/internal/gdkpixbuf-input.cpp:200
msgid "Image Rendering Mode:"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:201
+#: ../src/extension/internal/gdkpixbuf-input.cpp:200
msgid ""
"When an image is upscaled, apply smoothing or keep blocky (pixelated). (Will "
"not work in all browsers.)"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:202
+#: ../src/extension/internal/gdkpixbuf-input.cpp:201
#: ../src/ui/dialog/inkscape-preferences.cpp:1456
msgid "None (auto)"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:203
+#: ../src/extension/internal/gdkpixbuf-input.cpp:202
#: ../src/ui/dialog/inkscape-preferences.cpp:1456
msgid "Smooth (optimizeQuality)"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:204
+#: ../src/extension/internal/gdkpixbuf-input.cpp:203
#: ../src/ui/dialog/inkscape-preferences.cpp:1456
msgid "Blocky (optimizeSpeed)"
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:207
+#: ../src/extension/internal/gdkpixbuf-input.cpp:206
msgid "Hide the dialog next time and always apply the same actions."
msgstr ""
-#: ../src/extension/internal/gdkpixbuf-input.cpp:207
+#: ../src/extension/internal/gdkpixbuf-input.cpp:206
msgid "Don't ask again"
msgstr ""
@@ -8037,6 +7728,7 @@ msgstr ""
#: ../share/extensions/render_barcode_qrcode.inx.h:18
#: ../share/extensions/render_gear_rack.inx.h:5
#: ../share/extensions/render_gears.inx.h:11 ../share/extensions/rtree.inx.h:4
+#: ../share/extensions/seamless_pattern.inx.h:5
#: ../share/extensions/spirograph.inx.h:10
#: ../share/extensions/svgcalendar.inx.h:38
#: ../share/extensions/triangle.inx.h:14
@@ -8290,78 +7982,78 @@ msgstr ""
msgid "Scalable Vector Graphics format compressed with GZip"
msgstr ""
-#: ../src/extension/internal/vsd-input.cpp:295
+#: ../src/extension/internal/vsd-input.cpp:301
msgid "VSD Input"
msgstr ""
-#: ../src/extension/internal/vsd-input.cpp:300
+#: ../src/extension/internal/vsd-input.cpp:306
msgid "Microsoft Visio Diagram (*.vsd)"
msgstr ""
-#: ../src/extension/internal/vsd-input.cpp:301
+#: ../src/extension/internal/vsd-input.cpp:307
msgid "File format used by Microsoft Visio 6 and later"
msgstr ""
-#: ../src/extension/internal/vsd-input.cpp:308
+#: ../src/extension/internal/vsd-input.cpp:314
msgid "VDX Input"
msgstr ""
-#: ../src/extension/internal/vsd-input.cpp:313
+#: ../src/extension/internal/vsd-input.cpp:319
msgid "Microsoft Visio XML Diagram (*.vdx)"
msgstr ""
-#: ../src/extension/internal/vsd-input.cpp:314
+#: ../src/extension/internal/vsd-input.cpp:320
msgid "File format used by Microsoft Visio 2010 and later"
msgstr ""
-#: ../src/extension/internal/vsd-input.cpp:321
+#: ../src/extension/internal/vsd-input.cpp:327
msgid "VSDM Input"
msgstr ""
-#: ../src/extension/internal/vsd-input.cpp:326
+#: ../src/extension/internal/vsd-input.cpp:332
msgid "Microsoft Visio 2013 drawing (*.vsdm)"
msgstr ""
-#: ../src/extension/internal/vsd-input.cpp:327
-#: ../src/extension/internal/vsd-input.cpp:340
+#: ../src/extension/internal/vsd-input.cpp:333
+#: ../src/extension/internal/vsd-input.cpp:346
msgid "File format used by Microsoft Visio 2013 and later"
msgstr ""
-#: ../src/extension/internal/vsd-input.cpp:334
+#: ../src/extension/internal/vsd-input.cpp:340
msgid "VSDX Input"
msgstr ""
-#: ../src/extension/internal/vsd-input.cpp:339
+#: ../src/extension/internal/vsd-input.cpp:345
msgid "Microsoft Visio 2013 drawing (*.vsdx)"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3127
+#: ../src/extension/internal/wmf-inout.cpp:3128
msgid "WMF Input"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3132
+#: ../src/extension/internal/wmf-inout.cpp:3133
msgid "Windows Metafiles (*.wmf)"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3133
+#: ../src/extension/internal/wmf-inout.cpp:3134
msgid "Windows Metafiles"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3141
+#: ../src/extension/internal/wmf-inout.cpp:3142
msgid "WMF Output"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3151
+#: ../src/extension/internal/wmf-inout.cpp:3152
msgid "Map all fill patterns to standard WMF hatches"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3155
+#: ../src/extension/internal/wmf-inout.cpp:3156
#: ../share/extensions/wmf_input.inx.h:2
#: ../share/extensions/wmf_output.inx.h:2
msgid "Windows Metafile (*.wmf)"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3156
+#: ../src/extension/internal/wmf-inout.cpp:3157
msgid "Windows Metafile"
msgstr ""
@@ -8506,202 +8198,202 @@ msgstr ""
msgid "Import Clip Art"
msgstr ""
-#: ../src/filter-enums.cpp:21
+#: ../src/filter-enums.cpp:22
msgid "Color Matrix"
msgstr ""
-#: ../src/filter-enums.cpp:23
+#: ../src/filter-enums.cpp:24
msgid "Composite"
msgstr ""
-#: ../src/filter-enums.cpp:24
+#: ../src/filter-enums.cpp:25
msgid "Convolve Matrix"
msgstr ""
-#: ../src/filter-enums.cpp:25
+#: ../src/filter-enums.cpp:26
msgid "Diffuse Lighting"
msgstr ""
-#: ../src/filter-enums.cpp:26
+#: ../src/filter-enums.cpp:27
msgid "Displacement Map"
msgstr ""
-#: ../src/filter-enums.cpp:27
+#: ../src/filter-enums.cpp:28
msgid "Flood"
msgstr ""
-#: ../src/filter-enums.cpp:30 ../share/extensions/text_merge.inx.h:1
+#: ../src/filter-enums.cpp:31 ../share/extensions/text_merge.inx.h:1
msgid "Merge"
msgstr ""
-#: ../src/filter-enums.cpp:33
+#: ../src/filter-enums.cpp:34
msgid "Specular Lighting"
msgstr ""
-#: ../src/filter-enums.cpp:34
+#: ../src/filter-enums.cpp:35
msgid "Tile"
msgstr ""
-#: ../src/filter-enums.cpp:40
+#: ../src/filter-enums.cpp:41
msgid "Source Graphic"
msgstr ""
-#: ../src/filter-enums.cpp:41
+#: ../src/filter-enums.cpp:42
msgid "Source Alpha"
msgstr ""
-#: ../src/filter-enums.cpp:42
+#: ../src/filter-enums.cpp:43
msgid "Background Image"
msgstr ""
-#: ../src/filter-enums.cpp:43
+#: ../src/filter-enums.cpp:44
msgid "Background Alpha"
msgstr ""
-#: ../src/filter-enums.cpp:44
+#: ../src/filter-enums.cpp:45
msgid "Fill Paint"
msgstr ""
-#: ../src/filter-enums.cpp:45
+#: ../src/filter-enums.cpp:46
msgid "Stroke Paint"
msgstr ""
#. New in Compositing and Blending Level 1
-#: ../src/filter-enums.cpp:57
+#: ../src/filter-enums.cpp:58
msgid "Overlay"
msgstr ""
-#: ../src/filter-enums.cpp:58
+#: ../src/filter-enums.cpp:59
msgid "Color Dodge"
msgstr ""
-#: ../src/filter-enums.cpp:59
+#: ../src/filter-enums.cpp:60
msgid "Color Burn"
msgstr ""
-#: ../src/filter-enums.cpp:60
+#: ../src/filter-enums.cpp:61
msgid "Hard Light"
msgstr ""
-#: ../src/filter-enums.cpp:61
+#: ../src/filter-enums.cpp:62
msgid "Soft Light"
msgstr ""
-#: ../src/filter-enums.cpp:62 ../src/splivarot.cpp:88 ../src/splivarot.cpp:94
+#: ../src/filter-enums.cpp:63 ../src/splivarot.cpp:88 ../src/splivarot.cpp:94
msgid "Difference"
msgstr ""
-#: ../src/filter-enums.cpp:63 ../src/splivarot.cpp:100
+#: ../src/filter-enums.cpp:64 ../src/splivarot.cpp:100
msgid "Exclusion"
msgstr ""
-#: ../src/filter-enums.cpp:64 ../src/ui/tools/flood-tool.cpp:196
-#: ../src/widgets/sp-color-icc-selector.cpp:361
-#: ../src/widgets/sp-color-icc-selector.cpp:365
-#: ../src/widgets/sp-color-scales.cpp:455
-#: ../src/widgets/sp-color-scales.cpp:456 ../src/widgets/tweak-toolbar.cpp:286
+#: ../src/filter-enums.cpp:65 ../src/ui/tools/flood-tool.cpp:196
+#: ../src/widgets/sp-color-icc-selector.cpp:336
+#: ../src/widgets/sp-color-icc-selector.cpp:340
+#: ../src/widgets/sp-color-scales.cpp:441
+#: ../src/widgets/sp-color-scales.cpp:442 ../src/widgets/tweak-toolbar.cpp:286
#: ../share/extensions/color_randomize.inx.h:3
msgid "Hue"
msgstr ""
-#: ../src/filter-enums.cpp:67
+#: ../src/filter-enums.cpp:68
msgid "Luminosity"
msgstr ""
-#: ../src/filter-enums.cpp:77
+#: ../src/filter-enums.cpp:78
msgid "Matrix"
msgstr ""
-#: ../src/filter-enums.cpp:78
+#: ../src/filter-enums.cpp:79
msgid "Saturate"
msgstr ""
-#: ../src/filter-enums.cpp:79
+#: ../src/filter-enums.cpp:80
msgid "Hue Rotate"
msgstr ""
-#: ../src/filter-enums.cpp:80
+#: ../src/filter-enums.cpp:81
msgid "Luminance to Alpha"
msgstr ""
#. File
-#: ../src/filter-enums.cpp:86 ../src/verbs.cpp:2352
+#: ../src/filter-enums.cpp:87 ../src/verbs.cpp:2435
#: ../share/extensions/jessyInk_mouseHandler.inx.h:3
#: ../share/extensions/jessyInk_transitions.inx.h:7
msgid "Default"
msgstr ""
#. New CSS
-#: ../src/filter-enums.cpp:94
+#: ../src/filter-enums.cpp:95
msgid "Clear"
msgstr ""
-#: ../src/filter-enums.cpp:95
+#: ../src/filter-enums.cpp:96
msgid "Copy"
msgstr ""
-#: ../src/filter-enums.cpp:96 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1571
+#: ../src/filter-enums.cpp:97 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1610
msgid "Destination"
msgstr ""
-#: ../src/filter-enums.cpp:97
+#: ../src/filter-enums.cpp:98
msgid "Destination Over"
msgstr ""
-#: ../src/filter-enums.cpp:98
+#: ../src/filter-enums.cpp:99
msgid "Destination In"
msgstr ""
-#: ../src/filter-enums.cpp:99
+#: ../src/filter-enums.cpp:100
msgid "Destination Out"
msgstr ""
-#: ../src/filter-enums.cpp:100
+#: ../src/filter-enums.cpp:101
msgid "Destination Atop"
msgstr ""
-#: ../src/filter-enums.cpp:101
+#: ../src/filter-enums.cpp:102
msgid "Lighter"
msgstr ""
-#: ../src/filter-enums.cpp:103
+#: ../src/filter-enums.cpp:104
msgid "Arithmetic"
msgstr ""
-#: ../src/filter-enums.cpp:119 ../src/selection-chemistry.cpp:535
+#: ../src/filter-enums.cpp:120 ../src/selection-chemistry.cpp:550
msgid "Duplicate"
msgstr ""
-#: ../src/filter-enums.cpp:120
+#: ../src/filter-enums.cpp:121
msgid "Wrap"
msgstr ""
-#: ../src/filter-enums.cpp:121
+#: ../src/filter-enums.cpp:122
msgctxt "Convolve matrix, edge mode"
msgid "None"
msgstr ""
-#: ../src/filter-enums.cpp:136
+#: ../src/filter-enums.cpp:137
msgid "Erode"
msgstr ""
-#: ../src/filter-enums.cpp:137
+#: ../src/filter-enums.cpp:138
msgid "Dilate"
msgstr ""
-#: ../src/filter-enums.cpp:143
+#: ../src/filter-enums.cpp:144
msgid "Fractal Noise"
msgstr ""
-#: ../src/filter-enums.cpp:150
+#: ../src/filter-enums.cpp:151
msgid "Distant Light"
msgstr ""
-#: ../src/filter-enums.cpp:151
+#: ../src/filter-enums.cpp:152
msgid "Point Light"
msgstr ""
-#: ../src/filter-enums.cpp:152
+#: ../src/filter-enums.cpp:153
msgid "Spot Light"
msgstr ""
@@ -8713,7 +8405,7 @@ msgstr ""
msgid "Reverse gradient"
msgstr ""
-#: ../src/gradient-chemistry.cpp:1620 ../src/widgets/gradient-selector.cpp:245
+#: ../src/gradient-chemistry.cpp:1620 ../src/widgets/gradient-selector.cpp:227
msgid "Delete swatch"
msgstr ""
@@ -8773,7 +8465,7 @@ msgstr ""
msgid "Move gradient handle"
msgstr ""
-#: ../src/gradient-drag.cpp:1163 ../src/widgets/gradient-vector.cpp:847
+#: ../src/gradient-drag.cpp:1163 ../src/widgets/gradient-vector.cpp:827
msgid "Delete gradient stop"
msgstr ""
@@ -8824,310 +8516,72 @@ msgstr ""
msgid "Delete gradient stop(s)"
msgstr ""
-#: ../src/inkscape.cpp:344
+#: ../src/inkscape.cpp:310
msgid "Autosave failed! Cannot create directory %1."
msgstr ""
-#: ../src/inkscape.cpp:353
+#: ../src/inkscape.cpp:319
msgid "Autosave failed! Cannot open directory %1."
msgstr ""
-#: ../src/inkscape.cpp:369
+#: ../src/inkscape.cpp:335
msgid "Autosaving documents..."
msgstr ""
-#: ../src/inkscape.cpp:442
+#: ../src/inkscape.cpp:408
msgid "Autosave failed! Could not find inkscape extension to save document."
msgstr ""
-#: ../src/inkscape.cpp:445 ../src/inkscape.cpp:452
+#: ../src/inkscape.cpp:411 ../src/inkscape.cpp:418
#, c-format
msgid "Autosave failed! File %s could not be saved."
msgstr ""
-#: ../src/inkscape.cpp:467
+#: ../src/inkscape.cpp:433
msgid "Autosave complete."
msgstr ""
-#: ../src/inkscape.cpp:715
+#: ../src/inkscape.cpp:681
msgid "Untitled document"
msgstr ""
#. Show nice dialog box
-#: ../src/inkscape.cpp:747
+#: ../src/inkscape.cpp:713
msgid "Inkscape encountered an internal error and will close now.\n"
msgstr ""
-#: ../src/inkscape.cpp:748
+#: ../src/inkscape.cpp:714
msgid ""
"Automatic backups of unsaved documents were done to the following "
"locations:\n"
msgstr ""
-#: ../src/inkscape.cpp:749
+#: ../src/inkscape.cpp:715
msgid "Automatic backup of the following documents failed:\n"
msgstr ""
-#: ../src/interface.cpp:748
-msgctxt "Interface setup"
-msgid "Default"
-msgstr ""
-
-#: ../src/interface.cpp:748
-msgid "Default interface setup"
-msgstr ""
-
-#: ../src/interface.cpp:749
-msgctxt "Interface setup"
-msgid "Custom"
-msgstr ""
-
-#: ../src/interface.cpp:749
-msgid "Setup for custom task"
-msgstr ""
-
-#: ../src/interface.cpp:750
-msgctxt "Interface setup"
-msgid "Wide"
-msgstr ""
-
-#: ../src/interface.cpp:750
-msgid "Setup for widescreen work"
-msgstr ""
-
-#: ../src/interface.cpp:862
-#, c-format
-msgid "Verb \"%s\" Unknown"
-msgstr ""
-
-#: ../src/interface.cpp:901
-msgid "Open _Recent"
-msgstr ""
-
-#: ../src/interface.cpp:1009 ../src/interface.cpp:1095
-#: ../src/interface.cpp:1198 ../src/ui/widget/selected-style.cpp:532
-msgid "Drop color"
-msgstr ""
-
-#: ../src/interface.cpp:1048 ../src/interface.cpp:1158
-msgid "Drop color on gradient"
-msgstr ""
-
-#: ../src/interface.cpp:1211
-msgid "Could not parse SVG data"
-msgstr ""
-
-#: ../src/interface.cpp:1250
-msgid "Drop SVG"
-msgstr ""
-
-#: ../src/interface.cpp:1263
-msgid "Drop Symbol"
-msgstr ""
-
-#: ../src/interface.cpp:1294
-msgid "Drop bitmap image"
-msgstr ""
-
-#: ../src/interface.cpp:1386
-#, c-format
-msgid ""
-"<span weight=\"bold\" size=\"larger\">A file named \"%s\" already exists. Do "
-"you want to replace it?</span>\n"
-"\n"
-"The file already exists in \"%s\". Replacing it will overwrite its contents."
-msgstr ""
-
-#: ../src/interface.cpp:1392 ../src/ui/dialog/export.cpp:1302
-#: ../src/widgets/desktop-widget.cpp:1122
-#: ../src/widgets/desktop-widget.cpp:1184
-msgid "_Cancel"
-msgstr ""
-
-#: ../src/interface.cpp:1393 ../share/extensions/web-set-att.inx.h:21
-#: ../share/extensions/web-transmit-att.inx.h:19
-msgid "Replace"
-msgstr ""
-
-#: ../src/interface.cpp:1464
-msgid "Go to parent"
-msgstr ""
-
-#. TRANSLATORS: #%1 is the id of the group e.g. <g id="#g7">, not a number.
-#: ../src/interface.cpp:1505
-msgid "Enter group #%1"
-msgstr ""
-
-#. Item dialog
-#: ../src/interface.cpp:1641 ../src/verbs.cpp:2849
-msgid "_Object Properties..."
-msgstr ""
-
-#: ../src/interface.cpp:1650
-msgid "_Select This"
-msgstr ""
-
-#: ../src/interface.cpp:1661
-msgid "Select Same"
-msgstr ""
-
-#. Select same fill and stroke
-#: ../src/interface.cpp:1671
-msgid "Fill and Stroke"
-msgstr ""
-
-#. Select same fill color
-#: ../src/interface.cpp:1678
-msgid "Fill Color"
-msgstr ""
-
-#. Select same stroke color
-#: ../src/interface.cpp:1685
-msgid "Stroke Color"
-msgstr ""
-
-#. Select same stroke style
-#: ../src/interface.cpp:1692
-msgid "Stroke Style"
-msgstr ""
-
-#. Select same stroke style
-#: ../src/interface.cpp:1699
-msgid "Object type"
-msgstr ""
-
-#. Move to layer
-#: ../src/interface.cpp:1706
-msgid "_Move to layer ..."
-msgstr ""
-
-#. Create link
-#: ../src/interface.cpp:1716
-msgid "Create _Link"
-msgstr ""
-
-#. Set mask
-#: ../src/interface.cpp:1739
-msgid "Set Mask"
-msgstr ""
-
-#. Release mask
-#: ../src/interface.cpp:1750
-msgid "Release Mask"
-msgstr ""
-
-#. Set Clip
-#: ../src/interface.cpp:1761
-msgid "Set Cl_ip"
-msgstr ""
-
-#. Release Clip
-#: ../src/interface.cpp:1772
-msgid "Release C_lip"
-msgstr ""
-
-#. Group
-#: ../src/interface.cpp:1783 ../src/verbs.cpp:2486
-msgid "_Group"
-msgstr ""
-
-#: ../src/interface.cpp:1854
-msgid "Create link"
-msgstr ""
-
-#. Ungroup
-#: ../src/interface.cpp:1885 ../src/verbs.cpp:2488
-msgid "_Ungroup"
-msgstr ""
-
-#. Link dialog
-#: ../src/interface.cpp:1910
-msgid "Link _Properties..."
-msgstr ""
-
-#. Select item
-#: ../src/interface.cpp:1916
-msgid "_Follow Link"
-msgstr ""
-
-#. Reset transformations
-#: ../src/interface.cpp:1922
-msgid "_Remove Link"
-msgstr ""
-
-#: ../src/interface.cpp:1953
-msgid "Remove link"
-msgstr ""
-
-#. Image properties
-#: ../src/interface.cpp:1964
-msgid "Image _Properties..."
-msgstr ""
-
-#. Edit externally
-#: ../src/interface.cpp:1970
-msgid "Edit Externally..."
-msgstr ""
-
-#. Trace Bitmap
-#. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize)
-#: ../src/interface.cpp:1979 ../src/verbs.cpp:2549
-msgid "_Trace Bitmap..."
-msgstr ""
-
-#. Trace Pixel Art
-#: ../src/interface.cpp:1988
-msgid "Trace Pixel Art"
-msgstr ""
-
-#: ../src/interface.cpp:1998
-msgctxt "Context menu"
-msgid "Embed Image"
-msgstr ""
-
-#: ../src/interface.cpp:2009
-msgctxt "Context menu"
-msgid "Extract Image..."
-msgstr ""
-
-#. Item dialog
-#. Fill and Stroke dialog
-#: ../src/interface.cpp:2154 ../src/interface.cpp:2174 ../src/verbs.cpp:2812
-msgid "_Fill and Stroke..."
-msgstr ""
-
-#. Edit Text dialog
-#: ../src/interface.cpp:2180 ../src/verbs.cpp:2831
-msgid "_Text and Font..."
-msgstr ""
-
-#. Spellcheck dialog
-#: ../src/interface.cpp:2186 ../src/verbs.cpp:2839
-msgid "Check Spellin_g..."
-msgstr ""
-
-#: ../src/knot.cpp:332
+#: ../src/knot.cpp:346
msgid "Node or handle drag canceled."
msgstr ""
-#: ../src/knotholder.cpp:158
+#: ../src/knotholder.cpp:170
msgid "Change handle"
msgstr ""
-#: ../src/knotholder.cpp:237
+#: ../src/knotholder.cpp:257
msgid "Move handle"
msgstr ""
#. TRANSLATORS: This refers to the pattern that's inside the object
-#: ../src/knotholder.cpp:256 ../src/knotholder.cpp:278
+#: ../src/knotholder.cpp:276 ../src/knotholder.cpp:298
msgid "<b>Move</b> the pattern fill inside the object"
msgstr ""
-#: ../src/knotholder.cpp:260 ../src/knotholder.cpp:282
+#: ../src/knotholder.cpp:280 ../src/knotholder.cpp:302
msgid "<b>Scale</b> the pattern fill; uniformly if with <b>Ctrl</b>"
msgstr ""
-#: ../src/knotholder.cpp:264 ../src/knotholder.cpp:286
+#: ../src/knotholder.cpp:284 ../src/knotholder.cpp:306
msgid "<b>Rotate</b> the pattern fill; with <b>Ctrl</b> to snap angle"
msgstr ""
@@ -9297,8 +8751,9 @@ msgstr ""
#: ../src/libgdl/gdl-dock-notebook.c:132
#: ../src/ui/dialog/align-and-distribute.cpp:1003
#: ../src/ui/dialog/document-properties.cpp:153
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1497
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1536
#: ../src/widgets/desktop-widget.cpp:1992
+#: ../share/extensions/empty_page.inx.h:1
#: ../share/extensions/voronoi2svg.inx.h:9
msgid "Page"
msgstr ""
@@ -9308,10 +8763,11 @@ msgid "The index of the current page"
msgstr ""
#: ../src/libgdl/gdl-dock-object.c:125
+#: ../src/live_effects/parameter/originalpatharray.cpp:86
#: ../src/ui/dialog/inkscape-preferences.cpp:1504
#: ../src/ui/widget/page-sizer.cpp:258
-#: ../src/widgets/gradient-selector.cpp:158
-#: ../src/widgets/sp-xmlview-attr-list.cpp:54
+#: ../src/widgets/gradient-selector.cpp:140
+#: ../src/widgets/sp-xmlview-attr-list.cpp:49
msgid "Name"
msgstr ""
@@ -9506,175 +8962,292 @@ msgstr ""
msgid "Dock #%d"
msgstr ""
-#: ../src/libnrtype/FontFactory.cpp:617
+#: ../src/libnrtype/FontFactory.cpp:618
msgid "Ignoring font without family that will crash Pango"
msgstr ""
-#: ../src/live_effects/effect.cpp:84
+#: ../src/live_effects/effect.cpp:99
msgid "doEffect stack test"
msgstr ""
-#: ../src/live_effects/effect.cpp:85
+#: ../src/live_effects/effect.cpp:100
msgid "Angle bisector"
msgstr ""
#. TRANSLATORS: boolean operations
-#: ../src/live_effects/effect.cpp:87
+#: ../src/live_effects/effect.cpp:102
msgid "Boolops"
msgstr ""
-#: ../src/live_effects/effect.cpp:88
+#: ../src/live_effects/effect.cpp:103
msgid "Circle (by center and radius)"
msgstr ""
-#: ../src/live_effects/effect.cpp:89
+#: ../src/live_effects/effect.cpp:104
msgid "Circle by 3 points"
msgstr ""
-#: ../src/live_effects/effect.cpp:90
+#: ../src/live_effects/effect.cpp:105
msgid "Dynamic stroke"
msgstr ""
-#: ../src/live_effects/effect.cpp:91 ../share/extensions/extrude.inx.h:1
+#: ../src/live_effects/effect.cpp:106 ../share/extensions/extrude.inx.h:1
msgid "Extrude"
msgstr ""
-#: ../src/live_effects/effect.cpp:92
+#: ../src/live_effects/effect.cpp:107
msgid "Lattice Deformation"
msgstr ""
-#: ../src/live_effects/effect.cpp:93
+#: ../src/live_effects/effect.cpp:108
msgid "Line Segment"
msgstr ""
-#: ../src/live_effects/effect.cpp:94
+#: ../src/live_effects/effect.cpp:109
msgid "Mirror symmetry"
msgstr ""
-#: ../src/live_effects/effect.cpp:96
+#: ../src/live_effects/effect.cpp:111
msgid "Parallel"
msgstr ""
-#: ../src/live_effects/effect.cpp:97
+#: ../src/live_effects/effect.cpp:112
msgid "Path length"
msgstr ""
-#: ../src/live_effects/effect.cpp:98
+#: ../src/live_effects/effect.cpp:113
msgid "Perpendicular bisector"
msgstr ""
-#: ../src/live_effects/effect.cpp:99
+#: ../src/live_effects/effect.cpp:114
msgid "Perspective path"
msgstr ""
-#: ../src/live_effects/effect.cpp:100
+#: ../src/live_effects/effect.cpp:115
msgid "Rotate copies"
msgstr ""
-#: ../src/live_effects/effect.cpp:101
+#: ../src/live_effects/effect.cpp:116
msgid "Recursive skeleton"
msgstr ""
-#: ../src/live_effects/effect.cpp:102
+#: ../src/live_effects/effect.cpp:117
msgid "Tangent to curve"
msgstr ""
-#: ../src/live_effects/effect.cpp:103
+#: ../src/live_effects/effect.cpp:118
msgid "Text label"
msgstr ""
#. 0.46
-#: ../src/live_effects/effect.cpp:106
+#: ../src/live_effects/effect.cpp:121
msgid "Bend"
msgstr ""
-#: ../src/live_effects/effect.cpp:107
+#: ../src/live_effects/effect.cpp:122
msgid "Gears"
msgstr ""
-#: ../src/live_effects/effect.cpp:108
+#: ../src/live_effects/effect.cpp:123
msgid "Pattern Along Path"
msgstr ""
#. for historic reasons, this effect is called skeletal(strokes) in Inkscape:SVG
-#: ../src/live_effects/effect.cpp:109
+#: ../src/live_effects/effect.cpp:124
msgid "Stitch Sub-Paths"
msgstr ""
#. 0.47
-#: ../src/live_effects/effect.cpp:111
+#: ../src/live_effects/effect.cpp:126
msgid "VonKoch"
msgstr ""
-#: ../src/live_effects/effect.cpp:112
+#: ../src/live_effects/effect.cpp:127
msgid "Knot"
msgstr ""
-#: ../src/live_effects/effect.cpp:113
+#: ../src/live_effects/effect.cpp:128
msgid "Construct grid"
msgstr ""
-#: ../src/live_effects/effect.cpp:114
+#: ../src/live_effects/effect.cpp:129
msgid "Spiro spline"
msgstr ""
-#: ../src/live_effects/effect.cpp:115
+#: ../src/live_effects/effect.cpp:130
msgid "Envelope Deformation"
msgstr ""
-#: ../src/live_effects/effect.cpp:116
+#: ../src/live_effects/effect.cpp:131
msgid "Interpolate Sub-Paths"
msgstr ""
-#: ../src/live_effects/effect.cpp:117
+#: ../src/live_effects/effect.cpp:132
msgid "Hatches (rough)"
msgstr ""
-#: ../src/live_effects/effect.cpp:118
+#: ../src/live_effects/effect.cpp:133
msgid "Sketch"
msgstr ""
-#: ../src/live_effects/effect.cpp:119
+#: ../src/live_effects/effect.cpp:134
msgid "Ruler"
msgstr ""
-#. 0.49
-#: ../src/live_effects/effect.cpp:121
+#. 0.91
+#: ../src/live_effects/effect.cpp:136
msgid "Power stroke"
msgstr ""
-#: ../src/live_effects/effect.cpp:122 ../src/selection-chemistry.cpp:2837
+#: ../src/live_effects/effect.cpp:137
msgid "Clone original path"
msgstr ""
-#: ../src/live_effects/effect.cpp:284
+#. EXPERIMENTAL
+#: ../src/live_effects/effect.cpp:139
+#: ../src/live_effects/lpe-show_handles.cpp:26
+msgid "Show handles"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:141 ../src/widgets/pencil-toolbar.cpp:109
+msgid "BSpline"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:142
+#: ../src/live_effects/lpe-taperstroke.cpp:78
+msgid "Join type"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:143
+msgid "Taper stroke"
+msgstr ""
+
+#. Ponyscape
+#: ../src/live_effects/effect.cpp:145
+msgid "Attach path"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:146
+msgid "Fill between strokes"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:147 ../src/selection-chemistry.cpp:2926
+msgid "Fill between many"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:148
+msgid "Ellipse by 5 points"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:149
+msgid "Bounding Box"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:152
+msgid "Lattice Deformation 2"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:153
+msgid "Perspective/Envelope"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:154
+msgid "Fillet/Chamfer"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:155
+msgid "Interpolate points"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:362
msgid "Is visible?"
msgstr ""
-#: ../src/live_effects/effect.cpp:284
+#: ../src/live_effects/effect.cpp:362
msgid ""
"If unchecked, the effect remains applied to the object but is temporarily "
"disabled on canvas"
msgstr ""
-#: ../src/live_effects/effect.cpp:305
+#: ../src/live_effects/effect.cpp:384
msgid "No effect"
msgstr ""
-#: ../src/live_effects/effect.cpp:352
+#: ../src/live_effects/effect.cpp:490
#, c-format
msgid "Please specify a parameter path for the LPE '%s' with %d mouse clicks"
msgstr ""
-#: ../src/live_effects/effect.cpp:624
+#: ../src/live_effects/effect.cpp:757
#, c-format
msgid "Editing parameter <b>%s</b>."
msgstr ""
-#: ../src/live_effects/effect.cpp:629
+#: ../src/live_effects/effect.cpp:762
msgid "None of the applied path effect's parameters can be edited on-canvas."
msgstr ""
+#: ../src/live_effects/lpe-attach-path.cpp:29
+msgid "Start path:"
+msgstr ""
+
+#: ../src/live_effects/lpe-attach-path.cpp:29
+msgid "Path to attach to the start of this path"
+msgstr ""
+
+#: ../src/live_effects/lpe-attach-path.cpp:30
+msgid "Start path position:"
+msgstr ""
+
+#: ../src/live_effects/lpe-attach-path.cpp:30
+msgid "Position to attach path start to"
+msgstr ""
+
+#: ../src/live_effects/lpe-attach-path.cpp:31
+msgid "Start path curve start:"
+msgstr ""
+
+#: ../src/live_effects/lpe-attach-path.cpp:31
+#: ../src/live_effects/lpe-attach-path.cpp:35
+msgid "Starting curve"
+msgstr ""
+
+#. , true
+#: ../src/live_effects/lpe-attach-path.cpp:32
+msgid "Start path curve end:"
+msgstr ""
+
+#: ../src/live_effects/lpe-attach-path.cpp:32
+#: ../src/live_effects/lpe-attach-path.cpp:36
+msgid "Ending curve"
+msgstr ""
+
+#. , true
+#: ../src/live_effects/lpe-attach-path.cpp:33
+msgid "End path:"
+msgstr ""
+
+#: ../src/live_effects/lpe-attach-path.cpp:33
+msgid "Path to attach to the end of this path"
+msgstr ""
+
+#: ../src/live_effects/lpe-attach-path.cpp:34
+msgid "End path position:"
+msgstr ""
+
+#: ../src/live_effects/lpe-attach-path.cpp:34
+msgid "Position to attach path end to"
+msgstr ""
+
+#: ../src/live_effects/lpe-attach-path.cpp:35
+msgid "End path curve start:"
+msgstr ""
+
+#. , true
+#: ../src/live_effects/lpe-attach-path.cpp:36
+msgid "End path curve end:"
+msgstr ""
+
#: ../src/live_effects/lpe-bendpath.cpp:53
msgid "Bend path:"
msgstr ""
@@ -9710,14 +9283,71 @@ msgstr ""
msgid "Rotates the original 90 degrees, before bending it along the bend path"
msgstr ""
+#: ../src/live_effects/lpe-bounding-box.cpp:24
#: ../src/live_effects/lpe-clone-original.cpp:18
+#: ../src/live_effects/lpe-fill-between-many.cpp:25
+#: ../src/live_effects/lpe-fill-between-strokes.cpp:23
msgid "Linked path:"
msgstr ""
+#: ../src/live_effects/lpe-bounding-box.cpp:24
#: ../src/live_effects/lpe-clone-original.cpp:18
+#: ../src/live_effects/lpe-fill-between-strokes.cpp:23
msgid "Path from which to take the original path data"
msgstr ""
+#: ../src/live_effects/lpe-bounding-box.cpp:25
+msgid "Visual Bounds"
+msgstr ""
+
+#: ../src/live_effects/lpe-bounding-box.cpp:25
+msgid "Uses the visual bounding box"
+msgstr ""
+
+#. initialise your parameters here:
+#. testpointA(_("Test Point A"), _("Test A"), "ptA", &wr, this,
+#. Geom::Point(100,100)),
+#: ../src/live_effects/lpe-bspline.cpp:60
+msgid "Steps with CTRL:"
+msgstr ""
+
+#: ../src/live_effects/lpe-bspline.cpp:60
+msgid "Change number of steps with CTRL pressed"
+msgstr ""
+
+#: ../src/live_effects/lpe-bspline.cpp:61
+msgid "Ignore cusp nodes"
+msgstr ""
+
+#: ../src/live_effects/lpe-bspline.cpp:61
+msgid "Change ignoring cusp nodes"
+msgstr ""
+
+#: ../src/live_effects/lpe-bspline.cpp:62
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:57
+msgid "Change only selected nodes"
+msgstr ""
+
+#: ../src/live_effects/lpe-bspline.cpp:63
+msgid "Show helper paths"
+msgstr ""
+
+#: ../src/live_effects/lpe-bspline.cpp:64
+msgid "Change weight:"
+msgstr ""
+
+#: ../src/live_effects/lpe-bspline.cpp:64
+msgid "Change weight of the effect"
+msgstr ""
+
+#: ../src/live_effects/lpe-bspline.cpp:304
+msgid "Default weight"
+msgstr ""
+
+#: ../src/live_effects/lpe-bspline.cpp:309
+msgid "Make cusp"
+msgstr ""
+
#: ../src/live_effects/lpe-constructgrid.cpp:27
msgid "Size _X:"
msgstr ""
@@ -9806,6 +9436,14 @@ msgstr ""
msgid "Scale the width of the stitch path relative to its length"
msgstr ""
+#: ../src/live_effects/lpe-ellipse_5pts.cpp:77
+msgid "Five points required for constructing an ellipse"
+msgstr ""
+
+#: ../src/live_effects/lpe-ellipse_5pts.cpp:162
+msgid "No ellipse found for specified points"
+msgstr ""
+
#: ../src/live_effects/lpe-envelope.cpp:31
msgid "Top bend path:"
msgstr ""
@@ -9839,7 +9477,7 @@ msgid "Left path along which to bend the original path"
msgstr ""
#: ../src/live_effects/lpe-envelope.cpp:35
-msgid "E_nable left & right paths"
+msgid "_Enable left & right paths"
msgstr ""
#: ../src/live_effects/lpe-envelope.cpp:35
@@ -9862,6 +9500,106 @@ msgstr ""
msgid "Defines the direction and magnitude of the extrusion"
msgstr ""
+#: ../src/live_effects/lpe-fill-between-many.cpp:25
+msgid "Paths from which to take the original path data"
+msgstr ""
+
+#: ../src/live_effects/lpe-fill-between-strokes.cpp:24
+msgid "Second path:"
+msgstr ""
+
+#: ../src/live_effects/lpe-fill-between-strokes.cpp:24
+msgid "Second path from which to take the original path data"
+msgstr ""
+
+#: ../src/live_effects/lpe-fill-between-strokes.cpp:25
+msgid "Reverse Second"
+msgstr ""
+
+#: ../src/live_effects/lpe-fill-between-strokes.cpp:25
+msgid "Reverses the second path order"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:42
+#: ../share/extensions/render_barcode_qrcode.inx.h:5
+msgid "Auto"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:43
+msgid "Force arc"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:44
+msgid "Force bezier"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:54
+msgid "Fillet point"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:55
+msgid "Hide knots"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:56
+msgid "Ignore 0 radius knots"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:58
+msgid "Flexible radius size (%)"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:59
+msgid "Use knots distance instead radius"
+msgstr ""
+
+#. initialise your parameters here:
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:60
+#: ../src/live_effects/lpe-roughen.cpp:39 ../src/live_effects/lpe-ruler.cpp:42
+#: ../src/widgets/ruler.cpp:201
+msgid "Unit"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
+#: ../src/live_effects/lpe-roughen.cpp:40
+msgid "Method"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
+msgid "Fillets methods"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:62
+msgid "Radius (unit or %)"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:62
+msgid "Radius, in unit or %"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
+msgid "Chamfer steps"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:65
+msgid "Helper size with direction"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:158
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:76
+msgid "Fillet"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:162
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:78
+msgid "Inverse fillet"
+msgstr ""
+
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:166
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:80
+msgid "Chamfer"
+msgstr ""
+
#: ../src/live_effects/lpe-gears.cpp:214
msgid "_Teeth:"
msgstr ""
@@ -9907,64 +9645,403 @@ msgid ""
"trajectory path."
msgstr ""
+#: ../src/live_effects/lpe-interpolate_points.cpp:26
+#: ../src/live_effects/lpe-powerstroke.cpp:195
+msgid "CubicBezierFit"
+msgstr ""
+
+#: ../src/live_effects/lpe-interpolate_points.cpp:27
+#: ../src/live_effects/lpe-powerstroke.cpp:196
+msgid "CubicBezierJohan"
+msgstr ""
+
+#: ../src/live_effects/lpe-interpolate_points.cpp:28
+#: ../src/live_effects/lpe-powerstroke.cpp:197
+msgid "SpiroInterpolator"
+msgstr ""
+
+#: ../src/live_effects/lpe-interpolate_points.cpp:29
+#: ../src/live_effects/lpe-powerstroke.cpp:198
+msgid "Centripetal Catmull-Rom"
+msgstr ""
+
+#: ../src/live_effects/lpe-interpolate_points.cpp:37
+#: ../src/live_effects/lpe-powerstroke.cpp:240
+msgid "Interpolator type:"
+msgstr ""
+
+#: ../src/live_effects/lpe-interpolate_points.cpp:38
+#: ../src/live_effects/lpe-powerstroke.cpp:240
+msgid ""
+"Determines which kind of interpolator will be used to interpolate between "
+"stroke width along the path"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:31
+#: ../src/live_effects/lpe-powerstroke.cpp:227
+#: ../src/live_effects/lpe-taperstroke.cpp:63
+msgid "Beveled"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:32
+#: ../src/live_effects/lpe-jointype.cpp:40
+#: ../src/live_effects/lpe-powerstroke.cpp:228
+#: ../src/live_effects/lpe-taperstroke.cpp:64
+#: ../src/widgets/star-toolbar.cpp:536
+msgid "Rounded"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:33
+#: ../src/live_effects/lpe-powerstroke.cpp:231
+#: ../src/live_effects/lpe-taperstroke.cpp:66
+msgid "Miter"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:34
+#: ../src/live_effects/lpe-taperstroke.cpp:65
+#: ../src/widgets/gradient-toolbar.cpp:1115
+msgid "Reflected"
+msgstr ""
+
+#. {LINEJOIN_EXTRP_MITER, N_("Extrapolated"), "extrapolated"}, // disabled because doesn't work well
+#: ../src/live_effects/lpe-jointype.cpp:35
+#: ../src/live_effects/lpe-powerstroke.cpp:230
+msgid "Extrapolated arc"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:39
+#: ../src/live_effects/lpe-powerstroke.cpp:210
+msgid "Butt"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:41
+#: ../src/live_effects/lpe-powerstroke.cpp:211
+msgid "Square"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:42
+#: ../src/live_effects/lpe-powerstroke.cpp:213
+msgid "Peak"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:43
+msgid "Leaned"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:51
+msgid "Thickness of the stroke"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:52
+msgid "Line cap"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:52
+msgid "The end shape of the stroke"
+msgstr ""
+
+#. Join type
+#. TRANSLATORS: The line join style specifies the shape to be used at the
+#. corners of paths. It can be "miter", "round" or "bevel".
+#: ../src/live_effects/lpe-jointype.cpp:53
+#: ../src/live_effects/lpe-powerstroke.cpp:243
+#: ../src/widgets/stroke-style.cpp:227
+msgid "Join:"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:53
+#: ../src/live_effects/lpe-powerstroke.cpp:243
+msgid "Determines the shape of the path's corners"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:54
+msgid "Start path lean"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:55
+msgid "End path lean"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:56
+#: ../src/live_effects/lpe-powerstroke.cpp:244
+msgid "Miter limit:"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:56
+msgid "Maximum length of the miter join (in units of stroke width)"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:57
+msgid "Force miter"
+msgstr ""
+
+#: ../src/live_effects/lpe-jointype.cpp:57
+msgid "Overrides the miter limit and forces a join."
+msgstr ""
+
#. initialise your parameters here:
-#: ../src/live_effects/lpe-knot.cpp:350
+#: ../src/live_effects/lpe-knot.cpp:351
msgid "Fi_xed width:"
msgstr ""
-#: ../src/live_effects/lpe-knot.cpp:350
+#: ../src/live_effects/lpe-knot.cpp:351
msgid "Size of hidden region of lower string"
msgstr ""
-#: ../src/live_effects/lpe-knot.cpp:351
+#: ../src/live_effects/lpe-knot.cpp:352
msgid "_In units of stroke width"
msgstr ""
-#: ../src/live_effects/lpe-knot.cpp:351
+#: ../src/live_effects/lpe-knot.cpp:352
msgid "Consider 'Interruption width' as a ratio of stroke width"
msgstr ""
-#: ../src/live_effects/lpe-knot.cpp:352
+#: ../src/live_effects/lpe-knot.cpp:353
msgid "St_roke width"
msgstr ""
-#: ../src/live_effects/lpe-knot.cpp:352
+#: ../src/live_effects/lpe-knot.cpp:353
msgid "Add the stroke width to the interruption size"
msgstr ""
-#: ../src/live_effects/lpe-knot.cpp:353
+#: ../src/live_effects/lpe-knot.cpp:354
msgid "_Crossing path stroke width"
msgstr ""
-#: ../src/live_effects/lpe-knot.cpp:353
+#: ../src/live_effects/lpe-knot.cpp:354
msgid "Add crossed stroke width to the interruption size"
msgstr ""
-#: ../src/live_effects/lpe-knot.cpp:354
+#: ../src/live_effects/lpe-knot.cpp:355
msgid "S_witcher size:"
msgstr ""
-#: ../src/live_effects/lpe-knot.cpp:354
+#: ../src/live_effects/lpe-knot.cpp:355
msgid "Orientation indicator/switcher size"
msgstr ""
-#: ../src/live_effects/lpe-knot.cpp:355
+#: ../src/live_effects/lpe-knot.cpp:356
msgid "Crossing Signs"
msgstr ""
-#: ../src/live_effects/lpe-knot.cpp:355
+#: ../src/live_effects/lpe-knot.cpp:356
msgid "Crossings signs"
msgstr ""
-#: ../src/live_effects/lpe-knot.cpp:622
+#: ../src/live_effects/lpe-knot.cpp:627
msgid "Drag to select a crossing, click to flip it"
msgstr ""
#. / @todo Is this the right verb?
-#: ../src/live_effects/lpe-knot.cpp:660
+#: ../src/live_effects/lpe-knot.cpp:665
msgid "Change knot crossing"
msgstr ""
+#. initialise your parameters here:
+#: ../src/live_effects/lpe-lattice2.cpp:47
+msgid "Control handle 0:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:47
+msgid "Control handle 0 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:48
+msgid "Control handle 1:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:48
+msgid "Control handle 1 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:49
+msgid "Control handle 2:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:49
+msgid "Control handle 2 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:50
+msgid "Control handle 3:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:50
+msgid "Control handle 3 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:51
+msgid "Control handle 4:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:51
+msgid "Control handle 4 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:52
+msgid "Control handle 5:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:52
+msgid "Control handle 5 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:53
+msgid "Control handle 6:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:53
+msgid "Control handle 6 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:54
+msgid "Control handle 7:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:54
+msgid "Control handle 7 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:55
+msgid "Control handle 8x9:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:55
+msgid "Control handle 8x9 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:56
+msgid "Control handle 10x11:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:56
+msgid "Control handle 10x11 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:57
+msgid "Control handle 12:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:57
+msgid "Control handle 12 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:58
+msgid "Control handle 13:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:58
+msgid "Control handle 13 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:59
+msgid "Control handle 14:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:59
+msgid "Control handle 14 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:60
+msgid "Control handle 15:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:60
+msgid "Control handle 15 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:61
+msgid "Control handle 16:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:61
+msgid "Control handle 16 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:62
+msgid "Control handle 17:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:62
+msgid "Control handle 17 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:63
+msgid "Control handle 18:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:63
+msgid "Control handle 18 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:64
+msgid "Control handle 19:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:64
+msgid "Control handle 19 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:65
+msgid "Control handle 20x21:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:65
+msgid "Control handle 20x21 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:66
+msgid "Control handle 22x23:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:66
+msgid "Control handle 22x23 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:67
+msgid "Control handle 24x26:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:67
+msgid "Control handle 24x26 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:68
+msgid "Control handle 25x27:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:68
+msgid "Control handle 25x27 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:69
+msgid "Control handle 28x30:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:69
+msgid "Control handle 28x30 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:70
+msgid "Control handle 29x31:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:70
+msgid "Control handle 29x31 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:71
+msgid "Control handle 32x33x34x35:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:71
+msgid "Control handle 32x33x34x35 - Ctrl+Alt+Click to reset"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:221
+msgid "Reset grid"
+msgstr ""
+
#: ../src/live_effects/lpe-patternalongpath.cpp:50
#: ../share/extensions/pathalongpath.inx.h:10
msgid "Single"
@@ -10058,133 +10135,119 @@ msgstr ""
msgid "Fuse ends closer than this number. 0 means don't fuse."
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:189
-msgid "CubicBezierFit"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:37
+#: ../share/extensions/perspective.inx.h:1
+msgid "Perspective"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:190
-msgid "CubicBezierJohan"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:38
+msgid "Envelope deformation"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:191
-msgid "SpiroInterpolator"
+#. initialise your parameters here:
+#: ../src/live_effects/lpe-perspective-envelope.cpp:46
+msgid "Type"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:192
-msgid "Centripetal Catmull-Rom"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:46
+msgid "Select the type of deformation"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:204
-msgid "Butt"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:47
+msgid "Top Left"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:205
-msgid "Square"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:47
+msgid "Top Left - Ctrl+Alt+Click to reset"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:206
-#: ../share/extensions/gcodetools_prepare_path_for_plasma.inx.h:13
-msgid "Round"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:48
+msgid "Top Right"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:207
-msgid "Peak"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:48
+msgid "Top Right - Ctrl+Alt+Click to reset"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:208
-msgid "Zero width"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:49
+msgid "Down Left"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:221
-msgid "Beveled"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:49
+msgid "Down Left - Ctrl+Alt+Click to reset"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:222
-#: ../src/widgets/star-toolbar.cpp:534
-msgid "Rounded"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:50
+msgid "Down Right"
msgstr ""
-#. {LINEJOIN_EXTRP_MITER, N_("Extrapolated"), "extrapolated"}, // disabled because doesn't work well
-#: ../src/live_effects/lpe-powerstroke.cpp:224
-msgid "Extrapolated arc"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:50
+msgid "Down Right - Ctrl+Alt+Click to reset"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:225
-msgid "Miter"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:257
+msgid "Handles:"
+msgstr ""
+
+#: ../src/live_effects/lpe-powerstroke.cpp:193
+msgid "CubicBezierSmooth"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:226
+#: ../src/live_effects/lpe-powerstroke.cpp:212
+#: ../share/extensions/gcodetools_prepare_path_for_plasma.inx.h:13
+msgid "Round"
+msgstr ""
+
+#: ../src/live_effects/lpe-powerstroke.cpp:214
+msgid "Zero width"
+msgstr ""
+
+#: ../src/live_effects/lpe-powerstroke.cpp:232
#: ../src/widgets/pencil-toolbar.cpp:103
msgid "Spiro"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:232
+#: ../src/live_effects/lpe-powerstroke.cpp:238
msgid "Offset points"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:233
+#: ../src/live_effects/lpe-powerstroke.cpp:239
msgid "Sort points"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:233
+#: ../src/live_effects/lpe-powerstroke.cpp:239
msgid "Sort offset points according to their time value along the curve"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:234
-msgid "Interpolator type:"
-msgstr ""
-
-#: ../src/live_effects/lpe-powerstroke.cpp:234
-msgid ""
-"Determines which kind of interpolator will be used to interpolate between "
-"stroke width along the path"
-msgstr ""
-
-#: ../src/live_effects/lpe-powerstroke.cpp:235
+#: ../src/live_effects/lpe-powerstroke.cpp:241
#: ../share/extensions/fractalize.inx.h:3
msgid "Smoothness:"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:235
+#: ../src/live_effects/lpe-powerstroke.cpp:241
msgid ""
"Sets the smoothness for the CubicBezierJohan interpolator; 0 = linear "
"interpolation, 1 = smooth"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:236
+#: ../src/live_effects/lpe-powerstroke.cpp:242
msgid "Start cap:"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:236
+#: ../src/live_effects/lpe-powerstroke.cpp:242
msgid "Determines the shape of the path's start"
msgstr ""
-#. Join type
-#. TRANSLATORS: The line join style specifies the shape to be used at the
-#. corners of paths. It can be "miter", "round" or "bevel".
-#: ../src/live_effects/lpe-powerstroke.cpp:237
-#: ../src/widgets/stroke-style.cpp:227
-msgid "Join:"
-msgstr ""
-
-#: ../src/live_effects/lpe-powerstroke.cpp:237
-msgid "Determines the shape of the path's corners"
-msgstr ""
-
-#: ../src/live_effects/lpe-powerstroke.cpp:238
-msgid "Miter limit:"
-msgstr ""
-
-#: ../src/live_effects/lpe-powerstroke.cpp:238
+#: ../src/live_effects/lpe-powerstroke.cpp:244
#: ../src/widgets/stroke-style.cpp:278
msgid "Maximum length of the miter (in units of stroke width)"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:239
+#: ../src/live_effects/lpe-powerstroke.cpp:245
msgid "End cap:"
msgstr ""
-#: ../src/live_effects/lpe-powerstroke.cpp:239
+#: ../src/live_effects/lpe-powerstroke.cpp:245
msgid "Determines the shape of the path's end"
msgstr ""
@@ -10360,6 +10423,64 @@ msgid ""
"amount"
msgstr ""
+#: ../src/live_effects/lpe-roughen.cpp:30 ../share/extensions/addnodes.inx.h:4
+msgid "By number of segments"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:31
+msgid "By max. segment size"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:40
+msgid "Division method"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:42
+msgid "Max. segment size"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:44
+msgid "Number of segments"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:46
+msgid "Max. displacement in X"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:48
+msgid "Max. displacement in Y"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:50
+msgid "Global randomize"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:52
+#: ../share/extensions/radiusrand.inx.h:5
+msgid "Shift nodes"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:54
+#: ../share/extensions/radiusrand.inx.h:6
+msgid "Shift node handles"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:103
+msgid "<b>Roughen unit</b>"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:111
+msgid "<b>Add nodes</b> Subdivide each segment"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:120
+msgid "<b>Jitter nodes</b> Move nodes/handles"
+msgstr ""
+
+#: ../src/live_effects/lpe-roughen.cpp:129
+msgid "<b>Extra roughen</b> Add a extra layer of rough"
+msgstr ""
+
#: ../src/live_effects/lpe-ruler.cpp:25 ../share/extensions/restack.inx.h:12
#: ../share/extensions/text_extract.inx.h:8
#: ../share/extensions/text_merge.inx.h:8
@@ -10381,11 +10502,11 @@ msgctxt "Border mark"
msgid "None"
msgstr ""
-#: ../src/live_effects/lpe-ruler.cpp:33 ../src/widgets/arc-toolbar.cpp:326
+#: ../src/live_effects/lpe-ruler.cpp:33 ../src/widgets/arc-toolbar.cpp:328
msgid "Start"
msgstr ""
-#: ../src/live_effects/lpe-ruler.cpp:34 ../src/widgets/arc-toolbar.cpp:339
+#: ../src/live_effects/lpe-ruler.cpp:34 ../src/widgets/arc-toolbar.cpp:341
msgid "End"
msgstr ""
@@ -10405,10 +10526,6 @@ msgstr ""
msgid "Unit:"
msgstr ""
-#: ../src/live_effects/lpe-ruler.cpp:42 ../src/widgets/ruler.cpp:201
-msgid "Unit"
-msgstr ""
-
#: ../src/live_effects/lpe-ruler.cpp:43
msgid "Ma_jor length:"
msgstr ""
@@ -10465,6 +10582,76 @@ msgstr ""
msgid "Choose whether to draw marks at the beginning and end of the path"
msgstr ""
+#: ../src/live_effects/lpe-show_handles.cpp:25
+msgid "Show nodes"
+msgstr ""
+
+#: ../src/live_effects/lpe-show_handles.cpp:27
+msgid "Show path"
+msgstr ""
+
+#: ../src/live_effects/lpe-show_handles.cpp:28
+msgid "Scale nodes and handles"
+msgstr ""
+
+#: ../src/live_effects/lpe-show_handles.cpp:50
+msgid ""
+"The \"show handles\" path effect will remove any custom style on the object "
+"you are applying it to. If this is not what you want, click Cancel."
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:29
+msgid "Steps:"
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:29
+msgid "Change number of simplify steps "
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:30
+msgid "Roughly threshold:"
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:31
+msgid "Helper size:"
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:31
+msgid "Helper size"
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:32
+msgid "Helper nodes"
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:32
+msgid "Show helper nodes"
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:34
+msgid "Helper handles"
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:34
+msgid "Show helper handles"
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:36
+msgid "Paths separately"
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:36
+msgid "Simplifying paths (separately)"
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:38
+msgid "Just coalesce"
+msgstr ""
+
+#: ../src/live_effects/lpe-simplify.cpp:38
+msgid "Simplify just coalesce"
+msgstr ""
+
#. initialise your parameters here:
#. testpointA(_("Test Point A"), _("Test A"), "ptA", &wr, this, Geom::Point(100,100)),
#: ../src/live_effects/lpe-sketch.cpp:38
@@ -10601,6 +10788,63 @@ msgstr ""
msgid "max curvature"
msgstr ""
+#: ../src/live_effects/lpe-taperstroke.cpp:67
+msgid "Extrapolated"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:74
+#: ../src/widgets/stroke-style.cpp:192
+msgid "Stroke width"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:74
+msgid "The (non-tapered) width of the path"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:75
+msgid "Start offset"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:75
+msgid "Taper distance from path start"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:76
+msgid "End offset"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:76
+msgid "The ending position of the taper"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:77
+msgid "Taper smoothing"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:77
+msgid "Amount of smoothing to apply to the tapers"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:78
+msgid "Join type for non-smooth nodes"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:79
+msgid "Miter limit"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:79
+msgid "Limit for miter joins"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:536
+msgid "Start point of the taper"
+msgstr ""
+
+#: ../src/live_effects/lpe-taperstroke.cpp:540
+msgid "End point of the taper"
+msgstr ""
+
#: ../src/live_effects/lpe-vonkoch.cpp:46
msgid "N_r of generations:"
msgstr ""
@@ -10663,7 +10907,29 @@ msgstr ""
msgid "Change enumeration parameter"
msgstr ""
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:792
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:849
+msgid ""
+"<b>Chamfer</b>: <b>Ctrl+Click</b> toogle type, <b>Shift+Click</b> open "
+"dialog, <b>Ctrl+Alt+Click</b> reset"
+msgstr ""
+
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:796
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:853
+msgid ""
+"<b>Inverse Fillet</b>: <b>Ctrl+Click</b> toogle type, <b>Shift+Click</b> "
+"open dialog, <b>Ctrl+Alt+Click</b> reset"
+msgstr ""
+
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:800
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:857
+msgid ""
+"<b>Fillet</b>: <b>Ctrl+Click</b> toogle type, <b>Shift+Click</b> open "
+"dialog, <b>Ctrl+Alt+Click</b> reset"
+msgstr ""
+
#: ../src/live_effects/parameter/originalpath.cpp:71
+#: ../src/live_effects/parameter/originalpatharray.cpp:159
msgid "Link to path"
msgstr ""
@@ -10671,7 +10937,44 @@ msgstr ""
msgid "Select original"
msgstr ""
-#: ../src/live_effects/parameter/parameter.cpp:147
+#: ../src/live_effects/parameter/originalpatharray.cpp:94
+#: ../src/widgets/gradient-toolbar.cpp:1202
+msgid "Reverse"
+msgstr ""
+
+#: ../src/live_effects/parameter/originalpatharray.cpp:134
+#: ../src/live_effects/parameter/originalpatharray.cpp:319
+#: ../src/live_effects/parameter/path.cpp:475
+msgid "Link path parameter to path"
+msgstr ""
+
+#: ../src/live_effects/parameter/originalpatharray.cpp:171
+msgid "Remove Path"
+msgstr ""
+
+#: ../src/live_effects/parameter/originalpatharray.cpp:183
+#: ../src/ui/dialog/objects.cpp:1847
+msgid "Move Down"
+msgstr ""
+
+#: ../src/live_effects/parameter/originalpatharray.cpp:195
+#: ../src/ui/dialog/objects.cpp:1862
+msgid "Move Up"
+msgstr ""
+
+#: ../src/live_effects/parameter/originalpatharray.cpp:235
+msgid "Move path up"
+msgstr ""
+
+#: ../src/live_effects/parameter/originalpatharray.cpp:265
+msgid "Move path down"
+msgstr ""
+
+#: ../src/live_effects/parameter/originalpatharray.cpp:283
+msgid "Remove path"
+msgstr ""
+
+#: ../src/live_effects/parameter/parameter.cpp:168
msgid "Change scalar parameter"
msgstr ""
@@ -10695,19 +10998,17 @@ msgstr ""
msgid "Paste path parameter"
msgstr ""
-#: ../src/live_effects/parameter/path.cpp:475
-msgid "Link path parameter to path"
-msgstr ""
-
#: ../src/live_effects/parameter/point.cpp:89
+#: ../src/live_effects/parameter/pointreseteable.cpp:103
msgid "Change point parameter"
msgstr ""
-#: ../src/live_effects/parameter/powerstrokepointarray.cpp:217
-#: ../src/live_effects/parameter/powerstrokepointarray.cpp:229
+#: ../src/live_effects/parameter/powerstrokepointarray.cpp:239
+#: ../src/live_effects/parameter/powerstrokepointarray.cpp:256
msgid ""
"<b>Stroke width control point</b>: drag to alter the stroke width. <b>Ctrl"
-"+click</b> adds a control point, <b>Ctrl+Alt+click</b> deletes it."
+"+click</b> adds a control point, <b>Ctrl+Alt+click</b> deletes it, <b>Shift"
+"+click</b> launches width dialog."
msgstr ""
#: ../src/live_effects/parameter/random.cpp:134
@@ -10718,14 +11019,19 @@ msgstr ""
msgid "Change text parameter"
msgstr ""
-#: ../src/live_effects/parameter/unit.cpp:80
-msgid "Change unit parameter"
+#: ../src/live_effects/parameter/togglebutton.cpp:112
+msgid "Change togglebutton parameter"
msgstr ""
+#: ../src/live_effects/parameter/transformedpoint.cpp:98
#: ../src/live_effects/parameter/vector.cpp:99
msgid "Change vector parameter"
msgstr ""
+#: ../src/live_effects/parameter/unit.cpp:80
+msgid "Change unit parameter"
+msgstr ""
+
#: ../src/main-cmdlineact.cpp:50
#, c-format
msgid "Unable to find verb ID '%s' specified on the command line.\n"
@@ -10769,7 +11075,7 @@ msgstr ""
#: ../src/main.cpp:325
msgid ""
"Resolution for exporting to bitmap and for rasterization of filters in PS/"
-"EPS/PDF (default 90)"
+"EPS/PDF (default 96)"
msgstr ""
#: ../src/main.cpp:326 ../src/ui/widget/rendering-options.cpp:37
@@ -11013,17 +11319,18 @@ msgstr ""
msgid "_File"
msgstr ""
-#: ../src/menus-skeleton.h:17
+#. Tag
+#: ../src/menus-skeleton.h:17 ../src/verbs.cpp:2730
msgid "_New"
msgstr ""
#. " <verb verb-id=\"FileExportToOCAL\" />\n"
#. " <verb verb-id=\"DialogMetadata\" />\n"
-#: ../src/menus-skeleton.h:43 ../src/verbs.cpp:2634 ../src/verbs.cpp:2640
+#: ../src/menus-skeleton.h:43 ../src/verbs.cpp:2717 ../src/verbs.cpp:2725
msgid "_Edit"
msgstr ""
-#: ../src/menus-skeleton.h:53 ../src/verbs.cpp:2398
+#: ../src/menus-skeleton.h:53 ../src/verbs.cpp:2481
msgid "Paste Si_ze"
msgstr ""
@@ -11071,195 +11378,104 @@ msgstr ""
msgid "_Object"
msgstr ""
-#: ../src/menus-skeleton.h:188
+#: ../src/menus-skeleton.h:191
msgid "Cli_p"
msgstr ""
-#: ../src/menus-skeleton.h:192
+#: ../src/menus-skeleton.h:195
msgid "Mas_k"
msgstr ""
-#: ../src/menus-skeleton.h:196
+#: ../src/menus-skeleton.h:199
msgid "Patter_n"
msgstr ""
-#: ../src/menus-skeleton.h:220
+#: ../src/menus-skeleton.h:223
msgid "_Path"
msgstr ""
-#: ../src/menus-skeleton.h:248 ../src/ui/dialog/find.cpp:77
+#: ../src/menus-skeleton.h:251 ../src/ui/dialog/find.cpp:77
#: ../src/ui/dialog/text-edit.cpp:71
msgid "_Text"
msgstr ""
-#: ../src/menus-skeleton.h:266
+#: ../src/menus-skeleton.h:269
msgid "Filter_s"
msgstr ""
-#: ../src/menus-skeleton.h:272
+#: ../src/menus-skeleton.h:275
msgid "Exte_nsions"
msgstr ""
-#: ../src/menus-skeleton.h:278
+#: ../src/menus-skeleton.h:281
msgid "_Help"
msgstr ""
-#: ../src/menus-skeleton.h:282
+#: ../src/menus-skeleton.h:285
msgid "Tutorials"
msgstr ""
-#: ../src/object-edit.cpp:439
-msgid ""
-"Adjust the <b>horizontal rounding</b> radius; with <b>Ctrl</b> to make the "
-"vertical radius the same"
-msgstr ""
-
-#: ../src/object-edit.cpp:444
-msgid ""
-"Adjust the <b>vertical rounding</b> radius; with <b>Ctrl</b> to make the "
-"horizontal radius the same"
-msgstr ""
-
-#: ../src/object-edit.cpp:449 ../src/object-edit.cpp:454
-msgid ""
-"Adjust the <b>width and height</b> of the rectangle; with <b>Ctrl</b> to "
-"lock ratio or stretch in one dimension only"
-msgstr ""
-
-#: ../src/object-edit.cpp:689 ../src/object-edit.cpp:693
-#: ../src/object-edit.cpp:697 ../src/object-edit.cpp:701
-msgid ""
-"Resize box in X/Y direction; with <b>Shift</b> along the Z axis; with "
-"<b>Ctrl</b> to constrain to the directions of edges or diagonals"
-msgstr ""
-
-#: ../src/object-edit.cpp:705 ../src/object-edit.cpp:709
-#: ../src/object-edit.cpp:713 ../src/object-edit.cpp:717
-msgid ""
-"Resize box along the Z axis; with <b>Shift</b> in X/Y direction; with "
-"<b>Ctrl</b> to constrain to the directions of edges or diagonals"
-msgstr ""
-
-#: ../src/object-edit.cpp:721
-msgid "Move the box in perspective"
-msgstr ""
-
-#: ../src/object-edit.cpp:948
-msgid "Adjust ellipse <b>width</b>, with <b>Ctrl</b> to make circle"
-msgstr ""
-
-#: ../src/object-edit.cpp:952
-msgid "Adjust ellipse <b>height</b>, with <b>Ctrl</b> to make circle"
-msgstr ""
-
-#: ../src/object-edit.cpp:956
-msgid ""
-"Position the <b>start point</b> of the arc or segment; with <b>Ctrl</b> to "
-"snap angle; drag <b>inside</b> the ellipse for arc, <b>outside</b> for "
-"segment"
-msgstr ""
-
-#: ../src/object-edit.cpp:961
-msgid ""
-"Position the <b>end point</b> of the arc or segment; with <b>Ctrl</b> to "
-"snap angle; drag <b>inside</b> the ellipse for arc, <b>outside</b> for "
-"segment"
-msgstr ""
-
-#: ../src/object-edit.cpp:1101
-msgid ""
-"Adjust the <b>tip radius</b> of the star or polygon; with <b>Shift</b> to "
-"round; with <b>Alt</b> to randomize"
-msgstr ""
-
-#: ../src/object-edit.cpp:1109
-msgid ""
-"Adjust the <b>base radius</b> of the star; with <b>Ctrl</b> to keep star "
-"rays radial (no skew); with <b>Shift</b> to round; with <b>Alt</b> to "
-"randomize"
-msgstr ""
-
-#: ../src/object-edit.cpp:1299
-msgid ""
-"Roll/unroll the spiral from <b>inside</b>; with <b>Ctrl</b> to snap angle; "
-"with <b>Alt</b> to converge/diverge"
-msgstr ""
-
-#: ../src/object-edit.cpp:1303
-msgid ""
-"Roll/unroll the spiral from <b>outside</b>; with <b>Ctrl</b> to snap angle; "
-"with <b>Shift</b> to scale/rotate; with <b>Alt</b> to lock radius"
-msgstr ""
-
-#: ../src/object-edit.cpp:1348
-msgid "Adjust the <b>offset distance</b>"
-msgstr ""
-
-#: ../src/object-edit.cpp:1384
-msgid "Drag to resize the <b>flowed text frame</b>"
-msgstr ""
-
-#: ../src/path-chemistry.cpp:53
+#: ../src/path-chemistry.cpp:54
msgid "Select <b>object(s)</b> to combine."
msgstr ""
-#: ../src/path-chemistry.cpp:57
+#: ../src/path-chemistry.cpp:58
msgid "Combining paths..."
msgstr ""
-#: ../src/path-chemistry.cpp:171
+#: ../src/path-chemistry.cpp:174
msgid "Combine"
msgstr ""
-#: ../src/path-chemistry.cpp:178
+#: ../src/path-chemistry.cpp:181
msgid "<b>No path(s)</b> to combine in the selection."
msgstr ""
-#: ../src/path-chemistry.cpp:190
+#: ../src/path-chemistry.cpp:193
msgid "Select <b>path(s)</b> to break apart."
msgstr ""
-#: ../src/path-chemistry.cpp:194
+#: ../src/path-chemistry.cpp:197
msgid "Breaking apart paths..."
msgstr ""
-#: ../src/path-chemistry.cpp:285
+#: ../src/path-chemistry.cpp:287
msgid "Break apart"
msgstr ""
-#: ../src/path-chemistry.cpp:287
+#: ../src/path-chemistry.cpp:289
msgid "<b>No path(s)</b> to break apart in the selection."
msgstr ""
-#: ../src/path-chemistry.cpp:297
+#: ../src/path-chemistry.cpp:299
msgid "Select <b>object(s)</b> to convert to path."
msgstr ""
-#: ../src/path-chemistry.cpp:303
+#: ../src/path-chemistry.cpp:305
msgid "Converting objects to paths..."
msgstr ""
-#: ../src/path-chemistry.cpp:325
+#: ../src/path-chemistry.cpp:327
msgid "Object to path"
msgstr ""
-#: ../src/path-chemistry.cpp:327
+#: ../src/path-chemistry.cpp:329
msgid "<b>No objects</b> to convert to path in the selection."
msgstr ""
-#: ../src/path-chemistry.cpp:604
+#: ../src/path-chemistry.cpp:620
msgid "Select <b>path(s)</b> to reverse."
msgstr ""
-#: ../src/path-chemistry.cpp:613
+#: ../src/path-chemistry.cpp:629
msgid "Reversing paths..."
msgstr ""
-#: ../src/path-chemistry.cpp:648
+#: ../src/path-chemistry.cpp:664
msgid "Reverse path"
msgstr ""
-#: ../src/path-chemistry.cpp:650
+#: ../src/path-chemistry.cpp:666
msgid "<b>No paths</b> to reverse in the selection."
msgstr ""
@@ -11271,27 +11487,27 @@ msgstr ""
msgid "Toggle multiple vanishing points"
msgstr ""
-#: ../src/preferences-skeleton.h:101
+#: ../src/preferences-skeleton.h:102
msgid "Dip pen"
msgstr ""
-#: ../src/preferences-skeleton.h:102
+#: ../src/preferences-skeleton.h:103
msgid "Marker"
msgstr ""
-#: ../src/preferences-skeleton.h:103
+#: ../src/preferences-skeleton.h:104
msgid "Brush"
msgstr ""
-#: ../src/preferences-skeleton.h:104
+#: ../src/preferences-skeleton.h:105
msgid "Wiggly"
msgstr ""
-#: ../src/preferences-skeleton.h:105
+#: ../src/preferences-skeleton.h:106
msgid "Splotchy"
msgstr ""
-#: ../src/preferences-skeleton.h:106
+#: ../src/preferences-skeleton.h:107
msgid "Tracing"
msgstr ""
@@ -11523,15 +11739,15 @@ msgstr ""
msgid "Fixup broken links"
msgstr ""
-#: ../src/selection-chemistry.cpp:396
+#: ../src/selection-chemistry.cpp:406
msgid "Delete text"
msgstr ""
-#: ../src/selection-chemistry.cpp:404
+#: ../src/selection-chemistry.cpp:414
msgid "<b>Nothing</b> was deleted."
msgstr ""
-#: ../src/selection-chemistry.cpp:423
+#: ../src/selection-chemistry.cpp:433
#: ../src/ui/dialog/calligraphic-profile-rename.cpp:75
#: ../src/ui/dialog/swatches.cpp:278 ../src/ui/tools/text-tool.cpp:974
#: ../src/widgets/eraser-toolbar.cpp:93
@@ -11542,390 +11758,390 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: ../src/selection-chemistry.cpp:451
+#: ../src/selection-chemistry.cpp:461
msgid "Select <b>object(s)</b> to duplicate."
msgstr ""
-#: ../src/selection-chemistry.cpp:560
+#: ../src/selection-chemistry.cpp:576
msgid "Delete all"
msgstr ""
-#: ../src/selection-chemistry.cpp:750
+#: ../src/selection-chemistry.cpp:767
msgid "Select <b>some objects</b> to group."
msgstr ""
-#: ../src/selection-chemistry.cpp:765
+#: ../src/selection-chemistry.cpp:782
msgctxt "Verb"
msgid "Group"
msgstr ""
-#: ../src/selection-chemistry.cpp:788
+#: ../src/selection-chemistry.cpp:805
msgid "Select a <b>group</b> to ungroup."
msgstr ""
-#: ../src/selection-chemistry.cpp:803
+#: ../src/selection-chemistry.cpp:820
msgid "<b>No groups</b> to ungroup in the selection."
msgstr ""
-#: ../src/selection-chemistry.cpp:861 ../src/sp-item-group.cpp:562
+#: ../src/selection-chemistry.cpp:878 ../src/sp-item-group.cpp:563
msgid "Ungroup"
msgstr ""
-#: ../src/selection-chemistry.cpp:942
+#: ../src/selection-chemistry.cpp:960
msgid "Select <b>object(s)</b> to raise."
msgstr ""
-#: ../src/selection-chemistry.cpp:948 ../src/selection-chemistry.cpp:1004
-#: ../src/selection-chemistry.cpp:1032 ../src/selection-chemistry.cpp:1093
+#: ../src/selection-chemistry.cpp:966 ../src/selection-chemistry.cpp:1023
+#: ../src/selection-chemistry.cpp:1051 ../src/selection-chemistry.cpp:1113
msgid ""
"You cannot raise/lower objects from <b>different groups</b> or <b>layers</b>."
msgstr ""
#. TRANSLATORS: "Raise" means "to raise an object" in the undo history
-#: ../src/selection-chemistry.cpp:988
+#: ../src/selection-chemistry.cpp:1007
msgctxt "Undo action"
msgid "Raise"
msgstr ""
-#: ../src/selection-chemistry.cpp:996
+#: ../src/selection-chemistry.cpp:1015
msgid "Select <b>object(s)</b> to raise to top."
msgstr ""
-#: ../src/selection-chemistry.cpp:1019
+#: ../src/selection-chemistry.cpp:1038
msgid "Raise to top"
msgstr ""
-#: ../src/selection-chemistry.cpp:1026
+#: ../src/selection-chemistry.cpp:1045
msgid "Select <b>object(s)</b> to lower."
msgstr ""
#. TRANSLATORS: "Lower" means "to lower an object" in the undo history
-#: ../src/selection-chemistry.cpp:1077
+#: ../src/selection-chemistry.cpp:1097
msgctxt "Undo action"
msgid "Lower"
msgstr ""
-#: ../src/selection-chemistry.cpp:1085
+#: ../src/selection-chemistry.cpp:1105
msgid "Select <b>object(s)</b> to lower to bottom."
msgstr ""
-#: ../src/selection-chemistry.cpp:1120
+#: ../src/selection-chemistry.cpp:1140
msgid "Lower to bottom"
msgstr ""
-#: ../src/selection-chemistry.cpp:1130
+#: ../src/selection-chemistry.cpp:1150
msgid "Nothing to undo."
msgstr ""
-#: ../src/selection-chemistry.cpp:1141
+#: ../src/selection-chemistry.cpp:1161
msgid "Nothing to redo."
msgstr ""
-#: ../src/selection-chemistry.cpp:1208
+#: ../src/selection-chemistry.cpp:1230
msgid "Paste"
msgstr ""
-#: ../src/selection-chemistry.cpp:1216
+#: ../src/selection-chemistry.cpp:1238
msgid "Paste style"
msgstr ""
-#: ../src/selection-chemistry.cpp:1226
+#: ../src/selection-chemistry.cpp:1248
msgid "Paste live path effect"
msgstr ""
-#: ../src/selection-chemistry.cpp:1248
+#: ../src/selection-chemistry.cpp:1270
msgid "Select <b>object(s)</b> to remove live path effects from."
msgstr ""
-#: ../src/selection-chemistry.cpp:1260
+#: ../src/selection-chemistry.cpp:1282
msgid "Remove live path effect"
msgstr ""
-#: ../src/selection-chemistry.cpp:1271
+#: ../src/selection-chemistry.cpp:1293
msgid "Select <b>object(s)</b> to remove filters from."
msgstr ""
-#: ../src/selection-chemistry.cpp:1281
+#: ../src/selection-chemistry.cpp:1303
#: ../src/ui/dialog/filter-effects-dialog.cpp:1678
msgid "Remove filter"
msgstr ""
-#: ../src/selection-chemistry.cpp:1290
+#: ../src/selection-chemistry.cpp:1312
msgid "Paste size"
msgstr ""
-#: ../src/selection-chemistry.cpp:1299
+#: ../src/selection-chemistry.cpp:1321
msgid "Paste size separately"
msgstr ""
-#: ../src/selection-chemistry.cpp:1309
+#: ../src/selection-chemistry.cpp:1331
msgid "Select <b>object(s)</b> to move to the layer above."
msgstr ""
-#: ../src/selection-chemistry.cpp:1335
+#: ../src/selection-chemistry.cpp:1357
msgid "Raise to next layer"
msgstr ""
-#: ../src/selection-chemistry.cpp:1342
+#: ../src/selection-chemistry.cpp:1364
msgid "No more layers above."
msgstr ""
-#: ../src/selection-chemistry.cpp:1354
+#: ../src/selection-chemistry.cpp:1376
msgid "Select <b>object(s)</b> to move to the layer below."
msgstr ""
-#: ../src/selection-chemistry.cpp:1380
+#: ../src/selection-chemistry.cpp:1402
msgid "Lower to previous layer"
msgstr ""
-#: ../src/selection-chemistry.cpp:1387
+#: ../src/selection-chemistry.cpp:1409
msgid "No more layers below."
msgstr ""
-#: ../src/selection-chemistry.cpp:1399
+#: ../src/selection-chemistry.cpp:1421
msgid "Select <b>object(s)</b> to move."
msgstr ""
-#: ../src/selection-chemistry.cpp:1416 ../src/verbs.cpp:2577
+#: ../src/selection-chemistry.cpp:1438 ../src/verbs.cpp:2660
msgid "Move selection to layer"
msgstr ""
#. An SVG element cannot have a transform. We could change 'x' and 'y' in response
#. to a translation... but leave that for another day.
-#: ../src/selection-chemistry.cpp:1503 ../src/seltrans.cpp:388
+#: ../src/selection-chemistry.cpp:1528 ../src/seltrans.cpp:388
msgid "Cannot transform an embedded SVG."
msgstr ""
-#: ../src/selection-chemistry.cpp:1649
+#: ../src/selection-chemistry.cpp:1699
msgid "Remove transform"
msgstr ""
-#: ../src/selection-chemistry.cpp:1752
+#: ../src/selection-chemistry.cpp:1806
msgid "Rotate 90° CCW"
msgstr ""
-#: ../src/selection-chemistry.cpp:1752
+#: ../src/selection-chemistry.cpp:1806
msgid "Rotate 90° CW"
msgstr ""
-#: ../src/selection-chemistry.cpp:1773 ../src/seltrans.cpp:483
+#: ../src/selection-chemistry.cpp:1827 ../src/seltrans.cpp:483
#: ../src/ui/dialog/transformation.cpp:894
msgid "Rotate"
msgstr ""
-#: ../src/selection-chemistry.cpp:2144
+#: ../src/selection-chemistry.cpp:2214
msgid "Rotate by pixels"
msgstr ""
-#: ../src/selection-chemistry.cpp:2174 ../src/seltrans.cpp:480
+#: ../src/selection-chemistry.cpp:2244 ../src/seltrans.cpp:480
#: ../src/ui/dialog/transformation.cpp:869
#: ../share/extensions/interp_att_g.inx.h:12
msgid "Scale"
msgstr ""
-#: ../src/selection-chemistry.cpp:2199
+#: ../src/selection-chemistry.cpp:2269
msgid "Scale by whole factor"
msgstr ""
-#: ../src/selection-chemistry.cpp:2214
+#: ../src/selection-chemistry.cpp:2284
msgid "Move vertically"
msgstr ""
-#: ../src/selection-chemistry.cpp:2217
+#: ../src/selection-chemistry.cpp:2287
msgid "Move horizontally"
msgstr ""
-#: ../src/selection-chemistry.cpp:2220 ../src/selection-chemistry.cpp:2246
+#: ../src/selection-chemistry.cpp:2290 ../src/selection-chemistry.cpp:2316
#: ../src/seltrans.cpp:477 ../src/ui/dialog/transformation.cpp:807
msgid "Move"
msgstr ""
-#: ../src/selection-chemistry.cpp:2240
+#: ../src/selection-chemistry.cpp:2310
msgid "Move vertically by pixels"
msgstr ""
-#: ../src/selection-chemistry.cpp:2243
+#: ../src/selection-chemistry.cpp:2313
msgid "Move horizontally by pixels"
msgstr ""
-#: ../src/selection-chemistry.cpp:2375
+#: ../src/selection-chemistry.cpp:2445
msgid "The selection has no applied path effect."
msgstr ""
-#: ../src/selection-chemistry.cpp:2544 ../src/ui/dialog/clonetiler.cpp:2218
+#: ../src/selection-chemistry.cpp:2617 ../src/ui/dialog/clonetiler.cpp:2218
msgid "Select an <b>object</b> to clone."
msgstr ""
-#: ../src/selection-chemistry.cpp:2580
+#: ../src/selection-chemistry.cpp:2653
msgctxt "Action"
msgid "Clone"
msgstr ""
-#: ../src/selection-chemistry.cpp:2596
+#: ../src/selection-chemistry.cpp:2669
msgid "Select <b>clones</b> to relink."
msgstr ""
-#: ../src/selection-chemistry.cpp:2603
+#: ../src/selection-chemistry.cpp:2676
msgid "Copy an <b>object</b> to clipboard to relink clones to."
msgstr ""
-#: ../src/selection-chemistry.cpp:2627
+#: ../src/selection-chemistry.cpp:2699
msgid "<b>No clones to relink</b> in the selection."
msgstr ""
-#: ../src/selection-chemistry.cpp:2630
+#: ../src/selection-chemistry.cpp:2702
msgid "Relink clone"
msgstr ""
-#: ../src/selection-chemistry.cpp:2644
+#: ../src/selection-chemistry.cpp:2716
msgid "Select <b>clones</b> to unlink."
msgstr ""
-#: ../src/selection-chemistry.cpp:2698
+#: ../src/selection-chemistry.cpp:2772
msgid "<b>No clones to unlink</b> in the selection."
msgstr ""
-#: ../src/selection-chemistry.cpp:2702
+#: ../src/selection-chemistry.cpp:2776
msgid "Unlink clone"
msgstr ""
-#: ../src/selection-chemistry.cpp:2715
+#: ../src/selection-chemistry.cpp:2789
msgid ""
"Select a <b>clone</b> to go to its original. Select a <b>linked offset</b> "
"to go to its source. Select a <b>text on path</b> to go to the path. Select "
"a <b>flowed text</b> to go to its frame."
msgstr ""
-#: ../src/selection-chemistry.cpp:2748
+#: ../src/selection-chemistry.cpp:2837
msgid ""
"<b>Cannot find</b> the object to select (orphaned clone, offset, textpath, "
"flowed text?)"
msgstr ""
-#: ../src/selection-chemistry.cpp:2754
+#: ../src/selection-chemistry.cpp:2843
msgid ""
"The object you're trying to select is <b>not visible</b> (it is in &lt;"
"defs&gt;)"
msgstr ""
-#: ../src/selection-chemistry.cpp:2799
-msgid "Select <b>one</b> path to clone."
+#: ../src/selection-chemistry.cpp:2928
+msgid "Select path(s) to fill."
msgstr ""
-#: ../src/selection-chemistry.cpp:2803
-msgid "Select one <b>path</b> to clone."
-msgstr ""
-
-#: ../src/selection-chemistry.cpp:2859
+#: ../src/selection-chemistry.cpp:2946
msgid "Select <b>object(s)</b> to convert to marker."
msgstr ""
-#: ../src/selection-chemistry.cpp:2926
+#: ../src/selection-chemistry.cpp:3021
msgid "Objects to marker"
msgstr ""
-#: ../src/selection-chemistry.cpp:2950
+#: ../src/selection-chemistry.cpp:3046
msgid "Select <b>object(s)</b> to convert to guides."
msgstr ""
-#: ../src/selection-chemistry.cpp:2973
+#: ../src/selection-chemistry.cpp:3069
msgid "Objects to guides"
msgstr ""
-#: ../src/selection-chemistry.cpp:3009
+#: ../src/selection-chemistry.cpp:3105
msgid "Select <b>objects</b> to convert to symbol."
msgstr ""
-#: ../src/selection-chemistry.cpp:3115
+#: ../src/selection-chemistry.cpp:3211
msgid "Group to symbol"
msgstr ""
-#: ../src/selection-chemistry.cpp:3134
+#: ../src/selection-chemistry.cpp:3230
msgid "Select a <b>symbol</b> to extract objects from."
msgstr ""
-#: ../src/selection-chemistry.cpp:3143
+#: ../src/selection-chemistry.cpp:3239
msgid "Select only one <b>symbol</b> in Symbol dialog to convert to group."
msgstr ""
-#: ../src/selection-chemistry.cpp:3201
+#: ../src/selection-chemistry.cpp:3297
msgid "Group from symbol"
msgstr ""
-#: ../src/selection-chemistry.cpp:3219
+#: ../src/selection-chemistry.cpp:3315
msgid "Select <b>object(s)</b> to convert to pattern."
msgstr ""
-#: ../src/selection-chemistry.cpp:3309
+#: ../src/selection-chemistry.cpp:3414
msgid "Objects to pattern"
msgstr ""
-#: ../src/selection-chemistry.cpp:3325
+#: ../src/selection-chemistry.cpp:3430
msgid "Select an <b>object with pattern fill</b> to extract objects from."
msgstr ""
-#: ../src/selection-chemistry.cpp:3380
+#: ../src/selection-chemistry.cpp:3491
msgid "<b>No pattern fills</b> in the selection."
msgstr ""
-#: ../src/selection-chemistry.cpp:3383
+#: ../src/selection-chemistry.cpp:3494
msgid "Pattern to objects"
msgstr ""
-#: ../src/selection-chemistry.cpp:3474
+#: ../src/selection-chemistry.cpp:3585
msgid "Select <b>object(s)</b> to make a bitmap copy."
msgstr ""
-#: ../src/selection-chemistry.cpp:3478
+#: ../src/selection-chemistry.cpp:3589
msgid "Rendering bitmap..."
msgstr ""
-#: ../src/selection-chemistry.cpp:3657
+#: ../src/selection-chemistry.cpp:3776
msgid "Create bitmap"
msgstr ""
-#: ../src/selection-chemistry.cpp:3689
+#: ../src/selection-chemistry.cpp:3801 ../src/selection-chemistry.cpp:3920
msgid "Select <b>object(s)</b> to create clippath or mask from."
msgstr ""
-#: ../src/selection-chemistry.cpp:3692
+#: ../src/selection-chemistry.cpp:3894
+msgid "Create Clip Group"
+msgstr ""
+
+#: ../src/selection-chemistry.cpp:3923
msgid "Select mask object and <b>object(s)</b> to apply clippath or mask to."
msgstr ""
-#: ../src/selection-chemistry.cpp:3875
+#: ../src/selection-chemistry.cpp:4106
msgid "Set clipping path"
msgstr ""
-#: ../src/selection-chemistry.cpp:3877
+#: ../src/selection-chemistry.cpp:4108
msgid "Set mask"
msgstr ""
-#: ../src/selection-chemistry.cpp:3892
+#: ../src/selection-chemistry.cpp:4123
msgid "Select <b>object(s)</b> to remove clippath or mask from."
msgstr ""
-#: ../src/selection-chemistry.cpp:4003
+#: ../src/selection-chemistry.cpp:4243
msgid "Release clipping path"
msgstr ""
-#: ../src/selection-chemistry.cpp:4005
+#: ../src/selection-chemistry.cpp:4245
msgid "Release mask"
msgstr ""
-#: ../src/selection-chemistry.cpp:4024
+#: ../src/selection-chemistry.cpp:4264
msgid "Select <b>object(s)</b> to fit canvas to."
msgstr ""
#. Fit Page
-#: ../src/selection-chemistry.cpp:4044 ../src/verbs.cpp:2905
+#: ../src/selection-chemistry.cpp:4284 ../src/verbs.cpp:2996
msgid "Fit Page to Selection"
msgstr ""
-#: ../src/selection-chemistry.cpp:4073 ../src/verbs.cpp:2907
+#: ../src/selection-chemistry.cpp:4313 ../src/verbs.cpp:2998
msgid "Fit Page to Drawing"
msgstr ""
-#: ../src/selection-chemistry.cpp:4094 ../src/verbs.cpp:2909
+#: ../src/selection-chemistry.cpp:4334 ../src/verbs.cpp:3000
msgid "Fit Page to Selection or Drawing"
msgstr ""
@@ -12120,22 +12336,22 @@ msgstr ""
msgid "without URI"
msgstr ""
-#: ../src/sp-ellipse.cpp:374
+#: ../src/sp-ellipse.cpp:373
msgid "Segment"
msgstr ""
-#: ../src/sp-ellipse.cpp:376
+#: ../src/sp-ellipse.cpp:375
msgid "Arc"
msgstr ""
#. Ellipse
-#: ../src/sp-ellipse.cpp:379 ../src/sp-ellipse.cpp:386
+#: ../src/sp-ellipse.cpp:378 ../src/sp-ellipse.cpp:385
#: ../src/ui/dialog/inkscape-preferences.cpp:405
-#: ../src/widgets/pencil-toolbar.cpp:158
+#: ../src/widgets/pencil-toolbar.cpp:163
msgid "Ellipse"
msgstr ""
-#: ../src/sp-ellipse.cpp:383
+#: ../src/sp-ellipse.cpp:382
msgid "Circle"
msgstr ""
@@ -12160,7 +12376,7 @@ msgstr ""
msgid "Linked Flowed Text"
msgstr ""
-#: ../src/sp-flowtext.cpp:298 ../src/sp-text.cpp:341
+#: ../src/sp-flowtext.cpp:298 ../src/sp-text.cpp:371
#: ../src/ui/tools/text-tool.cpp:1566
msgid " [truncated]"
msgstr ""
@@ -12172,88 +12388,88 @@ msgid_plural "(%d characters%s)"
msgstr[0] ""
msgstr[1] ""
-#: ../src/sp-guide.cpp:303
+#: ../src/sp-guide.cpp:225
msgid "Create Guides Around the Page"
msgstr ""
-#: ../src/sp-guide.cpp:315 ../src/verbs.cpp:2470
+#: ../src/sp-guide.cpp:237 ../src/verbs.cpp:2553
msgid "Delete All Guides"
msgstr ""
#. Guide has probably been deleted and no longer has an attached namedview.
-#: ../src/sp-guide.cpp:475
+#: ../src/sp-guide.cpp:407
msgid "Deleted"
msgstr ""
-#: ../src/sp-guide.cpp:484
+#: ../src/sp-guide.cpp:416
msgid ""
"<b>Shift+drag</b> to rotate, <b>Ctrl+drag</b> to move origin, <b>Del</b> to "
"delete"
msgstr ""
-#: ../src/sp-guide.cpp:488
+#: ../src/sp-guide.cpp:420
#, c-format
msgid "vertical, at %s"
msgstr ""
-#: ../src/sp-guide.cpp:491
+#: ../src/sp-guide.cpp:423
#, c-format
msgid "horizontal, at %s"
msgstr ""
-#: ../src/sp-guide.cpp:496
+#: ../src/sp-guide.cpp:428
#, c-format
msgid "at %d degrees, through (%s,%s)"
msgstr ""
-#: ../src/sp-image.cpp:525
+#: ../src/sp-image.cpp:526
msgid "embedded"
msgstr ""
-#: ../src/sp-image.cpp:533
+#: ../src/sp-image.cpp:534
#, c-format
msgid "[bad reference]: %s"
msgstr ""
-#: ../src/sp-image.cpp:534
+#: ../src/sp-image.cpp:535
#, c-format
msgid "%d &#215; %d: %s"
msgstr ""
-#: ../src/sp-item-group.cpp:329
+#: ../src/sp-item-group.cpp:327
msgid "Group"
msgstr ""
-#: ../src/sp-item-group.cpp:335 ../src/sp-switch.cpp:82
+#: ../src/sp-item-group.cpp:333 ../src/sp-switch.cpp:82
#, c-format
msgid "of <b>%d</b> object"
msgstr ""
-#: ../src/sp-item-group.cpp:335 ../src/sp-switch.cpp:82
+#: ../src/sp-item-group.cpp:333 ../src/sp-switch.cpp:82
#, c-format
msgid "of <b>%d</b> objects"
msgstr ""
-#: ../src/sp-item.cpp:1035 ../src/verbs.cpp:213
+#: ../src/sp-item.cpp:1075 ../src/verbs.cpp:214
msgid "Object"
msgstr ""
-#: ../src/sp-item.cpp:1052
+#: ../src/sp-item.cpp:1092
#, c-format
msgid "%s; <i>clipped</i>"
msgstr ""
-#: ../src/sp-item.cpp:1058
+#: ../src/sp-item.cpp:1098
#, c-format
msgid "%s; <i>masked</i>"
msgstr ""
-#: ../src/sp-item.cpp:1068
+#: ../src/sp-item.cpp:1108
#, c-format
msgid "%s; <i>filtered (%s)</i>"
msgstr ""
-#: ../src/sp-item.cpp:1070
+#: ../src/sp-item.cpp:1110
#, c-format
msgid "%s; <i>filtered</i>"
msgstr ""
@@ -12262,7 +12478,7 @@ msgstr ""
msgid "Line"
msgstr ""
-#: ../src/sp-lpe-item.cpp:262
+#: ../src/sp-lpe-item.cpp:261
msgid "An exception occurred during execution of the Path Effect."
msgstr ""
@@ -12335,11 +12551,11 @@ msgstr ""
#. Star
#: ../src/sp-star.cpp:256 ../src/ui/dialog/inkscape-preferences.cpp:409
-#: ../src/widgets/star-toolbar.cpp:469
+#: ../src/widgets/star-toolbar.cpp:471
msgid "Star"
msgstr ""
-#: ../src/sp-star.cpp:257 ../src/widgets/star-toolbar.cpp:462
+#: ../src/sp-star.cpp:257 ../src/widgets/star-toolbar.cpp:464
msgid "Polygon"
msgstr ""
@@ -12360,7 +12576,7 @@ msgstr ""
msgid "Conditional Group"
msgstr ""
-#: ../src/sp-text.cpp:325 ../src/verbs.cpp:328
+#: ../src/sp-text.cpp:355 ../src/verbs.cpp:348
#: ../share/extensions/lorem_ipsum.inx.h:8
#: ../share/extensions/replace_font.inx.h:11
#: ../share/extensions/split.inx.h:10 ../share/extensions/text_braille.inx.h:2
@@ -12375,12 +12591,12 @@ msgstr ""
msgid "Text"
msgstr ""
-#: ../src/sp-text.cpp:345
+#: ../src/sp-text.cpp:375
#, c-format
msgid "on path%s (%s, %s)"
msgstr ""
-#: ../src/sp-text.cpp:346
+#: ../src/sp-text.cpp:376
#, c-format
msgid "%s (%s, %s)"
msgstr ""
@@ -12557,7 +12773,7 @@ msgstr ""
msgid "The flowed text(s) must be <b>visible</b> in order to be put on a path."
msgstr ""
-#: ../src/text-chemistry.cpp:185 ../src/verbs.cpp:2492
+#: ../src/text-chemistry.cpp:185 ../src/verbs.cpp:2575
msgid "Put text on path"
msgstr ""
@@ -12569,7 +12785,7 @@ msgstr ""
msgid "<b>No texts-on-paths</b> in the selection."
msgstr ""
-#: ../src/text-chemistry.cpp:221 ../src/verbs.cpp:2494
+#: ../src/text-chemistry.cpp:221 ../src/verbs.cpp:2577
msgid "Remove text from path"
msgstr ""
@@ -12619,129 +12835,6 @@ msgstr ""
msgid "You cannot edit <b>cloned character data</b>."
msgstr ""
-#: ../src/tools-switch.cpp:91
-msgid ""
-"<b>Click</b> to Select and Transform objects, <b>Drag</b> to select many "
-"objects."
-msgstr ""
-
-#: ../src/tools-switch.cpp:92
-msgid "Modify selected path points (nodes) directly."
-msgstr ""
-
-#: ../src/tools-switch.cpp:93
-msgid "To tweak a path by pushing, select it and drag over it."
-msgstr ""
-
-#: ../src/tools-switch.cpp:94
-msgid ""
-"<b>Drag</b>, <b>click</b> or <b>click and scroll</b> to spray the selected "
-"objects."
-msgstr ""
-
-#: ../src/tools-switch.cpp:95
-msgid ""
-"<b>Drag</b> to create a rectangle. <b>Drag controls</b> to round corners and "
-"resize. <b>Click</b> to select."
-msgstr ""
-
-#: ../src/tools-switch.cpp:96
-msgid ""
-"<b>Drag</b> to create a 3D box. <b>Drag controls</b> to resize in "
-"perspective. <b>Click</b> to select (with <b>Ctrl+Alt</b> for single faces)."
-msgstr ""
-
-#: ../src/tools-switch.cpp:97
-msgid ""
-"<b>Drag</b> to create an ellipse. <b>Drag controls</b> to make an arc or "
-"segment. <b>Click</b> to select."
-msgstr ""
-
-#: ../src/tools-switch.cpp:98
-msgid ""
-"<b>Drag</b> to create a star. <b>Drag controls</b> to edit the star shape. "
-"<b>Click</b> to select."
-msgstr ""
-
-#: ../src/tools-switch.cpp:99
-msgid ""
-"<b>Drag</b> to create a spiral. <b>Drag controls</b> to edit the spiral "
-"shape. <b>Click</b> to select."
-msgstr ""
-
-#: ../src/tools-switch.cpp:100
-msgid ""
-"<b>Drag</b> to create a freehand line. <b>Shift</b> appends to selected "
-"path, <b>Alt</b> activates sketch mode."
-msgstr ""
-
-#: ../src/tools-switch.cpp:101
-msgid ""
-"<b>Click</b> or <b>click and drag</b> to start a path; with <b>Shift</b> to "
-"append to selected path. <b>Ctrl+click</b> to create single dots (straight "
-"line modes only)."
-msgstr ""
-
-#: ../src/tools-switch.cpp:102
-msgid ""
-"<b>Drag</b> to draw a calligraphic stroke; with <b>Ctrl</b> to track a guide "
-"path. <b>Arrow keys</b> adjust width (left/right) and angle (up/down)."
-msgstr ""
-
-#: ../src/tools-switch.cpp:103 ../src/ui/tools/text-tool.cpp:1593
-msgid ""
-"<b>Click</b> to select or create text, <b>drag</b> to create flowed text; "
-"then type."
-msgstr ""
-
-#: ../src/tools-switch.cpp:104
-msgid ""
-"<b>Drag</b> or <b>double click</b> to create a gradient on selected objects, "
-"<b>drag handles</b> to adjust gradients."
-msgstr ""
-
-#: ../src/tools-switch.cpp:105
-msgid ""
-"<b>Drag</b> or <b>double click</b> to create a mesh on selected objects, "
-"<b>drag handles</b> to adjust meshes."
-msgstr ""
-
-#: ../src/tools-switch.cpp:106
-msgid ""
-"<b>Click</b> or <b>drag around an area</b> to zoom in, <b>Shift+click</b> to "
-"zoom out."
-msgstr ""
-
-#: ../src/tools-switch.cpp:107
-msgid "<b>Drag</b> to measure the dimensions of objects."
-msgstr ""
-
-#: ../src/tools-switch.cpp:108 ../src/ui/tools/dropper-tool.cpp:285
-msgid ""
-"<b>Click</b> to set fill, <b>Shift+click</b> to set stroke; <b>drag</b> to "
-"average color in area; with <b>Alt</b> to pick inverse color; <b>Ctrl+C</b> "
-"to copy the color under mouse to clipboard"
-msgstr ""
-
-#: ../src/tools-switch.cpp:109
-msgid "<b>Click and drag</b> between shapes to create a connector."
-msgstr ""
-
-#: ../src/tools-switch.cpp:110
-msgid ""
-"<b>Click</b> to paint a bounded area, <b>Shift+click</b> to union the new "
-"fill with the current selection, <b>Ctrl+click</b> to change the clicked "
-"object's fill and stroke to the current setting."
-msgstr ""
-
-#: ../src/tools-switch.cpp:111
-msgid "<b>Drag</b> to erase."
-msgstr ""
-
-#: ../src/tools-switch.cpp:112
-msgid "Choose a subtool from the toolbar"
-msgstr ""
-
#: ../src/trace/potrace/inkscape-potrace.cpp:512
#: ../src/trace/potrace/inkscape-potrace.cpp:575
msgid "Trace: %1. %2 nodes"
@@ -12793,41 +12886,41 @@ msgid "Trace: Done. %ld nodes created"
msgstr ""
#. check whether something is selected
-#: ../src/ui/clipboard.cpp:261
+#: ../src/ui/clipboard.cpp:262
msgid "Nothing was copied."
msgstr ""
-#: ../src/ui/clipboard.cpp:374 ../src/ui/clipboard.cpp:583
-#: ../src/ui/clipboard.cpp:612
+#: ../src/ui/clipboard.cpp:375 ../src/ui/clipboard.cpp:587
+#: ../src/ui/clipboard.cpp:616
msgid "Nothing on the clipboard."
msgstr ""
-#: ../src/ui/clipboard.cpp:432
+#: ../src/ui/clipboard.cpp:433
msgid "Select <b>object(s)</b> to paste style to."
msgstr ""
-#: ../src/ui/clipboard.cpp:443 ../src/ui/clipboard.cpp:460
+#: ../src/ui/clipboard.cpp:444 ../src/ui/clipboard.cpp:461
msgid "No style on the clipboard."
msgstr ""
-#: ../src/ui/clipboard.cpp:485
+#: ../src/ui/clipboard.cpp:486
msgid "Select <b>object(s)</b> to paste size to."
msgstr ""
-#: ../src/ui/clipboard.cpp:492
+#: ../src/ui/clipboard.cpp:493
msgid "No size on the clipboard."
msgstr ""
-#: ../src/ui/clipboard.cpp:545
+#: ../src/ui/clipboard.cpp:549
msgid "Select <b>object(s)</b> to paste live path effect to."
msgstr ""
#. no_effect:
-#: ../src/ui/clipboard.cpp:570
+#: ../src/ui/clipboard.cpp:574
msgid "No effect on the clipboard."
msgstr ""
-#: ../src/ui/clipboard.cpp:589 ../src/ui/clipboard.cpp:626
+#: ../src/ui/clipboard.cpp:593 ../src/ui/clipboard.cpp:630
msgid "Clipboard does not contain a path."
msgstr ""
@@ -12954,53 +13047,53 @@ msgid "_Treat selection as group: "
msgstr ""
#. Align
-#: ../src/ui/dialog/align-and-distribute.cpp:877 ../src/verbs.cpp:2937
-#: ../src/verbs.cpp:2938
+#: ../src/ui/dialog/align-and-distribute.cpp:877 ../src/verbs.cpp:3028
+#: ../src/verbs.cpp:3029
msgid "Align right edges of objects to the left edge of the anchor"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:880 ../src/verbs.cpp:2939
-#: ../src/verbs.cpp:2940
+#: ../src/ui/dialog/align-and-distribute.cpp:880 ../src/verbs.cpp:3030
+#: ../src/verbs.cpp:3031
msgid "Align left edges"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:883 ../src/verbs.cpp:2941
-#: ../src/verbs.cpp:2942
+#: ../src/ui/dialog/align-and-distribute.cpp:883 ../src/verbs.cpp:3032
+#: ../src/verbs.cpp:3033
msgid "Center on vertical axis"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:886 ../src/verbs.cpp:2943
-#: ../src/verbs.cpp:2944
+#: ../src/ui/dialog/align-and-distribute.cpp:886 ../src/verbs.cpp:3034
+#: ../src/verbs.cpp:3035
msgid "Align right sides"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:889 ../src/verbs.cpp:2945
-#: ../src/verbs.cpp:2946
+#: ../src/ui/dialog/align-and-distribute.cpp:889 ../src/verbs.cpp:3036
+#: ../src/verbs.cpp:3037
msgid "Align left edges of objects to the right edge of the anchor"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:892 ../src/verbs.cpp:2947
-#: ../src/verbs.cpp:2948
+#: ../src/ui/dialog/align-and-distribute.cpp:892 ../src/verbs.cpp:3038
+#: ../src/verbs.cpp:3039
msgid "Align bottom edges of objects to the top edge of the anchor"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:895 ../src/verbs.cpp:2949
-#: ../src/verbs.cpp:2950
+#: ../src/ui/dialog/align-and-distribute.cpp:895 ../src/verbs.cpp:3040
+#: ../src/verbs.cpp:3041
msgid "Align top edges"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:898 ../src/verbs.cpp:2951
-#: ../src/verbs.cpp:2952
+#: ../src/ui/dialog/align-and-distribute.cpp:898 ../src/verbs.cpp:3042
+#: ../src/verbs.cpp:3043
msgid "Center on horizontal axis"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:901 ../src/verbs.cpp:2953
-#: ../src/verbs.cpp:2954
+#: ../src/ui/dialog/align-and-distribute.cpp:901 ../src/verbs.cpp:3044
+#: ../src/verbs.cpp:3045
msgid "Align bottom edges"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:904 ../src/verbs.cpp:2955
-#: ../src/verbs.cpp:2956
+#: ../src/ui/dialog/align-and-distribute.cpp:904 ../src/verbs.cpp:3046
+#: ../src/verbs.cpp:3047
msgid "Align top edges of objects to the bottom edge of the anchor"
msgstr ""
@@ -13855,11 +13948,11 @@ msgstr ""
msgid "Set fill color to none"
msgstr ""
-#: ../src/ui/dialog/color-item.cpp:700
+#: ../src/ui/dialog/color-item.cpp:702
msgid "Set stroke color from swatch"
msgstr ""
-#: ../src/ui/dialog/color-item.cpp:700
+#: ../src/ui/dialog/color-item.cpp:702
msgid "Set fill color from swatch"
msgstr ""
@@ -14124,7 +14217,7 @@ msgstr ""
msgid "Guides"
msgstr ""
-#: ../src/ui/dialog/document-properties.cpp:156 ../src/verbs.cpp:2744
+#: ../src/ui/dialog/document-properties.cpp:156 ../src/verbs.cpp:2831
msgid "Snap"
msgstr ""
@@ -14168,7 +14261,7 @@ msgstr ""
#. Inkscape::GC::release(defsRepr);
#. inform the document, so we can undo
#. Color Management
-#: ../src/ui/dialog/document-properties.cpp:498 ../src/verbs.cpp:2921
+#: ../src/ui/dialog/document-properties.cpp:498 ../src/verbs.cpp:3012
msgid "Link Color Profile"
msgstr ""
@@ -14214,7 +14307,7 @@ msgstr ""
#: ../src/ui/dialog/document-properties.cpp:763
#: ../src/ui/dialog/document-properties.cpp:852
-#: ../src/ui/widget/selected-style.cpp:343
+#: ../src/ui/widget/selected-style.cpp:356
msgid "Remove"
msgstr ""
@@ -14300,15 +14393,15 @@ msgstr ""
msgid "Changed document unit"
msgstr ""
-#: ../src/ui/dialog/export.cpp:152 ../src/verbs.cpp:2796
+#: ../src/ui/dialog/export.cpp:152 ../src/verbs.cpp:2883
msgid "_Page"
msgstr ""
-#: ../src/ui/dialog/export.cpp:152 ../src/verbs.cpp:2800
+#: ../src/ui/dialog/export.cpp:152 ../src/verbs.cpp:2887
msgid "_Drawing"
msgstr ""
-#: ../src/ui/dialog/export.cpp:152 ../src/verbs.cpp:2802
+#: ../src/ui/dialog/export.cpp:152 ../src/verbs.cpp:2889
msgid "_Selection"
msgstr ""
@@ -14490,8 +14583,14 @@ msgstr ""
msgid "Export aborted."
msgstr ""
+#: ../src/ui/dialog/export.cpp:1302 ../src/ui/interface.cpp:1392
+#: ../src/widgets/desktop-widget.cpp:1122
+#: ../src/widgets/desktop-widget.cpp:1184
+msgid "_Cancel"
+msgstr ""
+
#: ../src/ui/dialog/export.cpp:1303 ../src/ui/dialog/input.cpp:1082
-#: ../src/verbs.cpp:2358 ../src/widgets/desktop-widget.cpp:1123
+#: ../src/verbs.cpp:2441 ../src/widgets/desktop-widget.cpp:1123
msgid "_Save"
msgstr ""
@@ -14499,8 +14598,8 @@ msgstr ""
msgid "Information"
msgstr ""
-#: ../src/ui/dialog/extension-editor.cpp:82 ../src/verbs.cpp:290
-#: ../src/verbs.cpp:309 ../share/extensions/color_HSL_adjust.inx.h:11
+#: ../src/ui/dialog/extension-editor.cpp:82 ../src/verbs.cpp:310
+#: ../src/verbs.cpp:329 ../share/extensions/color_HSL_adjust.inx.h:11
#: ../share/extensions/color_custom.inx.h:7
#: ../share/extensions/color_randomize.inx.h:6
#: ../share/extensions/dots.inx.h:7
@@ -14553,103 +14652,103 @@ msgid "Parameters"
msgstr ""
#. Fill in the template
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:376
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:415
msgid "No preview"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:480
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:519
msgid "too large for preview"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:565
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:604
msgid "Enable preview"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:715
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:728
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:732
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:735
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:743
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:759
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:754
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:767
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:771
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:774
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:782
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:798
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:813
#: ../src/ui/dialog/filedialogimpl-win32.cpp:282
#: ../src/ui/dialog/filedialogimpl-win32.cpp:413
msgid "All Files"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:740
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:756
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:771
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:779
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:795
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:810
#: ../src/ui/dialog/filedialogimpl-win32.cpp:283
msgid "All Inkscape Files"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:747
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:763
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:777
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:786
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:802
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:816
#: ../src/ui/dialog/filedialogimpl-win32.cpp:284
msgid "All Images"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:750
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:766
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:780
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:789
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:805
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:819
#: ../src/ui/dialog/filedialogimpl-win32.cpp:285
msgid "All Vectors"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:753
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:769
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:783
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:792
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:808
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:822
#: ../src/ui/dialog/filedialogimpl-win32.cpp:286
msgid "All Bitmaps"
msgstr ""
#. ###### File options
#. ###### Do we want the .xxx extension automatically added?
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1002
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1560
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1041
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1599
msgid "Append filename extension automatically"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1175
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1428
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1214
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1467
msgid "Guess from extension"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1447
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1486
msgid "Left edge of source"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1448
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1487
msgid "Top edge of source"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1449
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1488
msgid "Right edge of source"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1450
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1489
msgid "Bottom edge of source"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1451
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1490
msgid "Source width"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1452
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1491
msgid "Source height"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1453
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1492
msgid "Destination width"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1454
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1493
msgid "Destination height"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1455
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1494
msgid "Resolution (dots per inch)"
msgstr ""
@@ -14657,30 +14756,30 @@ msgstr ""
#. ## EXTRA WIDGET -- SOURCE SIDE
#. #########################################
#. ##### Export options buttons/spinners, etc
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1493
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1532
msgid "Document"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1501 ../src/verbs.cpp:175
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1540 ../src/verbs.cpp:176
#: ../src/widgets/desktop-widget.cpp:2000
#: ../share/extensions/printing_marks.inx.h:18
msgid "Selection"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1505
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1544
msgctxt "Export dialog"
msgid "Custom"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1525
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1564
msgid "Source"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1545
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1584
msgid "Cairo"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1548
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1587
msgid "Antialias"
msgstr ""
@@ -14947,7 +15046,7 @@ msgid "R:"
msgstr ""
#: ../src/ui/dialog/filter-effects-dialog.cpp:2848
-#: ../src/widgets/sp-color-icc-selector.cpp:359
+#: ../src/widgets/sp-color-icc-selector.cpp:334
msgid "G:"
msgstr ""
@@ -16503,12 +16602,12 @@ msgstr ""
msgid "Guideline"
msgstr ""
-#: ../src/ui/dialog/guides.cpp:310
+#: ../src/ui/dialog/guides.cpp:311
#, c-format
msgid "Guideline ID: %s"
msgstr ""
-#: ../src/ui/dialog/guides.cpp:316
+#: ../src/ui/dialog/guides.cpp:317
#, c-format
msgid "Current: %s"
msgstr ""
@@ -16857,7 +16956,7 @@ msgid "Zoom"
msgstr ""
#. Measure
-#: ../src/ui/dialog/inkscape-preferences.cpp:383 ../src/verbs.cpp:2678
+#: ../src/ui/dialog/inkscape-preferences.cpp:383 ../src/verbs.cpp:2765
msgctxt "ContextVerb"
msgid "Measure"
msgstr ""
@@ -16912,7 +17011,7 @@ msgid ""
msgstr ""
#. Text
-#: ../src/ui/dialog/inkscape-preferences.cpp:441 ../src/verbs.cpp:2670
+#: ../src/ui/dialog/inkscape-preferences.cpp:441 ../src/verbs.cpp:2757
msgctxt "ContextVerb"
msgid "Text"
msgstr ""
@@ -17001,8 +17100,8 @@ msgstr ""
#. Gradient
#: ../src/ui/dialog/inkscape-preferences.cpp:480
-#: ../src/widgets/gradient-selector.cpp:152
-#: ../src/widgets/gradient-selector.cpp:320
+#: ../src/widgets/gradient-selector.cpp:134
+#: ../src/widgets/gradient-selector.cpp:302
msgid "Gradient"
msgstr ""
@@ -17737,9 +17836,10 @@ msgstr ""
#: ../src/ui/dialog/inkscape-preferences.cpp:841
msgid ""
-"When this option is on, the \"Save as...\" and \"Save a Copy\" dialogs will "
-"always open in the directory where the currently open document is; when it's "
-"off, each will open in the directory where you last saved a file using it"
+"When this option is on, the \"Save as...\" and \"Save a Copy...\" dialogs "
+"will always open in the directory where the currently open document is; when "
+"it's off, each will open in the directory where you last saved a file using "
+"it"
msgstr ""
#: ../src/ui/dialog/inkscape-preferences.cpp:843
@@ -18133,8 +18233,8 @@ msgid "Preserve K channel in CMYK -> CMYK transforms"
msgstr ""
#: ../src/ui/dialog/inkscape-preferences.cpp:1039
-#: ../src/widgets/sp-color-icc-selector.cpp:474
-#: ../src/widgets/sp-color-icc-selector.cpp:766
+#: ../src/widgets/sp-color-icc-selector.cpp:449
+#: ../src/widgets/sp-color-icc-selector.cpp:741
msgid "<none>"
msgstr ""
@@ -18334,7 +18434,7 @@ msgstr ""
#. Transforms options
#: ../src/ui/dialog/inkscape-preferences.cpp:1173
-#: ../src/widgets/select-toolbar.cpp:570
+#: ../src/widgets/select-toolbar.cpp:572
msgid "Scale stroke width"
msgstr ""
@@ -18355,22 +18455,22 @@ msgid "Preserved"
msgstr ""
#: ../src/ui/dialog/inkscape-preferences.cpp:1181
-#: ../src/widgets/select-toolbar.cpp:571
+#: ../src/widgets/select-toolbar.cpp:573
msgid "When scaling objects, scale the stroke width by the same proportion"
msgstr ""
#: ../src/ui/dialog/inkscape-preferences.cpp:1183
-#: ../src/widgets/select-toolbar.cpp:582
+#: ../src/widgets/select-toolbar.cpp:584
msgid "When scaling rectangles, scale the radii of rounded corners"
msgstr ""
#: ../src/ui/dialog/inkscape-preferences.cpp:1185
-#: ../src/widgets/select-toolbar.cpp:593
+#: ../src/widgets/select-toolbar.cpp:595
msgid "Move gradients (in fill or stroke) along with the objects"
msgstr ""
#: ../src/ui/dialog/inkscape-preferences.cpp:1187
-#: ../src/widgets/select-toolbar.cpp:604
+#: ../src/widgets/select-toolbar.cpp:606
msgid "Move patterns (in fill or stroke) along with the objects"
msgstr ""
@@ -18595,6 +18695,8 @@ msgid "_Zoom in/out by:"
msgstr ""
#: ../src/ui/dialog/inkscape-preferences.cpp:1273
+#: ../src/ui/dialog/objects.cpp:1622
+#: ../src/ui/widget/filter-effect-chooser.cpp:27
msgid "%"
msgstr ""
@@ -18870,7 +18972,7 @@ msgid "Rendering"
msgstr ""
#. Note: /options/bitmapoversample removed with Cairo renderer
-#: ../src/ui/dialog/inkscape-preferences.cpp:1427 ../src/verbs.cpp:156
+#: ../src/ui/dialog/inkscape-preferences.cpp:1427 ../src/verbs.cpp:157
#: ../src/widgets/calligraphy-toolbar.cpp:626
msgid "Edit"
msgstr ""
@@ -19264,7 +19366,7 @@ msgid "Y tilt"
msgstr ""
#: ../src/ui/dialog/input.cpp:1616
-#: ../src/widgets/sp-color-wheel-selector.cpp:59
+#: ../src/widgets/sp-color-wheel-selector.cpp:32
msgid "Wheel"
msgstr ""
@@ -19299,8 +19401,8 @@ msgstr ""
#. TODO: find an unused layer number, forming name from _("Layer ") + "%d"
#: ../src/ui/dialog/layer-properties.cpp:354
-#: ../src/ui/dialog/layer-properties.cpp:410 ../src/verbs.cpp:194
-#: ../src/verbs.cpp:2289
+#: ../src/ui/dialog/layer-properties.cpp:410 ../src/verbs.cpp:195
+#: ../src/verbs.cpp:2372
msgid "Layer"
msgstr ""
@@ -19334,6 +19436,7 @@ msgid "Move to Layer"
msgstr ""
#: ../src/ui/dialog/layer-properties.cpp:411
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:120
#: ../src/ui/dialog/transformation.cpp:114
msgid "_Move"
msgstr ""
@@ -19354,11 +19457,13 @@ msgstr ""
msgid "Unlock layer"
msgstr ""
-#: ../src/ui/dialog/layers.cpp:624 ../src/verbs.cpp:1405
+#: ../src/ui/dialog/layers.cpp:624 ../src/ui/dialog/objects.cpp:845
+#: ../src/verbs.cpp:1438
msgid "Toggle layer solo"
msgstr ""
-#: ../src/ui/dialog/layers.cpp:627 ../src/verbs.cpp:1429
+#: ../src/ui/dialog/layers.cpp:627 ../src/ui/dialog/objects.cpp:848
+#: ../src/verbs.cpp:1462
msgid "Lock other layers"
msgstr ""
@@ -19465,6 +19570,46 @@ msgstr ""
msgid "Deactivate path effect"
msgstr ""
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:57
+msgid "Radius (pixels):"
+msgstr ""
+
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:69
+msgid "Chamfer subdivisions:"
+msgstr ""
+
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:139
+msgid "Modify Fillet-Chamfer"
+msgstr ""
+
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:140
+msgid "_Modify"
+msgstr ""
+
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:203
+msgid "Radius "
+msgstr ""
+
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:205
+msgid "Radius approximated "
+msgstr ""
+
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:208
+msgid "Knot distance "
+msgstr ""
+
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:215
+msgid "Position (%):"
+msgstr ""
+
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:219
+msgid "("
+msgstr ""
+
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:119
+msgid "Modify Node Position"
+msgstr ""
+
#: ../src/ui/dialog/memory.cpp:96
msgid "Heap"
msgstr ""
@@ -19512,11 +19657,11 @@ msgstr ""
msgid "Log capture stopped."
msgstr ""
-#: ../src/ui/dialog/new-from-template.cpp:24
+#: ../src/ui/dialog/new-from-template.cpp:27
msgid "Create from template"
msgstr ""
-#: ../src/ui/dialog/new-from-template.cpp:26
+#: ../src/ui/dialog/new-from-template.cpp:29
msgid "New From Template"
msgstr ""
@@ -19615,8 +19760,8 @@ msgid "Check to make the object insensitive (not selectable by mouse)"
msgstr ""
#. Button for setting the object's id, label, title and description.
-#: ../src/ui/dialog/object-properties.cpp:325 ../src/verbs.cpp:2632
-#: ../src/verbs.cpp:2638
+#: ../src/ui/dialog/object-properties.cpp:325 ../src/verbs.cpp:2715
+#: ../src/verbs.cpp:2721
msgid "_Set"
msgstr ""
@@ -19670,6 +19815,79 @@ msgstr ""
msgid "Unhide object"
msgstr ""
+#: ../src/ui/dialog/objects.cpp:875
+msgid "Unhide objects"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:875
+msgid "Hide objects"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:895
+msgid "Lock objects"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:895
+msgid "Unlock objects"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:907
+msgid "Layer to group"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:907
+msgid "Group to layer"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:1105
+msgid "Moved objects"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:1354 ../src/ui/dialog/tags.cpp:875
+#: ../src/ui/dialog/tags.cpp:882
+msgid "Rename object"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:1461
+msgid "Set object highlight color"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:1471
+msgid "Set object opacity"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:1504
+msgid "Set object blend mode"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:1560
+msgid "Set object blur"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:1802
+msgid "Add layer..."
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:1817
+msgid "Remove object"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:1832
+msgid "Move To Bottom"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:1877
+msgid "Move To Top"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:1892
+msgid "Collapse All"
+msgstr ""
+
+#: ../src/ui/dialog/objects.cpp:1974
+msgid "Select Highlight Color"
+msgstr ""
+
#: ../src/ui/dialog/ocaldialogs.cpp:715
msgid "Clipart found"
msgstr ""
@@ -19824,62 +20042,62 @@ msgstr ""
msgid "Trace pixel art"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:43
+#: ../src/ui/dialog/polar-arrange-tab.cpp:48
msgctxt "Polar arrange tab"
msgid "Anchor point:"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:47
+#: ../src/ui/dialog/polar-arrange-tab.cpp:52
msgctxt "Polar arrange tab"
msgid "Object's bounding box:"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:54
+#: ../src/ui/dialog/polar-arrange-tab.cpp:59
msgctxt "Polar arrange tab"
msgid "Object's rotational center"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:59
+#: ../src/ui/dialog/polar-arrange-tab.cpp:64
msgctxt "Polar arrange tab"
msgid "Arrange on:"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:63
+#: ../src/ui/dialog/polar-arrange-tab.cpp:68
msgctxt "Polar arrange tab"
msgid "First selected circle/ellipse/arc"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:68
+#: ../src/ui/dialog/polar-arrange-tab.cpp:73
msgctxt "Polar arrange tab"
msgid "Last selected circle/ellipse/arc"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:73
+#: ../src/ui/dialog/polar-arrange-tab.cpp:78
msgctxt "Polar arrange tab"
msgid "Parameterized:"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:78
+#: ../src/ui/dialog/polar-arrange-tab.cpp:83
msgid "Center X/Y:"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:91
+#: ../src/ui/dialog/polar-arrange-tab.cpp:105
msgid "Radius X/Y:"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:104
+#: ../src/ui/dialog/polar-arrange-tab.cpp:127
msgid "Angle X/Y:"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:118
+#: ../src/ui/dialog/polar-arrange-tab.cpp:150
msgid "Rotate objects"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:306
+#: ../src/ui/dialog/polar-arrange-tab.cpp:338
msgid "Couldn't find an ellipse in selection"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:371
+#: ../src/ui/dialog/polar-arrange-tab.cpp:403
msgid "Arrange on ellipse"
msgstr ""
@@ -20141,9 +20359,9 @@ msgstr ""
msgid "Preview Text:"
msgstr ""
-#: ../src/ui/dialog/swatches.cpp:203 ../src/ui/tools/gradient-tool.cpp:367
-#: ../src/ui/tools/gradient-tool.cpp:465
-#: ../src/widgets/gradient-vector.cpp:814
+#: ../src/ui/dialog/swatches.cpp:203 ../src/ui/tools/gradient-tool.cpp:370
+#: ../src/ui/tools/gradient-tool.cpp:468
+#: ../src/widgets/gradient-vector.cpp:794
msgid "Add gradient stop"
msgstr ""
@@ -20212,6 +20430,31 @@ msgstr ""
msgid "Unnamed Symbols"
msgstr ""
+#: ../src/ui/dialog/tags.cpp:293 ../src/ui/dialog/tags.cpp:591
+#: ../src/ui/dialog/tags.cpp:705
+msgid "Remove from selection set"
+msgstr ""
+
+#: ../src/ui/dialog/tags.cpp:449
+msgid "Items"
+msgstr ""
+
+#: ../src/ui/dialog/tags.cpp:688
+msgid "Add selection to set"
+msgstr ""
+
+#: ../src/ui/dialog/tags.cpp:846
+msgid "Moved sets"
+msgstr ""
+
+#: ../src/ui/dialog/tags.cpp:1016
+msgid "Add a new selection set"
+msgstr ""
+
+#: ../src/ui/dialog/tags.cpp:1025
+msgid "Remove Item/Set"
+msgstr ""
+
#: ../src/ui/dialog/template-widget.cpp:37
msgid "More info"
msgstr ""
@@ -20802,32 +21045,361 @@ msgstr ""
msgid "Change attribute"
msgstr ""
-#: ../src/ui/tool/curve-drag-point.cpp:100
+#: ../src/ui/interface.cpp:748
+msgctxt "Interface setup"
+msgid "Default"
+msgstr ""
+
+#: ../src/ui/interface.cpp:748
+msgid "Default interface setup"
+msgstr ""
+
+#: ../src/ui/interface.cpp:749
+msgctxt "Interface setup"
+msgid "Custom"
+msgstr ""
+
+#: ../src/ui/interface.cpp:749
+msgid "Setup for custom task"
+msgstr ""
+
+#: ../src/ui/interface.cpp:750
+msgctxt "Interface setup"
+msgid "Wide"
+msgstr ""
+
+#: ../src/ui/interface.cpp:750
+msgid "Setup for widescreen work"
+msgstr ""
+
+#: ../src/ui/interface.cpp:862
+#, c-format
+msgid "Verb \"%s\" Unknown"
+msgstr ""
+
+#: ../src/ui/interface.cpp:901
+msgid "Open _Recent"
+msgstr ""
+
+#: ../src/ui/interface.cpp:1009 ../src/ui/interface.cpp:1095
+#: ../src/ui/interface.cpp:1198 ../src/ui/widget/selected-style.cpp:545
+msgid "Drop color"
+msgstr ""
+
+#: ../src/ui/interface.cpp:1048 ../src/ui/interface.cpp:1158
+msgid "Drop color on gradient"
+msgstr ""
+
+#: ../src/ui/interface.cpp:1211
+msgid "Could not parse SVG data"
+msgstr ""
+
+#: ../src/ui/interface.cpp:1250
+msgid "Drop SVG"
+msgstr ""
+
+#: ../src/ui/interface.cpp:1263
+msgid "Drop Symbol"
+msgstr ""
+
+#: ../src/ui/interface.cpp:1294
+msgid "Drop bitmap image"
+msgstr ""
+
+#: ../src/ui/interface.cpp:1386
+#, c-format
+msgid ""
+"<span weight=\"bold\" size=\"larger\">A file named \"%s\" already exists. Do "
+"you want to replace it?</span>\n"
+"\n"
+"The file already exists in \"%s\". Replacing it will overwrite its contents."
+msgstr ""
+
+#: ../src/ui/interface.cpp:1393 ../share/extensions/web-set-att.inx.h:21
+#: ../share/extensions/web-transmit-att.inx.h:19
+msgid "Replace"
+msgstr ""
+
+#: ../src/ui/interface.cpp:1464
+msgid "Go to parent"
+msgstr ""
+
+#. TRANSLATORS: #%1 is the id of the group e.g. <g id="#g7">, not a number.
+#: ../src/ui/interface.cpp:1505
+msgid "Enter group #%1"
+msgstr ""
+
+#. Item dialog
+#: ../src/ui/interface.cpp:1641 ../src/verbs.cpp:2936
+msgid "_Object Properties..."
+msgstr ""
+
+#: ../src/ui/interface.cpp:1650
+msgid "_Select This"
+msgstr ""
+
+#: ../src/ui/interface.cpp:1661
+msgid "Select Same"
+msgstr ""
+
+#. Select same fill and stroke
+#: ../src/ui/interface.cpp:1671
+msgid "Fill and Stroke"
+msgstr ""
+
+#. Select same fill color
+#: ../src/ui/interface.cpp:1678
+msgid "Fill Color"
+msgstr ""
+
+#. Select same stroke color
+#: ../src/ui/interface.cpp:1685
+msgid "Stroke Color"
+msgstr ""
+
+#. Select same stroke style
+#: ../src/ui/interface.cpp:1692
+msgid "Stroke Style"
+msgstr ""
+
+#. Select same stroke style
+#: ../src/ui/interface.cpp:1699
+msgid "Object type"
+msgstr ""
+
+#. Move to layer
+#: ../src/ui/interface.cpp:1706
+msgid "_Move to layer ..."
+msgstr ""
+
+#. Create link
+#: ../src/ui/interface.cpp:1716
+msgid "Create _Link"
+msgstr ""
+
+#. Set mask
+#: ../src/ui/interface.cpp:1739
+msgid "Set Mask"
+msgstr ""
+
+#. Release mask
+#: ../src/ui/interface.cpp:1750
+msgid "Release Mask"
+msgstr ""
+
+#. SSet Clip Group
+#: ../src/ui/interface.cpp:1761
+msgid "Create Clip G_roup"
+msgstr ""
+
+#. Set Clip
+#: ../src/ui/interface.cpp:1768
+msgid "Set Cl_ip"
+msgstr ""
+
+#. Release Clip
+#: ../src/ui/interface.cpp:1779
+msgid "Release C_lip"
+msgstr ""
+
+#. Group
+#: ../src/ui/interface.cpp:1790 ../src/verbs.cpp:2569
+msgid "_Group"
+msgstr ""
+
+#: ../src/ui/interface.cpp:1861
+msgid "Create link"
+msgstr ""
+
+#. Ungroup
+#: ../src/ui/interface.cpp:1896 ../src/verbs.cpp:2571
+msgid "_Ungroup"
+msgstr ""
+
+#. Link dialog
+#: ../src/ui/interface.cpp:1921
+msgid "Link _Properties..."
+msgstr ""
+
+#. Select item
+#: ../src/ui/interface.cpp:1927
+msgid "_Follow Link"
+msgstr ""
+
+#. Reset transformations
+#: ../src/ui/interface.cpp:1933
+msgid "_Remove Link"
+msgstr ""
+
+#: ../src/ui/interface.cpp:1964
+msgid "Remove link"
+msgstr ""
+
+#. Image properties
+#: ../src/ui/interface.cpp:1975
+msgid "Image _Properties..."
+msgstr ""
+
+#. Edit externally
+#: ../src/ui/interface.cpp:1981
+msgid "Edit Externally..."
+msgstr ""
+
+#. Trace Bitmap
+#. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize)
+#: ../src/ui/interface.cpp:1990 ../src/verbs.cpp:2632
+msgid "_Trace Bitmap..."
+msgstr ""
+
+#. Trace Pixel Art
+#: ../src/ui/interface.cpp:1999
+msgid "Trace Pixel Art"
+msgstr ""
+
+#: ../src/ui/interface.cpp:2009
+msgctxt "Context menu"
+msgid "Embed Image"
+msgstr ""
+
+#: ../src/ui/interface.cpp:2020
+msgctxt "Context menu"
+msgid "Extract Image..."
+msgstr ""
+
+#. Item dialog
+#. Fill and Stroke dialog
+#: ../src/ui/interface.cpp:2165 ../src/ui/interface.cpp:2185
+#: ../src/verbs.cpp:2899
+msgid "_Fill and Stroke..."
+msgstr ""
+
+#. Edit Text dialog
+#: ../src/ui/interface.cpp:2191 ../src/verbs.cpp:2918
+msgid "_Text and Font..."
+msgstr ""
+
+#. Spellcheck dialog
+#: ../src/ui/interface.cpp:2197 ../src/verbs.cpp:2926
+msgid "Check Spellin_g..."
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:456
+msgid ""
+"Adjust the <b>horizontal rounding</b> radius; with <b>Ctrl</b> to make the "
+"vertical radius the same"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:461
+msgid ""
+"Adjust the <b>vertical rounding</b> radius; with <b>Ctrl</b> to make the "
+"horizontal radius the same"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:466 ../src/ui/object-edit.cpp:471
+msgid ""
+"Adjust the <b>width and height</b> of the rectangle; with <b>Ctrl</b> to "
+"lock ratio or stretch in one dimension only"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:718 ../src/ui/object-edit.cpp:722
+#: ../src/ui/object-edit.cpp:726 ../src/ui/object-edit.cpp:730
+msgid ""
+"Resize box in X/Y direction; with <b>Shift</b> along the Z axis; with "
+"<b>Ctrl</b> to constrain to the directions of edges or diagonals"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:734 ../src/ui/object-edit.cpp:738
+#: ../src/ui/object-edit.cpp:742 ../src/ui/object-edit.cpp:746
+msgid ""
+"Resize box along the Z axis; with <b>Shift</b> in X/Y direction; with "
+"<b>Ctrl</b> to constrain to the directions of edges or diagonals"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:750
+msgid "Move the box in perspective"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:989
+msgid "Adjust ellipse <b>width</b>, with <b>Ctrl</b> to make circle"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:993
+msgid "Adjust ellipse <b>height</b>, with <b>Ctrl</b> to make circle"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:997
+msgid ""
+"Position the <b>start point</b> of the arc or segment; with <b>Ctrl</b> to "
+"snap angle; drag <b>inside</b> the ellipse for arc, <b>outside</b> for "
+"segment"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:1002
+msgid ""
+"Position the <b>end point</b> of the arc or segment; with <b>Ctrl</b> to "
+"snap angle; drag <b>inside</b> the ellipse for arc, <b>outside</b> for "
+"segment"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:1148
+msgid ""
+"Adjust the <b>tip radius</b> of the star or polygon; with <b>Shift</b> to "
+"round; with <b>Alt</b> to randomize"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:1156
+msgid ""
+"Adjust the <b>base radius</b> of the star; with <b>Ctrl</b> to keep star "
+"rays radial (no skew); with <b>Shift</b> to round; with <b>Alt</b> to "
+"randomize"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:1351
+msgid ""
+"Roll/unroll the spiral from <b>inside</b>; with <b>Ctrl</b> to snap angle; "
+"with <b>Alt</b> to converge/diverge"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:1355
+msgid ""
+"Roll/unroll the spiral from <b>outside</b>; with <b>Ctrl</b> to snap angle; "
+"with <b>Shift</b> to scale/rotate; with <b>Alt</b> to lock radius"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:1402
+msgid "Adjust the <b>offset distance</b>"
+msgstr ""
+
+#: ../src/ui/object-edit.cpp:1439
+msgid "Drag to resize the <b>flowed text frame</b>"
+msgstr ""
+
+#: ../src/ui/tool/curve-drag-point.cpp:105
msgid "Drag curve"
msgstr ""
-#: ../src/ui/tool/curve-drag-point.cpp:157
+#: ../src/ui/tool/curve-drag-point.cpp:162
msgid "Add node"
msgstr ""
-#: ../src/ui/tool/curve-drag-point.cpp:167
+#: ../src/ui/tool/curve-drag-point.cpp:172
msgctxt "Path segment tip"
msgid "<b>Shift</b>: click to toggle segment selection"
msgstr ""
-#: ../src/ui/tool/curve-drag-point.cpp:171
+#: ../src/ui/tool/curve-drag-point.cpp:176
msgctxt "Path segment tip"
msgid "<b>Ctrl+Alt</b>: click to insert a node"
msgstr ""
-#: ../src/ui/tool/curve-drag-point.cpp:175
+#: ../src/ui/tool/curve-drag-point.cpp:180
msgctxt "Path segment tip"
msgid ""
"<b>Linear segment</b>: drag to convert to a Bezier segment, doubleclick to "
"insert node, click to select (more: Shift, Ctrl+Alt)"
msgstr ""
-#: ../src/ui/tool/curve-drag-point.cpp:179
+#: ../src/ui/tool/curve-drag-point.cpp:184
msgctxt "Path segment tip"
msgid ""
"<b>Bezier segment</b>: drag to shape the segment, doubleclick to insert "
@@ -20838,7 +21410,7 @@ msgstr ""
msgid "Retract handles"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:315 ../src/ui/tool/node.cpp:270
+#: ../src/ui/tool/multi-path-manipulator.cpp:315 ../src/ui/tool/node.cpp:296
msgid "Change node type"
msgstr ""
@@ -20876,83 +21448,88 @@ msgstr ""
msgid "Delete nodes"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:757
+#: ../src/ui/tool/multi-path-manipulator.cpp:768
msgid "Move nodes"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:760
+#: ../src/ui/tool/multi-path-manipulator.cpp:771
msgid "Move nodes horizontally"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:764
+#: ../src/ui/tool/multi-path-manipulator.cpp:775
msgid "Move nodes vertically"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:768
-#: ../src/ui/tool/multi-path-manipulator.cpp:771
+#: ../src/ui/tool/multi-path-manipulator.cpp:779
+#: ../src/ui/tool/multi-path-manipulator.cpp:782
msgid "Rotate nodes"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:775
-#: ../src/ui/tool/multi-path-manipulator.cpp:781
+#: ../src/ui/tool/multi-path-manipulator.cpp:786
+#: ../src/ui/tool/multi-path-manipulator.cpp:792
msgid "Scale nodes uniformly"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:778
+#: ../src/ui/tool/multi-path-manipulator.cpp:789
msgid "Scale nodes"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:785
+#: ../src/ui/tool/multi-path-manipulator.cpp:796
msgid "Scale nodes horizontally"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:789
+#: ../src/ui/tool/multi-path-manipulator.cpp:800
msgid "Scale nodes vertically"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:793
+#: ../src/ui/tool/multi-path-manipulator.cpp:804
msgid "Skew nodes horizontally"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:797
+#: ../src/ui/tool/multi-path-manipulator.cpp:808
msgid "Skew nodes vertically"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:801
+#: ../src/ui/tool/multi-path-manipulator.cpp:812
msgid "Flip nodes horizontally"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:804
+#: ../src/ui/tool/multi-path-manipulator.cpp:815
msgid "Flip nodes vertically"
msgstr ""
-#: ../src/ui/tool/node.cpp:245
+#: ../src/ui/tool/node.cpp:271
msgid "Cusp node handle"
msgstr ""
-#: ../src/ui/tool/node.cpp:246
+#: ../src/ui/tool/node.cpp:272
msgid "Smooth node handle"
msgstr ""
-#: ../src/ui/tool/node.cpp:247
+#: ../src/ui/tool/node.cpp:273
msgid "Symmetric node handle"
msgstr ""
-#: ../src/ui/tool/node.cpp:248
+#: ../src/ui/tool/node.cpp:274
msgid "Auto-smooth node handle"
msgstr ""
-#: ../src/ui/tool/node.cpp:432
+#: ../src/ui/tool/node.cpp:493
msgctxt "Path handle tip"
msgid "more: Shift, Ctrl, Alt"
msgstr ""
-#: ../src/ui/tool/node.cpp:434
+#: ../src/ui/tool/node.cpp:495
+msgctxt "Path handle tip"
+msgid "more: Ctrl"
+msgstr ""
+
+#: ../src/ui/tool/node.cpp:497
msgctxt "Path handle tip"
msgid "more: Ctrl, Alt"
msgstr ""
-#: ../src/ui/tool/node.cpp:440
+#: ../src/ui/tool/node.cpp:503
#, c-format
msgctxt "Path handle tip"
msgid ""
@@ -20960,24 +21537,24 @@ msgid ""
"increments while rotating both handles"
msgstr ""
-#: ../src/ui/tool/node.cpp:445
+#: ../src/ui/tool/node.cpp:508
#, c-format
msgctxt "Path handle tip"
msgid ""
"<b>Ctrl+Alt</b>: preserve length and snap rotation angle to %g° increments"
msgstr ""
-#: ../src/ui/tool/node.cpp:451
+#: ../src/ui/tool/node.cpp:514
msgctxt "Path handle tip"
msgid "<b>Shift+Alt</b>: preserve handle length and rotate both handles"
msgstr ""
-#: ../src/ui/tool/node.cpp:454
+#: ../src/ui/tool/node.cpp:517
msgctxt "Path handle tip"
msgid "<b>Alt</b>: preserve handle length while dragging"
msgstr ""
-#: ../src/ui/tool/node.cpp:461
+#: ../src/ui/tool/node.cpp:524
#, c-format
msgctxt "Path handle tip"
msgid ""
@@ -20985,67 +21562,85 @@ msgid ""
"handles"
msgstr ""
-#: ../src/ui/tool/node.cpp:465
+#: ../src/ui/tool/node.cpp:528
+msgctxt "Path handle tip"
+msgid "<b>Ctrl</b>: Move handle by his actual steps in BSpline Live Effect"
+msgstr ""
+
+#: ../src/ui/tool/node.cpp:531
#, c-format
msgctxt "Path handle tip"
msgid "<b>Ctrl</b>: snap rotation angle to %g° increments, click to retract"
msgstr ""
-#: ../src/ui/tool/node.cpp:470
+#: ../src/ui/tool/node.cpp:536
msgctxt "Path hande tip"
msgid "<b>Shift</b>: rotate both handles by the same angle"
msgstr ""
-#: ../src/ui/tool/node.cpp:477
+#: ../src/ui/tool/node.cpp:539
+msgctxt "Path hande tip"
+msgid "<b>Shift</b>: move handle"
+msgstr ""
+
+#: ../src/ui/tool/node.cpp:546 ../src/ui/tool/node.cpp:550
#, c-format
msgctxt "Path handle tip"
msgid "<b>Auto node handle</b>: drag to convert to smooth node (%s)"
msgstr ""
-#: ../src/ui/tool/node.cpp:480
+#: ../src/ui/tool/node.cpp:553
#, c-format
msgctxt "Path handle tip"
-msgid "<b>%s</b>: drag to shape the segment (%s)"
+msgid "<b>BSpline node handle</b>: Shift to drag, double click to reset (%s)"
msgstr ""
-#: ../src/ui/tool/node.cpp:500
+#: ../src/ui/tool/node.cpp:573
#, c-format
msgctxt "Path handle tip"
msgid "Move handle by %s, %s; angle %.2f°, length %s"
msgstr ""
-#: ../src/ui/tool/node.cpp:1270
+#: ../src/ui/tool/node.cpp:1447
msgctxt "Path node tip"
msgid "<b>Shift</b>: drag out a handle, click to toggle selection"
msgstr ""
-#: ../src/ui/tool/node.cpp:1272
+#: ../src/ui/tool/node.cpp:1449
msgctxt "Path node tip"
msgid "<b>Shift</b>: click to toggle selection"
msgstr ""
-#: ../src/ui/tool/node.cpp:1277
+#: ../src/ui/tool/node.cpp:1454
msgctxt "Path node tip"
msgid "<b>Ctrl+Alt</b>: move along handle lines, click to delete node"
msgstr ""
-#: ../src/ui/tool/node.cpp:1280
+#: ../src/ui/tool/node.cpp:1457
msgctxt "Path node tip"
msgid "<b>Ctrl</b>: move along axes, click to change node type"
msgstr ""
-#: ../src/ui/tool/node.cpp:1284
+#: ../src/ui/tool/node.cpp:1461
msgctxt "Path node tip"
msgid "<b>Alt</b>: sculpt nodes"
msgstr ""
-#: ../src/ui/tool/node.cpp:1292
+#: ../src/ui/tool/node.cpp:1469
#, c-format
msgctxt "Path node tip"
msgid "<b>%s</b>: drag to shape the path (more: Shift, Ctrl, Alt)"
msgstr ""
-#: ../src/ui/tool/node.cpp:1295
+#: ../src/ui/tool/node.cpp:1472
+#, c-format
+msgctxt "Path node tip"
+msgid ""
+"<b>BSpline node</b>: %g weight, drag to shape the path (more: Shift, Ctrl, "
+"Alt)"
+msgstr ""
+
+#: ../src/ui/tool/node.cpp:1475
#, c-format
msgctxt "Path node tip"
msgid ""
@@ -21053,7 +21648,7 @@ msgid ""
"(more: Shift, Ctrl, Alt)"
msgstr ""
-#: ../src/ui/tool/node.cpp:1298
+#: ../src/ui/tool/node.cpp:1479
#, c-format
msgctxt "Path node tip"
msgid ""
@@ -21061,43 +21656,50 @@ msgid ""
"Shift, Ctrl, Alt)"
msgstr ""
-#: ../src/ui/tool/node.cpp:1309
+#: ../src/ui/tool/node.cpp:1482
+msgctxt "Path node tip"
+msgid ""
+"<b>BSpline node</b>: drag to shape the path, click to select only this node "
+"(more: Shift, Ctrl, Alt)"
+msgstr ""
+
+#: ../src/ui/tool/node.cpp:1495
#, c-format
msgctxt "Path node tip"
msgid "Move node by %s, %s"
msgstr ""
-#: ../src/ui/tool/node.cpp:1320
+#: ../src/ui/tool/node.cpp:1506
msgid "Symmetric node"
msgstr ""
-#: ../src/ui/tool/node.cpp:1321
+#: ../src/ui/tool/node.cpp:1507
msgid "Auto-smooth node"
msgstr ""
-#: ../src/ui/tool/path-manipulator.cpp:821
+#: ../src/ui/tool/path-manipulator.cpp:836
msgid "Scale handle"
msgstr ""
-#: ../src/ui/tool/path-manipulator.cpp:845
+#: ../src/ui/tool/path-manipulator.cpp:860
msgid "Rotate handle"
msgstr ""
#. We need to call MPM's method because it could have been our last node
-#: ../src/ui/tool/path-manipulator.cpp:1384
+#: ../src/ui/tool/path-manipulator.cpp:1520
#: ../src/widgets/node-toolbar.cpp:397
msgid "Delete node"
msgstr ""
-#: ../src/ui/tool/path-manipulator.cpp:1392
+#: ../src/ui/tool/path-manipulator.cpp:1528
msgid "Cycle node type"
msgstr ""
-#: ../src/ui/tool/path-manipulator.cpp:1407
+#: ../src/ui/tool/path-manipulator.cpp:1543
msgid "Drag handle"
msgstr ""
-#: ../src/ui/tool/path-manipulator.cpp:1416
+#: ../src/ui/tool/path-manipulator.cpp:1552
msgid "Retract handle"
msgstr ""
@@ -21213,6 +21815,129 @@ msgctxt "Transform handle tip"
msgid "<b>Rotation center</b>: drag to change the origin of transforms"
msgstr ""
+#: ../src/ui/tools-switch.cpp:95
+msgid ""
+"<b>Click</b> to Select and Transform objects, <b>Drag</b> to select many "
+"objects."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:96
+msgid "Modify selected path points (nodes) directly."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:97
+msgid "To tweak a path by pushing, select it and drag over it."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:98
+msgid ""
+"<b>Drag</b>, <b>click</b> or <b>click and scroll</b> to spray the selected "
+"objects."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:99
+msgid ""
+"<b>Drag</b> to create a rectangle. <b>Drag controls</b> to round corners and "
+"resize. <b>Click</b> to select."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:100
+msgid ""
+"<b>Drag</b> to create a 3D box. <b>Drag controls</b> to resize in "
+"perspective. <b>Click</b> to select (with <b>Ctrl+Alt</b> for single faces)."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:101
+msgid ""
+"<b>Drag</b> to create an ellipse. <b>Drag controls</b> to make an arc or "
+"segment. <b>Click</b> to select."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:102
+msgid ""
+"<b>Drag</b> to create a star. <b>Drag controls</b> to edit the star shape. "
+"<b>Click</b> to select."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:103
+msgid ""
+"<b>Drag</b> to create a spiral. <b>Drag controls</b> to edit the spiral "
+"shape. <b>Click</b> to select."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:104
+msgid ""
+"<b>Drag</b> to create a freehand line. <b>Shift</b> appends to selected "
+"path, <b>Alt</b> activates sketch mode."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:105
+msgid ""
+"<b>Click</b> or <b>click and drag</b> to start a path; with <b>Shift</b> to "
+"append to selected path. <b>Ctrl+click</b> to create single dots (straight "
+"line modes only)."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:106
+msgid ""
+"<b>Drag</b> to draw a calligraphic stroke; with <b>Ctrl</b> to track a guide "
+"path. <b>Arrow keys</b> adjust width (left/right) and angle (up/down)."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:107 ../src/ui/tools/text-tool.cpp:1593
+msgid ""
+"<b>Click</b> to select or create text, <b>drag</b> to create flowed text; "
+"then type."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:108
+msgid ""
+"<b>Drag</b> or <b>double click</b> to create a gradient on selected objects, "
+"<b>drag handles</b> to adjust gradients."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:109
+msgid ""
+"<b>Drag</b> or <b>double click</b> to create a mesh on selected objects, "
+"<b>drag handles</b> to adjust meshes."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:110
+msgid ""
+"<b>Click</b> or <b>drag around an area</b> to zoom in, <b>Shift+click</b> to "
+"zoom out."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:111
+msgid "<b>Drag</b> to measure the dimensions of objects."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:112 ../src/ui/tools/dropper-tool.cpp:285
+msgid ""
+"<b>Click</b> to set fill, <b>Shift+click</b> to set stroke; <b>drag</b> to "
+"average color in area; with <b>Alt</b> to pick inverse color; <b>Ctrl+C</b> "
+"to copy the color under mouse to clipboard"
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:113
+msgid "<b>Click and drag</b> between shapes to create a connector."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:114
+msgid ""
+"<b>Click</b> to paint a bounded area, <b>Shift+click</b> to union the new "
+"fill with the current selection, <b>Ctrl+click</b> to change the clicked "
+"object's fill and stroke to the current setting."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:115
+msgid "<b>Drag</b> to erase."
+msgstr ""
+
+#: ../src/ui/tools-switch.cpp:116
+msgid "Choose a subtool from the toolbar"
+msgstr ""
+
#: ../src/ui/tools/arc-tool.cpp:252
msgid ""
"<b>Ctrl</b>: make circle or integer-ratio ellipse, snap arc/segment angle"
@@ -21419,24 +22144,24 @@ msgid "<b>Draw over</b> areas to add to fill, hold <b>Alt</b> for touch fill"
msgstr ""
#. We hit green anchor, closing Green-Blue-Red
-#: ../src/ui/tools/freehand-base.cpp:517
+#: ../src/ui/tools/freehand-base.cpp:559
msgid "Path is closed."
msgstr ""
#. We hit bot start and end of single curve, closing paths
-#: ../src/ui/tools/freehand-base.cpp:532
+#: ../src/ui/tools/freehand-base.cpp:574
msgid "Closing path."
msgstr ""
-#: ../src/ui/tools/freehand-base.cpp:634
+#: ../src/ui/tools/freehand-base.cpp:711
msgid "Draw path"
msgstr ""
-#: ../src/ui/tools/freehand-base.cpp:791
+#: ../src/ui/tools/freehand-base.cpp:867
msgid "Creating single dot"
msgstr ""
-#: ../src/ui/tools/freehand-base.cpp:792
+#: ../src/ui/tools/freehand-base.cpp:868
msgid "Create single dot"
msgstr ""
@@ -21491,38 +22216,38 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ../src/ui/tools/gradient-tool.cpp:440
+#: ../src/ui/tools/gradient-tool.cpp:443
msgid "Simplify gradient"
msgstr ""
-#: ../src/ui/tools/gradient-tool.cpp:516
+#: ../src/ui/tools/gradient-tool.cpp:519
msgid "Create default gradient"
msgstr ""
-#: ../src/ui/tools/gradient-tool.cpp:575 ../src/ui/tools/mesh-tool.cpp:570
+#: ../src/ui/tools/gradient-tool.cpp:578 ../src/ui/tools/mesh-tool.cpp:570
msgid "<b>Draw around</b> handles to select them"
msgstr ""
-#: ../src/ui/tools/gradient-tool.cpp:698
+#: ../src/ui/tools/gradient-tool.cpp:701
msgid "<b>Ctrl</b>: snap gradient angle"
msgstr ""
-#: ../src/ui/tools/gradient-tool.cpp:699
+#: ../src/ui/tools/gradient-tool.cpp:702
msgid "<b>Shift</b>: draw gradient around the starting point"
msgstr ""
-#: ../src/ui/tools/gradient-tool.cpp:953 ../src/ui/tools/mesh-tool.cpp:993
+#: ../src/ui/tools/gradient-tool.cpp:956 ../src/ui/tools/mesh-tool.cpp:993
#, c-format
msgid "<b>Gradient</b> for %d object; with <b>Ctrl</b> to snap angle"
msgid_plural "<b>Gradient</b> for %d objects; with <b>Ctrl</b> to snap angle"
msgstr[0] ""
msgstr[1] ""
-#: ../src/ui/tools/gradient-tool.cpp:957 ../src/ui/tools/mesh-tool.cpp:997
+#: ../src/ui/tools/gradient-tool.cpp:960 ../src/ui/tools/mesh-tool.cpp:997
msgid "Select <b>objects</b> on which to create gradient."
msgstr ""
-#: ../src/ui/tools/lpe-tool.cpp:207
+#: ../src/ui/tools/lpe-tool.cpp:206
msgid "Choose a construction tool from the toolbar."
msgstr ""
@@ -21585,145 +22310,171 @@ msgstr ""
msgid "FIXME<b>Shift</b>: draw mesh around the starting point"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:594
+#: ../src/ui/tools/node-tool.cpp:612
msgctxt "Node tool tip"
msgid ""
"<b>Shift</b>: drag to add nodes to the selection, click to toggle object "
"selection"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:598
+#: ../src/ui/tools/node-tool.cpp:616
msgctxt "Node tool tip"
msgid "<b>Shift</b>: drag to add nodes to the selection"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:610
+#: ../src/ui/tools/node-tool.cpp:628
#, c-format
msgid "<b>%u of %u</b> node selected."
msgid_plural "<b>%u of %u</b> nodes selected."
msgstr[0] ""
msgstr[1] ""
-#: ../src/ui/tools/node-tool.cpp:616
+#: ../src/ui/tools/node-tool.cpp:634
#, c-format
msgctxt "Node tool tip"
msgid "%s Drag to select nodes, click to edit only this object (more: Shift)"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:622
+#: ../src/ui/tools/node-tool.cpp:640
#, c-format
msgctxt "Node tool tip"
msgid "%s Drag to select nodes, click clear the selection"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:631
+#: ../src/ui/tools/node-tool.cpp:649
msgctxt "Node tool tip"
msgid "Drag to select nodes, click to edit only this object"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:634
+#: ../src/ui/tools/node-tool.cpp:652
msgctxt "Node tool tip"
msgid "Drag to select nodes, click to clear the selection"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:639
+#: ../src/ui/tools/node-tool.cpp:657
msgctxt "Node tool tip"
msgid "Drag to select objects to edit, click to edit this object (more: Shift)"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:642
+#: ../src/ui/tools/node-tool.cpp:660
msgctxt "Node tool tip"
msgid "Drag to select objects to edit"
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:186 ../src/ui/tools/pencil-tool.cpp:465
+#: ../src/ui/tools/pen-tool.cpp:230 ../src/ui/tools/pencil-tool.cpp:466
msgid "Drawing cancelled"
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:407 ../src/ui/tools/pencil-tool.cpp:203
+#: ../src/ui/tools/pen-tool.cpp:466 ../src/ui/tools/pencil-tool.cpp:204
msgid "Continuing selected path"
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:417 ../src/ui/tools/pencil-tool.cpp:211
+#: ../src/ui/tools/pen-tool.cpp:476 ../src/ui/tools/pencil-tool.cpp:212
msgid "Creating new path"
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:419 ../src/ui/tools/pencil-tool.cpp:214
+#: ../src/ui/tools/pen-tool.cpp:478 ../src/ui/tools/pencil-tool.cpp:215
msgid "Appending to selected path"
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:576
+#: ../src/ui/tools/pen-tool.cpp:638
msgid "<b>Click</b> or <b>click and drag</b> to close and finish the path."
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:586
+#: ../src/ui/tools/pen-tool.cpp:640
+msgid ""
+"<b>Click</b> or <b>click and drag</b> to close and finish the path. Shift"
+"+Click make a cusp node"
+msgstr ""
+
+#: ../src/ui/tools/pen-tool.cpp:652
msgid ""
"<b>Click</b> or <b>click and drag</b> to continue the path from this point."
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:1211
+#: ../src/ui/tools/pen-tool.cpp:654
+msgid ""
+"<b>Click</b> or <b>click and drag</b> to continue the path from this point. "
+"Shift+Click make a cusp node"
+msgstr ""
+
+#: ../src/ui/tools/pen-tool.cpp:2096
#, c-format
msgid ""
"<b>Curve segment</b>: angle %3.2f&#176;, distance %s; with <b>Ctrl</b> to "
"snap angle, <b>Enter</b> to finish the path"
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:1212
+#: ../src/ui/tools/pen-tool.cpp:2097
#, c-format
msgid ""
"<b>Line segment</b>: angle %3.2f&#176;, distance %s; with <b>Ctrl</b> to "
"snap angle, <b>Enter</b> to finish the path"
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:1228
+#: ../src/ui/tools/pen-tool.cpp:2100
+#, c-format
+msgid ""
+"<b>Curve segment</b>: angle %3.2f&#176;, distance %s; with <b>Shift+Click</"
+"b> make a cusp node, <b>Enter</b> to finish the path"
+msgstr ""
+
+#: ../src/ui/tools/pen-tool.cpp:2101
+#, c-format
+msgid ""
+"<b>Line segment</b>: angle %3.2f&#176;, distance %s; with <b>Shift+Click</b> "
+"make a cusp node, <b>Enter</b> to finish the path"
+msgstr ""
+
+#: ../src/ui/tools/pen-tool.cpp:2118
#, c-format
msgid ""
"<b>Curve handle</b>: angle %3.2f&#176;, length %s; with <b>Ctrl</b> to snap "
"angle"
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:1250
+#: ../src/ui/tools/pen-tool.cpp:2142
#, c-format
msgid ""
"<b>Curve handle, symmetric</b>: angle %3.2f&#176;, length %s; with <b>Ctrl</"
"b> to snap angle, with <b>Shift</b> to move this handle only"
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:1251
+#: ../src/ui/tools/pen-tool.cpp:2143
#, c-format
msgid ""
"<b>Curve handle</b>: angle %3.2f&#176;, length %s; with <b>Ctrl</b> to snap "
"angle, with <b>Shift</b> to move this handle only"
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:1294
+#: ../src/ui/tools/pen-tool.cpp:2191
msgid "Drawing finished"
msgstr ""
-#: ../src/ui/tools/pencil-tool.cpp:315
+#: ../src/ui/tools/pencil-tool.cpp:316
msgid "<b>Release</b> here to close and finish the path."
msgstr ""
-#: ../src/ui/tools/pencil-tool.cpp:321
+#: ../src/ui/tools/pencil-tool.cpp:322
msgid "Drawing a freehand path"
msgstr ""
-#: ../src/ui/tools/pencil-tool.cpp:326
+#: ../src/ui/tools/pencil-tool.cpp:327
msgid "<b>Drag</b> to continue the path from this point."
msgstr ""
#. Write curves to object
-#: ../src/ui/tools/pencil-tool.cpp:411
+#: ../src/ui/tools/pencil-tool.cpp:412
msgid "Finishing freehand"
msgstr ""
-#: ../src/ui/tools/pencil-tool.cpp:514
+#: ../src/ui/tools/pencil-tool.cpp:515
msgid ""
"<b>Sketch mode</b>: holding <b>Alt</b> interpolates between sketched paths. "
"Release <b>Alt</b> to finalize."
msgstr ""
-#: ../src/ui/tools/pencil-tool.cpp:541
+#: ../src/ui/tools/pencil-tool.cpp:542
msgid "Finishing freehand sketch"
msgstr ""
@@ -21783,33 +22534,33 @@ msgstr ""
msgid "Selection canceled."
msgstr ""
-#: ../src/ui/tools/select-tool.cpp:642
+#: ../src/ui/tools/select-tool.cpp:653
msgid ""
"<b>Draw over</b> objects to select them; release <b>Alt</b> to switch to "
"rubberband selection"
msgstr ""
-#: ../src/ui/tools/select-tool.cpp:644
+#: ../src/ui/tools/select-tool.cpp:655
msgid ""
"<b>Drag around</b> objects to select them; press <b>Alt</b> to switch to "
"touch selection"
msgstr ""
-#: ../src/ui/tools/select-tool.cpp:932
+#: ../src/ui/tools/select-tool.cpp:950
msgid "<b>Ctrl</b>: click to select in groups; drag to move hor/vert"
msgstr ""
-#: ../src/ui/tools/select-tool.cpp:933
+#: ../src/ui/tools/select-tool.cpp:951
msgid "<b>Shift</b>: click to toggle select; drag for rubberband selection"
msgstr ""
-#: ../src/ui/tools/select-tool.cpp:934
+#: ../src/ui/tools/select-tool.cpp:952
msgid ""
"<b>Alt</b>: click to select under; scroll mouse-wheel to cycle-select; drag "
"to move selected or select by touch"
msgstr ""
-#: ../src/ui/tools/select-tool.cpp:1142
+#: ../src/ui/tools/select-tool.cpp:1160
msgid "Selected object is not a group. Cannot enter."
msgstr ""
@@ -21863,19 +22614,19 @@ msgid ""
"initial selection."
msgstr ""
-#: ../src/ui/tools/spray-tool.cpp:656
+#: ../src/ui/tools/spray-tool.cpp:664
msgid "<b>Nothing selected!</b> Select objects to spray."
msgstr ""
-#: ../src/ui/tools/spray-tool.cpp:731 ../src/widgets/spray-toolbar.cpp:166
+#: ../src/ui/tools/spray-tool.cpp:739 ../src/widgets/spray-toolbar.cpp:166
msgid "Spray with copies"
msgstr ""
-#: ../src/ui/tools/spray-tool.cpp:735 ../src/widgets/spray-toolbar.cpp:173
+#: ../src/ui/tools/spray-tool.cpp:743 ../src/widgets/spray-toolbar.cpp:173
msgid "Spray with clones"
msgstr ""
-#: ../src/ui/tools/spray-tool.cpp:739
+#: ../src/ui/tools/spray-tool.cpp:747
msgid "Spray in single path"
msgstr ""
@@ -22042,7 +22793,7 @@ msgstr[1] ""
msgid "Type text"
msgstr ""
-#: ../src/ui/tools/tool-base.cpp:704
+#: ../src/ui/tools/tool-base.cpp:705
msgid "<b>Space+mouse move</b> to pan canvas"
msgstr ""
@@ -22114,63 +22865,67 @@ msgid ""
"%s. Drag or click to <b>increase blur</b>; with Shift to <b>decrease</b>."
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1193
+#: ../src/ui/tools/tweak-tool.cpp:1205
msgid "<b>Nothing selected!</b> Select objects to tweak."
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1227
+#: ../src/ui/tools/tweak-tool.cpp:1239
msgid "Move tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1231
+#: ../src/ui/tools/tweak-tool.cpp:1243
msgid "Move in/out tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1235
+#: ../src/ui/tools/tweak-tool.cpp:1247
msgid "Move jitter tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1239
+#: ../src/ui/tools/tweak-tool.cpp:1251
msgid "Scale tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1243
+#: ../src/ui/tools/tweak-tool.cpp:1255
msgid "Rotate tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1247
+#: ../src/ui/tools/tweak-tool.cpp:1259
msgid "Duplicate/delete tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1251
+#: ../src/ui/tools/tweak-tool.cpp:1263
msgid "Push path tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1255
+#: ../src/ui/tools/tweak-tool.cpp:1267
msgid "Shrink/grow path tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1259
+#: ../src/ui/tools/tweak-tool.cpp:1271
msgid "Attract/repel path tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1263
+#: ../src/ui/tools/tweak-tool.cpp:1275
msgid "Roughen path tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1267
+#: ../src/ui/tools/tweak-tool.cpp:1279
msgid "Color paint tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1271
+#: ../src/ui/tools/tweak-tool.cpp:1283
msgid "Color jitter tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1275
+#: ../src/ui/tools/tweak-tool.cpp:1287
msgid "Blur tweak"
msgstr ""
-#: ../src/ui/widget/filter-effect-chooser.cpp:27
+#: ../src/ui/widget/filter-effect-chooser.cpp:26
+msgid "_Blur:"
+msgstr ""
+
+#: ../src/ui/widget/filter-effect-chooser.cpp:29
msgid "Blur (%)"
msgstr ""
@@ -22199,8 +22954,8 @@ msgid "MetadataLicence|Other"
msgstr ""
#: ../src/ui/widget/object-composite-settings.cpp:67
-#: ../src/ui/widget/selected-style.cpp:1099
-#: ../src/ui/widget/selected-style.cpp:1100
+#: ../src/ui/widget/selected-style.cpp:1120
+#: ../src/ui/widget/selected-style.cpp:1121
msgid "Opacity (%)"
msgstr ""
@@ -22209,8 +22964,8 @@ msgid "Change blur"
msgstr ""
#: ../src/ui/widget/object-composite-settings.cpp:220
-#: ../src/ui/widget/selected-style.cpp:931
-#: ../src/ui/widget/selected-style.cpp:1227
+#: ../src/ui/widget/selected-style.cpp:944
+#: ../src/ui/widget/selected-style.cpp:1248
msgid "Change opacity"
msgstr ""
@@ -22431,284 +23186,296 @@ msgid ""
"will be rendered exactly as displayed."
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:130
+#: ../src/ui/widget/selected-style.cpp:131
#: ../src/ui/widget/style-swatch.cpp:127
msgid "Fill:"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:132
+#: ../src/ui/widget/selected-style.cpp:133
msgid "O:"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:177
+#: ../src/ui/widget/selected-style.cpp:178
msgid "N/A"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:180
-#: ../src/ui/widget/selected-style.cpp:1092
-#: ../src/ui/widget/selected-style.cpp:1093
+#: ../src/ui/widget/selected-style.cpp:181
+#: ../src/ui/widget/selected-style.cpp:1113
+#: ../src/ui/widget/selected-style.cpp:1114
#: ../src/widgets/gradient-toolbar.cpp:162
msgid "Nothing selected"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:183
+#: ../src/ui/widget/selected-style.cpp:184
msgctxt "Fill"
msgid "<i>None</i>"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:185
+#: ../src/ui/widget/selected-style.cpp:186
msgctxt "Stroke"
msgid "<i>None</i>"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:189
+#: ../src/ui/widget/selected-style.cpp:190
#: ../src/ui/widget/style-swatch.cpp:322
msgctxt "Fill and stroke"
msgid "No fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:189
+#: ../src/ui/widget/selected-style.cpp:190
#: ../src/ui/widget/style-swatch.cpp:322
msgctxt "Fill and stroke"
msgid "No stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:191
-#: ../src/ui/widget/style-swatch.cpp:301 ../src/widgets/paint-selector.cpp:242
+#: ../src/ui/widget/selected-style.cpp:192
+#: ../src/ui/widget/style-swatch.cpp:301 ../src/widgets/paint-selector.cpp:234
msgid "Pattern"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:194
+#: ../src/ui/widget/selected-style.cpp:195
#: ../src/ui/widget/style-swatch.cpp:303
msgid "Pattern fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:194
+#: ../src/ui/widget/selected-style.cpp:195
#: ../src/ui/widget/style-swatch.cpp:303
msgid "Pattern stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:196
+#: ../src/ui/widget/selected-style.cpp:197
msgid "<b>L</b>"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:199
+#: ../src/ui/widget/selected-style.cpp:200
#: ../src/ui/widget/style-swatch.cpp:295
msgid "Linear gradient fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:199
+#: ../src/ui/widget/selected-style.cpp:200
#: ../src/ui/widget/style-swatch.cpp:295
msgid "Linear gradient stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:206
+#: ../src/ui/widget/selected-style.cpp:207
msgid "<b>R</b>"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:209
+#: ../src/ui/widget/selected-style.cpp:210
#: ../src/ui/widget/style-swatch.cpp:299
msgid "Radial gradient fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:209
+#: ../src/ui/widget/selected-style.cpp:210
#: ../src/ui/widget/style-swatch.cpp:299
msgid "Radial gradient stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:216
+#: ../src/ui/widget/selected-style.cpp:218
+msgid "<b>M</b>"
+msgstr ""
+
+#: ../src/ui/widget/selected-style.cpp:221
+msgid "Mesh gradient fill"
+msgstr ""
+
+#: ../src/ui/widget/selected-style.cpp:221
+msgid "Mesh gradient stroke"
+msgstr ""
+
+#: ../src/ui/widget/selected-style.cpp:229
msgid "Different"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:219
+#: ../src/ui/widget/selected-style.cpp:232
msgid "Different fills"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:219
+#: ../src/ui/widget/selected-style.cpp:232
msgid "Different strokes"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:221
+#: ../src/ui/widget/selected-style.cpp:234
#: ../src/ui/widget/style-swatch.cpp:325
msgid "<b>Unset</b>"
msgstr ""
#. TRANSLATORS COMMENT: unset is a verb here
-#: ../src/ui/widget/selected-style.cpp:224
-#: ../src/ui/widget/selected-style.cpp:282
-#: ../src/ui/widget/selected-style.cpp:563
+#: ../src/ui/widget/selected-style.cpp:237
+#: ../src/ui/widget/selected-style.cpp:295
+#: ../src/ui/widget/selected-style.cpp:576
#: ../src/ui/widget/style-swatch.cpp:327 ../src/widgets/fill-style.cpp:712
msgid "Unset fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:224
-#: ../src/ui/widget/selected-style.cpp:282
-#: ../src/ui/widget/selected-style.cpp:579
+#: ../src/ui/widget/selected-style.cpp:237
+#: ../src/ui/widget/selected-style.cpp:295
+#: ../src/ui/widget/selected-style.cpp:592
#: ../src/ui/widget/style-swatch.cpp:327 ../src/widgets/fill-style.cpp:712
msgid "Unset stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:227
+#: ../src/ui/widget/selected-style.cpp:240
msgid "Flat color fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:227
+#: ../src/ui/widget/selected-style.cpp:240
msgid "Flat color stroke"
msgstr ""
#. TRANSLATOR COMMENT: A means "Averaged"
-#: ../src/ui/widget/selected-style.cpp:230
+#: ../src/ui/widget/selected-style.cpp:243
msgid "<b>a</b>"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:233
+#: ../src/ui/widget/selected-style.cpp:246
msgid "Fill is averaged over selected objects"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:233
+#: ../src/ui/widget/selected-style.cpp:246
msgid "Stroke is averaged over selected objects"
msgstr ""
#. TRANSLATOR COMMENT: M means "Multiple"
-#: ../src/ui/widget/selected-style.cpp:236
+#: ../src/ui/widget/selected-style.cpp:249
msgid "<b>m</b>"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:239
+#: ../src/ui/widget/selected-style.cpp:252
msgid "Multiple selected objects have the same fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:239
+#: ../src/ui/widget/selected-style.cpp:252
msgid "Multiple selected objects have the same stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:241
+#: ../src/ui/widget/selected-style.cpp:254
msgid "Edit fill..."
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:241
+#: ../src/ui/widget/selected-style.cpp:254
msgid "Edit stroke..."
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:245
+#: ../src/ui/widget/selected-style.cpp:258
msgid "Last set color"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:249
+#: ../src/ui/widget/selected-style.cpp:262
msgid "Last selected color"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:265
+#: ../src/ui/widget/selected-style.cpp:278
msgid "Copy color"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:269
+#: ../src/ui/widget/selected-style.cpp:282
msgid "Paste color"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:273
-#: ../src/ui/widget/selected-style.cpp:856
+#: ../src/ui/widget/selected-style.cpp:286
+#: ../src/ui/widget/selected-style.cpp:869
msgid "Swap fill and stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:277
-#: ../src/ui/widget/selected-style.cpp:588
-#: ../src/ui/widget/selected-style.cpp:597
+#: ../src/ui/widget/selected-style.cpp:290
+#: ../src/ui/widget/selected-style.cpp:601
+#: ../src/ui/widget/selected-style.cpp:610
msgid "Make fill opaque"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:277
+#: ../src/ui/widget/selected-style.cpp:290
msgid "Make stroke opaque"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:286
-#: ../src/ui/widget/selected-style.cpp:545 ../src/widgets/fill-style.cpp:510
+#: ../src/ui/widget/selected-style.cpp:299
+#: ../src/ui/widget/selected-style.cpp:558 ../src/widgets/fill-style.cpp:510
msgid "Remove fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:286
-#: ../src/ui/widget/selected-style.cpp:554 ../src/widgets/fill-style.cpp:510
+#: ../src/ui/widget/selected-style.cpp:299
+#: ../src/ui/widget/selected-style.cpp:567 ../src/widgets/fill-style.cpp:510
msgid "Remove stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:609
+#: ../src/ui/widget/selected-style.cpp:622
msgid "Apply last set color to fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:621
+#: ../src/ui/widget/selected-style.cpp:634
msgid "Apply last set color to stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:632
+#: ../src/ui/widget/selected-style.cpp:645
msgid "Apply last selected color to fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:643
+#: ../src/ui/widget/selected-style.cpp:656
msgid "Apply last selected color to stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:669
+#: ../src/ui/widget/selected-style.cpp:682
msgid "Invert fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:693
+#: ../src/ui/widget/selected-style.cpp:706
msgid "Invert stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:705
+#: ../src/ui/widget/selected-style.cpp:718
msgid "White fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:717
+#: ../src/ui/widget/selected-style.cpp:730
msgid "White stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:729
+#: ../src/ui/widget/selected-style.cpp:742
msgid "Black fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:741
+#: ../src/ui/widget/selected-style.cpp:754
msgid "Black stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:784
+#: ../src/ui/widget/selected-style.cpp:797
msgid "Paste fill"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:802
+#: ../src/ui/widget/selected-style.cpp:815
msgid "Paste stroke"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:958
+#: ../src/ui/widget/selected-style.cpp:971
msgid "Change stroke width"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1053
+#: ../src/ui/widget/selected-style.cpp:1074
msgid ", drag to adjust"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1138
+#: ../src/ui/widget/selected-style.cpp:1159
#, c-format
msgid "Stroke width: %.5g%s%s"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1142
+#: ../src/ui/widget/selected-style.cpp:1163
msgid " (averaged)"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1170
+#: ../src/ui/widget/selected-style.cpp:1191
msgid "0 (transparent)"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1194
+#: ../src/ui/widget/selected-style.cpp:1215
msgid "100% (opaque)"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1368
+#: ../src/ui/widget/selected-style.cpp:1389
msgid "Adjust alpha"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1370
+#: ../src/ui/widget/selected-style.cpp:1391
#, c-format
msgid ""
"Adjusting <b>alpha</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with <b>Ctrl</"
@@ -22716,11 +23483,11 @@ msgid ""
"modifiers to adjust hue"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1374
+#: ../src/ui/widget/selected-style.cpp:1395
msgid "Adjust saturation"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1376
+#: ../src/ui/widget/selected-style.cpp:1397
#, c-format
msgid ""
"Adjusting <b>saturation</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with "
@@ -22728,11 +23495,11 @@ msgid ""
"modifiers to adjust hue"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1380
+#: ../src/ui/widget/selected-style.cpp:1401
msgid "Adjust lightness"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1382
+#: ../src/ui/widget/selected-style.cpp:1403
#, c-format
msgid ""
"Adjusting <b>lightness</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with "
@@ -22740,11 +23507,11 @@ msgid ""
"modifiers to adjust hue"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1386
+#: ../src/ui/widget/selected-style.cpp:1407
msgid "Adjust hue"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1388
+#: ../src/ui/widget/selected-style.cpp:1409
#, c-format
msgid ""
"Adjusting <b>hue</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with <b>Shift</"
@@ -22752,12 +23519,12 @@ msgid ""
"to adjust lightness"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1506
-#: ../src/ui/widget/selected-style.cpp:1520
+#: ../src/ui/widget/selected-style.cpp:1527
+#: ../src/ui/widget/selected-style.cpp:1541
msgid "Adjust stroke width"
msgstr ""
-#: ../src/ui/widget/selected-style.cpp:1507
+#: ../src/ui/widget/selected-style.cpp:1528
#, c-format
msgid "Adjusting <b>stroke width</b>: was %.3g, now <b>%.3g</b> (diff %.3g)"
msgstr ""
@@ -22806,15 +23573,15 @@ msgstr ""
msgid "Opacity: %2.1f %%"
msgstr ""
-#: ../src/vanishing-point.cpp:132
+#: ../src/vanishing-point.cpp:133
msgid "Split vanishing points"
msgstr ""
-#: ../src/vanishing-point.cpp:177
+#: ../src/vanishing-point.cpp:178
msgid "Merge vanishing points"
msgstr ""
-#: ../src/vanishing-point.cpp:243
+#: ../src/vanishing-point.cpp:244
msgid "3D box: Move vanishing point"
msgstr ""
@@ -22848,2399 +23615,2431 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ../src/verbs.cpp:137
+#: ../src/verbs.cpp:138
msgid "File"
msgstr ""
-#: ../src/verbs.cpp:232
+#: ../src/verbs.cpp:233 ../share/extensions/interp_att_g.inx.h:22
+msgid "Tag"
+msgstr ""
+
+#: ../src/verbs.cpp:252
msgid "Context"
msgstr ""
-#: ../src/verbs.cpp:251 ../src/verbs.cpp:2223
+#: ../src/verbs.cpp:271 ../src/verbs.cpp:2306
#: ../share/extensions/jessyInk_view.inx.h:1
#: ../share/extensions/polyhedron_3d.inx.h:26
msgid "View"
msgstr ""
-#: ../src/verbs.cpp:271
+#: ../src/verbs.cpp:291
msgid "Dialog"
msgstr ""
-#: ../src/verbs.cpp:1227
+#: ../src/verbs.cpp:1260
msgid "Switch to next layer"
msgstr ""
-#: ../src/verbs.cpp:1228
+#: ../src/verbs.cpp:1261
msgid "Switched to next layer."
msgstr ""
-#: ../src/verbs.cpp:1230
+#: ../src/verbs.cpp:1263
msgid "Cannot go past last layer."
msgstr ""
-#: ../src/verbs.cpp:1239
+#: ../src/verbs.cpp:1272
msgid "Switch to previous layer"
msgstr ""
-#: ../src/verbs.cpp:1240
+#: ../src/verbs.cpp:1273
msgid "Switched to previous layer."
msgstr ""
-#: ../src/verbs.cpp:1242
+#: ../src/verbs.cpp:1275
msgid "Cannot go before first layer."
msgstr ""
-#: ../src/verbs.cpp:1263 ../src/verbs.cpp:1360 ../src/verbs.cpp:1396
-#: ../src/verbs.cpp:1402 ../src/verbs.cpp:1426 ../src/verbs.cpp:1441
+#: ../src/verbs.cpp:1296 ../src/verbs.cpp:1393 ../src/verbs.cpp:1429
+#: ../src/verbs.cpp:1435 ../src/verbs.cpp:1459 ../src/verbs.cpp:1474
msgid "No current layer."
msgstr ""
-#: ../src/verbs.cpp:1292 ../src/verbs.cpp:1296
+#: ../src/verbs.cpp:1325 ../src/verbs.cpp:1329
#, c-format
msgid "Raised layer <b>%s</b>."
msgstr ""
-#: ../src/verbs.cpp:1293
+#: ../src/verbs.cpp:1326
msgid "Layer to top"
msgstr ""
-#: ../src/verbs.cpp:1297
+#: ../src/verbs.cpp:1330
msgid "Raise layer"
msgstr ""
-#: ../src/verbs.cpp:1300 ../src/verbs.cpp:1304
+#: ../src/verbs.cpp:1333 ../src/verbs.cpp:1337
#, c-format
msgid "Lowered layer <b>%s</b>."
msgstr ""
-#: ../src/verbs.cpp:1301
+#: ../src/verbs.cpp:1334
msgid "Layer to bottom"
msgstr ""
-#: ../src/verbs.cpp:1305
+#: ../src/verbs.cpp:1338
msgid "Lower layer"
msgstr ""
-#: ../src/verbs.cpp:1314
+#: ../src/verbs.cpp:1347
msgid "Cannot move layer any further."
msgstr ""
-#: ../src/verbs.cpp:1328 ../src/verbs.cpp:1347
+#: ../src/verbs.cpp:1361 ../src/verbs.cpp:1380
#, c-format
msgid "%s copy"
msgstr ""
-#: ../src/verbs.cpp:1355
+#: ../src/verbs.cpp:1388
msgid "Duplicate layer"
msgstr ""
#. TRANSLATORS: this means "The layer has been duplicated."
-#: ../src/verbs.cpp:1358
+#: ../src/verbs.cpp:1391
msgid "Duplicated layer."
msgstr ""
-#: ../src/verbs.cpp:1391
+#: ../src/verbs.cpp:1424
msgid "Delete layer"
msgstr ""
#. TRANSLATORS: this means "The layer has been deleted."
-#: ../src/verbs.cpp:1394
+#: ../src/verbs.cpp:1427
msgid "Deleted layer."
msgstr ""
-#: ../src/verbs.cpp:1411
+#: ../src/verbs.cpp:1444
msgid "Show all layers"
msgstr ""
-#: ../src/verbs.cpp:1416
+#: ../src/verbs.cpp:1449
msgid "Hide all layers"
msgstr ""
-#: ../src/verbs.cpp:1421
+#: ../src/verbs.cpp:1454
msgid "Lock all layers"
msgstr ""
-#: ../src/verbs.cpp:1435
+#: ../src/verbs.cpp:1468
msgid "Unlock all layers"
msgstr ""
-#: ../src/verbs.cpp:1519
+#: ../src/verbs.cpp:1552
msgid "Flip horizontally"
msgstr ""
-#: ../src/verbs.cpp:1524
+#: ../src/verbs.cpp:1557
msgid "Flip vertically"
msgstr ""
+#: ../src/verbs.cpp:1618 ../src/verbs.cpp:2731
+msgid "Create new selection set"
+msgstr ""
+
#. TRANSLATORS: If you have translated the tutorial-basic.en.svgz file to your language,
#. then translate this string as "tutorial-basic.LANG.svgz" (where LANG is your language
#. code); otherwise leave as "tutorial-basic.svg".
-#: ../src/verbs.cpp:2105
+#: ../src/verbs.cpp:2188
msgid "tutorial-basic.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2109
+#: ../src/verbs.cpp:2192
msgid "tutorial-shapes.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2113
+#: ../src/verbs.cpp:2196
msgid "tutorial-advanced.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2117
+#: ../src/verbs.cpp:2200
msgid "tutorial-tracing.svg"
msgstr ""
-#: ../src/verbs.cpp:2120
+#: ../src/verbs.cpp:2203
msgid "tutorial-tracing-pixelart.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2124
+#: ../src/verbs.cpp:2207
msgid "tutorial-calligraphy.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2128
+#: ../src/verbs.cpp:2211
msgid "tutorial-interpolate.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2132
+#: ../src/verbs.cpp:2215
msgid "tutorial-elements.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2136
+#: ../src/verbs.cpp:2219
msgid "tutorial-tips.svg"
msgstr ""
-#: ../src/verbs.cpp:2322 ../src/verbs.cpp:2913
+#: ../src/verbs.cpp:2405 ../src/verbs.cpp:3004
msgid "Unlock all objects in the current layer"
msgstr ""
-#: ../src/verbs.cpp:2326 ../src/verbs.cpp:2915
+#: ../src/verbs.cpp:2409 ../src/verbs.cpp:3006
msgid "Unlock all objects in all layers"
msgstr ""
-#: ../src/verbs.cpp:2330 ../src/verbs.cpp:2917
+#: ../src/verbs.cpp:2413 ../src/verbs.cpp:3008
msgid "Unhide all objects in the current layer"
msgstr ""
-#: ../src/verbs.cpp:2334 ../src/verbs.cpp:2919
+#: ../src/verbs.cpp:2417 ../src/verbs.cpp:3010
msgid "Unhide all objects in all layers"
msgstr ""
-#: ../src/verbs.cpp:2349
+#: ../src/verbs.cpp:2432
msgctxt "Verb"
msgid "None"
msgstr ""
-#: ../src/verbs.cpp:2349
+#: ../src/verbs.cpp:2432
msgid "Does nothing"
msgstr ""
-#: ../src/verbs.cpp:2352
+#: ../src/verbs.cpp:2435
msgid "Create new document from the default template"
msgstr ""
-#: ../src/verbs.cpp:2354
+#: ../src/verbs.cpp:2437
msgid "_Open..."
msgstr ""
-#: ../src/verbs.cpp:2355
+#: ../src/verbs.cpp:2438
msgid "Open an existing document"
msgstr ""
-#: ../src/verbs.cpp:2356
+#: ../src/verbs.cpp:2439
msgid "Re_vert"
msgstr ""
-#: ../src/verbs.cpp:2357
+#: ../src/verbs.cpp:2440
msgid "Revert to the last saved version of document (changes will be lost)"
msgstr ""
-#: ../src/verbs.cpp:2358
+#: ../src/verbs.cpp:2441
msgid "Save document"
msgstr ""
-#: ../src/verbs.cpp:2360
+#: ../src/verbs.cpp:2443
msgid "Save _As..."
msgstr ""
-#: ../src/verbs.cpp:2361
+#: ../src/verbs.cpp:2444
msgid "Save document under a new name"
msgstr ""
-#: ../src/verbs.cpp:2362
+#: ../src/verbs.cpp:2445
msgid "Save a Cop_y..."
msgstr ""
-#: ../src/verbs.cpp:2363
+#: ../src/verbs.cpp:2446
msgid "Save a copy of the document under a new name"
msgstr ""
-#: ../src/verbs.cpp:2364
+#: ../src/verbs.cpp:2447
msgid "_Print..."
msgstr ""
-#: ../src/verbs.cpp:2364
+#: ../src/verbs.cpp:2447
msgid "Print document"
msgstr ""
#. TRANSLATORS: "Vacuum Defs" means "Clean up defs" (so as to remove unused definitions)
-#: ../src/verbs.cpp:2367
+#: ../src/verbs.cpp:2450
msgid "Clean _up document"
msgstr ""
-#: ../src/verbs.cpp:2367
+#: ../src/verbs.cpp:2450
msgid ""
"Remove unused definitions (such as gradients or clipping paths) from the &lt;"
"defs&gt; of the document"
msgstr ""
-#: ../src/verbs.cpp:2369
+#: ../src/verbs.cpp:2452
msgid "_Import..."
msgstr ""
-#: ../src/verbs.cpp:2370
+#: ../src/verbs.cpp:2453
msgid "Import a bitmap or SVG image into this document"
msgstr ""
#. new FileVerb(SP_VERB_FILE_EXPORT, "FileExport", N_("_Export Bitmap..."), N_("Export this document or a selection as a bitmap image"), INKSCAPE_ICON("document-export")),
-#: ../src/verbs.cpp:2372
+#: ../src/verbs.cpp:2455
msgid "Import Clip Art..."
msgstr ""
-#: ../src/verbs.cpp:2373
+#: ../src/verbs.cpp:2456
msgid "Import clipart from Open Clip Art Library"
msgstr ""
#. new FileVerb(SP_VERB_FILE_EXPORT_TO_OCAL, "FileExportToOCAL", N_("Export To Open Clip Art Library"), N_("Export this document to Open Clip Art Library"), INKSCAPE_ICON_DOCUMENT_EXPORT_OCAL),
-#: ../src/verbs.cpp:2375
+#: ../src/verbs.cpp:2458
msgid "N_ext Window"
msgstr ""
-#: ../src/verbs.cpp:2376
+#: ../src/verbs.cpp:2459
msgid "Switch to the next document window"
msgstr ""
-#: ../src/verbs.cpp:2377
+#: ../src/verbs.cpp:2460
msgid "P_revious Window"
msgstr ""
-#: ../src/verbs.cpp:2378
+#: ../src/verbs.cpp:2461
msgid "Switch to the previous document window"
msgstr ""
-#: ../src/verbs.cpp:2379
+#: ../src/verbs.cpp:2462
msgid "_Close"
msgstr ""
-#: ../src/verbs.cpp:2380
+#: ../src/verbs.cpp:2463
msgid "Close this document window"
msgstr ""
-#: ../src/verbs.cpp:2381
+#: ../src/verbs.cpp:2464
msgid "_Quit"
msgstr ""
-#: ../src/verbs.cpp:2381
+#: ../src/verbs.cpp:2464
msgid "Quit Inkscape"
msgstr ""
-#: ../src/verbs.cpp:2382
+#: ../src/verbs.cpp:2465
msgid "_Templates..."
msgstr ""
-#: ../src/verbs.cpp:2383
+#: ../src/verbs.cpp:2466
msgid "Create new project from template"
msgstr ""
-#: ../src/verbs.cpp:2386
+#: ../src/verbs.cpp:2469
msgid "Undo last action"
msgstr ""
-#: ../src/verbs.cpp:2389
+#: ../src/verbs.cpp:2472
msgid "Do again the last undone action"
msgstr ""
-#: ../src/verbs.cpp:2390
+#: ../src/verbs.cpp:2473
msgid "Cu_t"
msgstr ""
-#: ../src/verbs.cpp:2391
+#: ../src/verbs.cpp:2474
msgid "Cut selection to clipboard"
msgstr ""
-#: ../src/verbs.cpp:2392
+#: ../src/verbs.cpp:2475
msgid "_Copy"
msgstr ""
-#: ../src/verbs.cpp:2393
+#: ../src/verbs.cpp:2476
msgid "Copy selection to clipboard"
msgstr ""
-#: ../src/verbs.cpp:2394
+#: ../src/verbs.cpp:2477
msgid "_Paste"
msgstr ""
-#: ../src/verbs.cpp:2395
+#: ../src/verbs.cpp:2478
msgid "Paste objects from clipboard to mouse point, or paste text"
msgstr ""
-#: ../src/verbs.cpp:2396
+#: ../src/verbs.cpp:2479
msgid "Paste _Style"
msgstr ""
-#: ../src/verbs.cpp:2397
+#: ../src/verbs.cpp:2480
msgid "Apply the style of the copied object to selection"
msgstr ""
-#: ../src/verbs.cpp:2399
+#: ../src/verbs.cpp:2482
msgid "Scale selection to match the size of the copied object"
msgstr ""
-#: ../src/verbs.cpp:2400
+#: ../src/verbs.cpp:2483
msgid "Paste _Width"
msgstr ""
-#: ../src/verbs.cpp:2401
+#: ../src/verbs.cpp:2484
msgid "Scale selection horizontally to match the width of the copied object"
msgstr ""
-#: ../src/verbs.cpp:2402
+#: ../src/verbs.cpp:2485
msgid "Paste _Height"
msgstr ""
-#: ../src/verbs.cpp:2403
+#: ../src/verbs.cpp:2486
msgid "Scale selection vertically to match the height of the copied object"
msgstr ""
-#: ../src/verbs.cpp:2404
+#: ../src/verbs.cpp:2487
msgid "Paste Size Separately"
msgstr ""
-#: ../src/verbs.cpp:2405
+#: ../src/verbs.cpp:2488
msgid "Scale each selected object to match the size of the copied object"
msgstr ""
-#: ../src/verbs.cpp:2406
+#: ../src/verbs.cpp:2489
msgid "Paste Width Separately"
msgstr ""
-#: ../src/verbs.cpp:2407
+#: ../src/verbs.cpp:2490
msgid ""
"Scale each selected object horizontally to match the width of the copied "
"object"
msgstr ""
-#: ../src/verbs.cpp:2408
+#: ../src/verbs.cpp:2491
msgid "Paste Height Separately"
msgstr ""
-#: ../src/verbs.cpp:2409
+#: ../src/verbs.cpp:2492
msgid ""
"Scale each selected object vertically to match the height of the copied "
"object"
msgstr ""
-#: ../src/verbs.cpp:2410
+#: ../src/verbs.cpp:2493
msgid "Paste _In Place"
msgstr ""
-#: ../src/verbs.cpp:2411
+#: ../src/verbs.cpp:2494
msgid "Paste objects from clipboard to the original location"
msgstr ""
-#: ../src/verbs.cpp:2412
+#: ../src/verbs.cpp:2495
msgid "Paste Path _Effect"
msgstr ""
-#: ../src/verbs.cpp:2413
+#: ../src/verbs.cpp:2496
msgid "Apply the path effect of the copied object to selection"
msgstr ""
-#: ../src/verbs.cpp:2414
+#: ../src/verbs.cpp:2497
msgid "Remove Path _Effect"
msgstr ""
-#: ../src/verbs.cpp:2415
+#: ../src/verbs.cpp:2498
msgid "Remove any path effects from selected objects"
msgstr ""
-#: ../src/verbs.cpp:2416
+#: ../src/verbs.cpp:2499
msgid "_Remove Filters"
msgstr ""
-#: ../src/verbs.cpp:2417
+#: ../src/verbs.cpp:2500
msgid "Remove any filters from selected objects"
msgstr ""
-#: ../src/verbs.cpp:2418
+#: ../src/verbs.cpp:2501
msgid "_Delete"
msgstr ""
-#: ../src/verbs.cpp:2419
+#: ../src/verbs.cpp:2502
msgid "Delete selection"
msgstr ""
-#: ../src/verbs.cpp:2420
+#: ../src/verbs.cpp:2503
msgid "Duplic_ate"
msgstr ""
-#: ../src/verbs.cpp:2421
+#: ../src/verbs.cpp:2504
msgid "Duplicate selected objects"
msgstr ""
-#: ../src/verbs.cpp:2422
+#: ../src/verbs.cpp:2505
msgid "Create Clo_ne"
msgstr ""
-#: ../src/verbs.cpp:2423
+#: ../src/verbs.cpp:2506
msgid "Create a clone (a copy linked to the original) of selected object"
msgstr ""
-#: ../src/verbs.cpp:2424
+#: ../src/verbs.cpp:2507
msgid "Unlin_k Clone"
msgstr ""
-#: ../src/verbs.cpp:2425
+#: ../src/verbs.cpp:2508
msgid ""
"Cut the selected clones' links to the originals, turning them into "
"standalone objects"
msgstr ""
-#: ../src/verbs.cpp:2426
+#: ../src/verbs.cpp:2509
msgid "Relink to Copied"
msgstr ""
-#: ../src/verbs.cpp:2427
+#: ../src/verbs.cpp:2510
msgid "Relink the selected clones to the object currently on the clipboard"
msgstr ""
-#: ../src/verbs.cpp:2428
+#: ../src/verbs.cpp:2511
msgid "Select _Original"
msgstr ""
-#: ../src/verbs.cpp:2429
+#: ../src/verbs.cpp:2512
msgid "Select the object to which the selected clone is linked"
msgstr ""
-#: ../src/verbs.cpp:2430
+#: ../src/verbs.cpp:2513
msgid "Clone original path (LPE)"
msgstr ""
-#: ../src/verbs.cpp:2431
+#: ../src/verbs.cpp:2514
msgid ""
"Creates a new path, applies the Clone original LPE, and refers it to the "
"selected path"
msgstr ""
-#: ../src/verbs.cpp:2432
+#: ../src/verbs.cpp:2515
msgid "Objects to _Marker"
msgstr ""
-#: ../src/verbs.cpp:2433
+#: ../src/verbs.cpp:2516
msgid "Convert selection to a line marker"
msgstr ""
-#: ../src/verbs.cpp:2434
+#: ../src/verbs.cpp:2517
msgid "Objects to Gu_ides"
msgstr ""
-#: ../src/verbs.cpp:2435
+#: ../src/verbs.cpp:2518
msgid ""
"Convert selected objects to a collection of guidelines aligned with their "
"edges"
msgstr ""
-#: ../src/verbs.cpp:2436
+#: ../src/verbs.cpp:2519
msgid "Objects to Patter_n"
msgstr ""
-#: ../src/verbs.cpp:2437
+#: ../src/verbs.cpp:2520
msgid "Convert selection to a rectangle with tiled pattern fill"
msgstr ""
-#: ../src/verbs.cpp:2438
+#: ../src/verbs.cpp:2521
msgid "Pattern to _Objects"
msgstr ""
-#: ../src/verbs.cpp:2439
+#: ../src/verbs.cpp:2522
msgid "Extract objects from a tiled pattern fill"
msgstr ""
-#: ../src/verbs.cpp:2440
+#: ../src/verbs.cpp:2523
msgid "Group to Symbol"
msgstr ""
-#: ../src/verbs.cpp:2441
+#: ../src/verbs.cpp:2524
msgid "Convert group to a symbol"
msgstr ""
-#: ../src/verbs.cpp:2442
+#: ../src/verbs.cpp:2525
msgid "Symbol to Group"
msgstr ""
-#: ../src/verbs.cpp:2443
+#: ../src/verbs.cpp:2526
msgid "Extract group from a symbol"
msgstr ""
-#: ../src/verbs.cpp:2444
+#: ../src/verbs.cpp:2527
msgid "Clea_r All"
msgstr ""
-#: ../src/verbs.cpp:2445
+#: ../src/verbs.cpp:2528
msgid "Delete all objects from document"
msgstr ""
-#: ../src/verbs.cpp:2446
+#: ../src/verbs.cpp:2529
msgid "Select Al_l"
msgstr ""
-#: ../src/verbs.cpp:2447
+#: ../src/verbs.cpp:2530
msgid "Select all objects or all nodes"
msgstr ""
-#: ../src/verbs.cpp:2448
+#: ../src/verbs.cpp:2531
msgid "Select All in All La_yers"
msgstr ""
-#: ../src/verbs.cpp:2449
+#: ../src/verbs.cpp:2532
msgid "Select all objects in all visible and unlocked layers"
msgstr ""
-#: ../src/verbs.cpp:2450
+#: ../src/verbs.cpp:2533
msgid "Fill _and Stroke"
msgstr ""
-#: ../src/verbs.cpp:2451
+#: ../src/verbs.cpp:2534
msgid ""
"Select all objects with the same fill and stroke as the selected objects"
msgstr ""
-#: ../src/verbs.cpp:2452
+#: ../src/verbs.cpp:2535
msgid "_Fill Color"
msgstr ""
-#: ../src/verbs.cpp:2453
+#: ../src/verbs.cpp:2536
msgid "Select all objects with the same fill as the selected objects"
msgstr ""
-#: ../src/verbs.cpp:2454
+#: ../src/verbs.cpp:2537
msgid "_Stroke Color"
msgstr ""
-#: ../src/verbs.cpp:2455
+#: ../src/verbs.cpp:2538
msgid "Select all objects with the same stroke as the selected objects"
msgstr ""
-#: ../src/verbs.cpp:2456
+#: ../src/verbs.cpp:2539
msgid "Stroke St_yle"
msgstr ""
-#: ../src/verbs.cpp:2457
+#: ../src/verbs.cpp:2540
msgid ""
"Select all objects with the same stroke style (width, dash, markers) as the "
"selected objects"
msgstr ""
-#: ../src/verbs.cpp:2458
+#: ../src/verbs.cpp:2541
msgid "_Object Type"
msgstr ""
-#: ../src/verbs.cpp:2459
+#: ../src/verbs.cpp:2542
msgid ""
"Select all objects with the same object type (rect, arc, text, path, bitmap "
"etc) as the selected objects"
msgstr ""
-#: ../src/verbs.cpp:2460
+#: ../src/verbs.cpp:2543
msgid "In_vert Selection"
msgstr ""
-#: ../src/verbs.cpp:2461
+#: ../src/verbs.cpp:2544
msgid "Invert selection (unselect what is selected and select everything else)"
msgstr ""
-#: ../src/verbs.cpp:2462
+#: ../src/verbs.cpp:2545
msgid "Invert in All Layers"
msgstr ""
-#: ../src/verbs.cpp:2463
+#: ../src/verbs.cpp:2546
msgid "Invert selection in all visible and unlocked layers"
msgstr ""
-#: ../src/verbs.cpp:2464
+#: ../src/verbs.cpp:2547
msgid "Select Next"
msgstr ""
-#: ../src/verbs.cpp:2465
+#: ../src/verbs.cpp:2548
msgid "Select next object or node"
msgstr ""
-#: ../src/verbs.cpp:2466
+#: ../src/verbs.cpp:2549
msgid "Select Previous"
msgstr ""
-#: ../src/verbs.cpp:2467
+#: ../src/verbs.cpp:2550
msgid "Select previous object or node"
msgstr ""
-#: ../src/verbs.cpp:2468
+#: ../src/verbs.cpp:2551
msgid "D_eselect"
msgstr ""
-#: ../src/verbs.cpp:2469
+#: ../src/verbs.cpp:2552
msgid "Deselect any selected objects or nodes"
msgstr ""
-#: ../src/verbs.cpp:2471
+#: ../src/verbs.cpp:2554
msgid "Delete all the guides in the document"
msgstr ""
-#: ../src/verbs.cpp:2472
+#: ../src/verbs.cpp:2555
msgid "Create _Guides Around the Page"
msgstr ""
-#: ../src/verbs.cpp:2473
+#: ../src/verbs.cpp:2556
msgid "Create four guides aligned with the page borders"
msgstr ""
-#: ../src/verbs.cpp:2474
+#: ../src/verbs.cpp:2557
msgid "Next path effect parameter"
msgstr ""
-#: ../src/verbs.cpp:2475
+#: ../src/verbs.cpp:2558
msgid "Show next editable path effect parameter"
msgstr ""
#. Selection
-#: ../src/verbs.cpp:2478
+#: ../src/verbs.cpp:2561
msgid "Raise to _Top"
msgstr ""
-#: ../src/verbs.cpp:2479
+#: ../src/verbs.cpp:2562
msgid "Raise selection to top"
msgstr ""
-#: ../src/verbs.cpp:2480
+#: ../src/verbs.cpp:2563
msgid "Lower to _Bottom"
msgstr ""
-#: ../src/verbs.cpp:2481
+#: ../src/verbs.cpp:2564
msgid "Lower selection to bottom"
msgstr ""
-#: ../src/verbs.cpp:2482
+#: ../src/verbs.cpp:2565
msgid "_Raise"
msgstr ""
-#: ../src/verbs.cpp:2483
+#: ../src/verbs.cpp:2566
msgid "Raise selection one step"
msgstr ""
-#: ../src/verbs.cpp:2484
+#: ../src/verbs.cpp:2567
msgid "_Lower"
msgstr ""
-#: ../src/verbs.cpp:2485
+#: ../src/verbs.cpp:2568
msgid "Lower selection one step"
msgstr ""
-#: ../src/verbs.cpp:2487
+#: ../src/verbs.cpp:2570
msgid "Group selected objects"
msgstr ""
-#: ../src/verbs.cpp:2489
+#: ../src/verbs.cpp:2572
msgid "Ungroup selected groups"
msgstr ""
-#: ../src/verbs.cpp:2491
+#: ../src/verbs.cpp:2574
msgid "_Put on Path"
msgstr ""
-#: ../src/verbs.cpp:2493
+#: ../src/verbs.cpp:2576
msgid "_Remove from Path"
msgstr ""
-#: ../src/verbs.cpp:2495
+#: ../src/verbs.cpp:2578
msgid "Remove Manual _Kerns"
msgstr ""
#. TRANSLATORS: "glyph": An image used in the visual representation of characters;
#. roughly speaking, how a character looks. A font is a set of glyphs.
-#: ../src/verbs.cpp:2498
+#: ../src/verbs.cpp:2581
msgid "Remove all manual kerns and glyph rotations from a text object"
msgstr ""
-#: ../src/verbs.cpp:2500
+#: ../src/verbs.cpp:2583
msgid "_Union"
msgstr ""
-#: ../src/verbs.cpp:2501
+#: ../src/verbs.cpp:2584
msgid "Create union of selected paths"
msgstr ""
-#: ../src/verbs.cpp:2502
+#: ../src/verbs.cpp:2585
msgid "_Intersection"
msgstr ""
-#: ../src/verbs.cpp:2503
+#: ../src/verbs.cpp:2586
msgid "Create intersection of selected paths"
msgstr ""
-#: ../src/verbs.cpp:2504
+#: ../src/verbs.cpp:2587
msgid "_Difference"
msgstr ""
-#: ../src/verbs.cpp:2505
+#: ../src/verbs.cpp:2588
msgid "Create difference of selected paths (bottom minus top)"
msgstr ""
-#: ../src/verbs.cpp:2506
+#: ../src/verbs.cpp:2589
msgid "E_xclusion"
msgstr ""
-#: ../src/verbs.cpp:2507
+#: ../src/verbs.cpp:2590
msgid ""
"Create exclusive OR of selected paths (those parts that belong to only one "
"path)"
msgstr ""
-#: ../src/verbs.cpp:2508
+#: ../src/verbs.cpp:2591
msgid "Di_vision"
msgstr ""
-#: ../src/verbs.cpp:2509
+#: ../src/verbs.cpp:2592
msgid "Cut the bottom path into pieces"
msgstr ""
#. TRANSLATORS: "to cut a path" is not the same as "to break a path apart" - see the
#. Advanced tutorial for more info
-#: ../src/verbs.cpp:2512
+#: ../src/verbs.cpp:2595
msgid "Cut _Path"
msgstr ""
-#: ../src/verbs.cpp:2513
+#: ../src/verbs.cpp:2596
msgid "Cut the bottom path's stroke into pieces, removing fill"
msgstr ""
#. TRANSLATORS: "outset": expand a shape by offsetting the object's path,
#. i.e. by displacing it perpendicular to the path in each point.
#. See also the Advanced Tutorial for explanation.
-#: ../src/verbs.cpp:2517
+#: ../src/verbs.cpp:2600
msgid "Outs_et"
msgstr ""
-#: ../src/verbs.cpp:2518
+#: ../src/verbs.cpp:2601
msgid "Outset selected paths"
msgstr ""
-#: ../src/verbs.cpp:2520
+#: ../src/verbs.cpp:2603
msgid "O_utset Path by 1 px"
msgstr ""
-#: ../src/verbs.cpp:2521
+#: ../src/verbs.cpp:2604
msgid "Outset selected paths by 1 px"
msgstr ""
-#: ../src/verbs.cpp:2523
+#: ../src/verbs.cpp:2606
msgid "O_utset Path by 10 px"
msgstr ""
-#: ../src/verbs.cpp:2524
+#: ../src/verbs.cpp:2607
msgid "Outset selected paths by 10 px"
msgstr ""
#. TRANSLATORS: "inset": contract a shape by offsetting the object's path,
#. i.e. by displacing it perpendicular to the path in each point.
#. See also the Advanced Tutorial for explanation.
-#: ../src/verbs.cpp:2528
+#: ../src/verbs.cpp:2611
msgid "I_nset"
msgstr ""
-#: ../src/verbs.cpp:2529
+#: ../src/verbs.cpp:2612
msgid "Inset selected paths"
msgstr ""
-#: ../src/verbs.cpp:2531
+#: ../src/verbs.cpp:2614
msgid "I_nset Path by 1 px"
msgstr ""
-#: ../src/verbs.cpp:2532
+#: ../src/verbs.cpp:2615
msgid "Inset selected paths by 1 px"
msgstr ""
-#: ../src/verbs.cpp:2534
+#: ../src/verbs.cpp:2617
msgid "I_nset Path by 10 px"
msgstr ""
-#: ../src/verbs.cpp:2535
+#: ../src/verbs.cpp:2618
msgid "Inset selected paths by 10 px"
msgstr ""
-#: ../src/verbs.cpp:2537
+#: ../src/verbs.cpp:2620
msgid "D_ynamic Offset"
msgstr ""
-#: ../src/verbs.cpp:2537
+#: ../src/verbs.cpp:2620
msgid "Create a dynamic offset object"
msgstr ""
-#: ../src/verbs.cpp:2539
+#: ../src/verbs.cpp:2622
msgid "_Linked Offset"
msgstr ""
-#: ../src/verbs.cpp:2540
+#: ../src/verbs.cpp:2623
msgid "Create a dynamic offset object linked to the original path"
msgstr ""
-#: ../src/verbs.cpp:2542
+#: ../src/verbs.cpp:2625
msgid "_Stroke to Path"
msgstr ""
-#: ../src/verbs.cpp:2543
+#: ../src/verbs.cpp:2626
msgid "Convert selected object's stroke to paths"
msgstr ""
-#: ../src/verbs.cpp:2544
+#: ../src/verbs.cpp:2627
msgid "Si_mplify"
msgstr ""
-#: ../src/verbs.cpp:2545
+#: ../src/verbs.cpp:2628
msgid "Simplify selected paths (remove extra nodes)"
msgstr ""
-#: ../src/verbs.cpp:2546
+#: ../src/verbs.cpp:2629
msgid "_Reverse"
msgstr ""
-#: ../src/verbs.cpp:2547
+#: ../src/verbs.cpp:2630
msgid "Reverse the direction of selected paths (useful for flipping markers)"
msgstr ""
-#: ../src/verbs.cpp:2550
+#: ../src/verbs.cpp:2633
msgid "Create one or more paths from a bitmap by tracing it"
msgstr ""
-#: ../src/verbs.cpp:2551
+#: ../src/verbs.cpp:2634
msgid "Trace Pixel Art..."
msgstr ""
-#: ../src/verbs.cpp:2552
+#: ../src/verbs.cpp:2635
msgid "Create paths using Kopf-Lischinski algorithm to vectorize pixel art"
msgstr ""
-#: ../src/verbs.cpp:2553
+#: ../src/verbs.cpp:2636
msgid "Make a _Bitmap Copy"
msgstr ""
-#: ../src/verbs.cpp:2554
+#: ../src/verbs.cpp:2637
msgid "Export selection to a bitmap and insert it into document"
msgstr ""
-#: ../src/verbs.cpp:2555
+#: ../src/verbs.cpp:2638
msgid "_Combine"
msgstr ""
-#: ../src/verbs.cpp:2556
+#: ../src/verbs.cpp:2639
msgid "Combine several paths into one"
msgstr ""
#. TRANSLATORS: "to cut a path" is not the same as "to break a path apart" - see the
#. Advanced tutorial for more info
-#: ../src/verbs.cpp:2559
+#: ../src/verbs.cpp:2642
msgid "Break _Apart"
msgstr ""
-#: ../src/verbs.cpp:2560
+#: ../src/verbs.cpp:2643
msgid "Break selected paths into subpaths"
msgstr ""
-#: ../src/verbs.cpp:2561
+#: ../src/verbs.cpp:2644
msgid "_Arrange..."
msgstr ""
-#: ../src/verbs.cpp:2562
+#: ../src/verbs.cpp:2645
msgid "Arrange selected objects in a table or circle"
msgstr ""
#. Layer
-#: ../src/verbs.cpp:2564
+#: ../src/verbs.cpp:2647
msgid "_Add Layer..."
msgstr ""
-#: ../src/verbs.cpp:2565
+#: ../src/verbs.cpp:2648
msgid "Create a new layer"
msgstr ""
-#: ../src/verbs.cpp:2566
+#: ../src/verbs.cpp:2649
msgid "Re_name Layer..."
msgstr ""
-#: ../src/verbs.cpp:2567
+#: ../src/verbs.cpp:2650
msgid "Rename the current layer"
msgstr ""
-#: ../src/verbs.cpp:2568
+#: ../src/verbs.cpp:2651
msgid "Switch to Layer Abov_e"
msgstr ""
-#: ../src/verbs.cpp:2569
+#: ../src/verbs.cpp:2652
msgid "Switch to the layer above the current"
msgstr ""
-#: ../src/verbs.cpp:2570
+#: ../src/verbs.cpp:2653
msgid "Switch to Layer Belo_w"
msgstr ""
-#: ../src/verbs.cpp:2571
+#: ../src/verbs.cpp:2654
msgid "Switch to the layer below the current"
msgstr ""
-#: ../src/verbs.cpp:2572
+#: ../src/verbs.cpp:2655
msgid "Move Selection to Layer Abo_ve"
msgstr ""
-#: ../src/verbs.cpp:2573
+#: ../src/verbs.cpp:2656
msgid "Move selection to the layer above the current"
msgstr ""
-#: ../src/verbs.cpp:2574
+#: ../src/verbs.cpp:2657
msgid "Move Selection to Layer Bel_ow"
msgstr ""
-#: ../src/verbs.cpp:2575
+#: ../src/verbs.cpp:2658
msgid "Move selection to the layer below the current"
msgstr ""
-#: ../src/verbs.cpp:2576
+#: ../src/verbs.cpp:2659
msgid "Move Selection to Layer..."
msgstr ""
-#: ../src/verbs.cpp:2578
+#: ../src/verbs.cpp:2661
msgid "Layer to _Top"
msgstr ""
-#: ../src/verbs.cpp:2579
+#: ../src/verbs.cpp:2662
msgid "Raise the current layer to the top"
msgstr ""
-#: ../src/verbs.cpp:2580
+#: ../src/verbs.cpp:2663
msgid "Layer to _Bottom"
msgstr ""
-#: ../src/verbs.cpp:2581
+#: ../src/verbs.cpp:2664
msgid "Lower the current layer to the bottom"
msgstr ""
-#: ../src/verbs.cpp:2582
+#: ../src/verbs.cpp:2665
msgid "_Raise Layer"
msgstr ""
-#: ../src/verbs.cpp:2583
+#: ../src/verbs.cpp:2666
msgid "Raise the current layer"
msgstr ""
-#: ../src/verbs.cpp:2584
+#: ../src/verbs.cpp:2667
msgid "_Lower Layer"
msgstr ""
-#: ../src/verbs.cpp:2585
+#: ../src/verbs.cpp:2668
msgid "Lower the current layer"
msgstr ""
-#: ../src/verbs.cpp:2586
+#: ../src/verbs.cpp:2669
msgid "D_uplicate Current Layer"
msgstr ""
-#: ../src/verbs.cpp:2587
+#: ../src/verbs.cpp:2670
msgid "Duplicate an existing layer"
msgstr ""
-#: ../src/verbs.cpp:2588
+#: ../src/verbs.cpp:2671
msgid "_Delete Current Layer"
msgstr ""
-#: ../src/verbs.cpp:2589
+#: ../src/verbs.cpp:2672
msgid "Delete the current layer"
msgstr ""
-#: ../src/verbs.cpp:2590
+#: ../src/verbs.cpp:2673
msgid "_Show/hide other layers"
msgstr ""
-#: ../src/verbs.cpp:2591
+#: ../src/verbs.cpp:2674
msgid "Solo the current layer"
msgstr ""
-#: ../src/verbs.cpp:2592
+#: ../src/verbs.cpp:2675
msgid "_Show all layers"
msgstr ""
-#: ../src/verbs.cpp:2593
+#: ../src/verbs.cpp:2676
msgid "Show all the layers"
msgstr ""
-#: ../src/verbs.cpp:2594
+#: ../src/verbs.cpp:2677
msgid "_Hide all layers"
msgstr ""
-#: ../src/verbs.cpp:2595
+#: ../src/verbs.cpp:2678
msgid "Hide all the layers"
msgstr ""
-#: ../src/verbs.cpp:2596
+#: ../src/verbs.cpp:2679
msgid "_Lock all layers"
msgstr ""
-#: ../src/verbs.cpp:2597
+#: ../src/verbs.cpp:2680
msgid "Lock all the layers"
msgstr ""
-#: ../src/verbs.cpp:2598
+#: ../src/verbs.cpp:2681
msgid "Lock/Unlock _other layers"
msgstr ""
-#: ../src/verbs.cpp:2599
+#: ../src/verbs.cpp:2682
msgid "Lock all the other layers"
msgstr ""
-#: ../src/verbs.cpp:2600
+#: ../src/verbs.cpp:2683
msgid "_Unlock all layers"
msgstr ""
-#: ../src/verbs.cpp:2601
+#: ../src/verbs.cpp:2684
msgid "Unlock all the layers"
msgstr ""
-#: ../src/verbs.cpp:2602
+#: ../src/verbs.cpp:2685
msgid "_Lock/Unlock Current Layer"
msgstr ""
-#: ../src/verbs.cpp:2603
+#: ../src/verbs.cpp:2686
msgid "Toggle lock on current layer"
msgstr ""
-#: ../src/verbs.cpp:2604
+#: ../src/verbs.cpp:2687
msgid "_Show/hide Current Layer"
msgstr ""
-#: ../src/verbs.cpp:2605
+#: ../src/verbs.cpp:2688
msgid "Toggle visibility of current layer"
msgstr ""
#. Object
-#: ../src/verbs.cpp:2608
+#: ../src/verbs.cpp:2691
msgid "Rotate _90° CW"
msgstr ""
#. This is shared between tooltips and statusbar, so they
#. must use UTF-8, not HTML entities for special characters.
-#: ../src/verbs.cpp:2611
+#: ../src/verbs.cpp:2694
msgid "Rotate selection 90° clockwise"
msgstr ""
-#: ../src/verbs.cpp:2612
+#: ../src/verbs.cpp:2695
msgid "Rotate 9_0° CCW"
msgstr ""
#. This is shared between tooltips and statusbar, so they
#. must use UTF-8, not HTML entities for special characters.
-#: ../src/verbs.cpp:2615
+#: ../src/verbs.cpp:2698
msgid "Rotate selection 90° counter-clockwise"
msgstr ""
-#: ../src/verbs.cpp:2616
+#: ../src/verbs.cpp:2699
msgid "Remove _Transformations"
msgstr ""
-#: ../src/verbs.cpp:2617
+#: ../src/verbs.cpp:2700
msgid "Remove transformations from object"
msgstr ""
-#: ../src/verbs.cpp:2618
+#: ../src/verbs.cpp:2701
msgid "_Object to Path"
msgstr ""
-#: ../src/verbs.cpp:2619
+#: ../src/verbs.cpp:2702
msgid "Convert selected object to path"
msgstr ""
-#: ../src/verbs.cpp:2620
+#: ../src/verbs.cpp:2703
msgid "_Flow into Frame"
msgstr ""
-#: ../src/verbs.cpp:2621
+#: ../src/verbs.cpp:2704
msgid ""
"Put text into a frame (path or shape), creating a flowed text linked to the "
"frame object"
msgstr ""
-#: ../src/verbs.cpp:2622
+#: ../src/verbs.cpp:2705
msgid "_Unflow"
msgstr ""
-#: ../src/verbs.cpp:2623
+#: ../src/verbs.cpp:2706
msgid "Remove text from frame (creates a single-line text object)"
msgstr ""
-#: ../src/verbs.cpp:2624
+#: ../src/verbs.cpp:2707
msgid "_Convert to Text"
msgstr ""
-#: ../src/verbs.cpp:2625
+#: ../src/verbs.cpp:2708
msgid "Convert flowed text to regular text object (preserves appearance)"
msgstr ""
-#: ../src/verbs.cpp:2627
+#: ../src/verbs.cpp:2710
msgid "Flip _Horizontal"
msgstr ""
-#: ../src/verbs.cpp:2627
+#: ../src/verbs.cpp:2710
msgid "Flip selected objects horizontally"
msgstr ""
-#: ../src/verbs.cpp:2630
+#: ../src/verbs.cpp:2713
msgid "Flip _Vertical"
msgstr ""
-#: ../src/verbs.cpp:2630
+#: ../src/verbs.cpp:2713
msgid "Flip selected objects vertically"
msgstr ""
-#: ../src/verbs.cpp:2633
+#: ../src/verbs.cpp:2716
msgid "Apply mask to selection (using the topmost object as mask)"
msgstr ""
-#: ../src/verbs.cpp:2635
+#: ../src/verbs.cpp:2718
msgid "Edit mask"
msgstr ""
-#: ../src/verbs.cpp:2636 ../src/verbs.cpp:2642
+#: ../src/verbs.cpp:2719 ../src/verbs.cpp:2727
msgid "_Release"
msgstr ""
-#: ../src/verbs.cpp:2637
+#: ../src/verbs.cpp:2720
msgid "Remove mask from selection"
msgstr ""
-#: ../src/verbs.cpp:2639
+#: ../src/verbs.cpp:2722
msgid ""
"Apply clipping path to selection (using the topmost object as clipping path)"
msgstr ""
-#: ../src/verbs.cpp:2641
+#: ../src/verbs.cpp:2723
+msgid "Create Cl_ip Group"
+msgstr ""
+
+#: ../src/verbs.cpp:2724
+msgid "Creates a clip group using the selected objects as a base"
+msgstr ""
+
+#: ../src/verbs.cpp:2726
msgid "Edit clipping path"
msgstr ""
-#: ../src/verbs.cpp:2643
+#: ../src/verbs.cpp:2728
msgid "Remove clipping path from selection"
msgstr ""
#. Tools
-#: ../src/verbs.cpp:2646
+#: ../src/verbs.cpp:2733
msgctxt "ContextVerb"
msgid "Select"
msgstr ""
-#: ../src/verbs.cpp:2647
+#: ../src/verbs.cpp:2734
msgid "Select and transform objects"
msgstr ""
-#: ../src/verbs.cpp:2648
+#: ../src/verbs.cpp:2735
msgctxt "ContextVerb"
msgid "Node Edit"
msgstr ""
-#: ../src/verbs.cpp:2649
+#: ../src/verbs.cpp:2736
msgid "Edit paths by nodes"
msgstr ""
-#: ../src/verbs.cpp:2650
+#: ../src/verbs.cpp:2737
msgctxt "ContextVerb"
msgid "Tweak"
msgstr ""
-#: ../src/verbs.cpp:2651
+#: ../src/verbs.cpp:2738
msgid "Tweak objects by sculpting or painting"
msgstr ""
-#: ../src/verbs.cpp:2652
+#: ../src/verbs.cpp:2739
msgctxt "ContextVerb"
msgid "Spray"
msgstr ""
-#: ../src/verbs.cpp:2653
+#: ../src/verbs.cpp:2740
msgid "Spray objects by sculpting or painting"
msgstr ""
-#: ../src/verbs.cpp:2654
+#: ../src/verbs.cpp:2741
msgctxt "ContextVerb"
msgid "Rectangle"
msgstr ""
-#: ../src/verbs.cpp:2655
+#: ../src/verbs.cpp:2742
msgid "Create rectangles and squares"
msgstr ""
-#: ../src/verbs.cpp:2656
+#: ../src/verbs.cpp:2743
msgctxt "ContextVerb"
msgid "3D Box"
msgstr ""
-#: ../src/verbs.cpp:2657
+#: ../src/verbs.cpp:2744
msgid "Create 3D boxes"
msgstr ""
-#: ../src/verbs.cpp:2658
+#: ../src/verbs.cpp:2745
msgctxt "ContextVerb"
msgid "Ellipse"
msgstr ""
-#: ../src/verbs.cpp:2659
+#: ../src/verbs.cpp:2746
msgid "Create circles, ellipses, and arcs"
msgstr ""
-#: ../src/verbs.cpp:2660
+#: ../src/verbs.cpp:2747
msgctxt "ContextVerb"
msgid "Star"
msgstr ""
-#: ../src/verbs.cpp:2661
+#: ../src/verbs.cpp:2748
msgid "Create stars and polygons"
msgstr ""
-#: ../src/verbs.cpp:2662
+#: ../src/verbs.cpp:2749
msgctxt "ContextVerb"
msgid "Spiral"
msgstr ""
-#: ../src/verbs.cpp:2663
+#: ../src/verbs.cpp:2750
msgid "Create spirals"
msgstr ""
-#: ../src/verbs.cpp:2664
+#: ../src/verbs.cpp:2751
msgctxt "ContextVerb"
msgid "Pencil"
msgstr ""
-#: ../src/verbs.cpp:2665
+#: ../src/verbs.cpp:2752
msgid "Draw freehand lines"
msgstr ""
-#: ../src/verbs.cpp:2666
+#: ../src/verbs.cpp:2753
msgctxt "ContextVerb"
msgid "Pen"
msgstr ""
-#: ../src/verbs.cpp:2667
+#: ../src/verbs.cpp:2754
msgid "Draw Bezier curves and straight lines"
msgstr ""
-#: ../src/verbs.cpp:2668
+#: ../src/verbs.cpp:2755
msgctxt "ContextVerb"
msgid "Calligraphy"
msgstr ""
-#: ../src/verbs.cpp:2669
+#: ../src/verbs.cpp:2756
msgid "Draw calligraphic or brush strokes"
msgstr ""
-#: ../src/verbs.cpp:2671
+#: ../src/verbs.cpp:2758
msgid "Create and edit text objects"
msgstr ""
-#: ../src/verbs.cpp:2672
+#: ../src/verbs.cpp:2759
msgctxt "ContextVerb"
msgid "Gradient"
msgstr ""
-#: ../src/verbs.cpp:2673
+#: ../src/verbs.cpp:2760
msgid "Create and edit gradients"
msgstr ""
-#: ../src/verbs.cpp:2674
+#: ../src/verbs.cpp:2761
msgctxt "ContextVerb"
msgid "Mesh"
msgstr ""
-#: ../src/verbs.cpp:2675
+#: ../src/verbs.cpp:2762
msgid "Create and edit meshes"
msgstr ""
-#: ../src/verbs.cpp:2676
+#: ../src/verbs.cpp:2763
msgctxt "ContextVerb"
msgid "Zoom"
msgstr ""
-#: ../src/verbs.cpp:2677
+#: ../src/verbs.cpp:2764
msgid "Zoom in or out"
msgstr ""
-#: ../src/verbs.cpp:2679
+#: ../src/verbs.cpp:2766
msgid "Measurement tool"
msgstr ""
-#: ../src/verbs.cpp:2680
+#: ../src/verbs.cpp:2767
msgctxt "ContextVerb"
msgid "Dropper"
msgstr ""
-#: ../src/verbs.cpp:2681 ../src/widgets/sp-color-notebook.cpp:411
+#: ../src/verbs.cpp:2768 ../src/widgets/sp-color-notebook.cpp:396
msgid "Pick colors from image"
msgstr ""
-#: ../src/verbs.cpp:2682
+#: ../src/verbs.cpp:2769
msgctxt "ContextVerb"
msgid "Connector"
msgstr ""
-#: ../src/verbs.cpp:2683
+#: ../src/verbs.cpp:2770
msgid "Create diagram connectors"
msgstr ""
-#: ../src/verbs.cpp:2684
+#: ../src/verbs.cpp:2771
msgctxt "ContextVerb"
msgid "Paint Bucket"
msgstr ""
-#: ../src/verbs.cpp:2685
+#: ../src/verbs.cpp:2772
msgid "Fill bounded areas"
msgstr ""
-#: ../src/verbs.cpp:2686
+#: ../src/verbs.cpp:2773
msgctxt "ContextVerb"
msgid "LPE Edit"
msgstr ""
-#: ../src/verbs.cpp:2687
+#: ../src/verbs.cpp:2774
msgid "Edit Path Effect parameters"
msgstr ""
-#: ../src/verbs.cpp:2688
+#: ../src/verbs.cpp:2775
msgctxt "ContextVerb"
msgid "Eraser"
msgstr ""
-#: ../src/verbs.cpp:2689
+#: ../src/verbs.cpp:2776
msgid "Erase existing paths"
msgstr ""
-#: ../src/verbs.cpp:2690
+#: ../src/verbs.cpp:2777
msgctxt "ContextVerb"
msgid "LPE Tool"
msgstr ""
-#: ../src/verbs.cpp:2691
+#: ../src/verbs.cpp:2778
msgid "Do geometric constructions"
msgstr ""
#. Tool prefs
-#: ../src/verbs.cpp:2693
+#: ../src/verbs.cpp:2780
msgid "Selector Preferences"
msgstr ""
-#: ../src/verbs.cpp:2694
+#: ../src/verbs.cpp:2781
msgid "Open Preferences for the Selector tool"
msgstr ""
-#: ../src/verbs.cpp:2695
+#: ../src/verbs.cpp:2782
msgid "Node Tool Preferences"
msgstr ""
-#: ../src/verbs.cpp:2696
+#: ../src/verbs.cpp:2783
msgid "Open Preferences for the Node tool"
msgstr ""
-#: ../src/verbs.cpp:2697
+#: ../src/verbs.cpp:2784
msgid "Tweak Tool Preferences"
msgstr ""
-#: ../src/verbs.cpp:2698
+#: ../src/verbs.cpp:2785
msgid "Open Preferences for the Tweak tool"
msgstr ""
-#: ../src/verbs.cpp:2699
+#: ../src/verbs.cpp:2786
msgid "Spray Tool Preferences"
msgstr ""
-#: ../src/verbs.cpp:2700
+#: ../src/verbs.cpp:2787
msgid "Open Preferences for the Spray tool"
msgstr ""
-#: ../src/verbs.cpp:2701
+#: ../src/verbs.cpp:2788
msgid "Rectangle Preferences"
msgstr ""
-#: ../src/verbs.cpp:2702
+#: ../src/verbs.cpp:2789
msgid "Open Preferences for the Rectangle tool"
msgstr ""
-#: ../src/verbs.cpp:2703
+#: ../src/verbs.cpp:2790
msgid "3D Box Preferences"
msgstr ""
-#: ../src/verbs.cpp:2704
+#: ../src/verbs.cpp:2791
msgid "Open Preferences for the 3D Box tool"
msgstr ""
-#: ../src/verbs.cpp:2705
+#: ../src/verbs.cpp:2792
msgid "Ellipse Preferences"
msgstr ""
-#: ../src/verbs.cpp:2706
+#: ../src/verbs.cpp:2793
msgid "Open Preferences for the Ellipse tool"
msgstr ""
-#: ../src/verbs.cpp:2707
+#: ../src/verbs.cpp:2794
msgid "Star Preferences"
msgstr ""
-#: ../src/verbs.cpp:2708
+#: ../src/verbs.cpp:2795
msgid "Open Preferences for the Star tool"
msgstr ""
-#: ../src/verbs.cpp:2709
+#: ../src/verbs.cpp:2796
msgid "Spiral Preferences"
msgstr ""
-#: ../src/verbs.cpp:2710
+#: ../src/verbs.cpp:2797
msgid "Open Preferences for the Spiral tool"
msgstr ""
-#: ../src/verbs.cpp:2711
+#: ../src/verbs.cpp:2798
msgid "Pencil Preferences"
msgstr ""
-#: ../src/verbs.cpp:2712
+#: ../src/verbs.cpp:2799
msgid "Open Preferences for the Pencil tool"
msgstr ""
-#: ../src/verbs.cpp:2713
+#: ../src/verbs.cpp:2800
msgid "Pen Preferences"
msgstr ""
-#: ../src/verbs.cpp:2714
+#: ../src/verbs.cpp:2801
msgid "Open Preferences for the Pen tool"
msgstr ""
-#: ../src/verbs.cpp:2715
+#: ../src/verbs.cpp:2802
msgid "Calligraphic Preferences"
msgstr ""
-#: ../src/verbs.cpp:2716
+#: ../src/verbs.cpp:2803
msgid "Open Preferences for the Calligraphy tool"
msgstr ""
-#: ../src/verbs.cpp:2717
+#: ../src/verbs.cpp:2804
msgid "Text Preferences"
msgstr ""
-#: ../src/verbs.cpp:2718
+#: ../src/verbs.cpp:2805
msgid "Open Preferences for the Text tool"
msgstr ""
-#: ../src/verbs.cpp:2719
+#: ../src/verbs.cpp:2806
msgid "Gradient Preferences"
msgstr ""
-#: ../src/verbs.cpp:2720
+#: ../src/verbs.cpp:2807
msgid "Open Preferences for the Gradient tool"
msgstr ""
-#: ../src/verbs.cpp:2721
+#: ../src/verbs.cpp:2808
msgid "Mesh Preferences"
msgstr ""
-#: ../src/verbs.cpp:2722
+#: ../src/verbs.cpp:2809
msgid "Open Preferences for the Mesh tool"
msgstr ""
-#: ../src/verbs.cpp:2723
+#: ../src/verbs.cpp:2810
msgid "Zoom Preferences"
msgstr ""
-#: ../src/verbs.cpp:2724
+#: ../src/verbs.cpp:2811
msgid "Open Preferences for the Zoom tool"
msgstr ""
-#: ../src/verbs.cpp:2725
+#: ../src/verbs.cpp:2812
msgid "Measure Preferences"
msgstr ""
-#: ../src/verbs.cpp:2726
+#: ../src/verbs.cpp:2813
msgid "Open Preferences for the Measure tool"
msgstr ""
-#: ../src/verbs.cpp:2727
+#: ../src/verbs.cpp:2814
msgid "Dropper Preferences"
msgstr ""
-#: ../src/verbs.cpp:2728
+#: ../src/verbs.cpp:2815
msgid "Open Preferences for the Dropper tool"
msgstr ""
-#: ../src/verbs.cpp:2729
+#: ../src/verbs.cpp:2816
msgid "Connector Preferences"
msgstr ""
-#: ../src/verbs.cpp:2730
+#: ../src/verbs.cpp:2817
msgid "Open Preferences for the Connector tool"
msgstr ""
-#: ../src/verbs.cpp:2731
+#: ../src/verbs.cpp:2818
msgid "Paint Bucket Preferences"
msgstr ""
-#: ../src/verbs.cpp:2732
+#: ../src/verbs.cpp:2819
msgid "Open Preferences for the Paint Bucket tool"
msgstr ""
-#: ../src/verbs.cpp:2733
+#: ../src/verbs.cpp:2820
msgid "Eraser Preferences"
msgstr ""
-#: ../src/verbs.cpp:2734
+#: ../src/verbs.cpp:2821
msgid "Open Preferences for the Eraser tool"
msgstr ""
-#: ../src/verbs.cpp:2735
+#: ../src/verbs.cpp:2822
msgid "LPE Tool Preferences"
msgstr ""
-#: ../src/verbs.cpp:2736
+#: ../src/verbs.cpp:2823
msgid "Open Preferences for the LPETool tool"
msgstr ""
#. Zoom/View
-#: ../src/verbs.cpp:2738
+#: ../src/verbs.cpp:2825
msgid "Zoom In"
msgstr ""
-#: ../src/verbs.cpp:2738
+#: ../src/verbs.cpp:2825
msgid "Zoom in"
msgstr ""
-#: ../src/verbs.cpp:2739
+#: ../src/verbs.cpp:2826
msgid "Zoom Out"
msgstr ""
-#: ../src/verbs.cpp:2739
+#: ../src/verbs.cpp:2826
msgid "Zoom out"
msgstr ""
-#: ../src/verbs.cpp:2740
+#: ../src/verbs.cpp:2827
msgid "_Rulers"
msgstr ""
-#: ../src/verbs.cpp:2740
+#: ../src/verbs.cpp:2827
msgid "Show or hide the canvas rulers"
msgstr ""
-#: ../src/verbs.cpp:2741
+#: ../src/verbs.cpp:2828
msgid "Scroll_bars"
msgstr ""
-#: ../src/verbs.cpp:2741
+#: ../src/verbs.cpp:2828
msgid "Show or hide the canvas scrollbars"
msgstr ""
-#: ../src/verbs.cpp:2742
+#: ../src/verbs.cpp:2829
msgid "Page _Grid"
msgstr ""
-#: ../src/verbs.cpp:2742
+#: ../src/verbs.cpp:2829
msgid "Show or hide the page grid"
msgstr ""
-#: ../src/verbs.cpp:2743
+#: ../src/verbs.cpp:2830
msgid "G_uides"
msgstr ""
-#: ../src/verbs.cpp:2743
+#: ../src/verbs.cpp:2830
msgid "Show or hide guides (drag from a ruler to create a guide)"
msgstr ""
-#: ../src/verbs.cpp:2744
+#: ../src/verbs.cpp:2831
msgid "Enable snapping"
msgstr ""
-#: ../src/verbs.cpp:2745
+#: ../src/verbs.cpp:2832
msgid "_Commands Bar"
msgstr ""
-#: ../src/verbs.cpp:2745
+#: ../src/verbs.cpp:2832
msgid "Show or hide the Commands bar (under the menu)"
msgstr ""
-#: ../src/verbs.cpp:2746
+#: ../src/verbs.cpp:2833
msgid "Sn_ap Controls Bar"
msgstr ""
-#: ../src/verbs.cpp:2746
+#: ../src/verbs.cpp:2833
msgid "Show or hide the snapping controls"
msgstr ""
-#: ../src/verbs.cpp:2747
+#: ../src/verbs.cpp:2834
msgid "T_ool Controls Bar"
msgstr ""
-#: ../src/verbs.cpp:2747
+#: ../src/verbs.cpp:2834
msgid "Show or hide the Tool Controls bar"
msgstr ""
-#: ../src/verbs.cpp:2748
+#: ../src/verbs.cpp:2835
msgid "_Toolbox"
msgstr ""
-#: ../src/verbs.cpp:2748
+#: ../src/verbs.cpp:2835
msgid "Show or hide the main toolbox (on the left)"
msgstr ""
-#: ../src/verbs.cpp:2749
+#: ../src/verbs.cpp:2836
msgid "_Palette"
msgstr ""
-#: ../src/verbs.cpp:2749
+#: ../src/verbs.cpp:2836
msgid "Show or hide the color palette"
msgstr ""
-#: ../src/verbs.cpp:2750
+#: ../src/verbs.cpp:2837
msgid "_Statusbar"
msgstr ""
-#: ../src/verbs.cpp:2750
+#: ../src/verbs.cpp:2837
msgid "Show or hide the statusbar (at the bottom of the window)"
msgstr ""
-#: ../src/verbs.cpp:2751
+#: ../src/verbs.cpp:2838
msgid "Nex_t Zoom"
msgstr ""
-#: ../src/verbs.cpp:2751
+#: ../src/verbs.cpp:2838
msgid "Next zoom (from the history of zooms)"
msgstr ""
-#: ../src/verbs.cpp:2753
+#: ../src/verbs.cpp:2840
msgid "Pre_vious Zoom"
msgstr ""
-#: ../src/verbs.cpp:2753
+#: ../src/verbs.cpp:2840
msgid "Previous zoom (from the history of zooms)"
msgstr ""
-#: ../src/verbs.cpp:2755
+#: ../src/verbs.cpp:2842
msgid "Zoom 1:_1"
msgstr ""
-#: ../src/verbs.cpp:2755
+#: ../src/verbs.cpp:2842
msgid "Zoom to 1:1"
msgstr ""
-#: ../src/verbs.cpp:2757
+#: ../src/verbs.cpp:2844
msgid "Zoom 1:_2"
msgstr ""
-#: ../src/verbs.cpp:2757
+#: ../src/verbs.cpp:2844
msgid "Zoom to 1:2"
msgstr ""
-#: ../src/verbs.cpp:2759
+#: ../src/verbs.cpp:2846
msgid "_Zoom 2:1"
msgstr ""
-#: ../src/verbs.cpp:2759
+#: ../src/verbs.cpp:2846
msgid "Zoom to 2:1"
msgstr ""
-#: ../src/verbs.cpp:2762
+#: ../src/verbs.cpp:2849
msgid "_Fullscreen"
msgstr ""
-#: ../src/verbs.cpp:2762 ../src/verbs.cpp:2764
+#: ../src/verbs.cpp:2849 ../src/verbs.cpp:2851
msgid "Stretch this document window to full screen"
msgstr ""
-#: ../src/verbs.cpp:2764
+#: ../src/verbs.cpp:2851
msgid "Fullscreen & Focus Mode"
msgstr ""
-#: ../src/verbs.cpp:2767
+#: ../src/verbs.cpp:2854
msgid "Toggle _Focus Mode"
msgstr ""
-#: ../src/verbs.cpp:2767
+#: ../src/verbs.cpp:2854
msgid "Remove excess toolbars to focus on drawing"
msgstr ""
-#: ../src/verbs.cpp:2769
+#: ../src/verbs.cpp:2856
msgid "Duplic_ate Window"
msgstr ""
-#: ../src/verbs.cpp:2769
+#: ../src/verbs.cpp:2856
msgid "Open a new window with the same document"
msgstr ""
-#: ../src/verbs.cpp:2771
+#: ../src/verbs.cpp:2858
msgid "_New View Preview"
msgstr ""
-#: ../src/verbs.cpp:2772
+#: ../src/verbs.cpp:2859
msgid "New View Preview"
msgstr ""
#. "view_new_preview"
-#: ../src/verbs.cpp:2774 ../src/verbs.cpp:2782
+#: ../src/verbs.cpp:2861 ../src/verbs.cpp:2869
msgid "_Normal"
msgstr ""
-#: ../src/verbs.cpp:2775
+#: ../src/verbs.cpp:2862
msgid "Switch to normal display mode"
msgstr ""
-#: ../src/verbs.cpp:2776
+#: ../src/verbs.cpp:2863
msgid "No _Filters"
msgstr ""
-#: ../src/verbs.cpp:2777
+#: ../src/verbs.cpp:2864
msgid "Switch to normal display without filters"
msgstr ""
-#: ../src/verbs.cpp:2778
+#: ../src/verbs.cpp:2865
msgid "_Outline"
msgstr ""
-#: ../src/verbs.cpp:2779
+#: ../src/verbs.cpp:2866
msgid "Switch to outline (wireframe) display mode"
msgstr ""
#. new ZoomVerb(SP_VERB_VIEW_COLOR_MODE_PRINT_COLORS_PREVIEW, "ViewColorModePrintColorsPreview", N_("_Print Colors Preview"),
#. N_("Switch to print colors preview mode"), NULL),
-#: ../src/verbs.cpp:2780 ../src/verbs.cpp:2788
+#: ../src/verbs.cpp:2867 ../src/verbs.cpp:2875
msgid "_Toggle"
msgstr ""
-#: ../src/verbs.cpp:2781
+#: ../src/verbs.cpp:2868
msgid "Toggle between normal and outline display modes"
msgstr ""
-#: ../src/verbs.cpp:2783
+#: ../src/verbs.cpp:2870
msgid "Switch to normal color display mode"
msgstr ""
-#: ../src/verbs.cpp:2784
+#: ../src/verbs.cpp:2871
msgid "_Grayscale"
msgstr ""
-#: ../src/verbs.cpp:2785
+#: ../src/verbs.cpp:2872
msgid "Switch to grayscale display mode"
msgstr ""
-#: ../src/verbs.cpp:2789
+#: ../src/verbs.cpp:2876
msgid "Toggle between normal and grayscale color display modes"
msgstr ""
-#: ../src/verbs.cpp:2791
+#: ../src/verbs.cpp:2878
msgid "Color-managed view"
msgstr ""
-#: ../src/verbs.cpp:2792
+#: ../src/verbs.cpp:2879
msgid "Toggle color-managed display for this document window"
msgstr ""
-#: ../src/verbs.cpp:2794
+#: ../src/verbs.cpp:2881
msgid "Ico_n Preview..."
msgstr ""
-#: ../src/verbs.cpp:2795
+#: ../src/verbs.cpp:2882
msgid "Open a window to preview objects at different icon resolutions"
msgstr ""
-#: ../src/verbs.cpp:2797
+#: ../src/verbs.cpp:2884
msgid "Zoom to fit page in window"
msgstr ""
-#: ../src/verbs.cpp:2798
+#: ../src/verbs.cpp:2885
msgid "Page _Width"
msgstr ""
-#: ../src/verbs.cpp:2799
+#: ../src/verbs.cpp:2886
msgid "Zoom to fit page width in window"
msgstr ""
-#: ../src/verbs.cpp:2801
+#: ../src/verbs.cpp:2888
msgid "Zoom to fit drawing in window"
msgstr ""
-#: ../src/verbs.cpp:2803
+#: ../src/verbs.cpp:2890
msgid "Zoom to fit selection in window"
msgstr ""
#. Dialogs
-#: ../src/verbs.cpp:2806
+#: ../src/verbs.cpp:2893
msgid "P_references..."
msgstr ""
-#: ../src/verbs.cpp:2807
+#: ../src/verbs.cpp:2894
msgid "Edit global Inkscape preferences"
msgstr ""
-#: ../src/verbs.cpp:2808
+#: ../src/verbs.cpp:2895
msgid "_Document Properties..."
msgstr ""
-#: ../src/verbs.cpp:2809
+#: ../src/verbs.cpp:2896
msgid "Edit properties of this document (to be saved with the document)"
msgstr ""
-#: ../src/verbs.cpp:2810
+#: ../src/verbs.cpp:2897
msgid "Document _Metadata..."
msgstr ""
-#: ../src/verbs.cpp:2811
+#: ../src/verbs.cpp:2898
msgid "Edit document metadata (to be saved with the document)"
msgstr ""
-#: ../src/verbs.cpp:2813
+#: ../src/verbs.cpp:2900
msgid ""
"Edit objects' colors, gradients, arrowheads, and other fill and stroke "
"properties..."
msgstr ""
#. FIXME: Probably better to either use something from the icon naming spec or ship our own "select-font" icon
-#: ../src/verbs.cpp:2815
+#: ../src/verbs.cpp:2902
msgid "Gl_yphs..."
msgstr ""
-#: ../src/verbs.cpp:2816
+#: ../src/verbs.cpp:2903
msgid "Select characters from a glyphs palette"
msgstr ""
#. FIXME: Probably better to either use something from the icon naming spec or ship our own "select-color" icon
#. TRANSLATORS: "Swatches" means: color samples
-#: ../src/verbs.cpp:2819
+#: ../src/verbs.cpp:2906
msgid "S_watches..."
msgstr ""
-#: ../src/verbs.cpp:2820
+#: ../src/verbs.cpp:2907
msgid "Select colors from a swatches palette"
msgstr ""
-#: ../src/verbs.cpp:2821
+#: ../src/verbs.cpp:2908
msgid "S_ymbols..."
msgstr ""
-#: ../src/verbs.cpp:2822
+#: ../src/verbs.cpp:2909
msgid "Select symbol from a symbols palette"
msgstr ""
-#: ../src/verbs.cpp:2823
+#: ../src/verbs.cpp:2910
msgid "Transfor_m..."
msgstr ""
-#: ../src/verbs.cpp:2824
+#: ../src/verbs.cpp:2911
msgid "Precisely control objects' transformations"
msgstr ""
-#: ../src/verbs.cpp:2825
+#: ../src/verbs.cpp:2912
msgid "_Align and Distribute..."
msgstr ""
-#: ../src/verbs.cpp:2826
+#: ../src/verbs.cpp:2913
msgid "Align and distribute objects"
msgstr ""
-#: ../src/verbs.cpp:2827
+#: ../src/verbs.cpp:2914
msgid "_Spray options..."
msgstr ""
-#: ../src/verbs.cpp:2828
+#: ../src/verbs.cpp:2915
msgid "Some options for the spray"
msgstr ""
-#: ../src/verbs.cpp:2829
+#: ../src/verbs.cpp:2916
msgid "Undo _History..."
msgstr ""
-#: ../src/verbs.cpp:2830
+#: ../src/verbs.cpp:2917
msgid "Undo History"
msgstr ""
-#: ../src/verbs.cpp:2832
+#: ../src/verbs.cpp:2919
msgid "View and select font family, font size and other text properties"
msgstr ""
-#: ../src/verbs.cpp:2833
+#: ../src/verbs.cpp:2920
msgid "_XML Editor..."
msgstr ""
-#: ../src/verbs.cpp:2834
+#: ../src/verbs.cpp:2921
msgid "View and edit the XML tree of the document"
msgstr ""
-#: ../src/verbs.cpp:2835
+#: ../src/verbs.cpp:2922
msgid "_Find/Replace..."
msgstr ""
-#: ../src/verbs.cpp:2836
+#: ../src/verbs.cpp:2923
msgid "Find objects in document"
msgstr ""
-#: ../src/verbs.cpp:2837
+#: ../src/verbs.cpp:2924
msgid "Find and _Replace Text..."
msgstr ""
-#: ../src/verbs.cpp:2838
+#: ../src/verbs.cpp:2925
msgid "Find and replace text in document"
msgstr ""
-#: ../src/verbs.cpp:2840
+#: ../src/verbs.cpp:2927
msgid "Check spelling of text in document"
msgstr ""
-#: ../src/verbs.cpp:2841
+#: ../src/verbs.cpp:2928
msgid "_Messages..."
msgstr ""
-#: ../src/verbs.cpp:2842
+#: ../src/verbs.cpp:2929
msgid "View debug messages"
msgstr ""
-#: ../src/verbs.cpp:2843
+#: ../src/verbs.cpp:2930
msgid "Show/Hide D_ialogs"
msgstr ""
-#: ../src/verbs.cpp:2844
+#: ../src/verbs.cpp:2931
msgid "Show or hide all open dialogs"
msgstr ""
-#: ../src/verbs.cpp:2845
+#: ../src/verbs.cpp:2932
msgid "Create Tiled Clones..."
msgstr ""
-#: ../src/verbs.cpp:2846
+#: ../src/verbs.cpp:2933
msgid ""
"Create multiple clones of selected object, arranging them into a pattern or "
"scattering"
msgstr ""
-#: ../src/verbs.cpp:2847
+#: ../src/verbs.cpp:2934
msgid "_Object attributes..."
msgstr ""
-#: ../src/verbs.cpp:2848
+#: ../src/verbs.cpp:2935
msgid "Edit the object attributes..."
msgstr ""
-#: ../src/verbs.cpp:2850
+#: ../src/verbs.cpp:2937
msgid "Edit the ID, locked and visible status, and other object properties"
msgstr ""
-#: ../src/verbs.cpp:2851
+#: ../src/verbs.cpp:2938
msgid "_Input Devices..."
msgstr ""
-#: ../src/verbs.cpp:2852
+#: ../src/verbs.cpp:2939
msgid "Configure extended input devices, such as a graphics tablet"
msgstr ""
-#: ../src/verbs.cpp:2853
+#: ../src/verbs.cpp:2940
msgid "_Extensions..."
msgstr ""
-#: ../src/verbs.cpp:2854
+#: ../src/verbs.cpp:2941
msgid "Query information about extensions"
msgstr ""
-#: ../src/verbs.cpp:2855
+#: ../src/verbs.cpp:2942
msgid "Layer_s..."
msgstr ""
-#: ../src/verbs.cpp:2856
+#: ../src/verbs.cpp:2943
msgid "View Layers"
msgstr ""
-#: ../src/verbs.cpp:2857
+#: ../src/verbs.cpp:2944
+msgid "Object_s..."
+msgstr ""
+
+#: ../src/verbs.cpp:2945
+msgid "View Objects"
+msgstr ""
+
+#: ../src/verbs.cpp:2946
+msgid "Selection se_ts..."
+msgstr ""
+
+#: ../src/verbs.cpp:2947
+msgid "View Tags"
+msgstr ""
+
+#: ../src/verbs.cpp:2948
msgid "Path E_ffects ..."
msgstr ""
-#: ../src/verbs.cpp:2858
+#: ../src/verbs.cpp:2949
msgid "Manage, edit, and apply path effects"
msgstr ""
-#: ../src/verbs.cpp:2859
+#: ../src/verbs.cpp:2950
msgid "Filter _Editor..."
msgstr ""
-#: ../src/verbs.cpp:2860
+#: ../src/verbs.cpp:2951
msgid "Manage, edit, and apply SVG filters"
msgstr ""
-#: ../src/verbs.cpp:2861
+#: ../src/verbs.cpp:2952
msgid "SVG Font Editor..."
msgstr ""
-#: ../src/verbs.cpp:2862
+#: ../src/verbs.cpp:2953
msgid "Edit SVG fonts"
msgstr ""
-#: ../src/verbs.cpp:2863
+#: ../src/verbs.cpp:2954
msgid "Print Colors..."
msgstr ""
-#: ../src/verbs.cpp:2864
+#: ../src/verbs.cpp:2955
msgid ""
"Select which color separations to render in Print Colors Preview rendermode"
msgstr ""
-#: ../src/verbs.cpp:2865
+#: ../src/verbs.cpp:2956
msgid "_Export PNG Image..."
msgstr ""
-#: ../src/verbs.cpp:2866
+#: ../src/verbs.cpp:2957
msgid "Export this document or a selection as a PNG image"
msgstr ""
#. Help
-#: ../src/verbs.cpp:2868
+#: ../src/verbs.cpp:2959
msgid "About E_xtensions"
msgstr ""
-#: ../src/verbs.cpp:2869
+#: ../src/verbs.cpp:2960
msgid "Information on Inkscape extensions"
msgstr ""
-#: ../src/verbs.cpp:2870
+#: ../src/verbs.cpp:2961
msgid "About _Memory"
msgstr ""
-#: ../src/verbs.cpp:2871
+#: ../src/verbs.cpp:2962
msgid "Memory usage information"
msgstr ""
-#: ../src/verbs.cpp:2872
+#: ../src/verbs.cpp:2963
msgid "_About Inkscape"
msgstr ""
-#: ../src/verbs.cpp:2873
+#: ../src/verbs.cpp:2964
msgid "Inkscape version, authors, license"
msgstr ""
#. new HelpVerb(SP_VERB_SHOW_LICENSE, "ShowLicense", N_("_License"),
#. N_("Distribution terms"), /*"show_license"*/"inkscape_options"),
#. Tutorials
-#: ../src/verbs.cpp:2878
+#: ../src/verbs.cpp:2969
msgid "Inkscape: _Basic"
msgstr ""
-#: ../src/verbs.cpp:2879
+#: ../src/verbs.cpp:2970
msgid "Getting started with Inkscape"
msgstr ""
#. "tutorial_basic"
-#: ../src/verbs.cpp:2880
+#: ../src/verbs.cpp:2971
msgid "Inkscape: _Shapes"
msgstr ""
-#: ../src/verbs.cpp:2881
+#: ../src/verbs.cpp:2972
msgid "Using shape tools to create and edit shapes"
msgstr ""
-#: ../src/verbs.cpp:2882
+#: ../src/verbs.cpp:2973
msgid "Inkscape: _Advanced"
msgstr ""
-#: ../src/verbs.cpp:2883
+#: ../src/verbs.cpp:2974
msgid "Advanced Inkscape topics"
msgstr ""
#. "tutorial_advanced"
#. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize)
-#: ../src/verbs.cpp:2885
+#: ../src/verbs.cpp:2976
msgid "Inkscape: T_racing"
msgstr ""
-#: ../src/verbs.cpp:2886
+#: ../src/verbs.cpp:2977
msgid "Using bitmap tracing"
msgstr ""
#. "tutorial_tracing"
-#: ../src/verbs.cpp:2887
+#: ../src/verbs.cpp:2978
msgid "Inkscape: Tracing Pixel Art"
msgstr ""
-#: ../src/verbs.cpp:2888
+#: ../src/verbs.cpp:2979
msgid "Using Trace Pixel Art dialog"
msgstr ""
-#: ../src/verbs.cpp:2889
+#: ../src/verbs.cpp:2980
msgid "Inkscape: _Calligraphy"
msgstr ""
-#: ../src/verbs.cpp:2890
+#: ../src/verbs.cpp:2981
msgid "Using the Calligraphy pen tool"
msgstr ""
-#: ../src/verbs.cpp:2891
+#: ../src/verbs.cpp:2982
msgid "Inkscape: _Interpolate"
msgstr ""
-#: ../src/verbs.cpp:2892
+#: ../src/verbs.cpp:2983
msgid "Using the interpolate extension"
msgstr ""
#. "tutorial_interpolate"
-#: ../src/verbs.cpp:2893
+#: ../src/verbs.cpp:2984
msgid "_Elements of Design"
msgstr ""
-#: ../src/verbs.cpp:2894
+#: ../src/verbs.cpp:2985
msgid "Principles of design in the tutorial form"
msgstr ""
#. "tutorial_design"
-#: ../src/verbs.cpp:2895
+#: ../src/verbs.cpp:2986
msgid "_Tips and Tricks"
msgstr ""
-#: ../src/verbs.cpp:2896
+#: ../src/verbs.cpp:2987
msgid "Miscellaneous tips and tricks"
msgstr ""
#. "tutorial_tips"
#. Effect -- renamed Extension
-#: ../src/verbs.cpp:2899
+#: ../src/verbs.cpp:2990
msgid "Previous Exte_nsion"
msgstr ""
-#: ../src/verbs.cpp:2900
+#: ../src/verbs.cpp:2991
msgid "Repeat the last extension with the same settings"
msgstr ""
-#: ../src/verbs.cpp:2901
+#: ../src/verbs.cpp:2992
msgid "_Previous Extension Settings..."
msgstr ""
-#: ../src/verbs.cpp:2902
+#: ../src/verbs.cpp:2993
msgid "Repeat the last extension with new settings"
msgstr ""
-#: ../src/verbs.cpp:2906
+#: ../src/verbs.cpp:2997
msgid "Fit the page to the current selection"
msgstr ""
-#: ../src/verbs.cpp:2908
+#: ../src/verbs.cpp:2999
msgid "Fit the page to the drawing"
msgstr ""
-#: ../src/verbs.cpp:2910
+#: ../src/verbs.cpp:3001
msgid ""
"Fit the page to the current selection or the drawing if there is no selection"
msgstr ""
#. LockAndHide
-#: ../src/verbs.cpp:2912
+#: ../src/verbs.cpp:3003
msgid "Unlock All"
msgstr ""
-#: ../src/verbs.cpp:2914
+#: ../src/verbs.cpp:3005
msgid "Unlock All in All Layers"
msgstr ""
-#: ../src/verbs.cpp:2916
+#: ../src/verbs.cpp:3007
msgid "Unhide All"
msgstr ""
-#: ../src/verbs.cpp:2918
+#: ../src/verbs.cpp:3009
msgid "Unhide All in All Layers"
msgstr ""
-#: ../src/verbs.cpp:2922
+#: ../src/verbs.cpp:3013
msgid "Link an ICC color profile"
msgstr ""
-#: ../src/verbs.cpp:2923
+#: ../src/verbs.cpp:3014
msgid "Remove Color Profile"
msgstr ""
-#: ../src/verbs.cpp:2924
+#: ../src/verbs.cpp:3015
msgid "Remove a linked ICC color profile"
msgstr ""
-#: ../src/verbs.cpp:2927
+#: ../src/verbs.cpp:3018
msgid "Add External Script"
msgstr ""
-#: ../src/verbs.cpp:2927
+#: ../src/verbs.cpp:3018
msgid "Add an external script"
msgstr ""
-#: ../src/verbs.cpp:2929
+#: ../src/verbs.cpp:3020
msgid "Add Embedded Script"
msgstr ""
-#: ../src/verbs.cpp:2929
+#: ../src/verbs.cpp:3020
msgid "Add an embedded script"
msgstr ""
-#: ../src/verbs.cpp:2931
+#: ../src/verbs.cpp:3022
msgid "Edit Embedded Script"
msgstr ""
-#: ../src/verbs.cpp:2931
+#: ../src/verbs.cpp:3022
msgid "Edit an embedded script"
msgstr ""
-#: ../src/verbs.cpp:2933
+#: ../src/verbs.cpp:3024
msgid "Remove External Script"
msgstr ""
-#: ../src/verbs.cpp:2933
+#: ../src/verbs.cpp:3024
msgid "Remove an external script"
msgstr ""
-#: ../src/verbs.cpp:2935
+#: ../src/verbs.cpp:3026
msgid "Remove Embedded Script"
msgstr ""
-#: ../src/verbs.cpp:2935
+#: ../src/verbs.cpp:3026
msgid "Remove an embedded script"
msgstr ""
-#: ../src/verbs.cpp:2957 ../src/verbs.cpp:2958
+#: ../src/verbs.cpp:3048 ../src/verbs.cpp:3049
msgid "Center on horizontal and vertical axis"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:131
+#: ../src/widgets/arc-toolbar.cpp:132
msgid "Arc: Change start/end"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:197
+#: ../src/widgets/arc-toolbar.cpp:198
msgid "Arc: Change open/closed"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:288 ../src/widgets/arc-toolbar.cpp:317
-#: ../src/widgets/rect-toolbar.cpp:258 ../src/widgets/rect-toolbar.cpp:296
+#: ../src/widgets/arc-toolbar.cpp:289 ../src/widgets/arc-toolbar.cpp:319
+#: ../src/widgets/rect-toolbar.cpp:261 ../src/widgets/rect-toolbar.cpp:300
#: ../src/widgets/spiral-toolbar.cpp:214 ../src/widgets/spiral-toolbar.cpp:238
-#: ../src/widgets/star-toolbar.cpp:383 ../src/widgets/star-toolbar.cpp:444
+#: ../src/widgets/star-toolbar.cpp:384 ../src/widgets/star-toolbar.cpp:446
msgid "<b>New:</b>"
msgstr ""
#. FIXME: implement averaging of all parameters for multiple selected
#. gtk_label_set_markup(GTK_LABEL(l), _("<b>Average:</b>"));
-#: ../src/widgets/arc-toolbar.cpp:291 ../src/widgets/arc-toolbar.cpp:302
-#: ../src/widgets/rect-toolbar.cpp:266 ../src/widgets/rect-toolbar.cpp:284
+#: ../src/widgets/arc-toolbar.cpp:292 ../src/widgets/arc-toolbar.cpp:303
+#: ../src/widgets/rect-toolbar.cpp:269 ../src/widgets/rect-toolbar.cpp:287
#: ../src/widgets/spiral-toolbar.cpp:216 ../src/widgets/spiral-toolbar.cpp:227
-#: ../src/widgets/star-toolbar.cpp:385
+#: ../src/widgets/star-toolbar.cpp:386
msgid "<b>Change:</b>"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:326
+#: ../src/widgets/arc-toolbar.cpp:328
msgid "Start:"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:327
+#: ../src/widgets/arc-toolbar.cpp:329
msgid "The angle (in degrees) from the horizontal to the arc's start point"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:339
+#: ../src/widgets/arc-toolbar.cpp:341
msgid "End:"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:340
+#: ../src/widgets/arc-toolbar.cpp:342
msgid "The angle (in degrees) from the horizontal to the arc's end point"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:356
+#: ../src/widgets/arc-toolbar.cpp:358
msgid "Closed arc"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:357
+#: ../src/widgets/arc-toolbar.cpp:359
msgid "Switch to segment (closed shape with two radii)"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:363
+#: ../src/widgets/arc-toolbar.cpp:365
msgid "Open Arc"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:364
+#: ../src/widgets/arc-toolbar.cpp:366
msgid "Switch to arc (unclosed shape)"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:387
+#: ../src/widgets/arc-toolbar.cpp:389
msgid "Make whole"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:388
+#: ../src/widgets/arc-toolbar.cpp:390
msgid "Make the shape a whole ellipse, not arc or segment"
msgstr ""
#. TODO: use the correct axis here, too
-#: ../src/widgets/box3d-toolbar.cpp:232
+#: ../src/widgets/box3d-toolbar.cpp:233
msgid "3D Box: Change perspective (angle of infinite axis)"
msgstr ""
-#: ../src/widgets/box3d-toolbar.cpp:299
+#: ../src/widgets/box3d-toolbar.cpp:302
msgid "Angle in X direction"
msgstr ""
#. Translators: PL is short for 'perspective line'
-#: ../src/widgets/box3d-toolbar.cpp:301
+#: ../src/widgets/box3d-toolbar.cpp:304
msgid "Angle of PLs in X direction"
msgstr ""
#. Translators: VP is short for 'vanishing point'
-#: ../src/widgets/box3d-toolbar.cpp:323
+#: ../src/widgets/box3d-toolbar.cpp:326
msgid "State of VP in X direction"
msgstr ""
-#: ../src/widgets/box3d-toolbar.cpp:324
+#: ../src/widgets/box3d-toolbar.cpp:327
msgid "Toggle VP in X direction between 'finite' and 'infinite' (=parallel)"
msgstr ""
-#: ../src/widgets/box3d-toolbar.cpp:339
+#: ../src/widgets/box3d-toolbar.cpp:342
msgid "Angle in Y direction"
msgstr ""
-#: ../src/widgets/box3d-toolbar.cpp:339
+#: ../src/widgets/box3d-toolbar.cpp:342
msgid "Angle Y:"
msgstr ""
#. Translators: PL is short for 'perspective line'
-#: ../src/widgets/box3d-toolbar.cpp:341
+#: ../src/widgets/box3d-toolbar.cpp:344
msgid "Angle of PLs in Y direction"
msgstr ""
#. Translators: VP is short for 'vanishing point'
-#: ../src/widgets/box3d-toolbar.cpp:362
+#: ../src/widgets/box3d-toolbar.cpp:365
msgid "State of VP in Y direction"
msgstr ""
-#: ../src/widgets/box3d-toolbar.cpp:363
+#: ../src/widgets/box3d-toolbar.cpp:366
msgid "Toggle VP in Y direction between 'finite' and 'infinite' (=parallel)"
msgstr ""
-#: ../src/widgets/box3d-toolbar.cpp:378
+#: ../src/widgets/box3d-toolbar.cpp:381
msgid "Angle in Z direction"
msgstr ""
#. Translators: PL is short for 'perspective line'
-#: ../src/widgets/box3d-toolbar.cpp:380
+#: ../src/widgets/box3d-toolbar.cpp:383
msgid "Angle of PLs in Z direction"
msgstr ""
#. Translators: VP is short for 'vanishing point'
-#: ../src/widgets/box3d-toolbar.cpp:401
+#: ../src/widgets/box3d-toolbar.cpp:404
msgid "State of VP in Z direction"
msgstr ""
-#: ../src/widgets/box3d-toolbar.cpp:402
+#: ../src/widgets/box3d-toolbar.cpp:405
msgid "Toggle VP in Z direction between 'finite' and 'infinite' (=parallel)"
msgstr ""
@@ -25262,7 +26061,7 @@ msgstr ""
#. Scale
#: ../src/widgets/calligraphy-toolbar.cpp:427
#: ../src/widgets/calligraphy-toolbar.cpp:460
-#: ../src/widgets/eraser-toolbar.cpp:125 ../src/widgets/pencil-toolbar.cpp:269
+#: ../src/widgets/eraser-toolbar.cpp:125 ../src/widgets/pencil-toolbar.cpp:275
#: ../src/widgets/spray-toolbar.cpp:113 ../src/widgets/spray-toolbar.cpp:129
#: ../src/widgets/spray-toolbar.cpp:145 ../src/widgets/spray-toolbar.cpp:205
#: ../src/widgets/spray-toolbar.cpp:235 ../src/widgets/spray-toolbar.cpp:253
@@ -25802,44 +26601,44 @@ msgstr ""
msgid "Set pattern on stroke"
msgstr ""
-#: ../src/widgets/font-selector.cpp:134 ../src/widgets/text-toolbar.cpp:958
+#: ../src/widgets/font-selector.cpp:120 ../src/widgets/text-toolbar.cpp:958
#: ../src/widgets/text-toolbar.cpp:1272
msgid "Font size"
msgstr ""
#. Family frame
-#: ../src/widgets/font-selector.cpp:148
+#: ../src/widgets/font-selector.cpp:134
msgid "Font family"
msgstr ""
#. Style frame
-#: ../src/widgets/font-selector.cpp:193
+#: ../src/widgets/font-selector.cpp:179
msgctxt "Font selector"
msgid "Style"
msgstr ""
-#: ../src/widgets/font-selector.cpp:225
+#: ../src/widgets/font-selector.cpp:211
msgid "Face"
msgstr ""
-#: ../src/widgets/font-selector.cpp:254 ../share/extensions/dots.inx.h:3
+#: ../src/widgets/font-selector.cpp:240 ../share/extensions/dots.inx.h:3
msgid "Font size:"
msgstr ""
-#: ../src/widgets/gradient-selector.cpp:214
+#: ../src/widgets/gradient-selector.cpp:196
msgid "Create a duplicate gradient"
msgstr ""
-#: ../src/widgets/gradient-selector.cpp:230
+#: ../src/widgets/gradient-selector.cpp:212
msgid "Edit gradient"
msgstr ""
-#: ../src/widgets/gradient-selector.cpp:306
-#: ../src/widgets/paint-selector.cpp:244
+#: ../src/widgets/gradient-selector.cpp:288
+#: ../src/widgets/paint-selector.cpp:236
msgid "Swatch"
msgstr ""
-#: ../src/widgets/gradient-selector.cpp:356
+#: ../src/widgets/gradient-selector.cpp:338
msgid "Rename gradient"
msgstr ""
@@ -25859,7 +26658,7 @@ msgid "Multiple stops"
msgstr ""
#: ../src/widgets/gradient-toolbar.cpp:774
-#: ../src/widgets/gradient-vector.cpp:629
+#: ../src/widgets/gradient-vector.cpp:609
msgid "No stops in gradient"
msgstr ""
@@ -25872,7 +26671,7 @@ msgid "Set gradient repeat"
msgstr ""
#: ../src/widgets/gradient-toolbar.cpp:987
-#: ../src/widgets/gradient-vector.cpp:740
+#: ../src/widgets/gradient-vector.cpp:720
msgid "Change gradient stop offset"
msgstr ""
@@ -25893,32 +26692,32 @@ msgid "Create radial (elliptic or circular) gradient"
msgstr ""
#: ../src/widgets/gradient-toolbar.cpp:1041
-#: ../src/widgets/mesh-toolbar.cpp:211
+#: ../src/widgets/mesh-toolbar.cpp:207
msgid "New:"
msgstr ""
#: ../src/widgets/gradient-toolbar.cpp:1064
-#: ../src/widgets/mesh-toolbar.cpp:234
+#: ../src/widgets/mesh-toolbar.cpp:230
msgid "fill"
msgstr ""
#: ../src/widgets/gradient-toolbar.cpp:1064
-#: ../src/widgets/mesh-toolbar.cpp:234
+#: ../src/widgets/mesh-toolbar.cpp:230
msgid "Create gradient in the fill"
msgstr ""
#: ../src/widgets/gradient-toolbar.cpp:1068
-#: ../src/widgets/mesh-toolbar.cpp:238
+#: ../src/widgets/mesh-toolbar.cpp:234
msgid "stroke"
msgstr ""
#: ../src/widgets/gradient-toolbar.cpp:1068
-#: ../src/widgets/mesh-toolbar.cpp:238
+#: ../src/widgets/mesh-toolbar.cpp:234
msgid "Create gradient in the stroke"
msgstr ""
#: ../src/widgets/gradient-toolbar.cpp:1071
-#: ../src/widgets/mesh-toolbar.cpp:241
+#: ../src/widgets/mesh-toolbar.cpp:237
msgid "on:"
msgstr ""
@@ -25939,10 +26738,6 @@ msgctxt "Gradient repeat type"
msgid "None"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1115
-msgid "Reflected"
-msgstr ""
-
#: ../src/widgets/gradient-toolbar.cpp:1118
msgid "Direct"
msgstr ""
@@ -25982,7 +26777,7 @@ msgstr ""
#. Label
#: ../src/widgets/gradient-toolbar.cpp:1156
-#: ../src/widgets/gradient-vector.cpp:926
+#: ../src/widgets/gradient-vector.cpp:906
msgctxt "Gradient"
msgid "Offset:"
msgstr ""
@@ -25998,14 +26793,10 @@ msgstr ""
#: ../src/widgets/gradient-toolbar.cpp:1188
#: ../src/widgets/gradient-toolbar.cpp:1189
-#: ../src/widgets/gradient-vector.cpp:908
+#: ../src/widgets/gradient-vector.cpp:888
msgid "Delete stop"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1202
-msgid "Reverse"
-msgstr ""
-
#: ../src/widgets/gradient-toolbar.cpp:1203
msgid "Reverse the direction of the gradient"
msgstr ""
@@ -26018,43 +26809,43 @@ msgstr ""
msgid "Link gradients to change all related gradients"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:332
-#: ../src/widgets/paint-selector.cpp:922
+#: ../src/widgets/gradient-vector.cpp:312
+#: ../src/widgets/paint-selector.cpp:947
#: ../src/widgets/stroke-marker-selector.cpp:154
msgid "No document selected"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:336
+#: ../src/widgets/gradient-vector.cpp:316
msgid "No gradients in document"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:340
+#: ../src/widgets/gradient-vector.cpp:320
msgid "No gradient selected"
msgstr ""
#. TRANSLATORS: "Stop" means: a "phase" of a gradient
-#: ../src/widgets/gradient-vector.cpp:903
+#: ../src/widgets/gradient-vector.cpp:883
msgid "Add stop"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:906
+#: ../src/widgets/gradient-vector.cpp:886
msgid "Add another control stop to gradient"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:911
+#: ../src/widgets/gradient-vector.cpp:891
msgid "Delete current control stop from gradient"
msgstr ""
#. TRANSLATORS: "Stop" means: a "phase" of a gradient
-#: ../src/widgets/gradient-vector.cpp:979
+#: ../src/widgets/gradient-vector.cpp:959
msgid "Stop Color"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:1007
+#: ../src/widgets/gradient-vector.cpp:987
msgid "Gradient editor"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:1307
+#: ../src/widgets/gradient-vector.cpp:1287
msgid "Change gradient stop color"
msgstr ""
@@ -26074,56 +26865,56 @@ msgstr ""
msgid "Open both"
msgstr ""
-#: ../src/widgets/lpe-toolbar.cpp:298
+#: ../src/widgets/lpe-toolbar.cpp:301
msgid "All inactive"
msgstr ""
-#: ../src/widgets/lpe-toolbar.cpp:299
+#: ../src/widgets/lpe-toolbar.cpp:302
msgid "No geometric tool is active"
msgstr ""
-#: ../src/widgets/lpe-toolbar.cpp:332
+#: ../src/widgets/lpe-toolbar.cpp:335
msgid "Show limiting bounding box"
msgstr ""
-#: ../src/widgets/lpe-toolbar.cpp:333
+#: ../src/widgets/lpe-toolbar.cpp:336
msgid "Show bounding box (used to cut infinite lines)"
msgstr ""
-#: ../src/widgets/lpe-toolbar.cpp:344
+#: ../src/widgets/lpe-toolbar.cpp:347
msgid "Get limiting bounding box from selection"
msgstr ""
-#: ../src/widgets/lpe-toolbar.cpp:345
+#: ../src/widgets/lpe-toolbar.cpp:348
msgid ""
"Set limiting bounding box (used to cut infinite lines) to the bounding box "
"of current selection"
msgstr ""
-#: ../src/widgets/lpe-toolbar.cpp:357
+#: ../src/widgets/lpe-toolbar.cpp:360
msgid "Choose a line segment type"
msgstr ""
-#: ../src/widgets/lpe-toolbar.cpp:373
+#: ../src/widgets/lpe-toolbar.cpp:376
msgid "Display measuring info"
msgstr ""
-#: ../src/widgets/lpe-toolbar.cpp:374
+#: ../src/widgets/lpe-toolbar.cpp:377
msgid "Display measuring info for selected items"
msgstr ""
#. Add the units menu.
-#: ../src/widgets/lpe-toolbar.cpp:384 ../src/widgets/node-toolbar.cpp:613
-#: ../src/widgets/paintbucket-toolbar.cpp:166
-#: ../src/widgets/rect-toolbar.cpp:375 ../src/widgets/select-toolbar.cpp:536
+#: ../src/widgets/lpe-toolbar.cpp:387 ../src/widgets/node-toolbar.cpp:613
+#: ../src/widgets/paintbucket-toolbar.cpp:168
+#: ../src/widgets/rect-toolbar.cpp:379 ../src/widgets/select-toolbar.cpp:538
msgid "Units"
msgstr ""
-#: ../src/widgets/lpe-toolbar.cpp:394
+#: ../src/widgets/lpe-toolbar.cpp:397
msgid "Open LPE dialog"
msgstr ""
-#: ../src/widgets/lpe-toolbar.cpp:395
+#: ../src/widgets/lpe-toolbar.cpp:398
msgid "Open LPE dialog (to adapt parameters numerically)"
msgstr ""
@@ -26144,70 +26935,70 @@ msgstr ""
msgid "The units to be used for the measurements"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:204
+#: ../src/widgets/mesh-toolbar.cpp:200
msgid "normal"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:204
+#: ../src/widgets/mesh-toolbar.cpp:200
msgid "Create mesh gradient"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:208
+#: ../src/widgets/mesh-toolbar.cpp:204
msgid "conical"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:208
+#: ../src/widgets/mesh-toolbar.cpp:204
msgid "Create conical gradient"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:263
+#: ../src/widgets/mesh-toolbar.cpp:259
msgid "Rows"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:263
+#: ../src/widgets/mesh-toolbar.cpp:259
#: ../share/extensions/guides_creator.inx.h:5
#: ../share/extensions/layout_nup.inx.h:12
msgid "Rows:"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:263
+#: ../src/widgets/mesh-toolbar.cpp:259
msgid "Number of rows in new mesh"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:279
+#: ../src/widgets/mesh-toolbar.cpp:275
msgid "Columns"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:279
+#: ../src/widgets/mesh-toolbar.cpp:275
#: ../share/extensions/guides_creator.inx.h:4
msgid "Columns:"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:279
+#: ../src/widgets/mesh-toolbar.cpp:275
msgid "Number of columns in new mesh"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:293
+#: ../src/widgets/mesh-toolbar.cpp:289
msgid "Edit Fill"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:294
+#: ../src/widgets/mesh-toolbar.cpp:290
msgid "Edit fill mesh"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:305
+#: ../src/widgets/mesh-toolbar.cpp:301
msgid "Edit Stroke"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:306
+#: ../src/widgets/mesh-toolbar.cpp:302
msgid "Edit stroke mesh"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:317 ../src/widgets/node-toolbar.cpp:521
+#: ../src/widgets/mesh-toolbar.cpp:313 ../src/widgets/node-toolbar.cpp:521
msgid "Show Handles"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:318
+#: ../src/widgets/mesh-toolbar.cpp:314
msgid "Show side and tensor handles"
msgstr ""
@@ -26403,129 +27194,137 @@ msgstr ""
msgid "Y coordinate of selected node(s)"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:234
+#: ../src/widgets/paint-selector.cpp:222
msgid "No paint"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:236
+#: ../src/widgets/paint-selector.cpp:224
msgid "Flat color"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:238
+#: ../src/widgets/paint-selector.cpp:226
msgid "Linear gradient"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:240
+#: ../src/widgets/paint-selector.cpp:228
msgid "Radial gradient"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:246
+#: ../src/widgets/paint-selector.cpp:231
+msgid "Mesh gradient"
+msgstr ""
+
+#: ../src/widgets/paint-selector.cpp:238
msgid "Unset paint (make it undefined so it can be inherited)"
msgstr ""
#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty
-#: ../src/widgets/paint-selector.cpp:263
+#: ../src/widgets/paint-selector.cpp:255
msgid ""
"Any path self-intersections or subpaths create holes in the fill (fill-rule: "
"evenodd)"
msgstr ""
#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty
-#: ../src/widgets/paint-selector.cpp:274
+#: ../src/widgets/paint-selector.cpp:266
msgid ""
"Fill is solid unless a subpath is counterdirectional (fill-rule: nonzero)"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:590
+#: ../src/widgets/paint-selector.cpp:600
msgid "<b>No objects</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:601
+#: ../src/widgets/paint-selector.cpp:611
msgid "<b>Multiple styles</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:612
+#: ../src/widgets/paint-selector.cpp:622
msgid "<b>Paint is undefined</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:623
+#: ../src/widgets/paint-selector.cpp:633
msgid "<b>No paint</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:694
+#: ../src/widgets/paint-selector.cpp:704
msgid "<b>Flat color</b>"
msgstr ""
#. sp_gradient_selector_set_mode(SP_GRADIENT_SELECTOR(gsel), SP_GRADIENT_SELECTOR_MODE_LINEAR);
-#: ../src/widgets/paint-selector.cpp:758
+#: ../src/widgets/paint-selector.cpp:773
msgid "<b>Linear gradient</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:761
+#: ../src/widgets/paint-selector.cpp:776
msgid "<b>Radial gradient</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:1055
+#: ../src/widgets/paint-selector.cpp:781
+msgid "<b>Mesh gradient</b>"
+msgstr ""
+
+#: ../src/widgets/paint-selector.cpp:1080
msgid ""
"Use the <b>Node tool</b> to adjust position, scale, and rotation of the "
"pattern on canvas. Use <b>Object &gt; Pattern &gt; Objects to Pattern</b> to "
"create a new pattern from selection."
msgstr ""
-#: ../src/widgets/paint-selector.cpp:1068
+#: ../src/widgets/paint-selector.cpp:1093
msgid "<b>Pattern fill</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:1162
+#: ../src/widgets/paint-selector.cpp:1187
msgid "<b>Swatch fill</b>"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:133
+#: ../src/widgets/paintbucket-toolbar.cpp:135
msgid "Fill by"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:134
+#: ../src/widgets/paintbucket-toolbar.cpp:136
msgid "Fill by:"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:146
+#: ../src/widgets/paintbucket-toolbar.cpp:148
msgid "Fill Threshold"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:147
+#: ../src/widgets/paintbucket-toolbar.cpp:149
msgid ""
"The maximum allowed difference between the clicked pixel and the neighboring "
"pixels to be counted in the fill"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:174
+#: ../src/widgets/paintbucket-toolbar.cpp:176
msgid "Grow/shrink by"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:174
+#: ../src/widgets/paintbucket-toolbar.cpp:176
msgid "Grow/shrink by:"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:175
+#: ../src/widgets/paintbucket-toolbar.cpp:177
msgid ""
"The amount to grow (positive) or shrink (negative) the created fill path"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:200
+#: ../src/widgets/paintbucket-toolbar.cpp:202
msgid "Close gaps"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:201
+#: ../src/widgets/paintbucket-toolbar.cpp:203
msgid "Close gaps:"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:212
-#: ../src/widgets/pencil-toolbar.cpp:293 ../src/widgets/spiral-toolbar.cpp:289
-#: ../src/widgets/star-toolbar.cpp:564
+#: ../src/widgets/paintbucket-toolbar.cpp:214
+#: ../src/widgets/pencil-toolbar.cpp:299 ../src/widgets/spiral-toolbar.cpp:289
+#: ../src/widgets/star-toolbar.cpp:566
msgid "Defaults"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:213
+#: ../src/widgets/paintbucket-toolbar.cpp:215
msgid ""
"Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools "
"to change defaults)"
@@ -26543,130 +27342,138 @@ msgstr ""
msgid "Create Spiro path"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:111
+#: ../src/widgets/pencil-toolbar.cpp:110
+msgid "Create BSpline path"
+msgstr ""
+
+#: ../src/widgets/pencil-toolbar.cpp:116
msgid "Zigzag"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:112
+#: ../src/widgets/pencil-toolbar.cpp:117
msgid "Create a sequence of straight line segments"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:118
+#: ../src/widgets/pencil-toolbar.cpp:123
msgid "Paraxial"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:119
+#: ../src/widgets/pencil-toolbar.cpp:124
msgid "Create a sequence of paraxial line segments"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:127
+#: ../src/widgets/pencil-toolbar.cpp:132
msgid "Mode of new lines drawn by this tool"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:155
+#: ../src/widgets/pencil-toolbar.cpp:160
msgctxt "Freehand shape"
msgid "None"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:156
+#: ../src/widgets/pencil-toolbar.cpp:161
msgid "Triangle in"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:157
+#: ../src/widgets/pencil-toolbar.cpp:162
msgid "Triangle out"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:159
+#: ../src/widgets/pencil-toolbar.cpp:164
msgid "From clipboard"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:184 ../src/widgets/pencil-toolbar.cpp:185
+#: ../src/widgets/pencil-toolbar.cpp:165
+msgid "Last applied"
+msgstr ""
+
+#: ../src/widgets/pencil-toolbar.cpp:190 ../src/widgets/pencil-toolbar.cpp:191
msgid "Shape:"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:184
+#: ../src/widgets/pencil-toolbar.cpp:190
msgid "Shape of new paths drawn by this tool"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:269
+#: ../src/widgets/pencil-toolbar.cpp:275
msgid "(many nodes, rough)"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:269
+#: ../src/widgets/pencil-toolbar.cpp:275
msgid "(few nodes, smooth)"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:272
+#: ../src/widgets/pencil-toolbar.cpp:278
msgid "Smoothing:"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:272
+#: ../src/widgets/pencil-toolbar.cpp:278
msgid "Smoothing: "
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:273
+#: ../src/widgets/pencil-toolbar.cpp:279
msgid "How much smoothing (simplifying) is applied to the line"
msgstr ""
-#: ../src/widgets/pencil-toolbar.cpp:294
+#: ../src/widgets/pencil-toolbar.cpp:300
msgid ""
"Reset pencil parameters to defaults (use Inkscape Preferences > Tools to "
"change defaults)"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:122
+#: ../src/widgets/rect-toolbar.cpp:124
msgid "Change rectangle"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:314
+#: ../src/widgets/rect-toolbar.cpp:318
msgid "W:"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:314
+#: ../src/widgets/rect-toolbar.cpp:318
msgid "Width of rectangle"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:331
+#: ../src/widgets/rect-toolbar.cpp:335
msgid "H:"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:331
+#: ../src/widgets/rect-toolbar.cpp:335
msgid "Height of rectangle"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:345 ../src/widgets/rect-toolbar.cpp:360
+#: ../src/widgets/rect-toolbar.cpp:349 ../src/widgets/rect-toolbar.cpp:364
msgid "not rounded"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:348
+#: ../src/widgets/rect-toolbar.cpp:352
msgid "Horizontal radius"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:348
+#: ../src/widgets/rect-toolbar.cpp:352
msgid "Rx:"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:348
+#: ../src/widgets/rect-toolbar.cpp:352
msgid "Horizontal radius of rounded corners"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:363
+#: ../src/widgets/rect-toolbar.cpp:367
msgid "Vertical radius"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:363
+#: ../src/widgets/rect-toolbar.cpp:367
msgid "Ry:"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:363
+#: ../src/widgets/rect-toolbar.cpp:367
msgid "Vertical radius of rounded corners"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:382
+#: ../src/widgets/rect-toolbar.cpp:386
msgid "Not rounded"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:383
+#: ../src/widgets/rect-toolbar.cpp:387
msgid "Make corners sharp"
msgstr ""
@@ -26706,128 +27513,128 @@ msgstr ""
msgid "Maximum size of the ruler"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:260
+#: ../src/widgets/select-toolbar.cpp:262
msgid "Transform by toolbar"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:339
+#: ../src/widgets/select-toolbar.cpp:341
msgid "Now <b>stroke width</b> is <b>scaled</b> when objects are scaled."
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:341
+#: ../src/widgets/select-toolbar.cpp:343
msgid "Now <b>stroke width</b> is <b>not scaled</b> when objects are scaled."
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:352
+#: ../src/widgets/select-toolbar.cpp:354
msgid ""
"Now <b>rounded rectangle corners</b> are <b>scaled</b> when rectangles are "
"scaled."
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:354
+#: ../src/widgets/select-toolbar.cpp:356
msgid ""
"Now <b>rounded rectangle corners</b> are <b>not scaled</b> when rectangles "
"are scaled."
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:365
+#: ../src/widgets/select-toolbar.cpp:367
msgid ""
"Now <b>gradients</b> are <b>transformed</b> along with their objects when "
"those are transformed (moved, scaled, rotated, or skewed)."
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:367
+#: ../src/widgets/select-toolbar.cpp:369
msgid ""
"Now <b>gradients</b> remain <b>fixed</b> when objects are transformed "
"(moved, scaled, rotated, or skewed)."
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:378
+#: ../src/widgets/select-toolbar.cpp:380
msgid ""
"Now <b>patterns</b> are <b>transformed</b> along with their objects when "
"those are transformed (moved, scaled, rotated, or skewed)."
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:380
+#: ../src/widgets/select-toolbar.cpp:382
msgid ""
"Now <b>patterns</b> remain <b>fixed</b> when objects are transformed (moved, "
"scaled, rotated, or skewed)."
msgstr ""
#. four spinbuttons
-#: ../src/widgets/select-toolbar.cpp:498
+#: ../src/widgets/select-toolbar.cpp:500
msgctxt "Select toolbar"
msgid "X position"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:498
+#: ../src/widgets/select-toolbar.cpp:500
msgctxt "Select toolbar"
msgid "X:"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:500
+#: ../src/widgets/select-toolbar.cpp:502
msgid "Horizontal coordinate of selection"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:504
+#: ../src/widgets/select-toolbar.cpp:506
msgctxt "Select toolbar"
msgid "Y position"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:504
+#: ../src/widgets/select-toolbar.cpp:506
msgctxt "Select toolbar"
msgid "Y:"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:506
+#: ../src/widgets/select-toolbar.cpp:508
msgid "Vertical coordinate of selection"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:510
+#: ../src/widgets/select-toolbar.cpp:512
msgctxt "Select toolbar"
msgid "Width"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:510
+#: ../src/widgets/select-toolbar.cpp:512
msgctxt "Select toolbar"
msgid "W:"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:512
+#: ../src/widgets/select-toolbar.cpp:514
msgid "Width of selection"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:519
+#: ../src/widgets/select-toolbar.cpp:521
msgid "Lock width and height"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:520
+#: ../src/widgets/select-toolbar.cpp:522
msgid "When locked, change both width and height by the same proportion"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:529
+#: ../src/widgets/select-toolbar.cpp:531
msgctxt "Select toolbar"
msgid "Height"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:529
+#: ../src/widgets/select-toolbar.cpp:531
msgctxt "Select toolbar"
msgid "H:"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:531
+#: ../src/widgets/select-toolbar.cpp:533
msgid "Height of selection"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:581
+#: ../src/widgets/select-toolbar.cpp:583
msgid "Scale rounded corners"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:592
+#: ../src/widgets/select-toolbar.cpp:594
msgid "Move gradients"
msgstr ""
-#: ../src/widgets/select-toolbar.cpp:603
+#: ../src/widgets/select-toolbar.cpp:605
msgid "Move patterns"
msgstr ""
@@ -26835,147 +27642,147 @@ msgstr ""
msgid "Set attribute"
msgstr ""
-#: ../src/widgets/sp-color-icc-selector.cpp:257
+#: ../src/widgets/sp-color-icc-selector.cpp:234
msgid "CMS"
msgstr ""
-#: ../src/widgets/sp-color-icc-selector.cpp:355
-#: ../src/widgets/sp-color-scales.cpp:428
+#: ../src/widgets/sp-color-icc-selector.cpp:330
+#: ../src/widgets/sp-color-scales.cpp:414
msgid "_R:"
msgstr ""
#. TYPE_RGB_16
-#: ../src/widgets/sp-color-icc-selector.cpp:356
-#: ../src/widgets/sp-color-scales.cpp:431
+#: ../src/widgets/sp-color-icc-selector.cpp:331
+#: ../src/widgets/sp-color-scales.cpp:417
msgid "_G:"
msgstr ""
-#: ../src/widgets/sp-color-icc-selector.cpp:357
-#: ../src/widgets/sp-color-scales.cpp:434
+#: ../src/widgets/sp-color-icc-selector.cpp:332
+#: ../src/widgets/sp-color-scales.cpp:420
msgid "_B:"
msgstr ""
-#: ../src/widgets/sp-color-icc-selector.cpp:359
+#: ../src/widgets/sp-color-icc-selector.cpp:334
msgid "Gray"
msgstr ""
#. TYPE_GRAY_16
-#: ../src/widgets/sp-color-icc-selector.cpp:361
-#: ../src/widgets/sp-color-icc-selector.cpp:365
-#: ../src/widgets/sp-color-scales.cpp:454
+#: ../src/widgets/sp-color-icc-selector.cpp:336
+#: ../src/widgets/sp-color-icc-selector.cpp:340
+#: ../src/widgets/sp-color-scales.cpp:440
msgid "_H:"
msgstr ""
#. TYPE_HSV_16
-#: ../src/widgets/sp-color-icc-selector.cpp:362
-#: ../src/widgets/sp-color-icc-selector.cpp:367
-#: ../src/widgets/sp-color-scales.cpp:457
+#: ../src/widgets/sp-color-icc-selector.cpp:337
+#: ../src/widgets/sp-color-icc-selector.cpp:342
+#: ../src/widgets/sp-color-scales.cpp:443
msgid "_S:"
msgstr ""
#. TYPE_HLS_16
-#: ../src/widgets/sp-color-icc-selector.cpp:366
-#: ../src/widgets/sp-color-scales.cpp:460
+#: ../src/widgets/sp-color-icc-selector.cpp:341
+#: ../src/widgets/sp-color-scales.cpp:446
msgid "_L:"
msgstr ""
-#: ../src/widgets/sp-color-icc-selector.cpp:369
-#: ../src/widgets/sp-color-icc-selector.cpp:374
-#: ../src/widgets/sp-color-scales.cpp:482
+#: ../src/widgets/sp-color-icc-selector.cpp:344
+#: ../src/widgets/sp-color-icc-selector.cpp:349
+#: ../src/widgets/sp-color-scales.cpp:468
msgid "_C:"
msgstr ""
#. TYPE_CMYK_16
#. TYPE_CMY_16
-#: ../src/widgets/sp-color-icc-selector.cpp:370
-#: ../src/widgets/sp-color-icc-selector.cpp:375
-#: ../src/widgets/sp-color-scales.cpp:485
+#: ../src/widgets/sp-color-icc-selector.cpp:345
+#: ../src/widgets/sp-color-icc-selector.cpp:350
+#: ../src/widgets/sp-color-scales.cpp:471
msgid "_M:"
msgstr ""
-#: ../src/widgets/sp-color-icc-selector.cpp:371
-#: ../src/widgets/sp-color-icc-selector.cpp:376
-#: ../src/widgets/sp-color-scales.cpp:488
+#: ../src/widgets/sp-color-icc-selector.cpp:346
+#: ../src/widgets/sp-color-icc-selector.cpp:351
+#: ../src/widgets/sp-color-scales.cpp:474
msgid "_Y:"
msgstr ""
-#: ../src/widgets/sp-color-icc-selector.cpp:372
-#: ../src/widgets/sp-color-scales.cpp:491
+#: ../src/widgets/sp-color-icc-selector.cpp:347
+#: ../src/widgets/sp-color-scales.cpp:477
msgid "_K:"
msgstr ""
-#: ../src/widgets/sp-color-icc-selector.cpp:455
+#: ../src/widgets/sp-color-icc-selector.cpp:430
msgid "Fix"
msgstr ""
-#: ../src/widgets/sp-color-icc-selector.cpp:458
+#: ../src/widgets/sp-color-icc-selector.cpp:433
msgid "Fix RGB fallback to match icc-color() value."
msgstr ""
#. Label
-#: ../src/widgets/sp-color-icc-selector.cpp:561
-#: ../src/widgets/sp-color-scales.cpp:437
-#: ../src/widgets/sp-color-scales.cpp:463
-#: ../src/widgets/sp-color-scales.cpp:494
-#: ../src/widgets/sp-color-wheel-selector.cpp:140
+#: ../src/widgets/sp-color-icc-selector.cpp:536
+#: ../src/widgets/sp-color-scales.cpp:423
+#: ../src/widgets/sp-color-scales.cpp:449
+#: ../src/widgets/sp-color-scales.cpp:480
+#: ../src/widgets/sp-color-wheel-selector.cpp:111
msgid "_A:"
msgstr ""
-#: ../src/widgets/sp-color-icc-selector.cpp:572
-#: ../src/widgets/sp-color-icc-selector.cpp:585
-#: ../src/widgets/sp-color-scales.cpp:438
-#: ../src/widgets/sp-color-scales.cpp:439
-#: ../src/widgets/sp-color-scales.cpp:464
-#: ../src/widgets/sp-color-scales.cpp:465
-#: ../src/widgets/sp-color-scales.cpp:495
-#: ../src/widgets/sp-color-scales.cpp:496
-#: ../src/widgets/sp-color-wheel-selector.cpp:161
-#: ../src/widgets/sp-color-wheel-selector.cpp:185
+#: ../src/widgets/sp-color-icc-selector.cpp:547
+#: ../src/widgets/sp-color-icc-selector.cpp:560
+#: ../src/widgets/sp-color-scales.cpp:424
+#: ../src/widgets/sp-color-scales.cpp:425
+#: ../src/widgets/sp-color-scales.cpp:450
+#: ../src/widgets/sp-color-scales.cpp:451
+#: ../src/widgets/sp-color-scales.cpp:481
+#: ../src/widgets/sp-color-scales.cpp:482
+#: ../src/widgets/sp-color-wheel-selector.cpp:137
+#: ../src/widgets/sp-color-wheel-selector.cpp:166
msgid "Alpha (opacity)"
msgstr ""
-#: ../src/widgets/sp-color-notebook.cpp:385
+#: ../src/widgets/sp-color-notebook.cpp:370
msgid "Color Managed"
msgstr ""
-#: ../src/widgets/sp-color-notebook.cpp:392
+#: ../src/widgets/sp-color-notebook.cpp:377
msgid "Out of gamut!"
msgstr ""
-#: ../src/widgets/sp-color-notebook.cpp:399
+#: ../src/widgets/sp-color-notebook.cpp:384
msgid "Too much ink!"
msgstr ""
#. Create RGBA entry and color preview
-#: ../src/widgets/sp-color-notebook.cpp:416
+#: ../src/widgets/sp-color-notebook.cpp:401
msgid "RGBA_:"
msgstr ""
-#: ../src/widgets/sp-color-notebook.cpp:424
+#: ../src/widgets/sp-color-notebook.cpp:409
msgid "Hexadecimal RGBA value of the color"
msgstr ""
-#: ../src/widgets/sp-color-scales.cpp:80
+#: ../src/widgets/sp-color-scales.cpp:53
msgid "RGB"
msgstr ""
-#: ../src/widgets/sp-color-scales.cpp:80
+#: ../src/widgets/sp-color-scales.cpp:53
msgid "HSL"
msgstr ""
-#: ../src/widgets/sp-color-scales.cpp:80
+#: ../src/widgets/sp-color-scales.cpp:53
msgid "CMYK"
msgstr ""
-#: ../src/widgets/sp-color-selector.cpp:64
+#: ../src/widgets/sp-color-selector.cpp:42
msgid "Unnamed"
msgstr ""
-#: ../src/widgets/sp-xmlview-attr-list.cpp:64
+#: ../src/widgets/sp-xmlview-attr-list.cpp:59
msgid "Value"
msgstr ""
-#: ../src/widgets/sp-xmlview-content.cpp:179
+#: ../src/widgets/sp-xmlview-content.cpp:151
msgid "Type text in a text node"
msgstr ""
@@ -27063,7 +27870,7 @@ msgstr ""
msgid "Radius of the innermost revolution (relative to the spiral size)"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:290 ../src/widgets/star-toolbar.cpp:565
+#: ../src/widgets/spiral-toolbar.cpp:290 ../src/widgets/star-toolbar.cpp:567
msgid ""
"Reset shape parameters to defaults (use Inkscape Preferences > Tools to "
"change defaults)"
@@ -27203,173 +28010,173 @@ msgid ""
"the original object"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:102
+#: ../src/widgets/star-toolbar.cpp:103
msgid "Star: Change number of corners"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:155
+#: ../src/widgets/star-toolbar.cpp:156
msgid "Star: Change spoke ratio"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:200
+#: ../src/widgets/star-toolbar.cpp:201
msgid "Make polygon"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:200
+#: ../src/widgets/star-toolbar.cpp:201
msgid "Make star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:239
+#: ../src/widgets/star-toolbar.cpp:240
msgid "Star: Change rounding"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:279
+#: ../src/widgets/star-toolbar.cpp:280
msgid "Star: Change randomization"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:463
+#: ../src/widgets/star-toolbar.cpp:465
msgid "Regular polygon (with one handle) instead of a star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:470
+#: ../src/widgets/star-toolbar.cpp:472
msgid "Star instead of a regular polygon (with one handle)"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:491
+#: ../src/widgets/star-toolbar.cpp:493
msgid "triangle/tri-star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:491
+#: ../src/widgets/star-toolbar.cpp:493
msgid "square/quad-star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:491
+#: ../src/widgets/star-toolbar.cpp:493
msgid "pentagon/five-pointed star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:491
+#: ../src/widgets/star-toolbar.cpp:493
msgid "hexagon/six-pointed star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:494
+#: ../src/widgets/star-toolbar.cpp:496
msgid "Corners"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:494
+#: ../src/widgets/star-toolbar.cpp:496
msgid "Corners:"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:494
+#: ../src/widgets/star-toolbar.cpp:496
msgid "Number of corners of a polygon or star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:507
+#: ../src/widgets/star-toolbar.cpp:509
msgid "thin-ray star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:507
+#: ../src/widgets/star-toolbar.cpp:509
msgid "pentagram"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:507
+#: ../src/widgets/star-toolbar.cpp:509
msgid "hexagram"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:507
+#: ../src/widgets/star-toolbar.cpp:509
msgid "heptagram"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:507
+#: ../src/widgets/star-toolbar.cpp:509
msgid "octagram"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:507
+#: ../src/widgets/star-toolbar.cpp:509
msgid "regular polygon"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:510
+#: ../src/widgets/star-toolbar.cpp:512
msgid "Spoke ratio"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:510
+#: ../src/widgets/star-toolbar.cpp:512
msgid "Spoke ratio:"
msgstr ""
#. TRANSLATORS: Tip radius of a star is the distance from the center to the farthest handle.
#. Base radius is the same for the closest handle.
-#: ../src/widgets/star-toolbar.cpp:513
+#: ../src/widgets/star-toolbar.cpp:515
msgid "Base radius to tip radius ratio"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:531
+#: ../src/widgets/star-toolbar.cpp:533
msgid "stretched"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:531
+#: ../src/widgets/star-toolbar.cpp:533
msgid "twisted"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:531
+#: ../src/widgets/star-toolbar.cpp:533
msgid "slightly pinched"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:531
+#: ../src/widgets/star-toolbar.cpp:533
msgid "NOT rounded"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:531
+#: ../src/widgets/star-toolbar.cpp:533
msgid "slightly rounded"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:531
+#: ../src/widgets/star-toolbar.cpp:533
msgid "visibly rounded"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:531
+#: ../src/widgets/star-toolbar.cpp:533
msgid "well rounded"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:531
+#: ../src/widgets/star-toolbar.cpp:533
msgid "amply rounded"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:531 ../src/widgets/star-toolbar.cpp:546
+#: ../src/widgets/star-toolbar.cpp:533 ../src/widgets/star-toolbar.cpp:548
msgid "blown up"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:534
+#: ../src/widgets/star-toolbar.cpp:536
msgid "Rounded:"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:534
+#: ../src/widgets/star-toolbar.cpp:536
msgid "How much rounded are the corners (0 for sharp)"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:546
+#: ../src/widgets/star-toolbar.cpp:548
msgid "NOT randomized"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:546
+#: ../src/widgets/star-toolbar.cpp:548
msgid "slightly irregular"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:546
+#: ../src/widgets/star-toolbar.cpp:548
msgid "visibly randomized"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:546
+#: ../src/widgets/star-toolbar.cpp:548
msgid "strongly randomized"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:549
+#: ../src/widgets/star-toolbar.cpp:551
msgid "Randomized"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:549
+#: ../src/widgets/star-toolbar.cpp:551
msgid "Randomized:"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:549
+#: ../src/widgets/star-toolbar.cpp:551
msgid "Scatter randomly the corners and angles"
msgstr ""
@@ -27378,10 +28185,6 @@ msgctxt "Marker"
msgid "None"
msgstr ""
-#: ../src/widgets/stroke-style.cpp:192
-msgid "Stroke width"
-msgstr ""
-
#: ../src/widgets/stroke-style.cpp:194
msgctxt "Stroke width"
msgid "_Width:"
@@ -27467,11 +28270,11 @@ msgstr ""
msgid "Set markers"
msgstr ""
-#: ../src/widgets/stroke-style.cpp:1030 ../src/widgets/stroke-style.cpp:1115
+#: ../src/widgets/stroke-style.cpp:1032 ../src/widgets/stroke-style.cpp:1117
msgid "Set stroke style"
msgstr ""
-#: ../src/widgets/stroke-style.cpp:1203
+#: ../src/widgets/stroke-style.cpp:1205
msgid "Set marker color"
msgstr ""
@@ -28967,10 +29770,6 @@ msgstr ""
msgid "By max. segment length"
msgstr ""
-#: ../share/extensions/addnodes.inx.h:4
-msgid "By number of segments"
-msgstr ""
-
#: ../share/extensions/addnodes.inx.h:5
msgid "Maximum segment length (px):"
msgstr ""
@@ -29308,7 +30107,7 @@ msgid "Y Offset:"
msgstr ""
#: ../share/extensions/dimension.inx.h:4
-msgid "Bounding box type :"
+msgid "Bounding box type:"
msgstr ""
#: ../share/extensions/dimension.inx.h:5
@@ -29558,7 +30357,7 @@ msgstr ""
msgid ""
"- AutoCAD Release 13 and newer.\n"
"- assume dxf drawing is in mm.\n"
-"- assume svg drawing is in pixels, at 90 dpi.\n"
+"- assume svg drawing is in pixels, at 96 dpi.\n"
"- scale factor and origin apply only to manual scaling.\n"
"- layers are preserved only on File->Open, not Import.\n"
"- limited support for BLOCKS, use AutoCAD Explode Blocks instead, if needed."
@@ -29681,7 +30480,7 @@ msgstr ""
msgid ""
"- AutoCAD Release 14 DXF format.\n"
"- The base unit parameter specifies in what unit the coordinates are output "
-"(90 px = 1 in).\n"
+"(96 px = 1 in).\n"
"- Supported element types\n"
" - paths (lines and splines)\n"
" - rectangles\n"
@@ -29759,8 +30558,70 @@ msgstr ""
msgid "Embed Selected Images"
msgstr ""
-#: ../share/extensions/empty_page.inx.h:1
-msgid "Empty Page"
+#: ../share/extensions/empty_business_card.inx.h:1
+msgid "Business Card"
+msgstr ""
+
+#: ../share/extensions/empty_business_card.inx.h:2
+msgid "Business card size:"
+msgstr ""
+
+#: ../share/extensions/empty_desktop.inx.h:1
+msgid "Desktop"
+msgstr ""
+
+#: ../share/extensions/empty_desktop.inx.h:2
+msgid "Desktop size:"
+msgstr ""
+
+#. Maximum size is '16k'
+#: ../share/extensions/empty_desktop.inx.h:4
+#: ../share/extensions/empty_generic.inx.h:2
+#: ../share/extensions/empty_video.inx.h:4
+msgid "Custom Width:"
+msgstr ""
+
+#: ../share/extensions/empty_desktop.inx.h:5
+#: ../share/extensions/empty_generic.inx.h:3
+#: ../share/extensions/empty_video.inx.h:5
+msgid "Custom Height:"
+msgstr ""
+
+#: ../share/extensions/empty_dvd_cover.inx.h:1
+msgid "DVD Cover"
+msgstr ""
+
+#: ../share/extensions/empty_dvd_cover.inx.h:2
+msgid "DVD spine width:"
+msgstr ""
+
+#: ../share/extensions/empty_dvd_cover.inx.h:3
+msgid "DVD cover bleed (mm):"
+msgstr ""
+
+#: ../share/extensions/empty_generic.inx.h:1
+msgid "Generic Canvas"
+msgstr ""
+
+#: ../share/extensions/empty_generic.inx.h:4
+msgid "SVG Unit:"
+msgstr ""
+
+#: ../share/extensions/empty_generic.inx.h:5
+msgid "Canvas background:"
+msgstr ""
+
+#: ../share/extensions/empty_generic.inx.h:6
+#: ../share/extensions/empty_page.inx.h:5
+msgid "Hide border"
+msgstr ""
+
+#: ../share/extensions/empty_icon.inx.h:1
+msgid "Icon"
+msgstr ""
+
+#: ../share/extensions/empty_icon.inx.h:2
+msgid "Icon size:"
msgstr ""
#: ../share/extensions/empty_page.inx.h:2
@@ -29771,6 +30632,18 @@ msgstr ""
msgid "Page orientation:"
msgstr ""
+#: ../share/extensions/empty_page.inx.h:4
+msgid "Page background:"
+msgstr ""
+
+#: ../share/extensions/empty_video.inx.h:1
+msgid "Video Screen"
+msgstr ""
+
+#: ../share/extensions/empty_video.inx.h:2
+msgid "Video size:"
+msgstr ""
+
#: ../share/extensions/eps_input.inx.h:1
msgid "EPS Input"
msgstr ""
@@ -31565,10 +32438,6 @@ msgstr ""
msgid "Float Number"
msgstr ""
-#: ../share/extensions/interp_att_g.inx.h:22
-msgid "Tag"
-msgstr ""
-
#: ../share/extensions/interp_att_g.inx.h:23
#: ../share/extensions/polyhedron_3d.inx.h:33
msgid "Style"
@@ -32642,10 +33511,6 @@ msgstr ""
msgid "Note: Bond Weight # calculations are a best-guess estimate."
msgstr ""
-#: ../share/extensions/perspective.inx.h:1
-msgid "Perspective"
-msgstr ""
-
#: ../share/extensions/pixelsnap.inx.h:1
msgid "PixelSnap"
msgstr ""
@@ -33064,14 +33929,6 @@ msgstr ""
msgid "Maximum displacement in Y (px):"
msgstr ""
-#: ../share/extensions/radiusrand.inx.h:5
-msgid "Shift nodes"
-msgstr ""
-
-#: ../share/extensions/radiusrand.inx.h:6
-msgid "Shift node handles"
-msgstr ""
-
#: ../share/extensions/radiusrand.inx.h:7
msgid "Use normal distribution"
msgstr ""
@@ -33129,10 +33986,6 @@ msgstr ""
msgid "See http://www.denso-wave.com/qrcode/index-e.html for details"
msgstr ""
-#: ../share/extensions/render_barcode_qrcode.inx.h:5
-msgid "Auto"
-msgstr ""
-
#: ../share/extensions/render_barcode_qrcode.inx.h:6
msgid ""
"With \"Auto\", the size of the barcode depends on the length of the text and "
@@ -33501,6 +34354,28 @@ msgstr ""
msgid "Scalable Vector Graphics"
msgstr ""
+#: ../share/extensions/seamless_pattern.inx.h:1
+msgid "Seamless Pattern"
+msgstr ""
+
+#: ../share/extensions/seamless_pattern.inx.h:2
+#: ../share/extensions/seamless_pattern_procedural.inx.h:2
+msgid "Custom Width (px.):"
+msgstr ""
+
+#: ../share/extensions/seamless_pattern.inx.h:3
+#: ../share/extensions/seamless_pattern_procedural.inx.h:3
+msgid "Custom Height (px.):"
+msgstr ""
+
+#: ../share/extensions/seamless_pattern.inx.h:4
+msgid "This extension overwrite current document"
+msgstr ""
+
+#: ../share/extensions/seamless_pattern_procedural.inx.h:1
+msgid "Seamless Pattern Procedural"
+msgstr ""
+
#: ../share/extensions/setup_typography_canvas.inx.h:1
msgid "1 - Setup Typography Canvas"
msgstr ""
diff --git a/po/sk.po b/po/sk.po
index 1522d8974..0646af233 100644..100755
--- a/po/sk.po
+++ b/po/sk.po
@@ -11,14 +11,15 @@ msgstr ""
"Project-Id-Version: inkscape\n"
"Report-Msgid-Bugs-To: inkscape-devel@lists.sourceforge.net\n"
"POT-Creation-Date: 2014-08-14 23:05-0700\n"
-"PO-Revision-Date: 2014-03-20 22:47+0200\n"
+"PO-Revision-Date: 2014-11-03 14:33+0200\n"
"Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
-"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
+"Language-Team: x\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Virtaal 0.7.1\n"
#: ../inkscape.desktop.in.h:1
msgid "Inkscape"
@@ -1170,10 +1171,9 @@ msgstr "Šarlátovočervená 3"
#. Palette: ./Tango-Palette.gpl
#: ../share/palettes/palettes.h:188
-#, fuzzy
msgctxt "Palette"
msgid "Snowy White"
-msgstr "Biela"
+msgstr "Snehovo biela"
#. Palette: ./Tango-Palette.gpl
#: ../share/palettes/palettes.h:189
@@ -1213,134 +1213,129 @@ msgstr "Hliník 6"
#. Palette: ./Tango-Palette.gpl
#: ../share/palettes/palettes.h:195
-#, fuzzy
msgctxt "Palette"
msgid "Jet Black"
-msgstr "Čierna"
+msgstr "Tryskovo čierna"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:2
msgctxt "Symbol"
msgid "AIGA Symbol Signs"
-msgstr ""
+msgstr "Symboly AIGA"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:3 ../share/symbols/symbols.h:4
msgctxt "Symbol"
msgid "Telephone"
-msgstr ""
+msgstr "Telefón"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:5 ../share/symbols/symbols.h:6
msgctxt "Symbol"
msgid "Mail"
-msgstr ""
+msgstr "Pošta"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:7 ../share/symbols/symbols.h:8
-#, fuzzy
msgctxt "Symbol"
msgid "Currency Exchange"
-msgstr "Aktuálna vrstva"
+msgstr "Zmenáreň"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:9 ../share/symbols/symbols.h:10
msgctxt "Symbol"
msgid "Currency Exchange - Euro"
-msgstr ""
+msgstr "Zmenáreň - Euro"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:11 ../share/symbols/symbols.h:12
msgctxt "Symbol"
msgid "Cashier"
-msgstr ""
+msgstr "Pokladňa"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:13 ../share/symbols/symbols.h:14
-#, fuzzy
msgctxt "Symbol"
msgid "First Aid"
-msgstr "Prvá snímka:"
+msgstr "Prvá pomoc"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:15 ../share/symbols/symbols.h:16
-#, fuzzy
msgctxt "Symbol"
msgid "Lost and Found"
-msgstr "Nezaoblený"
+msgstr "Straty a nálezy"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:17 ../share/symbols/symbols.h:18
msgctxt "Symbol"
msgid "Coat Check"
-msgstr ""
+msgstr "Úschovňa kabátov"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:19 ../share/symbols/symbols.h:20
msgctxt "Symbol"
msgid "Baggage Lockers"
-msgstr ""
+msgstr "Úschovňa batožiny"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:21 ../share/symbols/symbols.h:22
msgctxt "Symbol"
msgid "Escalator"
-msgstr ""
+msgstr "Eskalátor"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:23 ../share/symbols/symbols.h:24
msgctxt "Symbol"
msgid "Escalator Down"
-msgstr ""
+msgstr "Eskalátor - dolu"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:25 ../share/symbols/symbols.h:26
msgctxt "Symbol"
msgid "Escalator Up"
-msgstr ""
+msgstr "Eskalátor - hore"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:27 ../share/symbols/symbols.h:28
msgctxt "Symbol"
msgid "Stairs"
-msgstr ""
+msgstr "Schody"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:29 ../share/symbols/symbols.h:30
msgctxt "Symbol"
msgid "Stairs Down"
-msgstr ""
+msgstr "Schody - dolu"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:31 ../share/symbols/symbols.h:32
msgctxt "Symbol"
msgid "Stairs Up"
-msgstr ""
+msgstr "Schody - hore"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:33 ../share/symbols/symbols.h:34
-#, fuzzy
msgctxt "Symbol"
msgid "Elevator"
-msgstr "Vyvýšenie"
+msgstr "Výťah"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:35 ../share/symbols/symbols.h:36
msgctxt "Symbol"
msgid "Toilets - Men"
-msgstr ""
+msgstr "Toalety - muži"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:37 ../share/symbols/symbols.h:38
msgctxt "Symbol"
msgid "Toilets - Women"
-msgstr ""
+msgstr "Toalety - ženy"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:39 ../share/symbols/symbols.h:40
msgctxt "Symbol"
msgid "Toilets"
-msgstr ""
+msgstr "Toalety"
#. Symbols: ./AigaSymbols.svg
#. Symbols: ./MapSymbols.svg
@@ -1348,43 +1343,39 @@ msgstr ""
#: ../share/symbols/symbols.h:227
msgctxt "Symbol"
msgid "Nursery"
-msgstr ""
+msgstr "Škôlka"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:43 ../share/symbols/symbols.h:44
msgctxt "Symbol"
msgid "Drinking Fountain"
-msgstr ""
+msgstr "Fontánka s pitnou vodou"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:45 ../share/symbols/symbols.h:46
-#, fuzzy
msgctxt "Symbol"
msgid "Waiting Room"
-msgstr "zapisovaní"
+msgstr "Čakáreň"
#. Symbols: ./AigaSymbols.svg
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:47 ../share/symbols/symbols.h:48
#: ../share/symbols/symbols.h:308
-#, fuzzy
msgctxt "Symbol"
msgid "Information"
msgstr "Informácie"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:49 ../share/symbols/symbols.h:50
-#, fuzzy
msgctxt "Symbol"
msgid "Hotel Information"
-msgstr "Informácie o stránke"
+msgstr "Hotelové informácie"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:51 ../share/symbols/symbols.h:52
-#, fuzzy
msgctxt "Symbol"
msgid "Air Transportation"
-msgstr "Transformácia"
+msgstr "Letecká doprava"
#. Symbols: ./AigaSymbols.svg
#. Symbols: ./MapSymbols.svg
@@ -1392,7 +1383,7 @@ msgstr "Transformácia"
#: ../share/symbols/symbols.h:318
msgctxt "Symbol"
msgid "Heliport"
-msgstr ""
+msgstr "Heliport"
#. Symbols: ./AigaSymbols.svg
#. Symbols: ./MapSymbols.svg
@@ -1400,35 +1391,31 @@ msgstr ""
#: ../share/symbols/symbols.h:314
msgctxt "Symbol"
msgid "Taxi"
-msgstr ""
+msgstr "Taxi"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:57 ../share/symbols/symbols.h:58
-#, fuzzy
msgctxt "Symbol"
msgid "Bus"
-msgstr "Rozostrenia"
+msgstr "Autobus"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:59 ../share/symbols/symbols.h:60
-#, fuzzy
msgctxt "Symbol"
msgid "Ground Transportation"
-msgstr "Transformácia"
+msgstr "Pozemná doprava"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:61 ../share/symbols/symbols.h:62
-#, fuzzy
msgctxt "Symbol"
msgid "Rail Transportation"
-msgstr "Transformácia"
+msgstr "Železničná doprava"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:63 ../share/symbols/symbols.h:64
-#, fuzzy
msgctxt "Symbol"
msgid "Water Transportation"
-msgstr "Transformácia"
+msgstr "Lodná doprava"
#. Symbols: ./AigaSymbols.svg
#. Symbols: ./MapSymbols.svg
@@ -1436,7 +1423,7 @@ msgstr "Transformácia"
#: ../share/symbols/symbols.h:316
msgctxt "Symbol"
msgid "Car Rental"
-msgstr ""
+msgstr "Požičovňa áut"
#. Symbols: ./AigaSymbols.svg
#. Symbols: ./MapSymbols.svg
@@ -1444,102 +1431,97 @@ msgstr ""
#: ../share/symbols/symbols.h:228
msgctxt "Symbol"
msgid "Restaurant"
-msgstr ""
+msgstr "Reštaurácia"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:69 ../share/symbols/symbols.h:70
msgctxt "Symbol"
msgid "Coffeeshop"
-msgstr ""
+msgstr "Kaviareň"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:71 ../share/symbols/symbols.h:72
-#, fuzzy
msgctxt "Symbol"
msgid "Bar"
-msgstr "Kôra"
+msgstr "Bar"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:73 ../share/symbols/symbols.h:74
msgctxt "Symbol"
msgid "Shops"
-msgstr ""
+msgstr "Obchody"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:75 ../share/symbols/symbols.h:76
msgctxt "Symbol"
msgid "Barber Shop - Beauty Salon"
-msgstr ""
+msgstr "Kaderníctvo - kozmetika"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:77 ../share/symbols/symbols.h:78
msgctxt "Symbol"
msgid "Barber Shop"
-msgstr ""
+msgstr "Kaderníctvo"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:79 ../share/symbols/symbols.h:80
msgctxt "Symbol"
msgid "Beauty Salon"
-msgstr ""
+msgstr "Kozmetický salón"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:81 ../share/symbols/symbols.h:82
msgctxt "Symbol"
msgid "Ticket Purchase"
-msgstr ""
+msgstr "Predaj lístkov"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:83 ../share/symbols/symbols.h:84
msgctxt "Symbol"
msgid "Baggage Check In"
-msgstr ""
+msgstr "Príjem batožiny"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:85 ../share/symbols/symbols.h:86
msgctxt "Symbol"
msgid "Baggage Claim"
-msgstr ""
+msgstr "Výdaj batožiny"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:87 ../share/symbols/symbols.h:88
-#, fuzzy
msgctxt "Symbol"
msgid "Customs"
-msgstr "Vlastná"
+msgstr "Clo"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:89 ../share/symbols/symbols.h:90
-#, fuzzy
msgctxt "Symbol"
msgid "Immigration"
-msgstr "Nastavenie"
+msgstr "Imigrácia"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:91 ../share/symbols/symbols.h:92
-#, fuzzy
msgctxt "Symbol"
msgid "Departing Flights"
-msgstr "Výška cieľa"
+msgstr "Odlety"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:93 ../share/symbols/symbols.h:94
-#, fuzzy
msgctxt "Symbol"
msgid "Arriving Flights"
-msgstr "Jas:"
+msgstr "Prílety"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:95 ../share/symbols/symbols.h:96
msgctxt "Symbol"
msgid "Smoking"
-msgstr ""
+msgstr "Fajčenie"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:97 ../share/symbols/symbols.h:98
msgctxt "Symbol"
msgid "No Smoking"
-msgstr ""
+msgstr "Zákaz fajčenia"
#. Symbols: ./AigaSymbols.svg
#. Symbols: ./MapSymbols.svg
@@ -1547,25 +1529,25 @@ msgstr ""
#: ../share/symbols/symbols.h:325
msgctxt "Symbol"
msgid "Parking"
-msgstr ""
+msgstr "Parkovanie"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:101 ../share/symbols/symbols.h:102
msgctxt "Symbol"
msgid "No Parking"
-msgstr ""
+msgstr "Zákaz parkovania"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:103 ../share/symbols/symbols.h:104
msgctxt "Symbol"
msgid "No Dogs"
-msgstr ""
+msgstr "Zákaz vstupu psov"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:105 ../share/symbols/symbols.h:106
msgctxt "Symbol"
msgid "No Entry"
-msgstr ""
+msgstr "Zákaz vstupu"
#. Symbols: ./AigaSymbols.svg
#. Symbols: ./MapSymbols.svg
@@ -1573,598 +1555,568 @@ msgstr ""
#: ../share/symbols/symbols.h:218
msgctxt "Symbol"
msgid "Exit"
-msgstr ""
+msgstr "Východ"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:109 ../share/symbols/symbols.h:110
msgctxt "Symbol"
msgid "Fire Extinguisher"
-msgstr ""
+msgstr "Hasiaci prístroj"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:111 ../share/symbols/symbols.h:112
-#, fuzzy
msgctxt "Symbol"
msgid "Right Arrow"
-msgstr "Pravá"
+msgstr "Šípka vpravo"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:113 ../share/symbols/symbols.h:114
msgctxt "Symbol"
msgid "Forward and Right Arrow"
-msgstr ""
+msgstr "Šípka vpred a vpravo"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:115 ../share/symbols/symbols.h:116
msgctxt "Symbol"
msgid "Up Arrow"
-msgstr ""
+msgstr "Šípka nahor"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:117 ../share/symbols/symbols.h:118
msgctxt "Symbol"
msgid "Forward and Left Arrow"
-msgstr ""
+msgstr "Šípka vpred a vľavo"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:119 ../share/symbols/symbols.h:120
msgctxt "Symbol"
msgid "Left Arrow"
-msgstr ""
+msgstr "Šípka vľavo"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:121 ../share/symbols/symbols.h:122
msgctxt "Symbol"
msgid "Left and Down Arrow"
-msgstr ""
+msgstr "Šípka vľavo a nadol"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:123 ../share/symbols/symbols.h:124
-#, fuzzy
msgctxt "Symbol"
msgid "Down Arrow"
-msgstr "neznáma chyba"
+msgstr "Šípka nadol"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:125 ../share/symbols/symbols.h:126
msgctxt "Symbol"
msgid "Right and Down Arrow"
-msgstr ""
+msgstr "Šípka vpravo a nadol"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:127 ../share/symbols/symbols.h:128
msgctxt "Symbol"
msgid "NPS Wheelchair Accessible - 1996"
-msgstr ""
+msgstr "Bezbariérový prístup NPS - 1996"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:129 ../share/symbols/symbols.h:130
msgctxt "Symbol"
msgid "NPS Wheelchair Accessible"
-msgstr ""
+msgstr "Bezbariérový prístup NPS"
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:131 ../share/symbols/symbols.h:132
msgctxt "Symbol"
msgid "New Wheelchair Accessible"
-msgstr ""
+msgstr "Nový bezbariérový prístup"
#. Symbols: ./BalloonSymbols.svg
#: ../share/symbols/symbols.h:133
msgctxt "Symbol"
msgid "Word Balloons"
-msgstr ""
+msgstr "Slovné bubliny"
#. Symbols: ./BalloonSymbols.svg
#: ../share/symbols/symbols.h:134
msgctxt "Symbol"
msgid "Thought Balloon"
-msgstr ""
+msgstr "Myšlienkové bubliny"
#. Symbols: ./BalloonSymbols.svg
#: ../share/symbols/symbols.h:135
msgctxt "Symbol"
msgid "Dream Speaking"
-msgstr ""
+msgstr "Hovorenie zo sna"
#. Symbols: ./BalloonSymbols.svg
#: ../share/symbols/symbols.h:136
-#, fuzzy
msgctxt "Symbol"
msgid "Rounded Balloon"
-msgstr "Oblý spoj"
+msgstr "Zaoblená bublina"
#. Symbols: ./BalloonSymbols.svg
#: ../share/symbols/symbols.h:137
-#, fuzzy
msgctxt "Symbol"
msgid "Squared Balloon"
-msgstr "Štvorcové zakončenie"
+msgstr "Obdĺžniková bublina"
#. Symbols: ./BalloonSymbols.svg
#: ../share/symbols/symbols.h:138
msgctxt "Symbol"
msgid "Over the Phone"
-msgstr ""
+msgstr "Telefonicky"
#. Symbols: ./BalloonSymbols.svg
#: ../share/symbols/symbols.h:139
msgctxt "Symbol"
msgid "Hip Balloon"
-msgstr ""
+msgstr "Hip bublina"
#. Symbols: ./BalloonSymbols.svg
#: ../share/symbols/symbols.h:140
-#, fuzzy
msgctxt "Symbol"
msgid "Circle Balloon"
-msgstr "Kruh"
+msgstr "Kružnicová bublina"
#. Symbols: ./BalloonSymbols.svg
#: ../share/symbols/symbols.h:141
msgctxt "Symbol"
msgid "Exclaim Balloon"
-msgstr ""
+msgstr "Bublina zvolania"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:142
msgctxt "Symbol"
msgid "Flow Chart Shapes"
-msgstr ""
+msgstr "Zložky vývojových diagramov"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:143
-#, fuzzy
msgctxt "Symbol"
msgid "Process"
-msgstr "Post-procesor:"
+msgstr "Proces"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:144
-#, fuzzy
msgctxt "Symbol"
msgid "Input/Output"
-msgstr "Výstup"
+msgstr "Vstup/výstup"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:145
-#, fuzzy
msgctxt "Symbol"
msgid "Document"
msgstr "Dokument"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:146
-#, fuzzy
msgctxt "Symbol"
msgid "Manual Operation"
-msgstr "Sýtosť"
+msgstr "Ručná operácia"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:147
-#, fuzzy
msgctxt "Symbol"
msgid "Preparation"
-msgstr "Sýtosť:"
+msgstr "Príprava"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:148
-#, fuzzy
msgctxt "Symbol"
msgid "Merge"
-msgstr "Zlúčiť"
+msgstr "Zlúčenie"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:149
-#, fuzzy
msgctxt "Symbol"
msgid "Decision"
-msgstr "Presnosť:"
+msgstr "Rozhodnutie"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:150
msgctxt "Symbol"
msgid "Magnetic Tape"
-msgstr ""
+msgstr "Magnetická páska"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:151
-#, fuzzy
msgctxt "Symbol"
msgid "Display"
-msgstr "_Zobrazovací režim"
+msgstr "Zobrazenie"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:152
msgctxt "Symbol"
msgid "Auxiliary Operation"
-msgstr ""
+msgstr "Pomocná operácia"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:153
-#, fuzzy
msgctxt "Symbol"
msgid "Manual Input"
-msgstr "Vstup EMF"
+msgstr "Ručný vstup"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:154
-#, fuzzy
msgctxt "Symbol"
msgid "Extract"
-msgstr "Extrahovať obrázok"
+msgstr "Extrakcia"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:155
msgctxt "Symbol"
msgid "Terminal/Interrupt"
-msgstr ""
+msgstr "Terminál/prerušenie"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:156
msgctxt "Symbol"
msgid "Punched Card"
-msgstr ""
+msgstr "Dierny štítok"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:157
-#, fuzzy
msgctxt "Symbol"
msgid "Punch Tape"
-msgstr "Vyrazená diera"
+msgstr "Dierna páska"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:158
msgctxt "Symbol"
msgid "Online Storage"
-msgstr ""
+msgstr "Online úložisko"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:159
msgctxt "Symbol"
msgid "Keying"
-msgstr ""
+msgstr "Kľúčovanie"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:160
msgctxt "Symbol"
msgid "Sort"
-msgstr ""
+msgstr "Zoradenie"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:161
-#, fuzzy
msgctxt "Symbol"
msgid "Connector"
msgstr "Konektor"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:162
-#, fuzzy
msgctxt "Symbol"
msgid "Off-Page Connector"
-msgstr "Konektor"
+msgstr "Spojenie mimo strany"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:163
msgctxt "Symbol"
msgid "Transmittal Tape"
-msgstr ""
+msgstr "Prenosová páska"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:164
msgctxt "Symbol"
msgid "Communication Link"
-msgstr ""
+msgstr "Komunikačné spojenie"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:165
-#, fuzzy
msgctxt "Symbol"
msgid "Collate"
-msgstr "Modulovať"
+msgstr "Usporiadať"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:166
msgctxt "Symbol"
msgid "Comment/Annotation"
-msgstr ""
+msgstr "Komentár/anotácia"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:167
msgctxt "Symbol"
msgid "Core"
-msgstr ""
+msgstr "Jadro"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:168
msgctxt "Symbol"
msgid "Predefined Process"
-msgstr ""
+msgstr "Preddefinovaný proces"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:169
msgctxt "Symbol"
msgid "Magnetic Disk (Database)"
-msgstr ""
+msgstr "Magnetický disk (databáza)"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:170
msgctxt "Symbol"
msgid "Magnetic Drum (Direct Access)"
-msgstr ""
+msgstr "Magnetický bubon (priamy prístup)"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:171
msgctxt "Symbol"
msgid "Offline Storage"
-msgstr ""
+msgstr "Offline úložisko"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:172
msgctxt "Symbol"
msgid "Logical Or"
-msgstr ""
+msgstr "Logické alebo"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:173
msgctxt "Symbol"
msgid "Logical And"
-msgstr ""
+msgstr "Logické a"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:174
msgctxt "Symbol"
msgid "Delay"
-msgstr ""
+msgstr "Oneskorenie"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:175
msgctxt "Symbol"
msgid "Loop Limit Begin"
-msgstr ""
+msgstr "Začiatok cyklu"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:176
msgctxt "Symbol"
msgid "Loop Limit End"
-msgstr ""
+msgstr "Koniec cyklu"
#. Symbols: ./LogicSymbols.svg
#: ../share/symbols/symbols.h:177
msgctxt "Symbol"
msgid "Logic Symbols"
-msgstr ""
+msgstr "Logické symboly"
#. Symbols: ./LogicSymbols.svg
#: ../share/symbols/symbols.h:178
msgctxt "Symbol"
msgid "Xnor Gate"
-msgstr ""
+msgstr "Hradlo XNOR"
#. Symbols: ./LogicSymbols.svg
#: ../share/symbols/symbols.h:179
msgctxt "Symbol"
msgid "Xor Gate"
-msgstr ""
+msgstr "Hradlo XOR"
#. Symbols: ./LogicSymbols.svg
#: ../share/symbols/symbols.h:180
msgctxt "Symbol"
msgid "Nor Gate"
-msgstr ""
+msgstr "Hradlo NOR"
#. Symbols: ./LogicSymbols.svg
#: ../share/symbols/symbols.h:181
msgctxt "Symbol"
msgid "Or Gate"
-msgstr ""
+msgstr "Hradlo OR"
#. Symbols: ./LogicSymbols.svg
#: ../share/symbols/symbols.h:182
msgctxt "Symbol"
msgid "Nand Gate"
-msgstr ""
+msgstr "Hradlo NAND"
#. Symbols: ./LogicSymbols.svg
#: ../share/symbols/symbols.h:183
msgctxt "Symbol"
msgid "And Gate"
-msgstr ""
+msgstr "Hradlo AND"
#. Symbols: ./LogicSymbols.svg
#: ../share/symbols/symbols.h:184
msgctxt "Symbol"
msgid "Buffer"
-msgstr ""
+msgstr "Buffer"
#. Symbols: ./LogicSymbols.svg
#: ../share/symbols/symbols.h:185
msgctxt "Symbol"
msgid "Not Gate"
-msgstr ""
+msgstr "Hradlo NOT"
#. Symbols: ./LogicSymbols.svg
#: ../share/symbols/symbols.h:186
msgctxt "Symbol"
msgid "Buffer Small"
-msgstr ""
+msgstr "Malý buffer"
#. Symbols: ./LogicSymbols.svg
#: ../share/symbols/symbols.h:187
msgctxt "Symbol"
msgid "Not Gate Small"
-msgstr ""
+msgstr "Malé hradlo NOT"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:188
msgctxt "Symbol"
msgid "Map Symbols"
-msgstr ""
+msgstr "Symboly na mape"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:189
-#, fuzzy
msgctxt "Symbol"
msgid "Bed and Breakfast"
-msgstr "žeriav pridaná zelená"
+msgstr "Bed and Breakfast"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:190
msgctxt "Symbol"
msgid "Youth Hostel"
-msgstr ""
+msgstr "Hostel pre mládež"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:191
-#, fuzzy
msgctxt "Symbol"
msgid "Shelter"
-msgstr "filter"
+msgstr "Prístrešie"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:192
msgctxt "Symbol"
msgid "Motel"
-msgstr ""
+msgstr "Motel"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:193
msgctxt "Symbol"
msgid "Hotel"
-msgstr ""
+msgstr "Hotel"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:194
-#, fuzzy
msgctxt "Symbol"
msgid "Hostel"
-msgstr "Hostiteľ"
+msgstr "Hostel"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:195
-#, fuzzy
msgctxt "Symbol"
msgid "Chalet"
-msgstr "Paleta"
+msgstr "Chata alpského typu"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:196
msgctxt "Symbol"
msgid "Caravan Park"
-msgstr ""
+msgstr "Parkovanie karavanov"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:197
-#, fuzzy
msgctxt "Symbol"
msgid "Camping"
-msgstr "Lapovanie"
+msgstr "Kemping"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:198
msgctxt "Symbol"
msgid "Alpine Hut"
-msgstr ""
+msgstr "Horská chata"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:199
msgctxt "Symbol"
msgid "Bench or Park"
-msgstr ""
+msgstr "Lavička alebo park"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:200
-#, fuzzy
msgctxt "Symbol"
msgid "Playground"
-msgstr "Pozadie"
+msgstr "Detské ihrisko"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:201
msgctxt "Symbol"
msgid "Fountain"
-msgstr ""
+msgstr "Fontána"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:202
-#, fuzzy
msgctxt "Symbol"
msgid "Library"
-msgstr "Knižnica nástrojov"
+msgstr "Knižnica"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:203
msgctxt "Symbol"
msgid "Town Hall"
-msgstr ""
+msgstr "Radnica"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:204
msgctxt "Symbol"
msgid "Court"
-msgstr ""
+msgstr "Súd"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:205
msgctxt "Symbol"
msgid "Fire Station / House"
-msgstr ""
+msgstr "Požiarna stanica"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:206
-#, fuzzy
msgctxt "Symbol"
msgid "Police Station"
-msgstr "Viac sýtosti"
+msgstr "Policajná stanica"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:207
msgctxt "Symbol"
msgid "Prison"
-msgstr ""
+msgstr "Väznica"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:208
msgctxt "Symbol"
msgid "Post Office"
-msgstr ""
+msgstr "Pošta"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:209
-#, fuzzy
msgctxt "Symbol"
msgid "Public Building"
-msgstr "Voľné dielo"
+msgstr "Verejná budova"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:210
msgctxt "Symbol"
msgid "Recycling"
-msgstr ""
+msgstr "Recyklovanie"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:211
-#, fuzzy
msgctxt "Symbol"
msgid "Survey Point"
-msgstr "Gergonov bod"
+msgstr "Výhľad"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:212
msgctxt "Symbol"
msgid "Toll Booth"
-msgstr ""
+msgstr "Mýtna búdka"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:213
msgctxt "Symbol"
msgid "Lift Gate"
-msgstr ""
+msgstr "Zdvíhacie vráta"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:214
-#, fuzzy
msgctxt "Symbol"
msgid "Steps"
msgstr "Kroky"
@@ -2173,776 +2125,739 @@ msgstr "Kroky"
#: ../share/symbols/symbols.h:215
msgctxt "Symbol"
msgid "Stile"
-msgstr ""
+msgstr "Turniket"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:216
-#, fuzzy
msgctxt "Symbol"
msgid "Kissing Gate"
-msgstr "Chýbajúca graféma:"
+msgstr "Bozkávacia brána"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:217
msgctxt "Symbol"
msgid "Gate"
-msgstr ""
+msgstr "Brána"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:219
-#, fuzzy
msgctxt "Symbol"
msgid "Entrance"
-msgstr "Rozšíriť"
+msgstr "Vchod"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:220
msgctxt "Symbol"
msgid "Cycle Barrier"
-msgstr ""
+msgstr "Bariéra proti cyklistom"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:221
-#, fuzzy
msgctxt "Symbol"
msgid "Cattle Grid"
-msgstr "Karteziánska mriežka"
+msgstr "Mriežka proti pohybu dobytka"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:222
msgctxt "Symbol"
msgid "Bollard"
-msgstr ""
+msgstr "Piloty"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:223
-#, fuzzy
msgctxt "Symbol"
msgid "University"
-msgstr "Intenzita:"
+msgstr "Univerzita"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:224
msgctxt "Symbol"
msgid "High/Secondary School"
-msgstr ""
+msgstr "Stredná škola"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:225
msgctxt "Symbol"
msgid "School"
-msgstr ""
+msgstr "Škola"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:226
msgctxt "Symbol"
msgid "Kindergarten"
-msgstr ""
+msgstr "Materská škola"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:229
msgctxt "Symbol"
msgid "Pub"
-msgstr ""
+msgstr "Krčma"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:230
msgctxt "Symbol"
msgid "Desserts/Cakes Shop"
-msgstr ""
+msgstr "Cukrovinky"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:231
msgctxt "Symbol"
msgid "Fast Food"
-msgstr ""
+msgstr "Fast food"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:232
msgctxt "Symbol"
msgid "Public Tap/Water"
-msgstr ""
+msgstr "Verejná studňa/kohútik"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:233
msgctxt "Symbol"
msgid "Cafe"
-msgstr ""
+msgstr "Kaviareň"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:234
msgctxt "Symbol"
msgid "Beer Garden"
-msgstr ""
+msgstr "Pivná záhradka"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:235
msgctxt "Symbol"
msgid "Wine Bar"
-msgstr ""
+msgstr "Vináreň"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:236
msgctxt "Symbol"
msgid "Opticians/Eye Doctors"
-msgstr ""
+msgstr "Optika/očný lekár"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:237
-#, fuzzy
msgctxt "Symbol"
msgid "Dentist"
-msgstr "Identita"
+msgstr "Zubár"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:238
msgctxt "Symbol"
msgid "Veterinarian"
-msgstr ""
+msgstr "Veterinárny lekár"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:239
msgctxt "Symbol"
msgid "Drugs Dispensary"
-msgstr ""
+msgstr "Výdaj liekov"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:240
msgctxt "Symbol"
msgid "Pharmacy"
-msgstr ""
+msgstr "Lekáreň"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:241
-#, fuzzy
msgctxt "Symbol"
msgid "Accident & Emergency"
-msgstr "Výrazná zelená"
+msgstr "Úrazy a pohotovosť"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:242
msgctxt "Symbol"
msgid "Hospital"
-msgstr ""
+msgstr "Nemocnica"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:243
-#, fuzzy
msgctxt "Symbol"
msgid "Doctors"
-msgstr "Konektor"
+msgstr "Lekári"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:244
msgctxt "Symbol"
msgid "Scrub Land"
-msgstr ""
+msgstr "Scrub"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:245
msgctxt "Symbol"
msgid "Swamp"
-msgstr ""
+msgstr "Močiar"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:246
msgctxt "Symbol"
msgid "Hills"
-msgstr ""
+msgstr "Kopce"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:247
msgctxt "Symbol"
msgid "Grass Land"
-msgstr ""
+msgstr "Trávnatá krajina"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:248
msgctxt "Symbol"
msgid "Deciduous Forest"
-msgstr ""
+msgstr "Listnatý les"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:249
msgctxt "Symbol"
msgid "Mixed Forest"
-msgstr ""
+msgstr "Zmiešaný les"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:250
msgctxt "Symbol"
msgid "Coniferous Forest"
-msgstr ""
+msgstr "Ihličnatý les"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:251
msgctxt "Symbol"
msgid "Church or Place of Worship"
-msgstr ""
+msgstr "Kostol alebo miesto uctievania"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:252
msgctxt "Symbol"
msgid "Bank"
-msgstr ""
+msgstr "Banka"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:253
-#, fuzzy
msgctxt "Symbol"
msgid "Power Lines"
-msgstr "Čiara s uzlami"
+msgstr "Elektrické vedenie"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:254
msgctxt "Symbol"
msgid "Watch Tower"
-msgstr ""
+msgstr "Rozhľadňa"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:255
-#, fuzzy
msgctxt "Symbol"
msgid "Transmitter"
-msgstr "Transformácia vzoriek"
+msgstr "Vysielač"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:256
msgctxt "Symbol"
msgid "Village"
-msgstr ""
+msgstr "Dedina"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:257
msgctxt "Symbol"
msgid "Town"
-msgstr ""
+msgstr "Mesto"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:258
msgctxt "Symbol"
msgid "Hamlet"
-msgstr ""
+msgstr "Samota"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:259
msgctxt "Symbol"
msgid "City"
-msgstr ""
+msgstr "Mesto"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:260
msgctxt "Symbol"
msgid "Peak"
-msgstr ""
+msgstr "Vrchol"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:261
-#, fuzzy
msgctxt "Symbol"
msgid "Mountain Pass"
-msgstr "Vitráž"
+msgstr "Horské sedlo"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:262
msgctxt "Symbol"
msgid "Mine"
-msgstr ""
+msgstr "Baňa"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:263
msgctxt "Symbol"
msgid "Military Complex"
-msgstr ""
+msgstr "Vojenská základňa"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:264
msgctxt "Symbol"
msgid "Embassy"
-msgstr ""
+msgstr "Veľvyslanectvo"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:265
msgctxt "Symbol"
msgid "Toy Shop"
-msgstr ""
+msgstr "Hračkárstvo"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:266
-#, fuzzy
msgctxt "Symbol"
msgid "Supermarket"
-msgstr "Nastaviť zakončenia čiar"
+msgstr "Supermarket"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:267
msgctxt "Symbol"
msgid "Jewlers"
-msgstr ""
+msgstr "Klenotníctvo"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:268
msgctxt "Symbol"
msgid "Hairdressers"
-msgstr ""
+msgstr "Kaderníctvo"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:269
-#, fuzzy
msgctxt "Symbol"
msgid "Greengrocer"
-msgstr "Zelená"
+msgstr "Zelenina"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:270
msgctxt "Symbol"
msgid "Gift Shop"
-msgstr ""
+msgstr "Suveníry"
# TODO: check
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:271
-#, fuzzy
msgctxt "Symbol"
msgid "Garden Center"
-msgstr "Stred a centrovať"
+msgstr "Záhradkárske potreby"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:272
msgctxt "Symbol"
msgid "Florist"
-msgstr ""
+msgstr "Kvetinárstvo"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:273
msgctxt "Symbol"
msgid "Fish Monger"
-msgstr ""
+msgstr "Predajňa rýb"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:274
msgctxt "Symbol"
msgid "Real Estate"
-msgstr ""
+msgstr "Realitná kancelária"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:275
-#, fuzzy
msgctxt "Symbol"
msgid "Hardware / DIY"
-msgstr "Hardvér"
+msgstr "Železiarstvo"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:276
msgctxt "Symbol"
msgid "Shop"
-msgstr ""
+msgstr "Obchod"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:277
-#, fuzzy
msgctxt "Symbol"
msgid "Confectioner"
-msgstr "Konektory"
+msgstr "Cukráreň"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:278
msgctxt "Symbol"
msgid "Computer Shop"
-msgstr ""
+msgstr "Obchod s výpočtovou technikou"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:279
-#, fuzzy
msgctxt "Symbol"
msgid "Clothing"
-msgstr "Vyhladzovanie:"
+msgstr "Oblečenie"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:280
msgctxt "Symbol"
msgid "Mechanic"
-msgstr ""
+msgstr "Mechanik"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:281
msgctxt "Symbol"
msgid "Car Dealer"
-msgstr ""
+msgstr "Predajňa áut"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:282
msgctxt "Symbol"
msgid "Butcher"
-msgstr ""
+msgstr "Mäsiar"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:283
msgctxt "Symbol"
msgid "Meat Shop"
-msgstr ""
+msgstr "Mäsiarstvo"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:284
msgctxt "Symbol"
msgid "Bicycle Shop"
-msgstr ""
+msgstr "Predajňa bicyklov"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:285
msgctxt "Symbol"
msgid "Baker"
-msgstr ""
+msgstr "Pekáreň"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:286
msgctxt "Symbol"
msgid "Off License / Liquor Store"
-msgstr ""
+msgstr "Obchod s liehovinami"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:287
msgctxt "Symbol"
msgid "Wind Surfing"
-msgstr ""
+msgstr "Windsurfing"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:288
msgctxt "Symbol"
msgid "Tennis"
-msgstr ""
+msgstr "Tenis"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:289
msgctxt "Symbol"
msgid "Outdoor Pool"
-msgstr ""
+msgstr "Vonkajší bazén"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:290
msgctxt "Symbol"
msgid "Indoor Pool"
-msgstr ""
+msgstr "Krytý bazén"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:291
msgctxt "Symbol"
msgid "Skiing"
-msgstr ""
+msgstr "Lyžovanie"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:292
-#, fuzzy
msgctxt "Symbol"
msgid "Sailing"
-msgstr "Posúvanie"
+msgstr "Plachtenie"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:293
-#, fuzzy
msgctxt "Symbol"
msgid "Leisure Center"
-msgstr "Znovunastaviť stred"
+msgstr "Centrum voľného času"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:294
msgctxt "Symbol"
msgid "Ice Skating"
-msgstr ""
+msgstr "Korčuľovanie"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:295
msgctxt "Symbol"
msgid "Equine Sports"
-msgstr ""
+msgstr "Konské športy"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:296
msgctxt "Symbol"
msgid "Rock Climbing"
-msgstr ""
+msgstr "Horolezectvo"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:297
msgctxt "Symbol"
msgid "Gym"
-msgstr ""
+msgstr "Telocvičňa"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:298
msgctxt "Symbol"
msgid "Golf"
-msgstr ""
+msgstr "Golf"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:299
-#, fuzzy
msgctxt "Symbol"
msgid "Diving"
-msgstr "Rozdelenie"
+msgstr "Potápanie"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:300
msgctxt "Symbol"
msgid "Archery"
-msgstr ""
+msgstr "Lukostreľba"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:301
-#, fuzzy
msgctxt "Symbol"
msgid "Zoo"
-msgstr "Lupa"
+msgstr "Zoo"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:302
msgctxt "Symbol"
msgid "Wreck"
-msgstr ""
+msgstr "Vrak"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:303
#, fuzzy
msgctxt "Symbol"
msgid "Water Wheel"
-msgstr "Koleso"
+msgstr "Vodné koleso"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:304
-#, fuzzy
msgctxt "Symbol"
msgid "Point of Interest"
-msgstr "Vlastnosti tlače"
+msgstr "Bod záujmu"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:305
-#, fuzzy
msgctxt "Symbol"
msgid "Theater"
-msgstr "Vytvoriť"
+msgstr "Divadlo"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:306
msgctxt "Symbol"
msgid "Park / Picnic Area"
-msgstr ""
+msgstr "Park / Oblasť na piknik"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:307
-#, fuzzy
msgctxt "Symbol"
msgid "Monument"
-msgstr "Dokument"
+msgstr "Pamätihodnosť"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:309
msgctxt "Symbol"
msgid "Beach"
-msgstr ""
+msgstr "Pláž"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:310
-#, fuzzy
msgctxt "Symbol"
msgid "Battle Location"
-msgstr "Umiestnenie"
+msgstr "Miesto konania bitky"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:311
msgctxt "Symbol"
msgid "Archaeology / Ruins"
-msgstr ""
+msgstr "Archeológia / zrúcaniny"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:312
msgctxt "Symbol"
msgid "Walking"
-msgstr ""
+msgstr "Chôdza"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:313
-#, fuzzy
msgctxt "Symbol"
msgid "Train"
-msgstr "Režim zrna"
+msgstr "Vlak"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:315
msgctxt "Symbol"
msgid "Underground Rail"
-msgstr ""
+msgstr "Podzemná železnica"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:317
msgctxt "Symbol"
msgid "Bike Rental"
-msgstr ""
+msgstr "Požičovňa bicyklov"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:319
msgctxt "Symbol"
msgid "Carpool"
-msgstr ""
+msgstr "Spolujazda"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:320
-#, fuzzy
msgctxt "Symbol"
msgid "Flood Gate"
-msgstr "Vyplnenie"
+msgstr "Stavidlo"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:321
-#, fuzzy
msgctxt "Symbol"
msgid "Shipping"
-msgstr "Kvapkanie"
+msgstr "Preprava"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:322
-#, fuzzy
msgctxt "Symbol"
msgid "Disabled Parking"
-msgstr "Vypnuté"
+msgstr "Parkovanie pre hendikepovaných"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:323
msgctxt "Symbol"
msgid "Paid Parking"
-msgstr ""
+msgstr "Platené parkovanie"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:324
msgctxt "Symbol"
msgid "Bike Parking"
-msgstr ""
+msgstr "Parkovanie bicyklov"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:326
msgctxt "Symbol"
msgid "Marina"
-msgstr ""
+msgstr "Prístav"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:327
-#, fuzzy
msgctxt "Symbol"
msgid "Fuel Station"
-msgstr "Vzťah"
+msgstr "Čerpacia stanica"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:328
-#, fuzzy
msgctxt "Symbol"
msgid "Bus Stop"
-msgstr "Za_staviť"
+msgstr "Autobusová zastávka"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:329
-#, fuzzy
msgctxt "Symbol"
msgid "Bus Station"
-msgstr "Menej sýtosti"
+msgstr "Autobusová stanica"
#. Symbols: ./MapSymbols.svg
#: ../share/symbols/symbols.h:330
-#, fuzzy
msgctxt "Symbol"
msgid "Airport"
-msgstr "Importovať"
+msgstr "Letisko"
#: ../share/templates/templates.h:1
-#, fuzzy
msgid "A4 Landscape Page"
-msgstr "_Krajinka"
+msgstr "Stránka A4 na šírku"
#: ../share/templates/templates.h:1
msgid "Empty A4 landscape sheet"
-msgstr ""
+msgstr "Prázdny list A4 na šírku"
#: ../share/templates/templates.h:1
msgid "A4 paper sheet empty landscape"
-msgstr ""
+msgstr "Prázdny list papiera A4 na šírku"
#: ../share/templates/templates.h:1
-#, fuzzy
msgid "A4 Page"
-msgstr "Stránka"
+msgstr "Stránka A4"
#: ../share/templates/templates.h:1
-#, fuzzy
msgid "Empty A4 sheet"
-msgstr "Prázdny výber"
+msgstr "Prázdny list A4"
#: ../share/templates/templates.h:1
msgid "A4 paper sheet empty"
-msgstr ""
+msgstr "Prázdny list papiera A4"
#: ../share/templates/templates.h:1
-#, fuzzy
msgid "Black Opaque"
-msgstr "Čierny kanál"
+msgstr "Čierny matný"
#: ../share/templates/templates.h:1
msgid "Empty black page"
-msgstr ""
+msgstr "Prázdna čierna stránka"
#: ../share/templates/templates.h:1
msgid "black opaque empty"
-msgstr ""
+msgstr "čierna matná prázdna"
#: ../share/templates/templates.h:1
msgid "White Opaque"
-msgstr ""
+msgstr "Biela matná"
#: ../share/templates/templates.h:1
-#, fuzzy
msgid "Empty white page"
-msgstr "Exportovať kresbu, nie stránku"
+msgstr "prázdna biela matná stránka"
#: ../share/templates/templates.h:1
msgid "white opaque empty"
-msgstr ""
+msgstr "prázdna biela matná"
#: ../share/templates/templates.h:1
msgid "Business Card 85x54mm"
-msgstr ""
+msgstr "Vizitka 85x54 mm"
#: ../share/templates/templates.h:1
msgid "Empty business card template."
-msgstr ""
+msgstr "Prázdna šablóna vizitky."
#: ../share/templates/templates.h:1
msgid "business card empty 85x54"
-msgstr ""
+msgstr "prázdna vizitka 85x54"
#: ../share/templates/templates.h:1
msgid "Business Card 90x50mm"
-msgstr ""
+msgstr "Vizitka 90x50 mm"
#: ../share/templates/templates.h:1
msgid "business card empty 90x50"
-msgstr ""
+msgstr "prázdna vizitka 90x50"
#: ../share/templates/templates.h:1
msgid "CD Cover 300dpi"
-msgstr ""
+msgstr "Obal na CD 300 dpi"
#: ../share/templates/templates.h:1
msgid "Empty CD box cover."
-msgstr ""
+msgstr "Prázdny obal CD."
#: ../share/templates/templates.h:1
msgid "CD cover disc disk 300dpi box"
-msgstr ""
+msgstr "obal disku CD 300 dpi"
#: ../share/templates/templates.h:1
msgid "CD Label 120x120 "
-msgstr ""
+msgstr "Obal CD 120x120"
#: ../share/templates/templates.h:1
msgid "Simple CD Label template with disc's pattern."
-msgstr ""
+msgstr "Šablóna jednoduchého obalu CD so vzorom disku."
#: ../share/templates/templates.h:1
msgid "CD label 120x120 disc disk"
diff --git a/share/extensions/dimension.inx b/share/extensions/dimension.inx
index 343ad27bf..d89e5afa4 100644
--- a/share/extensions/dimension.inx
+++ b/share/extensions/dimension.inx
@@ -7,7 +7,7 @@
<dependency type="executable" location="extensions">pathmodifier.py</dependency>
<param name="xoffset" type="float" min="0" max="1000" _gui-text="X Offset:">50</param>
<param name="yoffset" type="float" min="0" max="1000" _gui-text="Y Offset:">50</param>
- <param name="type" type="enum" _gui-text="Bounding box type :">
+ <param name="type" type="enum" _gui-text="Bounding box type:">
<_item value="geometric">Geometric</_item>
<_item value="visual">Visual</_item>
</param>
diff --git a/share/extensions/dpiswitcher.inx b/share/extensions/dpiswitcher.inx
new file mode 100644
index 000000000..145fd9357
--- /dev/null
+++ b/share/extensions/dpiswitcher.inx
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+ <inkscape-extension xmlns=
+ "http://www.inkscape.org/namespace/inkscape/extension">
+ <_name>DPI Switcher</_name>
+ <id>org.inkscape.dpiswitcher</id>
+ <dependency type="executable" location="extensions">dpiswitcher.py</dependency>
+ <dependency type="executable" location="extensions">inkex.py</dependency>
+ <param name="switcher" type="enum" _gui-text="Type of convert:">
+ <_item value="0">DPI Switch from 90 to 96</_item>
+ <_item value="1">DPI Switch from 96 to 90</_item>
+ </param>
+ <effect needs-live-preview="false" needs-document="no">
+ <object-type>all</object-type>
+ <effects-menu>
+ <submenu _name="Document"/>
+ </effects-menu>
+ </effect>
+ <script>
+ <command reldir="extensions" interpreter="python">dpiswitcher.py</command>
+ </script>
+</inkscape-extension>
diff --git a/share/extensions/dpiswitcher.py b/share/extensions/dpiswitcher.py
new file mode 100644
index 000000000..b4630ae4c
--- /dev/null
+++ b/share/extensions/dpiswitcher.py
@@ -0,0 +1,148 @@
+#!/usr/bin/env python
+'''
+This extension scale or reduce a document to fit diferent SVG DPI -90/96-
+
+Copyright (C) 2012 Jabiertxo Arraiza, jabier.arraiza@marker.es
+
+Version 0.4 - DPI Switcher
+
+TODO:
+Comment Better!!!
+
+This program 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 2 of the License, or
+(at your option) any later version.
+
+This program 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 this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+'''
+
+import inkex, sys, re, string
+from lxml import etree
+
+class DPISwitcher(inkex.Effect):
+
+ def __init__(self):
+ inkex.Effect.__init__(self)
+ self.OptionParser.add_option("--switcher", action="store",
+ type="string", dest="switcher", default="0",
+ help="Select the DPI switch you want")
+ self.factor = 90.0/96.0
+ self.unit = "px"
+
+ def scaleRoot(self, svg):
+ widthNumber = re.sub("[a-zA-Z]", "", svg.get('width'))
+ heightNumber = re.sub("[a-zA-Z]", "", svg.get('height'))
+ if svg.get('viewBox'):
+ widthNumber = svg.get('viewBox').split(" ")[2]
+ heightNumber = svg.get('viewBox').split(" ")[3]
+ widthDoc = str(float(widthNumber) * self.factor)
+ heightDoc = str(float(heightNumber) * self.factor)
+ if svg.get('height'):
+ svg.set('height', heightDoc)
+ if svg.get('width'):
+ svg.set('width', widthDoc)
+ svg.set('viewBox',"0 0 " + widthDoc + " " + heightDoc)
+ xpathStr = '//svg:rect | //svg:image | //svg:path | //svg:circle | //svg:ellipse | //svg:text'
+ elements = svg.xpath(xpathStr, namespaces=inkex.NSS)
+ for element in elements:
+ box3DSide = element.get(inkex.addNS('box3dsidetype', 'inkscape'))
+ if box3DSide:
+ continue
+ if element.get('transform'):
+ if "matrix" in str(element.get('transform')):
+ result = re.sub(r".*?((matrix).*?\))", self.scaleMatrixElement, str(element.get('transform')))
+ element.set('transform', result)
+ if "scale" in str(element.get('transform')):
+ result = re.sub(r".*?((scale).*?\))", self.scaleElement, str(element.get('transform')))
+ element.set('transform', result)
+ if "scale" not in str(element.get('transform')) and "matrix" not in str(element.get('transform')):
+ element.set('transform', str(element.get('transform')) + "scale(" + str(self.factor) + ", " + str(self.factor) + ")")
+ else:
+ element.set('transform', "scale(" + str(self.factor) + ", " + str(self.factor) + ")")
+ xpathStr = '//svg:g'
+ elements = svg.xpath(xpathStr, namespaces=inkex.NSS)
+ for element in elements:
+ if element.get('transform'):
+ if "matrix" in str(element.get('transform')):
+ result = re.sub(r".*?((matrix).*?\))", self.translateMatrixElement, str(element.get('transform')))
+ element.set('transform', result)
+ if "translate" in str(element.get('transform')):
+ result = re.sub(r".*?((translate).*?\))", self.translateElement, str(element.get('transform')))
+ element.set('transform', result)
+ self.scaleGuides(svg)
+ self.scaleGrid(svg)
+
+ def scaleGrid(self, svg):
+ xpathStr = '//inkscape:grid'
+ grids = svg.xpath(xpathStr, namespaces=inkex.NSS)
+ for grid in grids:
+ empspacingNumber = float(grid.get("empspacing")) * self.factor
+ spacingxNumber = float(grid.get("spacingx").replace("px", "")) * self.factor
+ spacingyNumber = float(grid.get("spacingy").replace("px", "")) * self.factor
+ originxNumber = float(grid.get("originx").replace("px", "")) * self.factor
+ originyNumber = float(grid.get("originy").replace("px", "")) * self.factor
+ grid.set("empspacing", str(empspacingNumber))
+ grid.set("spacingx", str(spacingxNumber) + "px")
+ grid.set("spacingy", str(spacingyNumber) + "px")
+ grid.set("originx", str(originxNumber) + "px")
+ grid.set("originy", str(originyNumber) + "px")
+
+ def scaleGuides(self, svg):
+ xpathStr = '//sodipodi:guide'
+ guides = svg.xpath(xpathStr, namespaces=inkex.NSS)
+ for guide in guides:
+ point = string.split(guide.get("position"), ",")
+ guide.set("position", str(float(point[0].strip()) * self.factor) + "," + str(float(point[1].strip()) * self.factor))
+
+ #a dictionary of unit to user unit conversion factors
+ __uuconv = {'in':96.0, 'pt':1.33333333333, 'px':1.0, 'mm':3.77952755913, 'cm':37.7952755913,
+ 'm':3779.52755913, 'km':3779527.55913, 'pc':16.0, 'yd':3456.0 , 'ft':1152.0}
+
+ __uuconvLegazy = {'in':90.0, 'pt':1.25, 'px':1, 'mm':3.5433070866, 'cm':35.433070866, 'm':3543.3070866,
+ 'km':3543307.0866, 'pc':15.0, 'yd':3240 , 'ft':1080}
+
+ def scaleElement(self, m):
+ scaleVal = m.group(1).replace("scale","").replace(" ","").replace("(","").replace(")","").split(",")
+ return "scale(" + str(float(scaleVal[0]) * self.factor) + "," + str(float(scaleVal[1]) * self.factor) + ")"
+
+ def scaleMatrixElement(self, m):
+ scaleMatrixVal = m.group(1).replace("matrix","").replace(" ","").replace("(","").replace(")","").split(",")
+ return "matrix(" + str(float(scaleMatrixVal[0]) * self.factor) + "," + scaleMatrixVal[1] + "," + scaleMatrixVal[2] + "," + str(float(scaleMatrixVal[3]) * self.factor) + "," + scaleMatrixVal[4] + "," + scaleMatrixVal[5] + ")"
+
+ def translateElement(self, m):
+ translateVal = m.group(1).replace("translate","").replace(" ","").replace("(","").replace(")","").split(",")
+ return "translate(" + str(float(translateVal[0]) * self.factor) + "," + str(float(translateVal[1]) * self.factor) + ")"
+
+ def translateMatrixElement(self, m):
+ translateMatrixVal = m.group(1).replace("matrix","").replace(" ","").replace("(","").replace(")","").split(",")
+ return "matrix(" + translateMatrixVal[0] + "," + translateMatrixVal[1] + "," + translateMatrixVal[2] + "," + translateMatrixVal[3] + "," + str(float(translateMatrixVal[4]) * self.factor) + "," + str(float(translateMatrixVal[5]) * self.factor) + ")"
+
+ def effect(self):
+ if self.options.switcher == "0":
+ self.factor = 96.0/90.0
+ saveout = sys.stdout
+ sys.stdout = sys.stderr
+ svg = self.document.getroot()
+ namedview = svg.find(inkex.addNS('namedview', 'sodipodi'))
+ self.unit = namedview.get(inkex.addNS('document-units', 'inkscape'))
+ if self.unit and self.unit <> "px":
+ unitExponent = 0.0
+ if self.options.switcher == "0":
+ unitExponent = 1.0/(self.factor/self.__uuconv[self.unit])
+ else:
+ unitExponent = 1.0/(self.factor/self.__uuconvLegazy[self.unit])
+ namedview.set(inkex.addNS('document-units', 'inkscape'), "px")
+ self.factor = self.factor * unitExponent
+ self.scaleRoot(svg);
+ sys.stdout = saveout
+
+effect = DPISwitcher()
+effect.affect()
diff --git a/share/extensions/dxf_input.inx b/share/extensions/dxf_input.inx
index 0ba38252a..d51a07c39 100644
--- a/share/extensions/dxf_input.inx
+++ b/share/extensions/dxf_input.inx
@@ -23,7 +23,7 @@
<page name="help" _gui-text="Help">
<_param name="inputhelp" type="description" xml:space="preserve">- AutoCAD Release 13 and newer.
- assume dxf drawing is in mm.
-- assume svg drawing is in pixels, at 90 dpi.
+- assume svg drawing is in pixels, at 96 dpi.
- scale factor and origin apply only to manual scaling.
- layers are preserved only on File->Open, not Import.
- limited support for BLOCKS, use AutoCAD Explode Blocks instead, if needed.</_param>
diff --git a/share/extensions/dxf_input.py b/share/extensions/dxf_input.py
index 7ca176c92..972895cb8 100755
--- a/share/extensions/dxf_input.py
+++ b/share/extensions/dxf_input.py
@@ -354,7 +354,7 @@ parser.add_option("--font", action="store", type="string", dest="font", default=
parser.add_option("--tab", action="store", type="string", dest="tab", default="Options")
parser.add_option("--inputhelp", action="store", type="string", dest="inputhelp", default="")
(options, args) = parser.parse_args(inkex.sys.argv[1:])
-doc = inkex.etree.parse(StringIO('<svg xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" width="%s" height="%s"></svg>' % (210*90/25.4, 297*90/25.4)))
+doc = inkex.etree.parse(StringIO('<svg xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" width="%s" height="%s"></svg>' % (210*96/25.4, 297*96/25.4)))
desc = inkex.etree.SubElement(doc.getroot(), 'desc', {})
defs = inkex.etree.SubElement(doc.getroot(), 'defs', {})
marker = inkex.etree.SubElement(defs, 'marker', {'id': 'DistanceX', 'orient': 'auto', 'refX': '0.0', 'refY': '0.0', 'style': 'overflow:visible'})
@@ -365,7 +365,7 @@ inkex.etree.SubElement(pattern, 'path', {'d': 'M6 2 l-4,4', 'stroke': '#000000',
inkex.etree.SubElement(pattern, 'path', {'d': 'M4 0 l-4,4', 'stroke': '#000000', 'stroke-width': '0.25', 'linecap': 'square'})
stream = open(args[0], 'r')
xmax = xmin = ymin = 0.0
-height = 297.0*90.0/25.4 # default A4 height in pixels
+height = 297.0*96.0/25.4 # default A4 height in pixels
line = get_line()
polylines = 0
flag = 0 # (0, 1, 2, 3) = (none, LAYER, LTYPE, DIMTXT)
@@ -415,7 +415,7 @@ else:
xmin = float(options.xmin)
ymin = float(options.ymin)
desc.text = '%s - scale = %f, origin = (%f, %f), auto = %s' % (unicode(args[0], options.input_encode), scale, xmin, ymin, options.auto)
-scale *= 90.0/25.4 # convert from mm to pixels
+scale *= 96.0/25.4 # convert from mm to pixels
if not layer_nodes.has_key('0'):
attribs = {inkex.addNS('groupmode','inkscape'): 'layer', inkex.addNS('label','inkscape'): '0'}
@@ -487,7 +487,7 @@ while line[0] and (line[1] != 'ENDSEC' or not inENTITIES):
w = 0.5 # default lineweight for POINT
if vals[groups['370']]: # Common Lineweight
if vals[groups['370']][0] > 0:
- w = 90.0/25.4*vals[groups['370']][0]/100.0
+ w = 96.0/25.4*vals[groups['370']][0]/100.0
if w < 0.5:
w = 0.5
style = simplestyle.formatStyle({'stroke': '%s' % color, 'fill': 'none', 'stroke-width': '%.1f' % w})
diff --git a/share/extensions/dxf_outlines.inx b/share/extensions/dxf_outlines.inx
index ad3aef17f..c6f71d269 100644
--- a/share/extensions/dxf_outlines.inx
+++ b/share/extensions/dxf_outlines.inx
@@ -10,14 +10,14 @@
<param name="ROBO" type="boolean" _gui-text="use ROBO-Master type of spline output">false</param>
<param name="POLY" type="boolean" _gui-text="use LWPOLYLINE type of line output">true</param>
<param name="units" type="enum" _gui-text="Base unit">
- <_item value="72./90">pt</_item>
- <_item value="1./15">pc</_item>
+ <_item value="72./96">pt</_item>
+ <_item value="1./16">pc</_item>
<_item value="1.">px</_item>
- <_item value="25.4/90">mm</_item>
- <_item value="2.54/90">cm</_item>
- <_item value=".0254/90">m</_item>
- <_item value="1./90">in</_item>
- <_item value="1./1080">ft</_item>
+ <_item value="25.4/96">mm</_item>
+ <_item value="2.54/96">cm</_item>
+ <_item value=".0254/96">m</_item>
+ <_item value="1./96">in</_item>
+ <_item value="1./1152">ft</_item>
</param>
<param name="encoding" type="enum" _gui-text="Character Encoding">
<_item value="latin_1">Latin 1</_item>
@@ -34,7 +34,7 @@
</page>
<page name="help" _gui-text="Help">
<_param name="inputhelp" type="description" xml:space="preserve">- AutoCAD Release 14 DXF format.
-- The base unit parameter specifies in what unit the coordinates are output (90 px = 1 in).
+- The base unit parameter specifies in what unit the coordinates are output (96 px = 1 in).
- Supported element types
- paths (lines and splines)
- rectangles
diff --git a/share/extensions/dxf_outlines.py b/share/extensions/dxf_outlines.py
index f5cf37aff..f7e57c32e 100755
--- a/share/extensions/dxf_outlines.py
+++ b/share/extensions/dxf_outlines.py
@@ -76,7 +76,7 @@ class MyEffect(inkex.Effect):
default=True)
self.OptionParser.add_option("--units", action="store",
type="string", dest="units",
- default="72./90") # Points
+ default="72./96") # Points
self.OptionParser.add_option("--encoding", action="store",
type="string", dest="char_encode",
default="latin_1")
@@ -324,7 +324,7 @@ class MyEffect(inkex.Effect):
scale = eval(self.options.units)
if not scale:
- scale = 25.4/90 # if no scale is specified, assume inch as baseunit
+ scale = 25.4/96 # if no scale is specified, assume inch as baseunit
h = self.unittouu(self.document.getroot().xpath('@height', namespaces=inkex.NSS)[0])
self.groupmat = [[[scale, 0.0, 0.0], [0.0, -scale, h*scale]]]
doc = self.document.getroot()
diff --git a/share/extensions/gimp_xcf.inx b/share/extensions/gimp_xcf.inx
index 10bcef627..30406b62d 100644
--- a/share/extensions/gimp_xcf.inx
+++ b/share/extensions/gimp_xcf.inx
@@ -11,7 +11,7 @@
<param name="guides" type="boolean" _gui-text="Save Guides">false</param>
<param name="grid" type="boolean" _gui-text="Save Grid">false</param>
<param name="background" type="boolean" _gui-text="Save Background">false</param>
- <param name="dpi" type="int" min="1" max="3000" _gui-text="File Resolution:">90</param>
+ <param name="dpi" type="int" min="1" max="3000" _gui-text="File Resolution:">96</param>
</page>
<page name="Help" _gui-text="Help">
<_param name="instructions" type="description" xml:space="preserve">This extension exports the document to Gimp XCF format according to the following options:
diff --git a/share/extensions/gimp_xcf.py b/share/extensions/gimp_xcf.py
index c2a8cb274..11c9d041f 100755
--- a/share/extensions/gimp_xcf.py
+++ b/share/extensions/gimp_xcf.py
@@ -63,7 +63,7 @@ class MyEffect(inkex.Effect):
help="Add background color to each layer")
self.OptionParser.add_option("-i", "--dpi",
action="store", type="string",
- dest="resolution", default="90",
+ dest="resolution", default="96",
help="File resolution")
def output(self):
diff --git a/share/extensions/layout_nup.inx b/share/extensions/layout_nup.inx
index bdf650722..2b7734fc3 100644
--- a/share/extensions/layout_nup.inx
+++ b/share/extensions/layout_nup.inx
@@ -15,8 +15,8 @@
<item value="cm">cm</item>
<item value="mm">mm</item>
</param>
- <param name="pgSizeX" type="float" min="0.0" max="9999.0" _gui-text="Size X:">765</param>
- <param name="pgSizeY" type="float" min="0.0" max="9999.0" _gui-text="Size Y:">990</param>
+ <param name="pgSizeX" type="float" min="0.0" max="9999.0" _gui-text="Size X:">816</param>
+ <param name="pgSizeY" type="float" min="0.0" max="9999.0" _gui-text="Size Y:">1056</param>
<_param name="pgMargin" type="description" appearance="header">Page margins</_param>
<param name="pgMarginTop" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Top:">0</param>
<param name="pgMarginBottom" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Bottom:">0</param>
diff --git a/share/extensions/layout_nup_pageframe.py b/share/extensions/layout_nup_pageframe.py
index 59da1f4bb..471a75dd3 100755
--- a/share/extensions/layout_nup_pageframe.py
+++ b/share/extensions/layout_nup_pageframe.py
@@ -38,7 +38,7 @@ def expandTuple(unit, x, length = 4):
#@-node:tbrown.20070622103716.1:expandTuple
#@+node:tbrown.20070622103716.2:GenerateNup
def GenerateNup(unit="px",
- pgSize=("8.5*90","11*90"),
+ pgSize=("8.5*96","11*96"),
pgMargin=(0,0),
pgPadding=(0,0),
num=(2,2),
diff --git a/share/extensions/perfectboundcover.py b/share/extensions/perfectboundcover.py
index 6cdab7eab..9f81dbb36 100755
--- a/share/extensions/perfectboundcover.py
+++ b/share/extensions/perfectboundcover.py
@@ -135,7 +135,7 @@ class PerfectBoundCover(inkex.Effect):
for guide in guides:
newguide = inkex.etree.Element(inkex.addNS('guide','sodipodi'))
newguide.set("orientation", guide[0])
- newguide.set("position", "%f" % (guide[1] * 90))
+ newguide.set("position", "%f" % (guide[1] * 96))
namedview[0].append(newguide)
'''
diff --git a/share/extensions/print_win32_vector.py b/share/extensions/print_win32_vector.py
index ca166d25a..37c2021ac 100644
--- a/share/extensions/print_win32_vector.py
+++ b/share/extensions/print_win32_vector.py
@@ -199,7 +199,7 @@ class MyEffect(inkex.Effect):
if mygdi.StartDocA(self.hDC, byref(docInfo)) < 0:
exit() # user clicked Cancel
- self.scale = (ord(pDevMode[58]) + 256.0*ord(pDevMode[59]))/90 # use PrintQuality from DEVMODE
+ self.scale = (ord(pDevMode[58]) + 256.0*ord(pDevMode[59]))/96 # use PrintQuality from DEVMODE
self.groupmat = [[[self.scale, 0.0, 0.0], [0.0, self.scale, 0.0]]]
doc = self.document.getroot()
self.process_group(doc)
diff --git a/share/extensions/svg2fxg.xsl b/share/extensions/svg2fxg.xsl
index db9f61f22..3853b4d7b 100755
--- a/share/extensions/svg2fxg.xsl
+++ b/share/extensions/svg2fxg.xsl
@@ -832,22 +832,22 @@ extension-element-prefixes="math">
<xsl:value-of select="round(translate($convert_value, 'px', ''))" />
</xsl:when>
<xsl:when test="contains($convert_value, 'pt')">
- <xsl:value-of select="round(translate($convert_value, 'pt', '') * 1.25)" />
+ <xsl:value-of select="round(translate($convert_value, 'pt', '') * 1.333333)" />
</xsl:when>
<xsl:when test="contains($convert_value, 'pc')">
- <xsl:value-of select="round(translate($convert_value, 'pc', '') * 15)" />
+ <xsl:value-of select="round(translate($convert_value, 'pc', '') * 16)" />
</xsl:when>
<xsl:when test="contains($convert_value, 'mm')">
- <xsl:value-of select="round(translate($convert_value, 'mm', '') * 3.543307)" />
+ <xsl:value-of select="round(translate($convert_value, 'mm', '') * 3.779527)" />
</xsl:when>
<xsl:when test="contains($convert_value, 'cm')">
- <xsl:value-of select="round(translate($convert_value, 'cm', '') * 35.43307)" />
+ <xsl:value-of select="round(translate($convert_value, 'cm', '') * 37.79527)" />
</xsl:when>
<xsl:when test="contains($convert_value, 'in')">
- <xsl:value-of select="round(translate($convert_value, 'in', '') * 90)" />
+ <xsl:value-of select="round(translate($convert_value, 'in', '') * 96)" />
</xsl:when>
<xsl:when test="contains($convert_value, 'ft')">
- <xsl:value-of select="round(translate($convert_value, 'ft', '') * 1080)" />
+ <xsl:value-of select="round(translate($convert_value, 'ft', '') * 1152)" />
</xsl:when>
<xsl:when test="not(string(number($convert_value))='NaN')">
<xsl:value-of select="round($convert_value)" />
diff --git a/share/extensions/svg2xaml.xsl b/share/extensions/svg2xaml.xsl
index 040e6bcb2..fa785fa4f 100755
--- a/share/extensions/svg2xaml.xsl
+++ b/share/extensions/svg2xaml.xsl
@@ -854,22 +854,22 @@ exclude-result-prefixes="rdf xlink xs exsl libxslt">
<xsl:value-of select="translate($convert_value, 'px', '')" />
</xsl:when>
<xsl:when test="contains($convert_value, 'pt')">
- <xsl:value-of select="translate($convert_value, 'pt', '') * 1.25" />
+ <xsl:value-of select="translate($convert_value, 'pt', '') * 1.333333" />
</xsl:when>
<xsl:when test="contains($convert_value, 'pc')">
- <xsl:value-of select="translate($convert_value, 'pc', '') * 15" />
+ <xsl:value-of select="translate($convert_value, 'pc', '') * 16" />
</xsl:when>
<xsl:when test="contains($convert_value, 'mm')">
- <xsl:value-of select="translate($convert_value, 'mm', '') * 3.543307" />
+ <xsl:value-of select="translate($convert_value, 'mm', '') * 3.779527" />
</xsl:when>
<xsl:when test="contains($convert_value, 'cm')">
- <xsl:value-of select="translate($convert_value, 'cm', '') * 35.43307" />
+ <xsl:value-of select="translate($convert_value, 'cm', '') * 37.79527" />
</xsl:when>
<xsl:when test="contains($convert_value, 'in')">
- <xsl:value-of select="translate($convert_value, 'in', '') * 90" />
+ <xsl:value-of select="translate($convert_value, 'in', '') * 96" />
</xsl:when>
<xsl:when test="contains($convert_value, 'ft')">
- <xsl:value-of select="translate($convert_value, 'ft', '') * 1080" />
+ <xsl:value-of select="translate($convert_value, 'ft', '') * 1152" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$convert_value" />
diff --git a/share/extensions/synfig_prepare.py b/share/extensions/synfig_prepare.py
index e06efde9b..c6ad48c97 100755
--- a/share/extensions/synfig_prepare.py
+++ b/share/extensions/synfig_prepare.py
@@ -457,17 +457,17 @@ def get_dimension(s="1024"):
elif s[-2:] == "px":
return float(s[:-2])
elif s[-2:] == "pt":
- return float(s[:-2])*1.25
+ return float(s[:-2])*1.333
elif s[-2:] == "em":
return float(s[:-2])*16
elif s[-2:] == "mm":
- return float(s[:-2])*3.54
+ return float(s[:-2])*3.779
elif s[-2:] == "pc":
- return float(s[:-2])*15
+ return float(s[:-2])*16
elif s[-2:] == "cm":
- return float(s[:-2])*35.43
+ return float(s[:-2])*37.79
elif s[-2:] == "in":
- return float(s[:-2])*90
+ return float(s[:-2])*96
else:
return 1024
diff --git a/share/extensions/test/svg/default-inkscape-SVG.svg b/share/extensions/test/svg/default-inkscape-SVG.svg
index a6a610fdb..259e13c0d 100644
--- a/share/extensions/test/svg/default-inkscape-SVG.svg
+++ b/share/extensions/test/svg/default-inkscape-SVG.svg
@@ -8,8 +8,8 @@
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://web.resource.org/cc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
- width="744.09448819"
- height="1052.3622047">
+ width="793.7007874"
+ height="1122.519685">
<defs />
<sodipodi:namedview
id="base"
diff --git a/share/extensions/test/svg/default-plain-SVG.svg b/share/extensions/test/svg/default-plain-SVG.svg
index 544273366..9c0884789 100644
--- a/share/extensions/test/svg/default-plain-SVG.svg
+++ b/share/extensions/test/svg/default-plain-SVG.svg
@@ -8,8 +8,8 @@
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
- width="744.09448819"
- height="1052.3622047">
+ width="793.7007874"
+ height="1122.519685">
<defs
id="defs4" />
<metadata
diff --git a/share/extensions/test/svg/empty-SVG.svg b/share/extensions/test/svg/empty-SVG.svg
index 475cc856b..d6c680b67 100644
--- a/share/extensions/test/svg/empty-SVG.svg
+++ b/share/extensions/test/svg/empty-SVG.svg
@@ -8,6 +8,6 @@
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
- width="744.09448819"
- height="1052.3622047">
+ width="793.7007874"
+ height="1122.519685">
</svg>
diff --git a/share/extensions/webslicer_create_rect.inx b/share/extensions/webslicer_create_rect.inx
index 5b3b447e9..85578e24e 100644
--- a/share/extensions/webslicer_create_rect.inx
+++ b/share/extensions/webslicer_create_rect.inx
@@ -11,7 +11,7 @@
<item value="jpg">JPG</item>
<item value="gif">GIF</item>
</param>
- <param name="dpi" type="float" min="1" max="9999" _gui-text="DPI:">90</param>
+ <param name="dpi" type="float" min="1" max="9999" _gui-text="DPI:">96</param>
<param name="dimension" type="string" _gui-text="Force Dimension:"></param>
<!-- i18n. Description duplicated in a fake value attribute in order to make it translatable -->
<param name="help-dimension1" type="description" _value="Force Dimension must be set as &lt;width&gt;x&lt;height&gt;">Force Dimension must be set as &lt;width&gt;x&lt;height&gt;</param>
diff --git a/share/symbols/MapSymbolsNPS.svg b/share/symbols/MapSymbolsNPS.svg
index 4a8a4bdba..81b24adde 100644
--- a/share/symbols/MapSymbolsNPS.svg
+++ b/share/symbols/MapSymbolsNPS.svg
@@ -309,7 +309,7 @@
</symbol>
<symbol id="FourWheelDriveRoad">
- <title>Four Wheel Drive Road"</title>
+ <title>Four Wheel Drive Road</title>
<path d="m 64.5,37.75 0,-7.25 c 0,-2 -1.5,-2.5 -2.5,-2.5 l -14.25,0 -5.25,-8.75 -3,0 5.25,8.75 -4,6.75 -9.25,0 c -3,-6.25 -9.5,-6 -9.5,-6 l -17,0 0,15.25 2.5,0 a 10.6,10.6 0 0 1 21,0 l 15,0 a 10.6,10.6 0 0 1 21,0 l 1,0 c 1,0 1.75,-0.75 1.75,-1.75 l 0,-4.5 z" style="stroke:none"/>
<g style="fill:none;stroke-width:4">
<circle cx="18" cy="45.375" r="5"/>
@@ -318,7 +318,7 @@
</symbol>
<symbol id="FourWheelDriveRoad_Inv">
- <title>Four Wheel Drive Road"</title>
+ <title>Four Wheel Drive Road</title>
<rect x="0.5" y="0.5" width="71" height="71" ry="6" style="stroke:white"/>
<path d="m 64.5,37.75 0,-7.25 c 0,-2 -1.5,-2.5 -2.5,-2.5 l -14.25,0 -5.25,-8.75 -3,0 5.25,8.75 -4,6.75 -9.25,0 c -3,-6.25 -9.5,-6 -9.5,-6 l -17,0 0,15.25 2.5,0 a 10.6,10.6 0 0 1 21,0 l 15,0 a 10.6,10.6 0 0 1 21,0 l 1,0 c 1,0 1.75,-0.75 1.75,-1.75 l 0,-4.5 z" style="fill:white;stroke:none"/>
<g style="fill:none;stroke:white;stroke-width:4">
diff --git a/share/templates/default_pt.svg b/share/templates/default_pt.svg
index 25cce1917..79cb11dbf 100644
--- a/share/templates/default_pt.svg
+++ b/share/templates/default_pt.svg
@@ -10,7 +10,7 @@
xmlns:dc="http://purl.org/dc/elements/1.1/"
width="210mm"
height="297mm"
- viewBox="0 0 595.27558 841.88974">
+ viewBox="0 0 595.275591 841.889764">
<defs />
<sodipodi:namedview
id="base"
diff --git a/share/templates/default_px.svg b/share/templates/default_px.svg
index eb1cad0ca..26a1ba4fd 100644
--- a/share/templates/default_px.svg
+++ b/share/templates/default_px.svg
@@ -8,8 +8,9 @@
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://web.resource.org/cc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
- width="793.7007874"
- height="1122.519688">
+ width="210mm"
+ height="297mm"
+ viewBox="0 0 793.7007874 1122.519685">
<defs />
<sodipodi:namedview
id="base"
diff --git a/src/display/drawing-pattern.cpp b/src/display/drawing-pattern.cpp
index cf6358278..d0bf5de58 100644
--- a/src/display/drawing-pattern.cpp
+++ b/src/display/drawing-pattern.cpp
@@ -149,8 +149,8 @@ DrawingPattern::renderPattern(float opacity) {
return cp;
}
-unsigned
-DrawingPattern::_updateItem(Geom::IntRect const &area, UpdateContext const &ctx, unsigned flags, unsigned reset)
+// TODO investigate if area should be used.
+unsigned DrawingPattern::_updateItem(Geom::IntRect const &area, UpdateContext const &ctx, unsigned flags, unsigned reset)
{
UpdateContext pattern_ctx;
diff --git a/src/extension/internal/cairo-ps-out.cpp b/src/extension/internal/cairo-ps-out.cpp
index 4defc2ab9..d1511ba84 100644
--- a/src/extension/internal/cairo-ps-out.cpp
+++ b/src/extension/internal/cairo-ps-out.cpp
@@ -333,7 +333,7 @@ CairoPsOutput::init (void)
"<param name=\"textToPath\" gui-text=\"" N_("Convert texts to paths") "\" type=\"boolean\">false</param>\n"
"<param name=\"textToLaTeX\" gui-text=\"" N_("PS+LaTeX: Omit text in PS, and create LaTeX file") "\" type=\"boolean\">false</param>\n"
"<param name=\"blurToBitmap\" gui-text=\"" N_("Rasterize filter effects") "\" type=\"boolean\">true</param>\n"
- "<param name=\"resolution\" gui-text=\"" N_("Resolution for rasterization (dpi):") "\" type=\"int\" min=\"1\" max=\"10000\">90</param>\n"
+ "<param name=\"resolution\" gui-text=\"" N_("Resolution for rasterization (dpi):") "\" type=\"int\" min=\"1\" max=\"10000\">96</param>\n"
"<param name=\"area\" gui-text=\"" N_("Output page size") "\" type=\"optiongroup\" >\n"
"<_option value=\"page\">" N_("Use document's page size") "</_option>"
"<_option value=\"drawing\">" N_("Use exported object's size") "</_option>"
@@ -372,7 +372,7 @@ CairoEpsOutput::init (void)
"<param name=\"textToPath\" gui-text=\"" N_("Convert texts to paths") "\" type=\"boolean\">false</param>\n"
"<param name=\"textToLaTeX\" gui-text=\"" N_("EPS+LaTeX: Omit text in EPS, and create LaTeX file") "\" type=\"boolean\">false</param>\n"
"<param name=\"blurToBitmap\" gui-text=\"" N_("Rasterize filter effects") "\" type=\"boolean\">true</param>\n"
- "<param name=\"resolution\" gui-text=\"" N_("Resolution for rasterization (dpi):") "\" type=\"int\" min=\"1\" max=\"10000\">90</param>\n"
+ "<param name=\"resolution\" gui-text=\"" N_("Resolution for rasterization (dpi):") "\" type=\"int\" min=\"1\" max=\"10000\">96</param>\n"
"<param name=\"area\" gui-text=\"" N_("Output page size") "\" type=\"optiongroup\" >\n"
"<_option value=\"page\">" N_("Use document's page size") "</_option>"
"<_option value=\"drawing\">" N_("Use exported object's size") "</_option>"
diff --git a/src/extension/internal/cairo-render-context.cpp b/src/extension/internal/cairo-render-context.cpp
index cb414b3b2..d76c187a2 100644
--- a/src/extension/internal/cairo-render-context.cpp
+++ b/src/extension/internal/cairo-render-context.cpp
@@ -658,12 +658,12 @@ CairoRenderContext::popLayer(void)
CairoRenderContext *mask_ctx = _renderer->createContext();
// Fix Me: This is a kludge. PDF and PS output is set to 72 dpi but the
- // Cairo surface is expecting the mask to be 90 dpi.
+ // Cairo surface is expecting the mask to be 96 dpi.
float surface_width = _width;
float surface_height = _height;
if( _vector_based_target ) {
- surface_width *= 1.25;
- surface_height *= 1.25;
+ surface_width *= 4.0/3.0;
+ surface_height *= 4.0/3.0;
}
if (!mask_ctx->setupSurface( surface_width, surface_height )) {
TRACE(("mask: setupSurface failed\n"));
diff --git a/src/extension/internal/cairo-renderer-pdf-out.cpp b/src/extension/internal/cairo-renderer-pdf-out.cpp
index 0c314a576..0c4ad4f0a 100644
--- a/src/extension/internal/cairo-renderer-pdf-out.cpp
+++ b/src/extension/internal/cairo-renderer-pdf-out.cpp
@@ -250,7 +250,7 @@ CairoRendererPdfOutput::init (void)
"<param name=\"textToPath\" gui-text=\"" N_("Convert texts to paths") "\" type=\"boolean\">false</param>\n"
"<param name=\"textToLaTeX\" gui-text=\"" N_("PDF+LaTeX: Omit text in PDF, and create LaTeX file") "\" type=\"boolean\">false</param>\n"
"<param name=\"blurToBitmap\" gui-text=\"" N_("Rasterize filter effects") "\" type=\"boolean\">true</param>\n"
- "<param name=\"resolution\" gui-text=\"" N_("Resolution for rasterization (dpi):") "\" type=\"int\" min=\"1\" max=\"10000\">90</param>\n"
+ "<param name=\"resolution\" gui-text=\"" N_("Resolution for rasterization (dpi):") "\" type=\"int\" min=\"1\" max=\"10000\">96</param>\n"
"<param name=\"area\" gui-text=\"" N_("Output page size:") "\" type=\"optiongroup\" >\n"
"<_option value=\"page\">" N_("Use document's page size") "</_option>"
"<_option value=\"drawing\">" N_("Use exported object's size") "</_option>"
diff --git a/src/extension/internal/cairo-renderer.cpp b/src/extension/internal/cairo-renderer.cpp
index a725685d4..1d9bb09d0 100644
--- a/src/extension/internal/cairo-renderer.cpp
+++ b/src/extension/internal/cairo-renderer.cpp
@@ -479,7 +479,7 @@ static void sp_asbitmap_render(SPItem *item, CairoRenderContext *ctx)
double shift_x = bbox->min()[Geom::X];
double shift_y = bbox->max()[Geom::Y];
- // For default 90 dpi, snap bitmap to pixel grid
+ // For default 96 dpi, snap bitmap to pixel grid
if (res == Inkscape::Util::Quantity::convert(1, "in", "px")) {
shift_x = round (shift_x);
shift_y = -round (-shift_y); // Correct rounding despite coordinate inversion.
diff --git a/src/extension/param/radiobutton.cpp b/src/extension/param/radiobutton.cpp
index 75d5a40e3..f9515197c 100644
--- a/src/extension/param/radiobutton.cpp
+++ b/src/extension/param/radiobutton.cpp
@@ -122,7 +122,7 @@ ParamRadioButton::ParamRadioButton (const gchar * name,
defaultval = (static_cast<optionentry*> (choices->data))->value->c_str();
}
- const char * indent = xml->attribute("indent");
+ const char *indent = xml ? xml->attribute("indent") : NULL;
if (indent != NULL) {
_indent = atoi(indent) * 12;
}
diff --git a/src/live_effects/effect.cpp b/src/live_effects/effect.cpp
index b002eaf7f..349caafd9 100644
--- a/src/live_effects/effect.cpp
+++ b/src/live_effects/effect.cpp
@@ -75,8 +75,6 @@
#include <glibmm/i18n.h>
#include "ui/tools/pen-tool.h"
#include "ui/tools-switch.h"
-#include "message-stack.h"
-#include "desktop.h"
#include "knotholder.h"
#include "sp-lpe-item.h"
#include "live_effects/lpeobject.h"
@@ -370,6 +368,7 @@ Effect::Effect(LivePathEffectObject *lpeobject)
{
registerParameter( dynamic_cast<Parameter *>(&is_visible) );
is_visible.widget_is_visible = false;
+ current_zoom = 0.0;
}
Effect::~Effect()
@@ -398,6 +397,36 @@ Effect::doOnApply (SPLPEItem const*/*lpeitem*/)
{
}
+void
+Effect::setSelectedNodePoints(std::vector<Geom::Point> sNP)
+{
+ selectedNodesPoints = sNP;
+}
+
+void
+Effect::setCurrentZoom(double cZ)
+{
+ current_zoom = cZ;
+}
+
+bool
+Effect::isNodePointSelected(Geom::Point const &nodePoint) const
+{
+ if (selectedNodesPoints.size() > 0) {
+ for (std::vector<Geom::Point>::const_iterator i = selectedNodesPoints.begin();
+ i != selectedNodesPoints.end(); ++i) {
+ Geom::Point p = *i;
+ std::cout << p << "p\n";
+ p[Geom::X] = Inkscape::Util::Quantity::convert(p[Geom::X], "px", *defaultUnit);
+ p[Geom::Y] = Inkscape::Util::Quantity::convert(p[Geom::Y], "px", *defaultUnit);
+ if (Geom::are_near(p, nodePoint, 0.01)) {
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
/**
* Is performed each time before the effect is updated.
*/
@@ -419,6 +448,7 @@ void Effect::doOnRemove (SPLPEItem const* /*lpeitem*/)
void Effect::doOnApply_impl(SPLPEItem const* lpeitem)
{
sp_lpe_item = const_cast<SPLPEItem *>(lpeitem);
+ defaultUnit = &sp_lpe_item->document->getDefaultUnit()->abbr;
/*sp_curve = SP_SHAPE(sp_lpe_item)->getCurve();
pathvector_before_effect = sp_curve->get_pathvector();*/
doOnApply(lpeitem);
@@ -427,6 +457,7 @@ void Effect::doOnApply_impl(SPLPEItem const* lpeitem)
void Effect::doBeforeEffect_impl(SPLPEItem const* lpeitem)
{
sp_lpe_item = const_cast<SPLPEItem *>(lpeitem);
+ defaultUnit = &sp_lpe_item->document->getDefaultUnit()->abbr;
//printf("(SPLPEITEM*) %p\n", sp_lpe_item);
sp_curve = SP_SHAPE(sp_lpe_item)->getCurve();
pathvector_before_effect = sp_curve->get_pathvector();
diff --git a/src/live_effects/effect.h b/src/live_effects/effect.h
index a486e8491..7da76b267 100644
--- a/src/live_effects/effect.h
+++ b/src/live_effects/effect.h
@@ -13,6 +13,7 @@
#include "parameter/bool.h"
#include "effect-enum.h"
+
#define LPE_CONVERSION_TOLERANCE 0.01 // FIXME: find good solution for this.
class SPDocument;
@@ -57,7 +58,9 @@ public:
//of indirection is needed. We first call these methods, then the below.
void doOnApply_impl(SPLPEItem const* lpeitem);
void doBeforeEffect_impl(SPLPEItem const* lpeitem);
-
+ void setCurrentZoom(double cZ);
+ void setSelectedNodePoints(std::vector<Geom::Point> sNP);
+ bool isNodePointSelected(Geom::Point const &nodePoint) const;
virtual void doOnApply (SPLPEItem const* lpeitem);
virtual void doBeforeEffect (SPLPEItem const* lpeitem);
@@ -156,6 +159,9 @@ protected:
bool concatenate_before_pwd2;
SPLPEItem * sp_lpe_item; // these get stored in doBeforeEffect_impl, and derived classes may do as they please with them.
+ Glib::ustring const * defaultUnit; // these get stored in doBeforeEffect_impl, and derived classes may do as they please with them.
+ double current_zoom;
+ std::vector<Geom::Point> selectedNodesPoints;
SPCurve * sp_curve;
std::vector<Geom::Path> pathvector_before_effect;
private:
diff --git a/src/live_effects/lpe-bspline.cpp b/src/live_effects/lpe-bspline.cpp
index 7703b8221..fdaeaf897 100644
--- a/src/live_effects/lpe-bspline.cpp
+++ b/src/live_effects/lpe-bspline.cpp
@@ -24,11 +24,6 @@
#include "live_effects/lpeobject.h"
#include "live_effects/parameter/parameter.h"
#include "ui/widget/scalar.h"
-#include "ui/tool/node.h"
-#include "ui/tools/node-tool.h"
-#include "ui/tool/control-point-selection.h"
-#include "ui/tool/selectable-control-point.h"
-#include "selection.h"
#include "xml/repr.h"
#include "svg/svg.h"
#include "sp-path.h"
@@ -36,7 +31,6 @@
#include "document-private.h"
#include "document.h"
#include "document-undo.h"
-#include "desktop-handles.h"
#include "verbs.h"
#include "sp-lpe-item.h"
#include "sp-namedview.h"
@@ -47,7 +41,6 @@
// For handling un-continuous paths:
#include "message-stack.h"
#include "inkscape.h"
-#include "desktop.h"
using Inkscape::DocumentUndo;
@@ -64,7 +57,7 @@ LPEBSpline::LPEBSpline(LivePathEffectObject *lpeobject)
// initialise your parameters here:
//testpointA(_("Test Point A"), _("Test A"), "ptA", &wr, this,
//Geom::Point(100,100)),
- steps(_("Steps whith CTRL:"), _("Change number of steps whith CTRL pressed"), "steps", &wr, this, 2),
+ steps(_("Steps with CTRL:"), _("Change number of steps with CTRL pressed"), "steps", &wr, this, 2),
ignoreCusp(_("Ignore cusp nodes"), _("Change ignoring cusp nodes"), "ignoreCusp", &wr, this, true),
onlySelected(_("Change only selected nodes"), _("Change only selected nodes"), "onlySelected", &wr, this, false),
showHelper(_("Show helper paths"), _("Show helper paths"), "showHelper", &wr, this, false),
@@ -87,7 +80,7 @@ LPEBSpline::LPEBSpline(LivePathEffectObject *lpeobject)
LPEBSpline::~LPEBSpline() {}
-void LPEBSpline::doBeforeEffect (SPLPEItem const* lpeitem)
+void LPEBSpline::doBeforeEffect (SPLPEItem const* /*lpeitem*/)
{
if(!hp.empty()){
hp.clear();
@@ -127,12 +120,8 @@ void LPEBSpline::doEffect(SPCurve *curve)
Geom::PathVector const original_pathv = curve->get_pathvector();
curve->reset();
double radiusHelperNodes = 6.0;
- SPDesktop *desktop = SP_ACTIVE_DESKTOP;
- if (desktop){
- radiusHelperNodes /= SP_ACTIVE_DESKTOP->current_zoom();
- SPNamedView *nv = sp_desktop_namedview(desktop);
- radiusHelperNodes = Inkscape::Util::Quantity::convert(radiusHelperNodes, "px", nv->doc_units->abbr);
- }
+ radiusHelperNodes /= current_zoom;
+ radiusHelperNodes = Inkscape::Util::Quantity::convert(radiusHelperNodes, "px", *defaultUnit);
for (Geom::PathVector::const_iterator path_it = original_pathv.begin();
path_it != original_pathv.end(); ++path_it) {
if (path_it->empty())
@@ -165,16 +154,8 @@ void LPEBSpline::doEffect(SPCurve *curve)
curve_endit = path_it->end_open();
}
}
- //Si la curva está cerrada calculamos el punto donde
- //deveria estar el nodo BSpline de cierre/inicio de la curva
- //en posible caso de que se cierre con una linea recta creando un nodo
- //BSPline
nCurve->moveto(curve_it1->initialPoint());
- //Recorremos todos los segmentos menos el último
while (curve_it1 != curve_endit) {
- //previousPointAt3 = pointAt3;
- //Calculamos los puntos que dividirían en tres segmentos iguales el path
- //recto de entrada y de salida
SPCurve *in = new SPCurve();
in->moveto(curve_it1->initialPoint());
in->lineto(curve_it1->finalPoint());
@@ -260,10 +241,7 @@ void LPEBSpline::doEffect(SPCurve *curve)
SBasisHelper = lineHelper->first_segment()->toSBasis();
lineHelper->reset();
delete lineHelper;
- //almacenamos el punto del anterior bucle -o el de cierre- que nos hara de
- //principio de curva
previousNode = node;
- //Y este hará de final de curva
node = SBasisHelper.valueAt(0.5);
Geom::CubicBezier const *cubic2 = dynamic_cast<Geom::CubicBezier const *>(&*curve_it1);
if((cubic && are_near((*cubic)[0],(*cubic)[1])) || (cubic2 && are_near((*cubic2)[2],(*cubic2)[3]))) {
@@ -274,12 +252,6 @@ void LPEBSpline::doEffect(SPCurve *curve)
if(!are_near(node,curve_it1->finalPoint()) && showHelper){
drawHandle(node, radiusHelperNodes);
}
- //La curva BSpline se forma calculando el centro del segmanto de unión
- //de el punto situado en las 2/3 partes de el segmento de entrada
- //con el punto situado en la posición 1/3 del segmento de salida
- //Estos dos puntos ademas estan posicionados en el lugas correspondiente
- //de los manejadores de la curva
- //aumentamos los valores para el siguiente paso en el bucle
++curve_it1;
++curve_it2;
}
@@ -293,7 +265,7 @@ void LPEBSpline::doEffect(SPCurve *curve)
}
if(showHelper){
Geom::PathVector const pathv = curve->get_pathvector();
- hp.push_back(pathv[0]);
+ hp.push_back(pathv[0]);
}
}
@@ -314,7 +286,6 @@ LPEBSpline::addCanvasIndicators(SPLPEItem const */*lpeitem*/, std::vector<Geom::
{
hp_vec.push_back(hp);
}
-
Gtk::Widget *LPEBSpline::newWidget()
{
// use manage here, because after deletion of Effect object, others might
@@ -332,12 +303,12 @@ Gtk::Widget *LPEBSpline::newWidget()
Gtk::Button *defaultWeight =
Gtk::manage(new Gtk::Button(Glib::ustring(_("Default weight"))));
defaultWeight->signal_clicked()
- .connect(sigc::bind<Gtk::Widget *>(sigc::mem_fun(*this, &LPEBSpline::toDefaultWeight), widg));
+ .connect(sigc::mem_fun(*this, &LPEBSpline::toDefaultWeight));
buttons->pack_start(*defaultWeight, true, true, 2);
Gtk::Button *makeCusp =
Gtk::manage(new Gtk::Button(Glib::ustring(_("Make cusp"))));
makeCusp->signal_clicked()
- .connect(sigc::bind<Gtk::Widget *>(sigc::mem_fun(*this, &LPEBSpline::toMakeCusp), widg));
+ .connect(sigc::mem_fun(*this, &LPEBSpline::toMakeCusp));
buttons->pack_start(*makeCusp, true, true, 2);
vbox->pack_start(*buttons, true, true, 2);
}
@@ -381,24 +352,14 @@ Gtk::Widget *LPEBSpline::newWidget()
return dynamic_cast<Gtk::Widget *>(vbox);
}
-void LPEBSpline::toDefaultWeight(Gtk::Widget *widgWeight)
+void LPEBSpline::toDefaultWeight()
{
- weight.param_set_value(defaultStartPower);
changeWeight(defaultStartPower);
- Gtk::HBox * scalarParameter = dynamic_cast<Gtk::HBox *>(widgWeight);
- std::vector< Gtk::Widget* > childList = scalarParameter->get_children();
- Gtk::Entry* entryWidg = dynamic_cast<Gtk::Entry *>(childList[1]);
- entryWidg->set_text("defaultStartPower");
}
-void LPEBSpline::toMakeCusp(Gtk::Widget *widgWeight)
+void LPEBSpline::toMakeCusp()
{
- weight.param_set_value(noPower);
changeWeight(noPower);
- Gtk::HBox * scalarParameter = dynamic_cast<Gtk::HBox *>(widgWeight);
- std::vector< Gtk::Widget* > childList = scalarParameter->get_children();
- Gtk::Entry* entryWidg = dynamic_cast<Gtk::Entry *>(childList[1]);
- entryWidg->set_text("noPower");
}
void LPEBSpline::toWeight()
@@ -408,91 +369,34 @@ void LPEBSpline::toWeight()
void LPEBSpline::changeWeight(double weightValue)
{
- SPDesktop *desktop = SP_ACTIVE_DESKTOP;
- Inkscape::Selection *selection = sp_desktop_selection(desktop);
- GSList *items = (GSList *)selection->itemList();
- SPItem *item = (SPItem *)g_slist_nth(items, 0)->data;
- SPPath *path = SP_PATH(item);
+ SPPath *path = SP_PATH(sp_lpe_item);
SPCurve *curve = path->get_curve_for_edit();
LPEBSpline::doBSplineFromWidget(curve, weightValue);
gchar *str = sp_svg_write_path(curve->get_pathvector());
path->getRepr()->setAttribute("inkscape:original-d", str);
- if (INK_IS_NODE_TOOL(desktop->event_context)) {
- Inkscape::UI::Tools::NodeTool *nt = INK_NODE_TOOL(desktop->event_context);
- nt->desktop->updateNow();
- }
- g_free(str);
- curve->unref();
- desktop->clearWaitingCursor();
- DocumentUndo::done(sp_desktop_document(desktop), SP_VERB_CONTEXT_LPE,
- _("Modified the weight of the BSpline"));
-}
-
-bool LPEBSpline::nodeIsSelected(Geom::Point nodePoint)
-{
- using Geom::X;
- using Geom::Y;
-
- if (points.size() > 0) {
- for (std::vector<Geom::Point>::iterator i = points.begin();
- i != points.end(); ++i) {
- Geom::Point p = *i;
- if (Geom::are_near(p, nodePoint, handleCubicGap)) {
- return true;
- } else {
- }
- }
- }
- return false;
}
void LPEBSpline::doBSplineFromWidget(SPCurve *curve, double weightValue)
{
using Geom::X;
using Geom::Y;
- SPDesktop *desktop = SP_ACTIVE_DESKTOP;
- if (INK_IS_NODE_TOOL(desktop->event_context)) {
- Inkscape::UI::Tools::NodeTool *nt = INK_NODE_TOOL(desktop->event_context);
- Inkscape::UI::ControlPointSelection::Set &selection =
- nt->_selected_nodes->allPoints();
- points.clear();
- std::vector<Geom::Point>::iterator pbegin;
- for (Inkscape::UI::ControlPointSelection::Set::iterator i =
- selection.begin();
- i != selection.end(); ++i) {
- if ((*i)->selected()) {
- Inkscape::UI::Node *n = dynamic_cast<Inkscape::UI::Node *>(*i);
- pbegin = points.begin();
- points.insert(pbegin, desktop->doc2dt(n->position()));
- }
- }
- }
- //bool hasNodesSelected = LPEBspline::hasNodesSelected();
+
if (curve->get_segment_count() < 1)
return;
// Make copy of old path as it is changed during processing
Geom::PathVector const original_pathv = curve->get_pathvector();
curve->reset();
- //Recorremos todos los paths a los que queremos aplicar el efecto, hasta el
- //penúltimo
for (Geom::PathVector::const_iterator path_it = original_pathv.begin();
path_it != original_pathv.end(); ++path_it) {
- //Si está vacío...
- if (path_it->empty())
+
+ if (path_it->empty()){
continue;
- //Itreadores
-
- Geom::Path::const_iterator curve_it1 = path_it->begin(); // incoming curve
- Geom::Path::const_iterator curve_it2 =
- ++(path_it->begin()); // outgoing curve
- Geom::Path::const_iterator curve_endit =
- path_it->end_default(); // this determines when the loop has to stop
- //Creamos las lineas rectas que unen todos los puntos del trazado y donde se
- //calcularán
- //los puntos clave para los manejadores.
- //Esto hace que la curva BSpline no pierda su condición aunque se trasladen
- //dichos manejadores
+ }
+ Geom::Path::const_iterator curve_it1 = path_it->begin();
+ Geom::Path::const_iterator curve_it2 = ++(path_it->begin());
+ Geom::Path::const_iterator curve_endit = path_it->end_default();
+
SPCurve *nCurve = new SPCurve();
Geom::Point pointAt0(0, 0);
Geom::Point pointAt1(0, 0);
@@ -515,16 +419,8 @@ void LPEBSpline::doBSplineFromWidget(SPCurve *curve, double weightValue)
curve_endit = path_it->end_open();
}
}
- //Si la curva está cerrada calculamos el punto donde
- //deveria estar el nodo BSpline de cierre/inicio de la curva
- //en posible caso de que se cierre con una linea recta creando un nodo
- //BSPline
nCurve->moveto(curve_it1->initialPoint());
- //Recorremos todos los segmentos menos el último
while (curve_it1 != curve_endit) {
- //previousPointAt3 = pointAt3;
- //Calculamos los puntos que dividirían en tres segmentos iguales el path
- //recto de entrada y de salida
SPCurve *in = new SPCurve();
in->moveto(curve_it1->initialPoint());
in->lineto(curve_it1->finalPoint());
@@ -572,7 +468,7 @@ void LPEBSpline::doBSplineFromWidget(SPCurve *curve, double weightValue)
} else {
if (cubic) {
if (!ignoreCusp || !Geom::are_near((*cubic)[1], pointAt0)) {
- if (nodeIsSelected(pointAt0)) {
+ if (isNodePointSelected(pointAt0)) {
pointAt1 = SBasisIn.valueAt(weightValue);
if (weightValue != noPower) {
pointAt1 =
@@ -585,7 +481,7 @@ void LPEBSpline::doBSplineFromWidget(SPCurve *curve, double weightValue)
pointAt1 = in->first_segment()->initialPoint();
}
if (!ignoreCusp || !Geom::are_near((*cubic)[2], pointAt3)) {
- if (nodeIsSelected(pointAt3)) {
+ if (isNodePointSelected(pointAt3)) {
pointAt2 = SBasisIn.valueAt(1 - weightValue);
if (weightValue != noPower) {
pointAt2 =
@@ -599,14 +495,14 @@ void LPEBSpline::doBSplineFromWidget(SPCurve *curve, double weightValue)
}
} else {
if (!ignoreCusp && weightValue != noPower) {
- if (nodeIsSelected(pointAt0)) {
+ if (isNodePointSelected(pointAt0)) {
pointAt1 = SBasisIn.valueAt(weightValue);
pointAt1 =
Geom::Point(pointAt1[X] + handleCubicGap, pointAt1[Y] + handleCubicGap);
} else {
pointAt1 = in->first_segment()->initialPoint();
}
- if (nodeIsSelected(pointAt3)) {
+ if (isNodePointSelected(pointAt3)) {
pointAt2 = SBasisIn.valueAt(weightValue);
pointAt2 =
Geom::Point(pointAt2[X] + handleCubicGap, pointAt2[Y] + handleCubicGap);
@@ -621,14 +517,7 @@ void LPEBSpline::doBSplineFromWidget(SPCurve *curve, double weightValue)
}
in->reset();
delete in;
- //La curva BSpline se forma calculando el centro del segmanto de unión
- //de el punto situado en las 2/3 partes de el segmento de entrada
- //con el punto situado en la posición 1/3 del segmento de salida
- //Estos dos puntos ademas estan posicionados en el lugas correspondiente
- //de
- //los manejadores de la curva
nCurve->curveto(pointAt1, pointAt2, pointAt3);
- //aumentamos los valores para el siguiente paso en el bucle
++curve_it1;
++curve_it2;
}
@@ -638,7 +527,6 @@ void LPEBSpline::doBSplineFromWidget(SPCurve *curve, double weightValue)
} else {
nCurve->move_endpoints(path_it->begin()->initialPoint(), pointAt3);
}
- //y cerramos la curva
if (path_it->closed()) {
nCurve->closepath_current();
}
diff --git a/src/live_effects/lpe-bspline.h b/src/live_effects/lpe-bspline.h
index 169658b94..8751a5720 100644
--- a/src/live_effects/lpe-bspline.h
+++ b/src/live_effects/lpe-bspline.h
@@ -26,20 +26,18 @@ public:
virtual void doEffect(SPCurve *curve);
virtual void doBeforeEffect (SPLPEItem const* lpeitem);
void drawHandle(Geom::Point p, double radiusHelperNodes);
- void addCanvasIndicators(SPLPEItem const */*lpeitem*/, std::vector<Geom::PathVector> &hp_vec);
virtual void doBSplineFromWidget(SPCurve *curve, double value);
- virtual bool nodeIsSelected(Geom::Point nodePoint);
+ void addCanvasIndicators(SPLPEItem const */*lpeitem*/, std::vector<Geom::PathVector> &hp_vec);
virtual Gtk::Widget *newWidget();
virtual void changeWeight(double weightValue);
- virtual void toDefaultWeight(Gtk::Widget *widgWeight);
- virtual void toMakeCusp(Gtk::Widget *widgWeight);
+ virtual void toDefaultWeight();
+ virtual void toMakeCusp();
virtual void toWeight();
// TODO make this private
ScalarParam steps;
private:
- std::vector<Geom::Point> points;
BoolParam ignoreCusp;
BoolParam onlySelected;
BoolParam showHelper;
diff --git a/src/live_effects/lpe-fillet-chamfer.cpp b/src/live_effects/lpe-fillet-chamfer.cpp
index a3964f553..c491ea858 100644
--- a/src/live_effects/lpe-fillet-chamfer.cpp
+++ b/src/live_effects/lpe-fillet-chamfer.cpp
@@ -28,12 +28,7 @@
#include "live_effects/parameter/filletchamferpointarray.h"
// for programmatically updating knots
-#include "selection.h"
#include "ui/tools-switch.h"
-#include "ui/tool/control-point-selection.h"
-#include "ui/tool/selectable-control-point.h"
-#include "ui/tool/node.h"
-#include "ui/tools/node-tool.h"
#include <util/units.h>
// TODO due to internal breakage in glibmm headers, this must be last:
@@ -65,12 +60,15 @@ LPEFilletChamfer::LPEFilletChamfer(LivePathEffectObject *lpeobject) :
unit(_("Unit"), _("Unit"), "unit", &wr, this),
method(_("Method"), _("Fillets methods"), "method", FMConverter, &wr, this, FM_AUTO),
radius(_("Radius (unit or %)"), _("Radius, in unit or %"), "radius", &wr, this, 0.),
+ chamfer_steps(_("Chamfer steps"), _("Chamfer steps"), "chamfer_steps", &wr, this, 0),
+
helper_size(_("Helper size with direction"), _("Helper size with direction"), "helper_size", &wr, this, 0)
{
registerParameter(&fillet_chamfer_values);
registerParameter(&unit);
registerParameter(&method);
registerParameter(&radius);
+ registerParameter(&chamfer_steps);
registerParameter(&helper_size);
registerParameter(&flexible);
registerParameter(&use_knot_distance);
@@ -81,9 +79,13 @@ LPEFilletChamfer::LPEFilletChamfer(LivePathEffectObject *lpeobject) :
radius.param_set_range(0., infinity());
radius.param_set_increments(1, 1);
radius.param_set_digits(4);
+ chamfer_steps.param_set_range(0, infinity());
+ chamfer_steps.param_set_increments(1, 1);
+ chamfer_steps.param_set_digits(0);
helper_size.param_set_range(0, infinity());
helper_size.param_set_increments(5, 5);
helper_size.param_set_digits(0);
+ fillet_chamfer_values.set_chamfer_steps(3);
}
LPEFilletChamfer::~LPEFilletChamfer() {}
@@ -112,6 +114,16 @@ Gtk::Widget *LPEFilletChamfer::newWidget()
Gtk::Entry *entryWidg = dynamic_cast<Gtk::Entry *>(childList[1]);
entryWidg->set_width_chars(6);
}
+ } else if (param->param_key == "chamfer_steps") {
+ Inkscape::UI::Widget::Scalar *widgRegistered = Gtk::manage(dynamic_cast<Inkscape::UI::Widget::Scalar *>(widg));
+ widgRegistered->signal_value_changed().connect(sigc::mem_fun(*this, &LPEFilletChamfer::chamfer));
+ widg = widgRegistered;
+ if (widg) {
+ Gtk::HBox *scalarParameter = dynamic_cast<Gtk::HBox *>(widg);
+ std::vector<Gtk::Widget *> childList = scalarParameter->get_children();
+ Gtk::Entry *entryWidg = dynamic_cast<Gtk::Entry *>(childList[1]);
+ entryWidg->set_width_chars(3);
+ }
} else if (param->param_key == "flexible") {
Gtk::CheckButton *widgRegistered = Gtk::manage(dynamic_cast<Gtk::CheckButton *>(widg));
widgRegistered->signal_clicked().connect(sigc::mem_fun(*this, &LPEFilletChamfer::toggleFlexFixed));
@@ -142,26 +154,20 @@ Gtk::Widget *LPEFilletChamfer::newWidget()
++it;
}
- Gtk::HBox *filletButtonsContainer = Gtk::manage(new Gtk::HBox(true, 0));
+ Gtk::VBox *buttonsContainer = Gtk::manage(new Gtk::VBox(true, 0));
Gtk::Button *fillet = Gtk::manage(new Gtk::Button(Glib::ustring(_("Fillet"))));
fillet->signal_clicked().connect(sigc::mem_fun(*this, &LPEFilletChamfer::fillet));
- filletButtonsContainer->pack_start(*fillet, true, true, 2);
+ buttonsContainer->pack_start(*fillet, true, true, 2);
Gtk::Button *inverse = Gtk::manage(new Gtk::Button(Glib::ustring(_("Inverse fillet"))));
inverse->signal_clicked().connect(sigc::mem_fun(*this, &LPEFilletChamfer::inverse));
- filletButtonsContainer->pack_start(*inverse, true, true, 2);
+ buttonsContainer->pack_start(*inverse, true, true, 2);
- Gtk::HBox *chamferButtonsContainer = Gtk::manage(new Gtk::HBox(true, 0));
Gtk::Button *chamfer = Gtk::manage(new Gtk::Button(Glib::ustring(_("Chamfer"))));
chamfer->signal_clicked().connect(sigc::mem_fun(*this, &LPEFilletChamfer::chamfer));
+ buttonsContainer->pack_start(*chamfer, true, true, 2);
- chamferButtonsContainer->pack_start(*chamfer, true, true, 2);
- Gtk::Button *doubleChamfer = Gtk::manage(new Gtk::Button(Glib::ustring(_("Double chamfer"))));
- doubleChamfer->signal_clicked().connect(sigc::mem_fun(*this, &LPEFilletChamfer::doubleChamfer));
- chamferButtonsContainer->pack_start(*doubleChamfer, true, true, 2);
-
- vbox->pack_start(*filletButtonsContainer, true, true, 2);
- vbox->pack_start(*chamferButtonsContainer, true, true, 2);
+ vbox->pack_start(*buttonsContainer, true, true, 2);
return vbox;
}
@@ -212,8 +218,7 @@ void LPEFilletChamfer::updateFillet()
{
double power = 0;
if (!flexible) {
- Inkscape::Util::Unit const *doc_units = SP_ACTIVE_DESKTOP->namedview->doc_units;
- power = Inkscape::Util::Quantity::convert(radius, unit.get_abbreviation(), doc_units->abbr) * -1;
+ power = Inkscape::Util::Quantity::convert(radius, unit.get_abbreviation(), *defaultUnit) * -1;
} else {
power = radius;
}
@@ -235,14 +240,9 @@ void LPEFilletChamfer::inverse()
void LPEFilletChamfer::chamfer()
{
+ fillet_chamfer_values.set_chamfer_steps(chamfer_steps + 3);
Piecewise<D2<SBasis> > const &pwd2 = fillet_chamfer_values.get_pwd2();
- doChangeType(path_from_piecewise(pwd2, tolerance), 3);
-}
-
-void LPEFilletChamfer::doubleChamfer()
-{
- Piecewise<D2<SBasis> > const &pwd2 = fillet_chamfer_values.get_pwd2();
- doChangeType(path_from_piecewise(pwd2, tolerance), 4);
+ doChangeType(path_from_piecewise(pwd2, tolerance), chamfer_steps + 3);
}
void LPEFilletChamfer::refreshKnots()
@@ -256,35 +256,8 @@ void LPEFilletChamfer::refreshKnots()
}
}
-bool LPEFilletChamfer::nodeIsSelected(Geom::Point nodePoint, std::vector<Geom::Point> point)
-{
- if (point.size() > 0) {
- for (std::vector<Geom::Point>::iterator i = point.begin(); i != point.end();
- ++i) {
- Geom::Point p = *i;
- if (Geom::are_near(p, nodePoint, 2)) {
- return true;
- }
- }
- }
- return false;
-}
void LPEFilletChamfer::doUpdateFillet(std::vector<Geom::Path> const& original_pathv, double power)
{
- std::vector<Geom::Point> point;
- SPDesktop *desktop = SP_ACTIVE_DESKTOP;
- if (INK_IS_NODE_TOOL(desktop->event_context)) {
- Inkscape::UI::Tools::NodeTool *nodeTool = INK_NODE_TOOL(desktop->event_context);
- Inkscape::UI::ControlPointSelection::Set &selection = nodeTool->_selected_nodes->allPoints();
- std::vector<Geom::Point>::iterator pBegin;
- for (Inkscape::UI::ControlPointSelection::Set::iterator i = selection.begin(); i != selection.end(); ++i) {
- if ((*i)->selected()) {
- Inkscape::UI::Node *n = dynamic_cast<Inkscape::UI::Node *>(*i);
- pBegin = point.begin();
- point.insert(pBegin, desktop->doc2dt(n->position()));
- }
- }
- }
std::vector<Point> filletChamferData = fillet_chamfer_values.data();
std::vector<Geom::Point> result;
std::vector<Geom::Path> original_pathv_processed = pathv_to_linear_and_cubic_beziers(original_pathv);
@@ -319,7 +292,7 @@ void LPEFilletChamfer::doUpdateFillet(std::vector<Geom::Path> const& original_pa
if (filletChamferData[counter][Y] == 0) {
powerend = filletChamferData[counter][X];
}
- if (only_selected && !nodeIsSelected(curve_it1->initialPoint(), point)) {
+ if (only_selected && !isNodePointSelected(curve_it1->initialPoint())) {
powerend = filletChamferData[counter][X];
}
result.push_back(Point(powerend, filletChamferData[counter][Y]));
@@ -333,24 +306,6 @@ void LPEFilletChamfer::doUpdateFillet(std::vector<Geom::Path> const& original_pa
void LPEFilletChamfer::doChangeType(std::vector<Geom::Path> const& original_pathv, int type)
{
- std::vector<Geom::Point> point;
- SPDesktop *desktop = SP_ACTIVE_DESKTOP;
- if (INK_IS_NODE_TOOL(desktop->event_context)) {
- Inkscape::UI::Tools::NodeTool *nodeTool =
- INK_NODE_TOOL(desktop->event_context);
- Inkscape::UI::ControlPointSelection::Set &selection =
- nodeTool->_selected_nodes->allPoints();
- std::vector<Geom::Point>::iterator pBegin;
- for (Inkscape::UI::ControlPointSelection::Set::iterator i =
- selection.begin();
- i != selection.end(); ++i) {
- if ((*i)->selected()) {
- Inkscape::UI::Node *n = dynamic_cast<Inkscape::UI::Node *>(*i);
- pBegin = point.begin();
- point.insert(pBegin, desktop->doc2dt(n->position()));
- }
- }
- }
std::vector<Point> filletChamferData = fillet_chamfer_values.data();
std::vector<Geom::Point> result;
std::vector<Geom::Path> original_pathv_processed = pathv_to_linear_and_cubic_beziers(original_pathv);
@@ -373,9 +328,8 @@ void LPEFilletChamfer::doChangeType(std::vector<Geom::Path> const& original_path
bool toggle = true;
if (filletChamferData[counter][Y] == 0 ||
(ignore_radius_0 && (filletChamferData[counter][X] == 0 ||
- filletChamferData[counter][X] == counter)) ||
- (only_selected &&
- !nodeIsSelected(curve_it1->initialPoint(), point))) {
+ filletChamferData[counter][X] == counter)) ||
+ (only_selected && !isNodePointSelected(curve_it1->initialPoint()))) {
toggle = false;
}
if (toggle) {
@@ -597,11 +551,19 @@ LPEFilletChamfer::doEffect_path(std::vector<Geom::Path> const &path_in)
} else {
type = std::abs(filletChamferData[counter + 1][Y]);
}
- if (type == 3 || type == 4) {
- if (type == 4) {
- Geom::Point central = middle_point(startArcPoint, endArcPoint);
- LineSegment chamferCenter(central, curve_it1->finalPoint());
- path_out.appendNew<Geom::LineSegment>(chamferCenter.pointAt(0.5));
+ if (type >= 3) {
+ unsigned int chamferSubs = type-2;
+ Geom::Path path_chamfer;
+ path_chamfer.start(path_out.finalPoint());
+ if((is_straight_curve(*curve_it1) && is_straight_curve(*curve_it2Fixed) && method != FM_BEZIER )|| method == FM_ARC){
+ path_chamfer.appendNew<SVGEllipticalArc>(rx, ry, angleArc, 0, ccwToggle, endArcPoint);
+ } else {
+ path_chamfer.appendNew<Geom::CubicBezier>(handle1, handle2, endArcPoint);
+ }
+ double chamfer_stepsTime = 1.0/chamferSubs;
+ for(unsigned int i = 1; i < chamferSubs; i++){
+ Geom::Point chamferStep = path_chamfer.pointAt(chamfer_stepsTime * i);
+ path_out.appendNew<Geom::LineSegment>(chamferStep);
}
path_out.appendNew<Geom::LineSegment>(endArcPoint);
} else if (type == 2) {
diff --git a/src/live_effects/lpe-fillet-chamfer.h b/src/live_effects/lpe-fillet-chamfer.h
index 873684101..e3589197c 100644
--- a/src/live_effects/lpe-fillet-chamfer.h
+++ b/src/live_effects/lpe-fillet-chamfer.h
@@ -57,12 +57,10 @@ public:
void toggleFlexFixed();
void chamfer();
void fillet();
- void doubleChamfer();
void inverse();
void updateFillet();
void doUpdateFillet(std::vector<Geom::Path> const& original_pathv, double power);
void doChangeType(std::vector<Geom::Path> const& original_pathv, int type);
- bool nodeIsSelected(Geom::Point nodePoint, std::vector<Geom::Point> points);
void refreshKnots();
FilletChamferPointArrayParam fillet_chamfer_values;
@@ -77,6 +75,7 @@ private:
UnitParam unit;
EnumParam<FilletMethod> method;
ScalarParam radius;
+ ScalarParam chamfer_steps;
ScalarParam helper_size;
LPEFilletChamfer(const LPEFilletChamfer &);
diff --git a/src/live_effects/lpe-lattice2.cpp b/src/live_effects/lpe-lattice2.cpp
index 7036b0cfa..e1cd91340 100644
--- a/src/live_effects/lpe-lattice2.cpp
+++ b/src/live_effects/lpe-lattice2.cpp
@@ -394,7 +394,7 @@ LPELattice2::resetGrid()
grid_point32x33x34x35.param_set_and_write_default();
//todo:this hack is only to reposition the knots on reser grid button
//Better update path effect in LPEITEM
- SPDesktop * desktop = INKSCAPE.active_desktop();
+ SPDesktop * desktop = SP_ACTIVE_DESKTOP;
tools_switch(desktop, TOOLS_SELECT);
tools_switch(desktop, TOOLS_NODES);
}
diff --git a/src/live_effects/lpe-perspective-envelope.cpp b/src/live_effects/lpe-perspective-envelope.cpp
index c070cf17b..b5ef26e2f 100644
--- a/src/live_effects/lpe-perspective-envelope.cpp
+++ b/src/live_effects/lpe-perspective-envelope.cpp
@@ -193,8 +193,8 @@ LPEPerspectiveEnvelope::project_point(Geom::Point p){
double height = boundingbox_Y.extent();
double delta_x = boundingbox_X.min() - p[X];
double delta_y = boundingbox_Y.max() - p[Y];
- Geom::Coord xratio = (delta_x * sgn(delta_x)) / width;
- Geom::Coord yratio = (delta_y * sgn(delta_y)) / height;
+ Geom::Coord xratio = (delta_x * -1) / width;
+ Geom::Coord yratio = delta_y / height;
Geom::Line* horiz = new Geom::Line();
Geom::Line* vert = new Geom::Line();
vert->setPoints (pointAtRatio(yratio,Down_Left_Point,Up_Left_Point),pointAtRatio(yratio,Down_Right_Point,Up_Right_Point));
@@ -337,7 +337,7 @@ LPEPerspectiveEnvelope::resetGrid()
Down_Left_Point.param_set_and_write_default();
//todo:this hack is only to reposition the knots on reser grid button
//Better update path effect in LPEITEM
- SPDesktop * desktop = INKSCAPE.active_desktop();
+ SPDesktop * desktop = SP_ACTIVE_DESKTOP;
tools_switch(desktop, TOOLS_SELECT);
tools_switch(desktop, TOOLS_NODES);
}
diff --git a/src/live_effects/lpe-powerstroke.cpp b/src/live_effects/lpe-powerstroke.cpp
index 03a10807a..f7fe9592d 100644
--- a/src/live_effects/lpe-powerstroke.cpp
+++ b/src/live_effects/lpe-powerstroke.cpp
@@ -277,7 +277,7 @@ LPEPowerStroke::doOnApply(SPLPEItem const* lpeitem)
double width = (lpeitem && lpeitem->style) ? lpeitem->style->stroke_width.computed / 2 : 1.;
SPCSSAttr *css = sp_repr_css_attr_new ();
- if (true) {
+ if (lpeitem->style) {
if (lpeitem->style->stroke.isPaintserver()) {
SPPaintServer * server = lpeitem->style->getStrokePaintServer();
if (server) {
diff --git a/src/live_effects/lpe-roughen.cpp b/src/live_effects/lpe-roughen.cpp
index ffd5433bf..07d9e63e8 100644
--- a/src/live_effects/lpe-roughen.cpp
+++ b/src/live_effects/lpe-roughen.cpp
@@ -14,12 +14,13 @@
*/
#include <gtkmm.h>
-
+#include "desktop.h"
#include "live_effects/lpe-roughen.h"
#include "display/curve.h"
#include "live_effects/parameter/parameter.h"
#include "helper/geom.h"
#include <glibmm/i18n.h>
+#include <util/units.h>
#include <cmath>
namespace Inkscape {
@@ -46,6 +47,8 @@ LPERoughen::LPERoughen(LivePathEffectObject *lpeobject)
"displaceX", &wr, this, 10.),
displaceY(_("Max. displacement in Y"), _("Max. displacement in Y"),
"displaceY", &wr, this, 10.),
+ globalRandomize(_("Global randomize"), _("Global randomize"),
+ "globalRandomize", &wr, this, 1.),
shiftNodes(_("Shift nodes"), _("Shift nodes"), "shiftNodes", &wr, this,
true),
shiftNodeHandles(_("Shift node handles"), _("Shift node handles"),
@@ -57,10 +60,12 @@ LPERoughen::LPERoughen(LivePathEffectObject *lpeobject)
registerParameter(&segments);
registerParameter(&displaceX);
registerParameter(&displaceY);
+ registerParameter(&globalRandomize);
registerParameter(&shiftNodes);
registerParameter(&shiftNodeHandles);
displaceX.param_set_range(0., Geom::infinity());
displaceY.param_set_range(0., Geom::infinity());
+ globalRandomize.param_set_range(0., Geom::infinity());
maxSegmentSize.param_set_range(0., Geom::infinity());
maxSegmentSize.param_set_increments(1, 1);
maxSegmentSize.param_set_digits(1);
@@ -75,6 +80,7 @@ void LPERoughen::doBeforeEffect(SPLPEItem const *lpeitem)
{
displaceX.resetRandomizer();
displaceY.resetRandomizer();
+ globalRandomize.resetRandomizer();
srand(1);
SPLPEItem * item = const_cast<SPLPEItem*>(lpeitem);
item->apply_to_clippath(item);
@@ -118,6 +124,15 @@ Gtk::Widget *LPERoughen::newWidget()
vbox->pack_start(*Gtk::manage(new Gtk::HSeparator()),
Gtk::PACK_EXPAND_WIDGET);
}
+ if (param->param_key == "globalRandomize") {
+ Gtk::Label *displaceXLabel = Gtk::manage(new Gtk::Label(
+ Glib::ustring(_("<b>Extra roughen</b> Add a extra layer of rough")),
+ Gtk::ALIGN_START));
+ displaceXLabel->set_use_markup(true);
+ vbox->pack_start(*displaceXLabel, false, false, 2);
+ vbox->pack_start(*Gtk::manage(new Gtk::HSeparator()),
+ Gtk::PACK_EXPAND_WIDGET);
+ }
Glib::ustring *tip = param->param_getTooltip();
if (widg) {
vbox->pack_start(*widg, true, true, 2);
@@ -145,10 +160,11 @@ double LPERoughen::sign(double randNumber)
Geom::Point LPERoughen::randomize()
{
+ Inkscape::Util::Unit const *doc_units = SP_ACTIVE_DESKTOP->namedview->doc_units;
double displaceXParsed = Inkscape::Util::Quantity::convert(
- displaceX, unit.get_abbreviation(), "px");
+ displaceX * globalRandomize, unit.get_abbreviation(), doc_units->abbr);
double displaceYParsed = Inkscape::Util::Quantity::convert(
- displaceY, unit.get_abbreviation(), "px");
+ displaceY * globalRandomize, unit.get_abbreviation(), doc_units->abbr);
Geom::Point output = Geom::Point(sign(displaceXParsed), sign(displaceYParsed));
return output;
@@ -159,6 +175,7 @@ void LPERoughen::doEffect(SPCurve *curve)
Geom::PathVector const original_pathv =
pathv_to_linear_and_cubic_beziers(curve->get_pathvector());
curve->reset();
+ Inkscape::Util::Unit const *doc_units = SP_ACTIVE_DESKTOP->namedview->doc_units;
for (Geom::PathVector::const_iterator path_it = original_pathv.begin();
path_it != original_pathv.end(); ++path_it) {
if (path_it->empty())
@@ -185,6 +202,7 @@ void LPERoughen::doEffect(SPCurve *curve)
Geom::Point A1(0, 0);
Geom::Point A2(0, 0);
Geom::Point A3(0, 0);
+ bool first = true;
while (curve_it1 != curve_endit) {
Geom::CubicBezier const *cubic = NULL;
A0 = curve_it1->initialPoint();
@@ -194,7 +212,7 @@ void LPERoughen::doEffect(SPCurve *curve)
cubic = dynamic_cast<Geom::CubicBezier const *>(&*curve_it1);
if (cubic) {
A1 = (*cubic)[1];
- if (shiftNodes) {
+ if (shiftNodes && first) {
A1 = (*cubic)[1] + initialMove;
}
A2 = (*cubic)[2];
@@ -203,7 +221,7 @@ void LPERoughen::doEffect(SPCurve *curve)
nCurve->lineto(A3);
}
double length = Inkscape::Util::Quantity::convert(
- curve_it1->length(0.001), "px", unit.get_abbreviation());
+ curve_it1->length(0.001), doc_units->abbr, unit.get_abbreviation());
std::size_t splits = 0;
if (method == DM_SEGMENTS) {
splits = segments;
@@ -232,6 +250,7 @@ void LPERoughen::doEffect(SPCurve *curve)
if(curve_it2 != curve_endit) {
++curve_it2;
}
+ first = false;
}
if (path_it->closed()) {
nCurve->closepath_current();
diff --git a/src/live_effects/lpe-roughen.h b/src/live_effects/lpe-roughen.h
index d5ec726bd..74331f1ef 100644
--- a/src/live_effects/lpe-roughen.h
+++ b/src/live_effects/lpe-roughen.h
@@ -51,8 +51,10 @@ private:
ScalarParam segments;
RandomParam displaceX;
RandomParam displaceY;
+ RandomParam globalRandomize;
BoolParam shiftNodes;
BoolParam shiftNodeHandles;
+
LPERoughen(const LPERoughen &);
LPERoughen &operator=(const LPERoughen &);
diff --git a/src/live_effects/lpe-simplify.cpp b/src/live_effects/lpe-simplify.cpp
index c191fbbe6..2b2efb1a9 100644
--- a/src/live_effects/lpe-simplify.cpp
+++ b/src/live_effects/lpe-simplify.cpp
@@ -157,8 +157,8 @@ LPESimplify::doEffect(SPCurve *curve) {
Geom::PathVector outres = Geom::parse_svg_path(pathliv->svg_dump_path());
generateHelperPath(outres);
curve->set_pathvector(outres);
- if(SP_ACTIVE_DESKTOP && INK_IS_NODE_TOOL(SP_ACTIVE_DESKTOP->event_context)){
- SPDesktop* desktop = SP_ACTIVE_DESKTOP;
+ SPDesktop* desktop = SP_ACTIVE_DESKTOP;
+ if(desktop && INK_IS_NODE_TOOL(desktop->event_context)){
Inkscape::UI::Tools::NodeTool *nt = static_cast<Inkscape::UI::Tools::NodeTool*>(desktop->event_context);
nt->update_helperpath();
}
diff --git a/src/live_effects/parameter/filletchamferpointarray.cpp b/src/live_effects/parameter/filletchamferpointarray.cpp
index db24a9735..31d996ad0 100644
--- a/src/live_effects/parameter/filletchamferpointarray.cpp
+++ b/src/live_effects/parameter/filletchamferpointarray.cpp
@@ -359,6 +359,11 @@ void FilletChamferPointArrayParam::set_helper_size(int hs)
helper_size = hs;
}
+void FilletChamferPointArrayParam::set_chamfer_steps(int value_chamfer_steps)
+{
+ chamfer_steps = value_chamfer_steps;
+}
+
void FilletChamferPointArrayParam::set_use_distance(bool use_knot_distance )
{
use_distance = use_knot_distance;
@@ -712,8 +717,8 @@ FilletChamferPointArrayParamKnotHolderEntity(
: _pparam(p), _index(index) {}
void FilletChamferPointArrayParamKnotHolderEntity::knot_set(Point const &p,
- Point const &origin,
- guint state)
+ Point const &/*origin*/,
+ guint /*state*/)
{
using namespace Geom;
@@ -766,15 +771,24 @@ void FilletChamferPointArrayParamKnotHolderEntity::knot_click(guint state)
sp_lpe_item_update_patheffect(SP_LPE_ITEM(item), false, false);
}else{
using namespace Geom;
- double type = _pparam->_vector.at(_index)[Y] + 1;
- if (type > 4) {
- type = 1;
+ int type = (int)_pparam->_vector.at(_index)[Y];
+
+ switch(type){
+ case 1:
+ type = 2;
+ break;
+ case 2:
+ type = _pparam->chamfer_steps;
+ break;
+ default:
+ type = 1;
+ break;
}
- _pparam->_vector.at(_index) = Point(_pparam->_vector.at(_index)[X], type);
+ _pparam->_vector.at(_index) = Point(_pparam->_vector.at(_index)[X], (double)type);
_pparam->param_set_and_write_new_value(_pparam->_vector);
sp_lpe_item_update_patheffect(SP_LPE_ITEM(item), false, false);
const gchar *tip;
- if (type == 3) {
+ if (type >= 3) {
tip = _("<b>Chamfer</b>: <b>Ctrl+Click</b> toogle type, "
"<b>Shift+Click</b> open dialog, "
"<b>Ctrl+Alt+Click</b> reset");
@@ -782,12 +796,8 @@ void FilletChamferPointArrayParamKnotHolderEntity::knot_click(guint state)
tip = _("<b>Inverse Fillet</b>: <b>Ctrl+Click</b> toogle type, "
"<b>Shift+Click</b> open dialog, "
"<b>Ctrl+Alt+Click</b> reset");
- } else if (type == 1) {
- tip = _("<b>Fillet</b>: <b>Ctrl+Click</b> toogle type, "
- "<b>Shift+Click</b> open dialog, "
- "<b>Ctrl+Alt+Click</b> reset");
} else {
- tip = _("<b>Double Chamfer</b>: <b>Ctrl+Click</b> toogle type, "
+ tip = _("<b>Fillet</b>: <b>Ctrl+Click</b> toogle type, "
"<b>Shift+Click</b> open dialog, "
"<b>Ctrl+Alt+Click</b> reset");
}
@@ -835,7 +845,7 @@ void FilletChamferPointArrayParam::addKnotHolderEntities(KnotHolder *knotholder,
continue;
}
const gchar *tip;
- if (_vector[i][Y] == 3) {
+ if (_vector[i][Y] >= 3) {
tip = _("<b>Chamfer</b>: <b>Ctrl+Click</b> toogle type, "
"<b>Shift+Click</b> open dialog, "
"<b>Ctrl+Alt+Click</b> reset");
@@ -843,12 +853,8 @@ void FilletChamferPointArrayParam::addKnotHolderEntities(KnotHolder *knotholder,
tip = _("<b>Inverse Fillet</b>: <b>Ctrl+Click</b> toogle type, "
"<b>Shift+Click</b> open dialog, "
"<b>Ctrl+Alt+Click</b> reset");
- } else if (_vector[i][Y] == 1) {
- tip = _("<b>Fillet</b>: <b>Ctrl+Click</b> toogle type, "
- "<b>Shift+Click</b> open dialog, "
- "<b>Ctrl+Alt+Click</b> reset");
} else {
- tip = _("<b>Double Chamfer</b>: <b>Ctrl+Click</b> toogle type, "
+ tip = _("<b>Fillet</b>: <b>Ctrl+Click</b> toogle type, "
"<b>Shift+Click</b> open dialog, "
"<b>Ctrl+Alt+Click</b> reset");
}
diff --git a/src/live_effects/parameter/filletchamferpointarray.h b/src/live_effects/parameter/filletchamferpointarray.h
index a1fa698ae..1dd31d6d4 100644
--- a/src/live_effects/parameter/filletchamferpointarray.h
+++ b/src/live_effects/parameter/filletchamferpointarray.h
@@ -52,6 +52,7 @@ public:
std::vector<double> get_times(int index, std::vector<Geom::Path> subpaths, bool last);
virtual void set_helper_size(int hs);
virtual void set_use_distance(bool use_knot_distance);
+ virtual void set_chamfer_steps(int value_chamfer_steps);
virtual void set_unit(const gchar *abbr);
virtual void addCanvasIndicators(SPLPEItem const *lpeitem,
std::vector<Geom::PathVector> &hp_vec);
@@ -85,6 +86,7 @@ private:
SPKnotModeType knot_mode;
guint32 knot_color;
int helper_size;
+ int chamfer_steps;
bool use_distance;
const gchar *unit;
Geom::PathVector hp;
diff --git a/src/live_effects/parameter/parameter.cpp b/src/live_effects/parameter/parameter.cpp
index 7a2fd9769..beb750404 100644
--- a/src/live_effects/parameter/parameter.cpp
+++ b/src/live_effects/parameter/parameter.cpp
@@ -47,7 +47,7 @@ Parameter::param_write_to_repr(const char * svgd)
// in gtk3, it is an issue: it allocates widget size for the maxmium
// value you pass to it, leading to some insane lengths.
// If you need this to be more, please be conservative about it.
-const double SCALARPARAM_G_MAXDOUBLE = 10000000000;
+const double SCALARPARAM_G_MAXDOUBLE = 10000000000.0; // TODO fixme: using an arbitrary large number as a magic value seems fragile.
void Parameter::write_to_SVG(void)
{
diff --git a/src/main.cpp b/src/main.cpp
index a60ed1f25..06c0d4873 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -322,7 +322,7 @@ struct poptOption options[] = {
{"export-dpi", 'd',
POPT_ARG_STRING, &sp_export_dpi, SP_ARG_EXPORT_DPI,
- N_("Resolution for exporting to bitmap and for rasterization of filters in PS/EPS/PDF (default 90)"),
+ N_("Resolution for exporting to bitmap and for rasterization of filters in PS/EPS/PDF (default 96)"),
N_("DPI")},
{"export-area", 'a',
@@ -1738,12 +1738,12 @@ static int do_export_ps_pdf(SPDocument* doc, gchar const* uri, char const* mime)
} else {
(*i)->set_param_bool("blurToBitmap", TRUE);
- gdouble dpi = 90.0;
+ gdouble dpi = 96.0;
if (sp_export_dpi) {
dpi = atof(sp_export_dpi);
if ((dpi < 1) || (dpi > 10000.0)) {
- g_warning("DPI value %s out of range [1 - 10000]. Using 90 dpi instead.", sp_export_dpi);
- dpi = 90;
+ g_warning("DPI value %s out of range [1 - 10000]. Using 96 dpi instead.", sp_export_dpi);
+ dpi = 96;
}
}
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp
index c81646d6c..b4f7ebdd7 100644
--- a/src/selection-chemistry.cpp
+++ b/src/selection-chemistry.cpp
@@ -1198,6 +1198,9 @@ take_style_from_item(SPObject *object)
}
}
+ // Remove black-listed properties (those that should not be used in a default style)
+ css = sp_css_attr_unset_blacklist(css);
+
if (!(dynamic_cast<SPText *>(object) || dynamic_cast<SPTSpan *>(object) || dynamic_cast<SPTRef *>(object) || dynamic_cast<SPString *>(object))) {
// do not copy text properties from non-text objects, it's confusing
css = sp_css_attr_unset_text(css);
@@ -3661,7 +3664,7 @@ void sp_selection_create_bitmap_copy(SPDesktop *desktop)
if (hint_xdpi != 0) {
res = hint_xdpi;
} else {
- // if all else fails, take the default 90 dpi
+ // if all else fails, take the default 96 dpi
res = Inkscape::Util::Quantity::convert(1, "in", "px");
}
}
@@ -3709,7 +3712,7 @@ void sp_selection_create_bitmap_copy(SPDesktop *desktop)
double shift_x = bbox->min()[Geom::X];
double shift_y = bbox->max()[Geom::Y];
- if (res == Inkscape::Util::Quantity::convert(1, "in", "px")) { // for default 90 dpi, snap it to pixel grid
+ if (res == Inkscape::Util::Quantity::convert(1, "in", "px")) { // for default 96 dpi, snap it to pixel grid
shift_x = round(shift_x);
shift_y = -round(-shift_y); // this gets correct rounding despite coordinate inversion, remove the negations when the inversion is gone
}
@@ -3744,7 +3747,7 @@ void sp_selection_create_bitmap_copy(SPDesktop *desktop)
// TODO: avoid unnecessary roundtrip between data URI and decoded pixbuf
Inkscape::XML::Node * repr = xml_doc->createElement("svg:image");
sp_embed_image(repr, pb);
- if (res == Inkscape::Util::Quantity::convert(1, "in", "px")) { // for default 90 dpi, snap it to pixel grid
+ if (res == Inkscape::Util::Quantity::convert(1, "in", "px")) { // for default 96 dpi, snap it to pixel grid
sp_repr_set_svg_double(repr, "width", width);
sp_repr_set_svg_double(repr, "height", height);
} else {
diff --git a/src/sp-filter.cpp b/src/sp-filter.cpp
index 9a184952c..9cb33a6f3 100644
--- a/src/sp-filter.cpp
+++ b/src/sp-filter.cpp
@@ -465,6 +465,10 @@ int sp_filter_set_image_name(SPFilter *filter, gchar const *name) {
pair<gchar*,int> new_pair(name_copy, value);
pair<map<gchar*,int,ltstr>::iterator,bool> ret = filter->_image_name->insert(new_pair);
if (ret.second == false) {
+ // The element is not inserted (because an element with the same key was already in the map)
+ // Therefore, free the memory allocated for the new entry:
+ free(name_copy);
+
return (*ret.first).second;
}
return value;
diff --git a/src/sp-item.cpp b/src/sp-item.cpp
index 94ab1b181..2fa36f834 100644
--- a/src/sp-item.cpp
+++ b/src/sp-item.cpp
@@ -1,6 +1,3 @@
-/** \file
- * Base class for visual SVG elements
- */
/*
* Authors:
* Lauris Kaplinski <lauris@kaplinski.com>
@@ -15,12 +12,6 @@
* Released under GNU GPL, read the file 'COPYING' for more information
*/
-/** \class SPItem
- *
- * SPItem is an abstract base class for all graphic (visible) SVG nodes. It
- * is a subclass of SPObject, with great deal of specific functionality.
- */
-
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
@@ -232,20 +223,12 @@ bool SPItem::isEvaluated() const {
return _is_evaluated;
}
-/**
- * Returns something suitable for the `Hide' checkbox in the Object Properties dialog box.
- * Corresponds to setExplicitlyHidden.
- */
bool SPItem::isExplicitlyHidden() const
{
return (style->display.set
&& style->display.value == SP_CSS_DISPLAY_NONE);
}
-/**
- * Sets the display CSS property to `hidden' if \a val is true,
- * otherwise makes it unset
- */
void SPItem::setExplicitlyHidden(bool val) {
style->display.set = val;
style->display.value = ( val ? SP_CSS_DISPLAY_NONE : SP_CSS_DISPLAY_INLINE );
@@ -253,9 +236,6 @@ void SPItem::setExplicitlyHidden(bool val) {
updateRepr();
}
-/**
- * Sets the transform_center_x and transform_center_y properties to retain the rotation center
-*/
void SPItem::setCenter(Geom::Point const &object_centre) {
document->ensureUpToDate();
@@ -389,11 +369,6 @@ void SPItem::lowerToBottom() {
}
}
-/*
- * Move this SPItem into or after another SPItem in the doc
- * \param target - the SPItem to move into or after
- * \param intoafter - move to after the target (false), move inside (sublayer) of the target (true)
- */
void SPItem::moveTo(SPItem *target, bool intoafter) {
Inkscape::XML::Node *target_ref = ( target ? target->getRepr() : NULL );
@@ -826,11 +801,7 @@ Geom::OptRect SPItem::bbox(Geom::Affine const & /*transform*/, SPItem::BBoxType
//throw;
return Geom::OptRect();
}
-/**
- * Get item's geometric bounding box in this item's coordinate system.
- *
- * The geometric bounding box includes only the path, disregarding all style attributes.
- */
+
Geom::OptRect SPItem::geometricBounds(Geom::Affine const &transform) const
{
Geom::OptRect bbox;
@@ -843,11 +814,6 @@ Geom::OptRect SPItem::geometricBounds(Geom::Affine const &transform) const
return bbox;
}
-/**
- * Get item's visual bounding box in this item's coordinate system.
- *
- * The visual bounding box includes the stroke and the filter region.
- */
Geom::OptRect SPItem::visualBounds(Geom::Affine const &transform) const
{
using Geom::X;
@@ -924,14 +890,11 @@ Geom::OptRect SPItem::bounds(BBoxType type, Geom::Affine const &transform) const
}
}
-/** Get item's geometric bbox in document coordinate system.
- * Document coordinates are the default coordinates of the root element:
- * the origin is at the top left, X grows to the right and Y grows downwards. */
Geom::OptRect SPItem::documentGeometricBounds() const
{
return geometricBounds(i2doc_affine());
}
-/// Get item's visual bbox in document coordinate system.
+
Geom::OptRect SPItem::documentVisualBounds() const
{
if (!bbox_valid) {
@@ -948,14 +911,12 @@ Geom::OptRect SPItem::documentBounds(BBoxType type) const
return documentVisualBounds();
}
}
-/** Get item's geometric bbox in desktop coordinate system.
- * Desktop coordinates should be user defined. Currently they are hardcoded:
- * origin is at bottom left, X grows to the right and Y grows upwards. */
+
Geom::OptRect SPItem::desktopGeometricBounds() const
{
return geometricBounds(i2dt_affine());
}
-/// Get item's visual bbox in desktop coordinate system.
+
Geom::OptRect SPItem::desktopVisualBounds() const
{
/// @fixme hardcoded desktop transform
@@ -1079,11 +1040,6 @@ gchar* SPItem::description() const {
return g_strdup("");
}
-/**
- * Returns a string suitable for status bar, formatted in pango markup language.
- *
- * Must be freed by caller.
- */
gchar *SPItem::detailedDescription() const {
gchar* s = g_strdup_printf("<b>%s</b> %s",
this->displayName(), this->description());
@@ -1117,20 +1073,10 @@ gchar *SPItem::detailedDescription() const {
return s;
}
-/**
- * Returns true if the item is filtered, false otherwise. Used with groups/lists to determine how many, or if any, are filtered
- *
- */
bool SPItem::isFiltered() const {
return (style && style->filter.href && style->filter.href->getObject());
}
-/**
- * Allocates unique integer keys.
- * \param numkeys Number of keys required.
- * \return First allocated key; hence if the returned key is n
- * you can use n, n + 1, ..., n + (numkeys - 1)
- */
unsigned SPItem::display_key_new(unsigned numkeys)
{
static unsigned dkey = 0;
@@ -1367,9 +1313,6 @@ static Geom::Affine sp_item_transform_repr (SPItem *item)
}
-/**
- * Recursively scale stroke width in \a item and its children by \a expansion.
- */
void SPItem::adjust_stroke_width_recursive(double expansion)
{
adjust_stroke (expansion);
@@ -1414,9 +1357,6 @@ sp_item_adjust_rects_recursive(SPItem *item, Geom::Affine advertized_transform)
}
}
-/**
- * Recursively compensate pattern or gradient transform.
- */
void SPItem::adjust_paint_recursive (Geom::Affine advertized_transform, Geom::Affine t_ancestors, bool is_pattern)
{
// _Before_ full pattern/gradient transform: t_paint * t_item * t_ancestors
@@ -1478,14 +1418,6 @@ Geom::Affine SPItem::set_transform(Geom::Affine const &transform) {
return transform;
}
-/**
- * Set a new transform on an object.
- *
- * Compensate for stroke scaling and gradient/pattern fill transform, if
- * necessary. Call the object's set_transform method if transforms are
- * stored optimized. Send _transformed_signal. Invoke _write method so that
- * the repr is updated with the new transform.
- */
void SPItem::doWriteTransform(Inkscape::XML::Node *repr, Geom::Affine const &transform, Geom::Affine const *adv, bool compensate)
{
g_return_if_fail(repr != NULL);
@@ -1597,10 +1529,6 @@ gint SPItem::emitEvent(SPEvent &event)
return this->event(&event);
}
-/**
- * Sets item private transform (not propagated to repr), without compensating stroke widths,
- * gradients, patterns as sp_item_write_transform does.
- */
void SPItem::set_item_transform(Geom::Affine const &transform_matrix)
{
if (!Geom::are_near(transform_matrix, transform, 1e-18)) {
@@ -1618,12 +1546,7 @@ void SPItem::set_item_transform(Geom::Affine const &transform_matrix)
//}
-/**
- * \pre \a ancestor really is an ancestor (\>=) of \a object, or NULL.
- * ("Ancestor (\>=)" here includes as far as \a object itself.)
- */
-Geom::Affine
-i2anc_affine(SPObject const *object, SPObject const *const ancestor) {
+Geom::Affine i2anc_affine(SPObject const *object, SPObject const *const ancestor) {
Geom::Affine ret(Geom::identity());
g_return_val_if_fail(object != NULL, ret);
@@ -1650,18 +1573,11 @@ Geom::Affine SPItem::getRelativeTransform(SPObject const *dest) const {
return i2i_affine(this, dest);
}
-/**
- * Returns the accumulated transformation of the item and all its ancestors, including root's viewport.
- * \pre (item != NULL) and SP_IS_ITEM(item).
- */
Geom::Affine SPItem::i2doc_affine() const
{
return i2anc_affine(this, NULL);
}
-/**
- * Returns the transformation from item to desktop coords
- */
Geom::Affine SPItem::i2dt_affine() const
{
Geom::Affine ret;
@@ -1692,9 +1608,6 @@ void SPItem::set_i2d_affine(Geom::Affine const &i2dt)
}
-/**
- * should rather be named "sp_item_d2i_affine" to match "sp_item_i2d_affine" (or vice versa)
- */
Geom::Affine SPItem::dt2i_affine() const
{
/* fixme: Implement the right way (Lauris) */
@@ -1738,10 +1651,6 @@ sp_item_view_list_remove(SPItemView *list, SPItemView *view)
return ret;
}
-/**
- * Return the arenaitem corresponding to the given item in the display
- * with the given key
- */
Inkscape::DrawingItem *SPItem::get_arenaitem(unsigned key)
{
for ( SPItemView *iv = display ; iv ; iv = iv->next ) {
diff --git a/src/sp-item.h b/src/sp-item.h
index 1656a0c2b..b9d71c551 100644
--- a/src/sp-item.h
+++ b/src/sp-item.h
@@ -1,7 +1,8 @@
#ifndef SEEN_SP_ITEM_H
#define SEEN_SP_ITEM_H
-/** \file
+/**
+ * @file
* Some things pertinent to all visible shapes: SPItem, SPItemView, SPItemCtx, SPItemClass, SPEvent.
*/
@@ -65,7 +66,7 @@ enum PatternTransform {
/**
* Event structure.
*
- * \todo This is just placeholder. Plan:
+ * @todo This is just placeholder. Plan:
* We do extensible event structure, that hold applicable (ui, non-ui)
* data pointers. So it is up to given object/arena implementation
* to process correct ones in meaningful way.
@@ -78,7 +79,6 @@ public:
void* data;
};
-/// SPItemView
class SPItemView {
public:
SPItemView *next;
@@ -95,17 +95,21 @@ public:
/**
* Flag for referenced views (i.e. markers, clippaths, masks and patterns);
- currently unused, does the same as DISPLAY
+ * currently unused, does the same as DISPLAY
*/
#define SP_ITEM_REFERENCE_FLAGS (1 << 1)
-/// Contains transformations to document/viewport and the viewport size.
+/**
+ * Contains transformations to document/viewport and the viewport size.
+ */
class SPItemCtx : public SPCtx {
public:
/** Item to document transformation */
Geom::Affine i2doc;
+
/** Viewport size */
Geom::Rect viewport;
+
/** Item to viewport transformation */
Geom::Affine i2vp;
};
@@ -113,7 +117,11 @@ public:
#define SP_ITEM(obj) (dynamic_cast<SPItem*>((SPObject*)obj))
#define SP_IS_ITEM(obj) (dynamic_cast<const SPItem*>((SPObject*)obj) != NULL)
-/** Abstract base class for all visible shapes. */
+/**
+ * Base class for visual SVG elements.
+ * SPItem is an abstract base class for all graphic (visible) SVG nodes. It
+ * is a subclass of SPObject, with great deal of specific functionality.
+ */
class SPItem : public SPObject {
public:
enum BBoxType {
@@ -156,7 +164,7 @@ public:
bool isHidden() const;
void setHidden(bool hidden);
- /* Objects dialogue */
+ // Objects dialogue
bool isSensitive() const {
return sensitive;
};
@@ -167,7 +175,7 @@ public:
void setHighlightColor(guint32 color);
void unsetHighlightColor();
- /********************/
+ //====================
bool isEvaluated() const;
void setEvaluated(bool visible);
@@ -175,11 +183,23 @@ public:
bool isHidden(unsigned display_key) const;
+ /**
+ * Returns something suitable for the `Hide' checkbox in the Object Properties dialog box.
+ * Corresponds to setExplicitlyHidden.
+ */
bool isExplicitlyHidden() const;
+ /**
+ * Sets the display CSS property to `hidden' if \a val is true,
+ * otherwise makes it unset.
+ */
void setExplicitlyHidden(bool val);
+ /**
+ * Sets the transform_center_x and transform_center_y properties to retain the rotation center
+ */
void setCenter(Geom::Point const &object_centre);
+
void unsetCenter();
bool isCenterSet() const;
Geom::Point getCenter() const;
@@ -195,52 +215,155 @@ public:
void lowerOne();
void raiseToTop();
void lowerToBottom();
+
+ /**
+ * Move this SPItem into or after another SPItem in the doc.
+ *
+ * @param target the SPItem to move into or after.
+ * @param intoafter move to after the target (false), move inside (sublayer) of the target (true).
+ */
void moveTo(SPItem *target, bool intoafter);
sigc::connection connectTransformed(sigc::slot<void, Geom::Affine const *, SPItem *> slot) {
return _transformed_signal.connect(slot);
}
+ /**
+ * Get item's geometric bounding box in this item's coordinate system.
+ *
+ * The geometric bounding box includes only the path, disregarding all style attributes.
+ */
Geom::OptRect geometricBounds(Geom::Affine const &transform = Geom::identity()) const;
+
+ /**
+ * Get item's visual bounding box in this item's coordinate system.
+ *
+ * The visual bounding box includes the stroke and the filter region.
+ */
Geom::OptRect visualBounds(Geom::Affine const &transform = Geom::identity()) const;
+
Geom::OptRect bounds(BBoxType type, Geom::Affine const &transform = Geom::identity()) const;
+
+ /**
+ * Get item's geometric bbox in document coordinate system.
+ * Document coordinates are the default coordinates of the root element:
+ * the origin is at the top left, X grows to the right and Y grows downwards.
+ */
Geom::OptRect documentGeometricBounds() const;
+
+ /**
+ * Get item's visual bbox in document coordinate system.
+ */
Geom::OptRect documentVisualBounds() const;
+
Geom::OptRect documentBounds(BBoxType type) const;
+
+ /**
+ * Get item's geometric bbox in desktop coordinate system.
+ * Desktop coordinates should be user defined. Currently they are hardcoded:
+ * origin is at bottom left, X grows to the right and Y grows upwards.
+ */
Geom::OptRect desktopGeometricBounds() const;
+
+ /**
+ * Get item's visual bbox in desktop coordinate system.
+ */
Geom::OptRect desktopVisualBounds() const;
+
Geom::OptRect desktopPreferredBounds() const;
Geom::OptRect desktopBounds(BBoxType type) const;
unsigned int pos_in_parent() const;
+ /**
+ * Returns a string suitable for status bar, formatted in pango markup language.
+ *
+ * Must be freed by caller.
+ */
char *detailedDescription() const;
+ /**
+ * Returns true if the item is filtered, false otherwise.
+ * Used with groups/lists to determine how many, or if any, are filtered.
+ */
bool isFiltered() const;
void invoke_print(SPPrintContext *ctx);
+
+ /**
+ * Allocates unique integer keys.
+ *
+ * @param numkeys Number of keys required.
+ * @return First allocated key; hence if the returned key is n
+ * you can use n, n + 1, ..., n + (numkeys - 1)
+ */
static unsigned int display_key_new(unsigned int numkeys);
+
Inkscape::DrawingItem *invoke_show(Inkscape::Drawing &drawing, unsigned int key, unsigned int flags);
void invoke_hide(unsigned int key);
void getSnappoints(std::vector<Inkscape::SnapCandidatePoint> &p, Inkscape::SnapPreferences const *snapprefs=0) const;
void adjust_pattern(/* Geom::Affine const &premul, */ Geom::Affine const &postmul, bool set = false, PatternTransform = TRANSFORM_BOTH);
void adjust_gradient(/* Geom::Affine const &premul, */ Geom::Affine const &postmul, bool set = false);
void adjust_stroke(double ex);
+
+ /**
+ * Recursively scale stroke width in \a item and its children by \a expansion.
+ */
void adjust_stroke_width_recursive(double ex);
+
void freeze_stroke_width_recursive(bool freeze);
+
+ /**
+ * Recursively compensate pattern or gradient transform.
+ */
void adjust_paint_recursive(Geom::Affine advertized_transform, Geom::Affine t_ancestors, bool is_pattern);
+
void adjust_livepatheffect(Geom::Affine const &postmul, bool set = false);
+
+ /**
+ * Set a new transform on an object.
+ *
+ * Compensate for stroke scaling and gradient/pattern fill transform, if
+ * necessary. Call the object's set_transform method if transforms are
+ * stored optimized. Send _transformed_signal. Invoke _write method so that
+ * the repr is updated with the new transform.
+ */
void doWriteTransform(Inkscape::XML::Node *repr, Geom::Affine const &transform, Geom::Affine const *adv = NULL, bool compensate = true);
+
+ /**
+ * Sets item private transform (not propagated to repr), without compensating stroke widths,
+ * gradients, patterns as sp_item_write_transform does.
+ */
void set_item_transform(Geom::Affine const &transform_matrix);
+
int emitEvent (SPEvent &event);
+
+ /**
+ * Return the arenaitem corresponding to the given item in the display
+ * with the given key
+ */
Inkscape::DrawingItem *get_arenaitem(unsigned int key);
+ /**
+ * Returns the accumulated transformation of the item and all its ancestors, including root's viewport.
+ * @pre (item != NULL) and SP_IS_ITEM(item).
+ */
Geom::Affine i2doc_affine() const;
+
+ /**
+ * Returns the transformation from item to desktop coords
+ */
Geom::Affine i2dt_affine() const;
+
void set_i2d_affine(Geom::Affine const &transform);
+
+ /**
+ * should rather be named "sp_item_d2i_affine" to match "sp_item_i2d_affine" (or vice versa).
+ */
Geom::Affine dt2i_affine() const;
char *_highlightColor;
+
private:
enum EvaluatedStatus
{
@@ -281,17 +404,16 @@ public:
// Utility
+/**
+ * @pre \a ancestor really is an ancestor (\>=) of \a object, or NULL.
+ * ("Ancestor (\>=)" here includes as far as \a object itself.)
+ */
Geom::Affine i2anc_affine(SPObject const *item, SPObject const *ancestor);
+
Geom::Affine i2i_affine(SPObject const *src, SPObject const *dest);
/* fixme: - these are evil, but OK */
-/* Fill *TRANSFORM with the item-to-desktop transform. See doc/coordinates.txt
- * for a description of `Desktop coordinates'; though see also mental's comment
- * at the top of that file.
- *
- * \return TRANSFORM.
- */
int sp_item_repr_compare_position(SPItem const *first, SPItem const *second);
SPItem *sp_item_first_item_child (SPObject *obj);
SPItem const *sp_item_first_item_child (SPObject const *obj);
diff --git a/src/style-test.h b/src/style-test.h
index 2fe270336..e14ed4db7 100644
--- a/src/style-test.h
+++ b/src/style-test.h
@@ -104,30 +104,30 @@ public:
TestCase("font:bold 12px Arial",
"font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;line-height:normal;font-family:Arial"),
TestCase("font:bold 12px/24px 'Times New Roman'",
- "font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;line-height:24px;font-family:\'\"Times New Roman\"\'"),
+ "font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;line-height:24px;font-family:\'Times New Roman\'"),
// From CSS 3 Fonts (examples):
- TestCase("font: 12pt/14pt sans-serif",
- "font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:14pt;font-family:sans-serif"),
+ TestCase("font: 12pt/15pt sans-serif",
+ "font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:15pt;font-family:sans-serif"),
TestCase("font: 80% sans-serif",
"font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80.00000119%;line-height:normal;font-family:sans-serif"),
TestCase("font: x-large/110% 'new century schoolbook', serif",
- "font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:x-large;line-height:110.00000238%;font-family:\'\"new century schoolbook\", serif\'"),
+ "font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:x-large;line-height:110.00000238%;font-family:\'new century schoolbook\', serif"),
TestCase("font: bold italic large Palatino, serif",
- "font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:large;line-height:normal;font-family:\'Palatino, serif\'"),
+ "font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:large;line-height:normal;font-family:Palatino, serif"),
TestCase("font: normal small-caps 120%/120% fantasy",
"font-style:normal;font-variant:small-caps;font-weight:normal;font-stretch:normal;font-size:120.00000477%;line-height:120.00000477%;font-family:fantasy"),
TestCase("font: condensed oblique 12pt 'Helvetica Neue', serif;",
- "font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:15px;line-height:normal;font-family:\'\"Helvetica Neue\", serif\'"),
+ "font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:16px;line-height:normal;font-family:\'Helvetica Neue\', serif"),
TestCase("font-family:sans-serif"), // SPIString, text_private
TestCase("font-family:Arial"),
- TestCase("font-variant:normal;font-stretch:normal;-inkscape-font-specification:Nimbus Roman No9 L Bold Italic"),
+ // TestCase("font-variant:normal;font-stretch:normal;-inkscape-font-specification:Nimbus Roman No9 L Bold Italic"),
// Needs to be fixed (quotes should be around each font-family):
- TestCase("font-family:Georgia, 'Minion Web'","font-family:'Georgia, \"Minion Web\"'"),
+ TestCase("font-family:Georgia, 'Minion Web'","font-family:Georgia, \'Minion Web\'"),
TestCase("font-size:12", "font-size:12px"), // SPIFontSize
TestCase("font-size:12px"),
- TestCase("font-size:12pt", "font-size:15px"),
+ TestCase("font-size:12pt", "font-size:16px"),
TestCase("font-size:medium"),
TestCase("font-size:smaller"),
TestCase("font-style:italic"), // SPIEnum
@@ -145,10 +145,10 @@ public:
// The default value for 'text-decoration-color' is 'currentColor', but
// we cannot set the default to that value yet. (We need to switch
// SPIPaint to SPIColor and then add the ability to set default.)
- TestCase("text-decoration: underline",
- "text-decoration: underline;text-decoration-line: underline;text-decoration-color:currentColor"),
- TestCase("text-decoration: overline underline",
- "text-decoration: underline overline;text-decoration-line: underline overline;text-decoration-color:currentColor"),
+ // TestCase("text-decoration: underline",
+ // "text-decoration: underline;text-decoration-line: underline;text-decoration-color:currentColor"),
+ // TestCase("text-decoration: overline underline",
+ // "text-decoration: underline overline;text-decoration-line: underline overline;text-decoration-color:currentColor"),
TestCase("text-decoration: underline wavy #0000ff",
"text-decoration: underline;text-decoration-line: underline;text-decoration-style:wavy;text-decoration-color:#0000ff"),
@@ -358,7 +358,7 @@ public:
TestCase("text-decoration:underline", "text-decoration:overline", false),
TestCase("text-decoration:underline overline","text-decoration:underline overline",true ),
TestCase("text-decoration:overline underline","text-decoration:underline overline",true ),
- TestCase("text-decoration:none", "text-decoration-color:currentColor", true ), // Default
+ // TestCase("text-decoration:none", "text-decoration-color:currentColor", true ), // Default
// Terminate
diff --git a/src/style.cpp b/src/style.cpp
index e0c8536fc..a7e50b17a 100644
--- a/src/style.cpp
+++ b/src/style.cpp
@@ -1720,7 +1720,6 @@ sp_css_attr_unset_text(SPCSSAttr *css)
sp_repr_css_set_property(css, "font-family", NULL);
sp_repr_css_set_property(css, "text-indent", NULL);
sp_repr_css_set_property(css, "text-align", NULL);
- sp_repr_css_set_property(css, "text-decoration", NULL);
sp_repr_css_set_property(css, "line-height", NULL);
sp_repr_css_set_property(css, "letter-spacing", NULL);
sp_repr_css_set_property(css, "word-spacing", NULL);
@@ -1729,12 +1728,48 @@ sp_css_attr_unset_text(SPCSSAttr *css)
sp_repr_css_set_property(css, "block-progression", NULL);
sp_repr_css_set_property(css, "writing-mode", NULL);
sp_repr_css_set_property(css, "text-anchor", NULL);
- sp_repr_css_set_property(css, "white_space", NULL);
+ sp_repr_css_set_property(css, "white-space", NULL);
sp_repr_css_set_property(css, "kerning", NULL); // not implemented yet
sp_repr_css_set_property(css, "dominant-baseline", NULL); // not implemented yet
sp_repr_css_set_property(css, "alignment-baseline", NULL); // not implemented yet
sp_repr_css_set_property(css, "baseline-shift", NULL);
+ sp_repr_css_set_property(css, "text-decoration", NULL);
+ sp_repr_css_set_property(css, "text-decoration-line", NULL);
+ sp_repr_css_set_property(css, "text-decoration-color", NULL);
+ sp_repr_css_set_property(css, "text-decoration-style", NULL);
+
+ return css;
+}
+
+// ui/dialog/inkscape-preferences.cpp
+/**
+ * Unset properties that should not be set for default tool style.
+ * This list needs to be reviewed.
+ */
+SPCSSAttr *
+sp_css_attr_unset_blacklist(SPCSSAttr *css)
+{
+ sp_repr_css_set_property(css, "color", NULL);
+ sp_repr_css_set_property(css, "clip-rule", NULL);
+ sp_repr_css_set_property(css, "display", NULL);
+ sp_repr_css_set_property(css, "overflow", NULL);
+ sp_repr_css_set_property(css, "visibility", NULL);
+ sp_repr_css_set_property(css, "isolation", NULL);
+ sp_repr_css_set_property(css, "mix-blend-mode", NULL);
+ sp_repr_css_set_property(css, "color-interpolation", NULL);
+ sp_repr_css_set_property(css, "color-interpolation-filters", NULL);
+ sp_repr_css_set_property(css, "solid-color", NULL);
+ sp_repr_css_set_property(css, "solid-opacity", NULL);
+ sp_repr_css_set_property(css, "fill-rule", NULL);
+ sp_repr_css_set_property(css, "filter-blend-mode", NULL);
+ sp_repr_css_set_property(css, "filter-gaussianBlur-deviation", NULL);
+ sp_repr_css_set_property(css, "color-rendering", NULL);
+ sp_repr_css_set_property(css, "image-rendering", NULL);
+ sp_repr_css_set_property(css, "shape-rendering", NULL);
+ sp_repr_css_set_property(css, "text-rendering", NULL);
+ sp_repr_css_set_property(css, "enable-background", NULL);
+
return css;
}
diff --git a/src/style.h b/src/style.h
index a4c2b3043..1b1596458 100644
--- a/src/style.h
+++ b/src/style.h
@@ -314,6 +314,7 @@ double sp_style_css_size_units_to_px(double size, int unit); // No change?
SPCSSAttr *sp_css_attr_from_style (SPStyle const *const style, unsigned int flags);
SPCSSAttr *sp_css_attr_from_object(SPObject *object, unsigned int flags = SP_STYLE_FLAG_IFSET);
SPCSSAttr *sp_css_attr_unset_text(SPCSSAttr *css);
+SPCSSAttr *sp_css_attr_unset_blacklist(SPCSSAttr *css);
SPCSSAttr *sp_css_attr_unset_uris(SPCSSAttr *css);
SPCSSAttr *sp_css_attr_scale(SPCSSAttr *css, double ex);
diff --git a/src/svg/svg-affine-test.h b/src/svg/svg-affine-test.h
index 11b9012a8..6d8387328 100644
--- a/src/svg/svg-affine-test.h
+++ b/src/svg/svg-affine-test.h
@@ -34,7 +34,7 @@ private:
static char const * const read_fail_tests[25];
static test_t const write_matrix_tests[2];
static test_t const write_translate_tests[3];
- static test_t const write_scale_tests[2];
+ static test_t const write_scale_tests[3];
static test_t const write_rotate_tests[2];
static test_t const write_skew_tests[3];
public:
@@ -238,8 +238,9 @@ SvgAffineTest::test_t const SvgAffineTest::write_translate_tests[3] = {
{"translate(1,1)",Geom::Affine(1,0,0,1,1,1)},
{"translate(1)",Geom::Affine(1,0,0,1,1,0)},
{"translate(-1345,0.123)",Geom::Affine(1,0,0,1,-1.345e3,.123)}};
-SvgAffineTest::test_t const SvgAffineTest::write_scale_tests[2] = {
+SvgAffineTest::test_t const SvgAffineTest::write_scale_tests[3] = {
{"scale(0)",Geom::Affine(0,0,0,0,0,0)},
+ {"scale(7)",Geom::Affine(7,0,0,7,0,0)},
{"scale(2,3)",Geom::Affine(2,0,0,3,0,0)}};
SvgAffineTest::test_t const SvgAffineTest::write_rotate_tests[2] = {
{"rotate(13)",Geom::Affine(cos(13.*DEGREE),sin(13.*DEGREE),-sin(13.*DEGREE),cos(13.*DEGREE),0,0)},
@@ -247,7 +248,7 @@ SvgAffineTest::test_t const SvgAffineTest::write_rotate_tests[2] = {
SvgAffineTest::test_t const SvgAffineTest::write_skew_tests[3] = {
{"skewX(30)",Geom::Affine(1,0,tan(30.*DEGREE),1,0,0)},
{"skewX(-30)",Geom::Affine(1,0,tan(-30.*DEGREE),1,0,0)},
- {"skewY(390)",Geom::Affine(1,tan(30.*DEGREE),0,1,0,0)}};
+ {"skewY(30)",Geom::Affine(1,tan(30.*DEGREE),0,1,0,0)}};
/*
Local Variables:
diff --git a/src/svg/svg-affine.cpp b/src/svg/svg-affine.cpp
index 44567a2bd..af58c4544 100644
--- a/src/svg/svg-affine.cpp
+++ b/src/svg/svg-affine.cpp
@@ -162,65 +162,105 @@ sp_svg_transform_write(Geom::Affine const &transform)
int prec = prefs->getInt("/options/svgoutput/numericprecision", 8);
int min_exp = prefs->getInt("/options/svgoutput/minimumexponent", -8);
- /* fixme: We could use t1 * t1 + t2 * t2 here instead */
- if ( Geom::are_near(transform[1], 0.0, e) && Geom::are_near (transform[2], 0.0, e)) {
- if (Geom::are_near (transform[4], 0.0, e) && Geom::are_near (transform[5], 0.0, e)) {
- if (Geom::are_near (transform[0], 1.0, e) && Geom::are_near (transform[3], 1.0, e)) {
- /* We are more or less identity */
- return NULL;
- } else {
- /* We are more or less scale */
- gchar c[256];
- unsigned p = 0;
- strcpy (c + p, "scale(");
- p += 6;
- p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[0], prec, min_exp );
- c[p++] = ',';
- p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[3], prec, min_exp );
- c[p++] = ')';
- c[p] = '\000';
- g_assert( p <= sizeof(c) );
- return g_strdup(c);
- }
+ // Special case: when all fields of the affine are zero,
+ // the optimized transformation is scale(0)
+ if (transform[0] == 0 && transform[1] == 0 && transform[2] == 0 &&
+ transform[3] == 0 && transform[4] == 0 && transform[5] == 0)
+ {
+ return g_strdup("scale(0)");
+ }
+
+ // FIXME legacy C code!
+ // the function sp_svg_number_write_de is stopping me from using a proper C++ string
+
+ gchar c[256]; // string buffer
+ unsigned p = 0; // position in the buffer
+
+ if (transform.isIdentity()) {
+ // We are more or less identity, so no transform attribute needed:
+ return NULL;
+ } else if (transform.isScale()) {
+ // We are more or less a uniform scale
+ strcpy (c + p, "scale(");
+ p += 6;
+ p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[0], prec, min_exp );
+ if (Geom::are_near(transform[0], transform[3], e)) {
+ c[p++] = ')';
+ c[p] = '\000';
} else {
- if (Geom::are_near (transform[0], 1.0, e) && Geom::are_near (transform[3], 1.0, e)) {
- /* We are more or less translate */
- gchar c[256];
- unsigned p = 0;
- strcpy (c + p, "translate(");
- p += 10;
- p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[4], prec, min_exp );
- c[p++] = ',';
- p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[5], prec, min_exp );
- c[p++] = ')';
- c[p] = '\000';
- g_assert( p <= sizeof(c) );
- return g_strdup(c);
- } else {
- gchar c[256];
- unsigned p = 0;
- strcpy (c + p, "matrix(");
- p += 7;
- p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[0], prec, min_exp );
- c[p++] = ',';
- p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[1], prec, min_exp );
- c[p++] = ',';
- p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[2], prec, min_exp );
- c[p++] = ',';
- p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[3], prec, min_exp );
- c[p++] = ',';
- p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[4], prec, min_exp );
- c[p++] = ',';
- p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[5], prec, min_exp );
- c[p++] = ')';
- c[p] = '\000';
- g_assert( p <= sizeof(c) );
- return g_strdup(c);
- }
+ c[p++] = ',';
+ p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[3], prec, min_exp );
+ c[p++] = ')';
+ c[p] = '\000';
}
+ } else if (transform.isTranslation()) {
+ // We are more or less a pure translation
+ strcpy (c + p, "translate(");
+ p += 10;
+ p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[4], prec, min_exp );
+ if (Geom::are_near(transform[5], 0.0, e)) {
+ c[p++] = ')';
+ c[p] = '\000';
+ } else {
+ c[p++] = ',';
+ p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[5], prec, min_exp );
+ c[p++] = ')';
+ c[p] = '\000';
+ }
+ } else if (transform.isRotation()) {
+ // We are more or less a pure rotation
+ strcpy(c + p, "rotate(");
+ p += 7;
+
+ double angle = std::atan2(transform[1], transform[0]) * (180 / M_PI);
+ p += sp_svg_number_write_de(c + p, sizeof(c) - p, angle, prec, min_exp);
+
+ c[p++] = ')';
+ c[p] = '\000';
+ /* } else if (transform.withoutTranslation().isRotation()) {
+ // FIXME someone please figure out if this can actually be done
+ // The rotation angle is correct, the points are not
+ // Refer to the matrix in svg-affine-test.h
+
+ // We are a rotation about a special axis
+ strcpy(c + p, "rotate(");
+ p += 7;
+
+ Geom::Affine const sans_translate = transform.withoutTranslation();
+ double angle = std::atan2(sans_translate[1], sans_translate[0]) * (180 / M_PI);
+ p += sp_svg_number_write_de(c + p, sizeof(c) - p, angle, prec, min_exp);
+ c[p++] = ',';
+
+ Geom::Point pt = transform.translation();
+ p += sp_svg_number_write_de(c + p, sizeof(c) - p, pt[Geom::X], prec, min_exp);
+
+ c[p++] = ',';
+
+ p += sp_svg_number_write_de(c + p, sizeof(c) - p, pt[Geom::Y], prec, min_exp);
+
+ c[p++] = ')';
+ c[p] = '\000';*/
+ } else if (transform.isHShear()) {
+ // We are more or less a pure skewX
+ strcpy(c + p, "skewX(");
+ p += 6;
+
+ double angle = atan(transform[2]) * (180 / M_PI);
+ p += sp_svg_number_write_de(c + p, sizeof(c) - p, angle, prec, min_exp);
+
+ c[p++] = ')';
+ c[p] = '\000';
+ } else if (transform.isVShear()) {
+ // We are more or less a pure skewY
+ strcpy(c + p, "skewY(");
+ p += 6;
+
+ double angle = atan(transform[1]) * (180 / M_PI);
+ p += sp_svg_number_write_de(c + p, sizeof(c) - p, angle, prec, min_exp);
+
+ c[p++] = ')';
+ c[p] = '\000';
} else {
- gchar c[256];
- unsigned p = 0;
strcpy (c + p, "matrix(");
p += 7;
p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[0], prec, min_exp );
@@ -236,9 +276,10 @@ sp_svg_transform_write(Geom::Affine const &transform)
p += sp_svg_number_write_de( c + p, sizeof(c) - p, transform[5], prec, min_exp );
c[p++] = ')';
c[p] = '\000';
- g_assert( p <= sizeof(c) );
- return g_strdup(c);
}
+
+ assert(p <= sizeof(c));
+ return g_strdup(c);
}
diff --git a/src/svg/svg-angle.cpp b/src/svg/svg-angle.cpp
index 63152368e..ed5ccd45e 100644
--- a/src/svg/svg-angle.cpp
+++ b/src/svg/svg-angle.cpp
@@ -104,15 +104,19 @@ static bool sp_svg_angle_read_lff(gchar const *str, SVGAngle::Unit &unit, float
} else {
if (strncmp(e, "deg", 3) == 0) {
unit = SVGAngle::DEG;
+ val = v;
computed = v;
} else if (strncmp(e, "grad", 4) == 0) {
unit = SVGAngle::GRAD;
+ val = v;
computed = Inkscape::Util::Quantity::convert(v, "grad", "°");
} else if (strncmp(e, "rad", 3) == 0) {
unit = SVGAngle::RAD;
+ val = v;
computed = Inkscape::Util::Quantity::convert(v, "rad", "°");
} else if (strncmp(e, "turn", 4) == 0) {
unit = SVGAngle::TURN;
+ val = v;
computed = Inkscape::Util::Quantity::convert(v, "turn", "°");
} else {
return false;
diff --git a/src/svg/svg-length-test.h b/src/svg/svg-length-test.h
index 81a28c9e7..fbdb7588d 100644
--- a/src/svg/svg-length-test.h
+++ b/src/svg/svg-length-test.h
@@ -164,13 +164,13 @@ SvgLengthTest::test_t const SvgLengthTest::absolute_tests[12] = {
{"1.00001", SVGLength::NONE, 1.00001 , 1.00001},
{"1px", SVGLength::PX , 1 , 1},
{".1px", SVGLength::PX , 0.1 , 0.1},
- {"100pt", SVGLength::PT , 100 , 125},
- {"1e2pt", SVGLength::PT , 100 , 125},
- {"3pc", SVGLength::PC , 3 , 45},
- {"-3.5pc", SVGLength::PC , -3.5 , -3.5*15.},
- {"1.2345678mm", SVGLength::MM , 1.2345678, 1.2345678*3.543307}, // TODO: More precise constants? (a 7 digit constant when the default precision is 8 digits?)
- {"123.45678cm", SVGLength::CM , 123.45678 , 123.45678*35.43307},
- {"73.162987in", SVGLength::INCH, 73.162987 , 73.162987*90}};
+ {"100pt", SVGLength::PT , 100 , 400.0/3.0},
+ {"1e2pt", SVGLength::PT , 100 , 400.0/3.0},
+ {"3pc", SVGLength::PC , 3 , 48},
+ {"-3.5pc", SVGLength::PC , -3.5 , -3.5*16.0},
+ {"1.2345678mm", SVGLength::MM , 1.2345678, 1.2345678*96.0/25.4}, // TODO: More precise constants? (a 7 digit constant when the default precision is 8 digits?)
+ {"123.45678cm", SVGLength::CM , 123.45678 , 123.45678*96.0/2.54},
+ {"73.162987in", SVGLength::INCH, 73.162987 , 73.162987*96}};
SvgLengthTest::test_t const SvgLengthTest::relative_tests[3] = {
{"123em", SVGLength::EM, 123, 123. * 7.},
{"123ex", SVGLength::EX, 123, 123. * 13.},
diff --git a/src/ui/dialog/Makefile_insert b/src/ui/dialog/Makefile_insert
index 26a59ce2c..cbdae1cb0 100644
--- a/src/ui/dialog/Makefile_insert
+++ b/src/ui/dialog/Makefile_insert
@@ -101,7 +101,7 @@ ink_common_sources += \
ui/dialog/template-widget.cpp \
ui/dialog/template-widget.h \
ui/dialog/tags.cpp \
- ui/dialpg/tags.h \
+ ui/dialog/tags.h \
ui/dialog/text-edit.cpp \
ui/dialog/text-edit.h \
ui/dialog/tile.cpp \
diff --git a/src/ui/dialog/export.cpp b/src/ui/dialog/export.cpp
index 6d5d894ef..ba30c8e6b 100644
--- a/src/ui/dialog/export.cpp
+++ b/src/ui/dialog/export.cpp
@@ -537,7 +537,7 @@ Gtk::Adjustment * Export::createSpinbutton( gchar const * /*key*/, float val, fl
sb->set_sensitive (sensitive);
pos++;
- if (!ll.empty()) {
+ if (l) {
l->set_mnemonic_widget(*sb);
}
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index e113b325f..87b698673 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -234,6 +234,9 @@ static void StyleFromSelectionToTool(Glib::ustring const &prefs_path, StyleSwatc
if (!css) return;
+ // remove black-listed properties
+ css = sp_css_attr_unset_blacklist (css);
+
// only store text style for the text tool
if (prefs_path != "/tools/text") {
css = sp_css_attr_unset_text (css);
@@ -838,7 +841,7 @@ void InkscapePreferences::initPageIO()
_save_use_current_dir.init( _("Use current directory for \"Save As ...\""), "/dialogs/save_as/use_current_dir", true);
_page_io.add_line( false, "", _save_use_current_dir, "",
- _("When this option is on, the \"Save as...\" and \"Save a Copy\" dialogs will always open in the directory where the currently open document is; when it's off, each will open in the directory where you last saved a file using it"), true);
+ _("When this option is on, the \"Save as...\" and \"Save a Copy...\" dialogs will always open in the directory where the currently open document is; when it's off, each will open in the directory where you last saved a file using it"), true);
_misc_comment.init( _("Add label comments to printing output"), "/printing/debug/show-label-comments", false);
_page_io.add_line( false, "", _misc_comment, "",
diff --git a/src/ui/dialog/lpe-fillet-chamfer-properties.cpp b/src/ui/dialog/lpe-fillet-chamfer-properties.cpp
index ad8b66b8c..fa909924d 100644
--- a/src/ui/dialog/lpe-fillet-chamfer-properties.cpp
+++ b/src/ui/dialog/lpe-fillet-chamfer-properties.cpp
@@ -46,7 +46,7 @@ FilletChamferPropertiesDialog::FilletChamferPropertiesDialog()
Gtk::Box *mainVBox = get_vbox();
mainVBox->set_homogeneous(false);
_layout_table.set_spacings(4);
- _layout_table.resize(2, 2);
+ _layout_table.resize(3, 3);
// Layer name widgets
_fillet_chamfer_position_numeric.set_digits(4);
@@ -61,20 +61,30 @@ FilletChamferPropertiesDialog::FilletChamferPropertiesDialog()
Gtk::FILL);
_layout_table.attach(_fillet_chamfer_position_numeric, 1, 2, 0, 1,
Gtk::FILL | Gtk::EXPAND, Gtk::FILL);
+ _fillet_chamfer_chamfer_subdivisions.set_digits(0);
+ _fillet_chamfer_chamfer_subdivisions.set_increments(1,1);
+ //todo: get tha max aloable infinity freeze the widget
+ _fillet_chamfer_chamfer_subdivisions.set_range(0, 999999999999999999);
+
+ _fillet_chamfer_chamfer_subdivisions_label.set_label(_("Chamfer subdivisions:"));
+ _fillet_chamfer_chamfer_subdivisions_label.set_alignment(1.0, 0.5);
+
+ _layout_table.attach(_fillet_chamfer_chamfer_subdivisions_label, 0, 1, 1, 2, Gtk::FILL,
+ Gtk::FILL);
+ _layout_table.attach(_fillet_chamfer_chamfer_subdivisions, 1, 2, 1, 2,
+ Gtk::FILL | Gtk::EXPAND, Gtk::FILL);
_fillet_chamfer_type_fillet.set_label(_("Fillet"));
_fillet_chamfer_type_fillet.set_group(_fillet_chamfer_type_group);
_fillet_chamfer_type_inverse_fillet.set_label(_("Inverse fillet"));
_fillet_chamfer_type_inverse_fillet.set_group(_fillet_chamfer_type_group);
_fillet_chamfer_type_chamfer.set_label(_("Chamfer"));
_fillet_chamfer_type_chamfer.set_group(_fillet_chamfer_type_group);
- _fillet_chamfer_type_double_chamfer.set_label(_("Double chamfer"));
- _fillet_chamfer_type_double_chamfer.set_group(_fillet_chamfer_type_group);
+
mainVBox->pack_start(_layout_table, true, true, 4);
mainVBox->pack_start(_fillet_chamfer_type_fillet, true, true, 4);
mainVBox->pack_start(_fillet_chamfer_type_inverse_fillet, true, true, 4);
mainVBox->pack_start(_fillet_chamfer_type_chamfer, true, true, 4);
- mainVBox->pack_start(_fillet_chamfer_type_double_chamfer, true, true, 4);
// Buttons
_close_button.set_use_stock(true);
@@ -146,10 +156,8 @@ void FilletChamferPropertiesDialog::_apply()
d_width = 1;
} else if (_fillet_chamfer_type_inverse_fillet.get_active() == true) {
d_width = 2;
- } else if (_fillet_chamfer_type_chamfer.get_active() == true) {
- d_width = 3;
} else {
- d_width = 4;
+ d_width = _fillet_chamfer_chamfer_subdivisions.get_value() + 3;
}
if (_flexible) {
if (d_pos > 99.99999 || d_pos < 0) {
@@ -177,7 +185,7 @@ void FilletChamferPropertiesDialog::_close()
);
}
-bool FilletChamferPropertiesDialog::_handleKeyEvent(GdkEventKey *event)
+bool FilletChamferPropertiesDialog::_handleKeyEvent(GdkEventKey * /*event*/)
{
return false;
}
@@ -194,7 +202,7 @@ void FilletChamferPropertiesDialog::_setKnotPoint(Geom::Point knotpoint)
double position;
std::string distance_or_radius = std::string(_("Radius "));
if(aprox){
- distance_or_radius = std::string(_("Radius aproximated "));
+ distance_or_radius = std::string(_("Radius approximated "));
}
if(use_distance){
distance_or_radius = std::string(_("Knot distance "));
@@ -218,10 +226,8 @@ void FilletChamferPropertiesDialog::_setKnotPoint(Geom::Point knotpoint)
_fillet_chamfer_type_fillet.set_active(true);
} else if (knotpoint.y() == 2) {
_fillet_chamfer_type_inverse_fillet.set_active(true);
- } else if (knotpoint.y() == 3) {
- _fillet_chamfer_type_chamfer.set_active(true);
- } else if (knotpoint.y() == 1) {
- _fillet_chamfer_type_double_chamfer.set_active(true);
+ } else if (knotpoint.y() >= 3) {
+ _fillet_chamfer_chamfer_subdivisions.set_value(knotpoint.y() - 3);
}
}
diff --git a/src/ui/dialog/lpe-fillet-chamfer-properties.h b/src/ui/dialog/lpe-fillet-chamfer-properties.h
index 47ff97b00..deae0cee0 100644
--- a/src/ui/dialog/lpe-fillet-chamfer-properties.h
+++ b/src/ui/dialog/lpe-fillet-chamfer-properties.h
@@ -46,7 +46,8 @@ protected:
Gtk::RadioButton _fillet_chamfer_type_fillet;
Gtk::RadioButton _fillet_chamfer_type_inverse_fillet;
Gtk::RadioButton _fillet_chamfer_type_chamfer;
- Gtk::RadioButton _fillet_chamfer_type_double_chamfer;
+ Gtk::Label _fillet_chamfer_chamfer_subdivisions_label;
+ Gtk::SpinButton _fillet_chamfer_chamfer_subdivisions;
Gtk::Table _layout_table;
bool _position_visible;
diff --git a/src/ui/dialog/lpe-powerstroke-properties.cpp b/src/ui/dialog/lpe-powerstroke-properties.cpp
index c34351511..55f938a48 100644
--- a/src/ui/dialog/lpe-powerstroke-properties.cpp
+++ b/src/ui/dialog/lpe-powerstroke-properties.cpp
@@ -152,7 +152,7 @@ PowerstrokePropertiesDialog::_close()
);
}
-bool PowerstrokePropertiesDialog::_handleKeyEvent(GdkEventKey *event)
+bool PowerstrokePropertiesDialog::_handleKeyEvent(GdkEventKey * /*event*/)
{
/*switch (get_group0_keyval(event)) {
diff --git a/src/ui/dialog/objects.cpp b/src/ui/dialog/objects.cpp
index 93d5dfbd5..c95529a56 100644
--- a/src/ui/dialog/objects.cpp
+++ b/src/ui/dialog/objects.cpp
@@ -988,7 +988,7 @@ void ObjectsPanel::_storeHighlightTarget(const Gtk::TreeModel::iterator& iter)
/*
* Drap and drop within the tree
*/
-bool ObjectsPanel::_handleDragDrop(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, guint time)
+bool ObjectsPanel::_handleDragDrop(const Glib::RefPtr<Gdk::DragContext>& /*context*/, int x, int y, guint /*time*/)
{
int cell_x = 0, cell_y = 0;
Gtk::TreeModel::Path target_path;
diff --git a/src/ui/dialog/tags.cpp b/src/ui/dialog/tags.cpp
index 127e4d95e..8a104d137 100644
--- a/src/ui/dialog/tags.cpp
+++ b/src/ui/dialog/tags.cpp
@@ -380,7 +380,7 @@ void TagsPanel::_objectsSelected( Selection *sel ) {
_checkTreeSelection();
}
-bool TagsPanel::_checkForSelected(const Gtk::TreePath &path, const Gtk::TreeIter& iter, SPObject* obj)
+bool TagsPanel::_checkForSelected(const Gtk::TreePath &/*path*/, const Gtk::TreeIter& iter, SPObject* obj)
{
Gtk::TreeModel::Row row = *iter;
SPObject * it = row[_model->_colObject];
@@ -393,6 +393,7 @@ bool TagsPanel::_checkForSelected(const Gtk::TreePath &path, const Gtk::TreeIter
return false;
}
+// TODO does not look good that we're ignoring the passed in root. Investigate.
void TagsPanel::_objectsChanged(SPObject* root)
{
while (!_objectWatchers.empty())
@@ -754,7 +755,7 @@ void TagsPanel::_storeDragSource(const Gtk::TreeModel::iterator& iter)
* Drap and drop within the tree
* Save the drag source and drop target SPObjects and if its a drag between layers or into (sublayer) a layer
*/
-bool TagsPanel::_handleDragDrop(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, guint time)
+bool TagsPanel::_handleDragDrop(const Glib::RefPtr<Gdk::DragContext>& /*context*/, int x, int y, guint /*time*/)
{
int cell_x = 0, cell_y = 0;
Gtk::TreeModel::Path target_path;
@@ -885,7 +886,7 @@ void TagsPanel::_renameObject(Gtk::TreeModel::Row row, const Glib::ustring& name
}
}
-bool TagsPanel::_noSelection( Glib::RefPtr<Gtk::TreeModel> const & /*model*/, Gtk::TreeModel::Path const & /*path*/, bool currentlySelected )
+bool TagsPanel::_noSelection( Glib::RefPtr<Gtk::TreeModel> const & /*model*/, Gtk::TreeModel::Path const & /*path*/, bool /*currentlySelected*/ )
{
return false;
}
diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp
index 52ff5d42c..8b99c33b8 100644
--- a/src/ui/tool/path-manipulator.cpp
+++ b/src/ui/tool/path-manipulator.cpp
@@ -59,7 +59,7 @@ enum PathChange {
const double handleCubicGap = 0.01;
const double noPower = 0.0;
const double defaultStartPower = 0.3334;
-const double defaultEndPower = 0.6667;
+
/**
* Notifies the path manipulator when something changes the path being edited
@@ -1000,7 +1000,6 @@ NodeList::iterator PathManipulator::subdivideSegment(NodeList::iterator first, d
n->front()->setPosition(seg2[1]);
n->setType(NODE_SMOOTH, false);
} else {
- const double handleCubicGap = 0.01;
Geom::D2< Geom::SBasis > SBasisInsideNodes;
SPCurve *lineInsideNodes = new SPCurve();
if(second->back()->isDegenerate()){
@@ -1251,7 +1250,6 @@ double PathManipulator::BSplineHandlePosition(Handle *h, Handle *h2){
h = h2;
}
double pos = noPower;
- const double handleCubicGap = 0.01;
Node *n = h->parent();
Node * nextNode = NULL;
nextNode = n->nodeToward(h);
@@ -1279,7 +1277,6 @@ Geom::Point PathManipulator::BSplineHandleReposition(Handle *h, Handle *h2){
Geom::Point PathManipulator::BSplineHandleReposition(Handle *h,double pos){
using Geom::X;
using Geom::Y;
- const double handleCubicGap = 0.01;
Geom::Point ret = h->position();
Node *n = h->parent();
Geom::D2< Geom::SBasis > SBasisInsideNodes;
diff --git a/src/ui/tools/node-tool.cpp b/src/ui/tools/node-tool.cpp
index e2bb85d11..99d60e2b7 100644
--- a/src/ui/tools/node-tool.cpp
+++ b/src/ui/tools/node-tool.cpp
@@ -305,6 +305,16 @@ void NodeTool::update_helperpath () {
if (SP_IS_LPE_ITEM(selection->singleItem())) {
Inkscape::LivePathEffect::Effect *lpe = SP_LPE_ITEM(selection->singleItem())->getCurrentLPE();
if (lpe && lpe->isVisible()/* && lpe->showOrigPath()*/) {
+ Inkscape::UI::ControlPointSelection::Set &selectionNodes = _selected_nodes->allPoints();
+ std::vector<Geom::Point> selectedNodesPositions;
+ for (Inkscape::UI::ControlPointSelection::Set::iterator i = selectionNodes.begin(); i != selectionNodes.end(); ++i) {
+ if ((*i)->selected()) {
+ Inkscape::UI::Node *n = dynamic_cast<Inkscape::UI::Node *>(*i);
+ selectedNodesPositions.push_back(desktop->doc2dt(n->position()));
+ }
+ }
+ lpe->setSelectedNodePoints(selectedNodesPositions);
+ lpe->setCurrentZoom(this->desktop->current_zoom());
SPCurve *c = new SPCurve();
SPCurve *cc = new SPCurve();
std::vector<Geom::PathVector> cs = lpe->getCanvasIndicators(SP_LPE_ITEM(selection->singleItem()));
diff --git a/src/ui/tools/select-tool.cpp b/src/ui/tools/select-tool.cpp
index 21459e5d0..a8267ea1d 100644
--- a/src/ui/tools/select-tool.cpp
+++ b/src/ui/tools/select-tool.cpp
@@ -1153,7 +1153,7 @@ bool SelectTool::root_handler(GdkEvent* event) {
if (selection->singleItem()) {
SPItem *clicked_item = selection->singleItem();
SPGroup *clickedGroup = dynamic_cast<SPGroup *>(clicked_item);
- if ( (clickedGroup && (clickedGroup->layerMode() == SPGroup::LAYER)) || dynamic_cast<SPBox3D *>(clicked_item)) { // enter group or a 3D box
+ if ( (clickedGroup && (clickedGroup->layerMode() != SPGroup::LAYER)) || dynamic_cast<SPBox3D *>(clicked_item)) { // enter group or a 3D box
desktop->setCurrentLayer(clicked_item);
sp_desktop_selection(desktop)->clear();
} else {
diff --git a/src/ui/widget/addtoicon.cpp b/src/ui/widget/addtoicon.cpp
index ce665295b..0798d1c98 100644
--- a/src/ui/widget/addtoicon.cpp
+++ b/src/ui/widget/addtoicon.cpp
@@ -127,13 +127,12 @@ void AddToIcon::render_vfunc( const Glib::RefPtr<Gdk::Drawable>& window,
#endif
}
-bool
-AddToIcon::activate_vfunc(GdkEvent* event,
- Gtk::Widget& /*widget*/,
- const Glib::ustring& path,
- const Gdk::Rectangle& /*background_area*/,
- const Gdk::Rectangle& /*cell_area*/,
- Gtk::CellRendererState /*flags*/)
+bool AddToIcon::activate_vfunc(GdkEvent* /*event*/,
+ Gtk::Widget& /*widget*/,
+ const Glib::ustring& /*path*/,
+ const Gdk::Rectangle& /*background_area*/,
+ const Gdk::Rectangle& /*cell_area*/,
+ Gtk::CellRendererState /*flags*/)
{
return false;
}
diff --git a/src/ui/widget/clipmaskicon.cpp b/src/ui/widget/clipmaskicon.cpp
index 6331d70d8..943b1bebc 100644
--- a/src/ui/widget/clipmaskicon.cpp
+++ b/src/ui/widget/clipmaskicon.cpp
@@ -154,13 +154,12 @@ void ClipMaskIcon::render_vfunc( const Glib::RefPtr<Gdk::Drawable>& window,
#endif
}
-bool
-ClipMaskIcon::activate_vfunc(GdkEvent* event,
- Gtk::Widget& /*widget*/,
- const Glib::ustring& path,
- const Gdk::Rectangle& /*background_area*/,
- const Gdk::Rectangle& /*cell_area*/,
- Gtk::CellRendererState /*flags*/)
+bool ClipMaskIcon::activate_vfunc(GdkEvent* /*event*/,
+ Gtk::Widget& /*widget*/,
+ const Glib::ustring& /*path*/,
+ const Gdk::Rectangle& /*background_area*/,
+ const Gdk::Rectangle& /*cell_area*/,
+ Gtk::CellRendererState /*flags*/)
{
return false;
}
diff --git a/src/ui/widget/highlight-picker.cpp b/src/ui/widget/highlight-picker.cpp
index 8593f0bdf..09999b52d 100644
--- a/src/ui/widget/highlight-picker.cpp
+++ b/src/ui/widget/highlight-picker.cpp
@@ -147,13 +147,12 @@ void HighlightPicker::render_vfunc( const Glib::RefPtr<Gdk::Drawable>& window,
#endif
}
-bool
-HighlightPicker::activate_vfunc(GdkEvent* event,
- Gtk::Widget& /*widget*/,
- const Glib::ustring& path,
- const Gdk::Rectangle& /*background_area*/,
- const Gdk::Rectangle& /*cell_area*/,
- Gtk::CellRendererState /*flags*/)
+bool HighlightPicker::activate_vfunc(GdkEvent* /*event*/,
+ Gtk::Widget& /*widget*/,
+ const Glib::ustring& /*path*/,
+ const Gdk::Rectangle& /*background_area*/,
+ const Gdk::Rectangle& /*cell_area*/,
+ Gtk::CellRendererState /*flags*/)
{
return false;
}
diff --git a/src/ui/widget/insertordericon.cpp b/src/ui/widget/insertordericon.cpp
index a28b0f834..9aec7d135 100644
--- a/src/ui/widget/insertordericon.cpp
+++ b/src/ui/widget/insertordericon.cpp
@@ -135,13 +135,12 @@ void InsertOrderIcon::render_vfunc( const Glib::RefPtr<Gdk::Drawable>& window,
#endif
}
-bool
-InsertOrderIcon::activate_vfunc(GdkEvent* event,
- Gtk::Widget& /*widget*/,
- const Glib::ustring& path,
- const Gdk::Rectangle& /*background_area*/,
- const Gdk::Rectangle& /*cell_area*/,
- Gtk::CellRendererState /*flags*/)
+bool InsertOrderIcon::activate_vfunc(GdkEvent* /*event*/,
+ Gtk::Widget& /*widget*/,
+ const Glib::ustring& /*path*/,
+ const Gdk::Rectangle& /*background_area*/,
+ const Gdk::Rectangle& /*cell_area*/,
+ Gtk::CellRendererState /*flags*/)
{
return false;
}
diff --git a/src/ui/widget/registered-widget.cpp b/src/ui/widget/registered-widget.cpp
index 44d8dcbf3..e97285de4 100644
--- a/src/ui/widget/registered-widget.cpp
+++ b/src/ui/widget/registered-widget.cpp
@@ -108,7 +108,7 @@ RegisteredToggleButton::~RegisteredToggleButton()
_toggled_connection.disconnect();
}
-RegisteredToggleButton::RegisteredToggleButton (const Glib::ustring& label, const Glib::ustring& tip, const Glib::ustring& key, Registry& wr, bool right, Inkscape::XML::Node* repr_in, SPDocument *doc_in, char const *active_str, char const *inactive_str)
+RegisteredToggleButton::RegisteredToggleButton (const Glib::ustring& /*label*/, const Glib::ustring& tip, const Glib::ustring& key, Registry& wr, bool right, Inkscape::XML::Node* repr_in, SPDocument *doc_in, char const *active_str, char const *inactive_str)
: RegisteredWidget<Gtk::ToggleButton>()
, _active_str(active_str)
, _inactive_str(inactive_str)