summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt1
-rw-r--r--CMakeScripts/DefineDependsandFlags.cmake29
-rw-r--r--Doxyfile477
-rw-r--r--config.h.cmake3
-rw-r--r--packaging/macosx/Resources/etc/gtk-2.0/gtkrc3
-rw-r--r--packaging/win32/languages/Ukrainian.nsh8
-rw-r--r--po/POTFILES.in13
-rw-r--r--po/inkscape.pot5856
-rw-r--r--po/lv.po4459
-rw-r--r--po/uk.po5095
-rw-r--r--share/extensions/image_attributes.inx82
-rwxr-xr-xshare/extensions/image_attributes.py169
-rw-r--r--share/extensions/layout_nup.inx1
-rwxr-xr-xshare/extensions/layout_nup.py216
-rwxr-xr-xshare/extensions/layout_nup_pageframe.py230
-rw-r--r--src/2geom/sbasis-to-bezier.cpp18
-rw-r--r--src/attributes-test.h34
-rw-r--r--src/desktop-style.cpp95
-rw-r--r--src/desktop-style.h2
-rw-r--r--src/display/drawing-text.cpp3
-rw-r--r--src/extension/CMakeLists.txt22
-rw-r--r--src/extension/internal/cairo-render-context.cpp17
-rw-r--r--src/extension/internal/emf-print.cpp8
-rw-r--r--src/extension/internal/filter/color.h2
-rw-r--r--src/extension/internal/text_reassemble.c12
-rw-r--r--src/extension/internal/wmf-inout.cpp6
-rw-r--r--src/extension/internal/wmf-print.cpp4
-rw-r--r--src/extension/param/color.cpp71
-rw-r--r--src/extension/param/color.h9
-rw-r--r--src/extension/param/parameter.cpp7
-rw-r--r--src/knot-holder-entity.cpp18
-rw-r--r--src/libnrtype/font-lister.cpp2
-rw-r--r--src/libuemf/uemf.h11
-rw-r--r--src/libuemf/uemf_print.c48
-rw-r--r--src/libuemf/uemf_print.h7
-rw-r--r--src/libuemf/upmf.c12
-rw-r--r--src/libuemf/upmf_print.c21
-rw-r--r--src/libuemf/upmf_print.h6
-rw-r--r--src/libuemf/uwmf.c42
-rw-r--r--src/libuemf/uwmf.h10
-rw-r--r--src/libuemf/uwmf_endian.c20
-rw-r--r--src/libuemf/uwmf_endian.h8
-rw-r--r--src/libuemf/uwmf_print.c25
-rw-r--r--src/live_effects/effect.cpp3
-rw-r--r--src/live_effects/effect.h1
-rw-r--r--src/live_effects/lpe-fillet-chamfer.cpp7
-rw-r--r--src/live_effects/lpe-fillet-chamfer.h1
-rw-r--r--src/live_effects/lpe-roughen.cpp22
-rw-r--r--src/live_effects/lpe-roughen.h2
-rw-r--r--src/live_effects/parameter/filletchamferpointarray.cpp12
-rw-r--r--src/live_effects/parameter/filletchamferpointarray.h4
-rw-r--r--src/rdf.cpp14
-rw-r--r--src/selection-chemistry.cpp164
-rw-r--r--src/selection-chemistry.h2
-rw-r--r--src/selection.cpp1
-rw-r--r--src/sp-clippath.cpp9
-rw-r--r--src/sp-clippath.h2
-rw-r--r--src/sp-item.cpp48
-rw-r--r--src/sp-mask.cpp9
-rw-r--r--src/sp-mask.h2
-rw-r--r--src/sp-offset.cpp2
-rw-r--r--src/sp-pattern.cpp649
-rw-r--r--src/sp-pattern.h157
-rw-r--r--src/sp-use.cpp62
-rw-r--r--src/style-enums.h81
-rw-r--r--src/style-internal.cpp252
-rw-r--r--src/style-internal.h71
-rw-r--r--src/style-test.h34
-rw-r--r--src/style.cpp4
-rw-r--r--src/style.h4
-rw-r--r--src/ui/CMakeLists.txt16
-rw-r--r--src/ui/Makefile_insert2
-rw-r--r--src/ui/dialog/layers.cpp12
-rw-r--r--src/ui/dialog/lpe-fillet-chamfer-properties.cpp22
-rw-r--r--src/ui/dialog/lpe-fillet-chamfer-properties.h8
-rw-r--r--src/ui/dialog/object-properties.cpp6
-rw-r--r--src/ui/dialog/objects.cpp33
-rw-r--r--src/ui/dialog/objects.h9
-rw-r--r--src/ui/dialog/tags.cpp2
-rw-r--r--src/ui/dialog/text-edit.cpp29
-rw-r--r--src/ui/dialog/text-edit.h17
-rw-r--r--src/ui/selected-color.cpp163
-rw-r--r--src/ui/selected-color.h96
-rw-r--r--src/ui/widget/Makefile_insert18
-rw-r--r--src/ui/widget/color-entry.cpp114
-rw-r--r--src/ui/widget/color-entry.h54
-rw-r--r--src/ui/widget/color-icc-selector.cpp1079
-rw-r--r--src/ui/widget/color-icc-selector.h78
-rw-r--r--src/ui/widget/color-notebook.cpp379
-rw-r--r--src/ui/widget/color-notebook.h99
-rw-r--r--src/ui/widget/color-picker.cpp70
-rw-r--r--src/ui/widget/color-picker.h8
-rw-r--r--src/ui/widget/color-scales.cpp677
-rw-r--r--src/ui/widget/color-scales.h112
-rw-r--r--src/ui/widget/color-slider.cpp633
-rw-r--r--src/ui/widget/color-slider.h110
-rw-r--r--src/ui/widget/color-wheel-selector.cpp302
-rw-r--r--src/ui/widget/color-wheel-selector.h101
-rw-r--r--src/ui/widget/font-variants.cpp512
-rw-r--r--src/ui/widget/font-variants.h152
-rw-r--r--src/verbs.cpp36
-rw-r--r--src/widgets/CMakeLists.txt10
-rw-r--r--src/widgets/Makefile_insert10
-rw-r--r--src/widgets/fill-style.cpp10
-rw-r--r--src/widgets/gradient-selector.cpp4
-rw-r--r--src/widgets/gradient-vector.cpp82
-rw-r--r--src/widgets/paint-selector.cpp128
-rw-r--r--src/widgets/paint-selector.h19
-rw-r--r--src/widgets/sp-color-icc-selector.cpp1113
-rw-r--r--src/widgets/sp-color-icc-selector.h72
-rw-r--r--src/widgets/sp-color-notebook.cpp826
-rw-r--r--src/widgets/sp-color-notebook.h120
-rw-r--r--src/widgets/sp-color-scales.cpp760
-rw-r--r--src/widgets/sp-color-scales.h102
-rw-r--r--src/widgets/sp-color-selector.cpp7
-rw-r--r--src/widgets/sp-color-selector.h8
-rw-r--r--src/widgets/sp-color-slider.cpp749
-rw-r--r--src/widgets/sp-color-slider.h60
-rw-r--r--src/widgets/sp-color-wheel-selector.cpp348
-rw-r--r--src/widgets/sp-color-wheel-selector.h82
-rw-r--r--src/widgets/swatch-selector.cpp106
-rw-r--r--src/widgets/swatch-selector.h12
122 files changed, 15048 insertions, 13330 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 23dd58708..4b73afc43 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -78,6 +78,7 @@ option(ENABLE_LCMS "Compile with LCMS support" ON)
option(WITH_GNOME_VFS "Compile with support for Gnome VFS" ON)
#option(WITH_INKJAR "Enable support for openoffice files (SVG jars)" ON)
option(WITH_GTEST "Compile with Google Test support" ${GMOCK_PRESENT})
+option(WITH_OPENMP "Compile with OpenMP support" ON)
option(WITH_PROFILING "Turn on profiling" OFF) # Set to true if compiler/linker should enable profiling
diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake
index dceed9560..a4dad21b1 100644
--- a/CMakeScripts/DefineDependsandFlags.cmake
+++ b/CMakeScripts/DefineDependsandFlags.cmake
@@ -46,10 +46,6 @@ else()
list(APPEND INKSCAPE_LIBS "-lX11") # FIXME
endif()
-if(NOT APPLE)
- # FIXME: should depend on availability of OpenMP support (see below) (?)
- list(APPEND INKSCAPE_LIBS "-lgomp") # FIXME
-endif()
list(APPEND INKSCAPE_LIBS "-lgslcblas") # FIXME
if(WITH_GNOME_VFS)
@@ -316,15 +312,24 @@ list(APPEND INKSCAPE_INCS_SYS ${LIBXML2_INCLUDE_DIR})
list(APPEND INKSCAPE_LIBS ${LIBXML2_LIBRARIES})
add_definitions(${LIBXML2_DEFINITIONS})
-find_package(OpenMP)
-if(OpenMP_FOUND)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
- if(APPLE AND ${CMAKE_GENERATOR} MATCHES "Xcode")
- set(CMAKE_XCODE_ATTRIBUTE_ENABLE_OPENMP_SUPPORT "YES")
+if(WITH_OPENMP)
+ find_package(OpenMP)
+ if(OPENMP_FOUND)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+ if(APPLE AND ${CMAKE_GENERATOR} MATCHES "Xcode")
+ set(CMAKE_XCODE_ATTRIBUTE_ENABLE_OPENMP_SUPPORT "YES")
+ endif()
+ mark_as_advanced(OpenMP_C_FLAGS)
+ mark_as_advanced(OpenMP_CXX_FLAGS)
+ # '-fopenmp' is in OpenMP_C_FLAGS, OpenMP_CXX_FLAGS and implies '-lgomp'
+ # uncomment explicit linking below if still needed:
+ set(HAVE_OPENMP ON)
+ #list(APPEND INKSCAPE_LIBS "-lgomp") # FIXME
+ else()
+ set(HAVE_OPENMP OFF)
+ set(WITH_OPENMP OFF)
endif()
- mark_as_advanced(OpenMP_C_FLAGS)
- mark_as_advanced(OpenMP_CXX_FLAGS)
endif()
find_package(ZLIB REQUIRED)
diff --git a/Doxyfile b/Doxyfile
index f65bc12d1..1850b0b09 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -1,4 +1,4 @@
-# Doxyfile 1.8.6
+# Doxyfile 1.8.9.1
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
@@ -38,7 +38,7 @@ PROJECT_NAME = inkscape
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER =
+PROJECT_NUMBER =
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
@@ -46,10 +46,10 @@ PROJECT_NUMBER =
PROJECT_BRIEF = "Vector Graphics Editor"
-# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
-# the documentation. The maximum height of the logo should not exceed 55 pixels
-# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
-# to the output directory.
+# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
+# in the documentation. The maximum height of the logo should not exceed 55
+# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
+# the logo to the output directory.
PROJECT_LOGO = inkscape.png
@@ -60,7 +60,7 @@ PROJECT_LOGO = inkscape.png
OUTPUT_DIRECTORY = doxygen
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
+# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
# will distribute the generated files over these directories. Enabling this
# option can be useful when feeding doxygen a huge amount of source files, where
@@ -70,6 +70,14 @@ OUTPUT_DIRECTORY = doxygen
CREATE_SUBDIRS = NO
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
+ALLOW_UNICODE_NAMES = NO
+
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
@@ -85,14 +93,14 @@ CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
-# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
+# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
# descriptions after the members that are listed in the file and class
# documentation (similar to Javadoc). Set to NO to disable this.
# The default value is: YES.
BRIEF_MEMBER_DESC = YES
-# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
+# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
# description of a member or function before the detailed description
#
# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
@@ -110,7 +118,7 @@ REPEAT_BRIEF = YES
# the entity):The $name class, The $name widget, The $name file, is, provides,
# specifies, contains, represents, a, an and the.
-ABBREVIATE_BRIEF =
+ABBREVIATE_BRIEF =
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
# doxygen will generate a detailed section even if there is only a brief
@@ -127,7 +135,7 @@ ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
-# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
+# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
# before files name in the file list and in the header files. If set to NO the
# shortest path that makes the file name unique will be used
# The default value is: YES.
@@ -144,7 +152,7 @@ FULL_PATH_NAMES = YES
# will be relative from the directory where doxygen is started.
# This tag requires that the tag FULL_PATH_NAMES is set to YES.
-STRIP_FROM_PATH =
+STRIP_FROM_PATH =
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
# path mentioned in the documentation of a class, which tells the reader which
@@ -153,7 +161,7 @@ STRIP_FROM_PATH =
# specify the list of include paths that are normally passed to the compiler
# using the -I flag.
-STRIP_FROM_INC_PATH =
+STRIP_FROM_INC_PATH =
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
# less readable) file names. This can be useful is your file systems doesn't
@@ -197,9 +205,9 @@ MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS = YES
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
-# new page for each member. If set to NO, the documentation of a member will be
-# part of the file/class/namespace that contains it.
+# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
+# page for each member. If set to NO, the documentation of a member will be part
+# of the file/class/namespace that contains it.
# The default value is: NO.
SEPARATE_MEMBER_PAGES = NO
@@ -220,13 +228,13 @@ TAB_SIZE = 4
# "Side Effects:". You can put \n's in the value part of an alias to insert
# newlines.
-ALIASES =
+ALIASES =
# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding "class=itcl::class"
# will allow you to use the command class in the itcl::class meaning.
-TCL_SUBST =
+TCL_SUBST =
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# only. Doxygen will then generate output that is more tailored for C. For
@@ -234,7 +242,7 @@ TCL_SUBST =
# members will be omitted, etc.
# The default value is: NO.
-OPTIMIZE_OUTPUT_FOR_C = YES
+OPTIMIZE_OUTPUT_FOR_C = NO
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
# Python sources only. Doxygen will then generate output that is more tailored
@@ -261,16 +269,19 @@ OPTIMIZE_OUTPUT_VHDL = NO
# extension. Doxygen has a built-in mapping, but you can override or extend it
# using this tag. The format is ext=language, where ext is a file extension, and
# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
-# C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL. For instance to make
-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
-# (default is Fortran), use: inc=Fortran f=C.
+# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
+# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
+# Fortran. In the later case the parser tries to guess whether the code is fixed
+# or free formatted code, this is the default for Fortran type files), VHDL. For
+# instance to make doxygen treat .inc files as Fortran files (default is PHP),
+# and .f files as C (default is Fortran), use: inc=Fortran f=C.
#
-# Note For files without extension you can use no_extension as a placeholder.
+# Note: For files without extension you can use no_extension as a placeholder.
#
# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
# the files are not read by doxygen.
-EXTENSION_MAPPING =
+EXTENSION_MAPPING =
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable
@@ -284,8 +295,8 @@ MARKDOWN_SUPPORT = YES
# When enabled doxygen tries to link words that correspond to documented
# classes, or namespaces to their corresponding documentation. Such a link can
-# be prevented in individual cases by by putting a % sign in front of the word
-# or globally by setting AUTOLINK_SUPPORT to NO.
+# be prevented in individual cases by putting a % sign in front of the word or
+# globally by setting AUTOLINK_SUPPORT to NO.
# The default value is: YES.
AUTOLINK_SUPPORT = YES
@@ -325,7 +336,7 @@ SIP_SUPPORT = NO
IDL_PROPERTY_SUPPORT = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
+# tag is set to YES then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
# The default value is: NO.
@@ -390,7 +401,7 @@ LOOKUP_CACHE_SIZE = 1
# Build related configuration options
#---------------------------------------------------------------------------
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
# documentation are documented, even if no documentation was available. Private
# class members and static file members will be hidden unless the
# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
@@ -400,35 +411,35 @@ LOOKUP_CACHE_SIZE = 1
EXTRACT_ALL = YES
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
+# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
# be included in the documentation.
# The default value is: NO.
EXTRACT_PRIVATE = YES
-# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
+# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
# scope will be included in the documentation.
# The default value is: NO.
EXTRACT_PACKAGE = NO
-# If the EXTRACT_STATIC tag is set to YES all static members of a file will be
+# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
# included in the documentation.
# The default value is: NO.
EXTRACT_STATIC = YES
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
-# locally in source files will be included in the documentation. If set to NO
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO,
# only classes defined in header files are included. Does not have any effect
# for Java sources.
# The default value is: YES.
EXTRACT_LOCAL_CLASSES = NO
-# This flag is only useful for Objective-C code. When set to YES local methods,
+# This flag is only useful for Objective-C code. If set to YES, local methods,
# which are defined in the implementation section but not in the interface are
-# included in the documentation. If set to NO only methods in the interface are
+# included in the documentation. If set to NO, only methods in the interface are
# included.
# The default value is: NO.
@@ -453,21 +464,21 @@ HIDE_UNDOC_MEMBERS = NO
# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy. If set
-# to NO these classes will be included in the various overviews. This option has
-# no effect if EXTRACT_ALL is enabled.
+# to NO, these classes will be included in the various overviews. This option
+# has no effect if EXTRACT_ALL is enabled.
# The default value is: NO.
HIDE_UNDOC_CLASSES = NO
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
-# (class|struct|union) declarations. If set to NO these declarations will be
+# (class|struct|union) declarations. If set to NO, these declarations will be
# included in the documentation.
# The default value is: NO.
HIDE_FRIEND_COMPOUNDS = NO
# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
-# documentation blocks found inside the body of a function. If set to NO these
+# documentation blocks found inside the body of a function. If set to NO, these
# blocks will be appended to the function's detailed documentation block.
# The default value is: NO.
@@ -481,7 +492,7 @@ HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
-# names in lower-case letters. If set to YES upper-case letters are also
+# names in lower-case letters. If set to YES, upper-case letters are also
# allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows
# and Mac users are advised to set this option to NO.
@@ -490,11 +501,18 @@ INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
-# their full class and namespace scopes in the documentation. If set to YES the
+# their full class and namespace scopes in the documentation. If set to YES, the
# scope will be hidden.
# The default value is: NO.
-HIDE_SCOPE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+
+# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
+# append additional text to a page's title, such as Class Reference. If set to
+# YES the compound reference will be hidden.
+# The default value is: NO.
+
+HIDE_COMPOUND_REFERENCE= NO
# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
# the files that are included by a file in the documentation of that file.
@@ -523,14 +541,14 @@ INLINE_INFO = YES
# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
# (detailed) documentation of file and class members alphabetically by member
-# name. If set to NO the members will appear in declaration order.
+# name. If set to NO, the members will appear in declaration order.
# The default value is: YES.
SORT_MEMBER_DOCS = YES
# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
# descriptions of file, namespace and class members alphabetically by member
-# name. If set to NO the members will appear in declaration order. Note that
+# name. If set to NO, the members will appear in declaration order. Note that
# this will also influence the order of the classes in the class list.
# The default value is: NO.
@@ -575,27 +593,25 @@ SORT_BY_SCOPE_NAME = NO
STRICT_PROTO_MATCHING = NO
-# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
-# todo list. This list is created by putting \todo commands in the
-# documentation.
+# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
+# list. This list is created by putting \todo commands in the documentation.
# The default value is: YES.
GENERATE_TODOLIST = YES
-# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
-# test list. This list is created by putting \test commands in the
-# documentation.
+# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
+# list. This list is created by putting \test commands in the documentation.
# The default value is: YES.
GENERATE_TESTLIST = YES
-# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
+# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
# list. This list is created by putting \bug commands in the documentation.
# The default value is: YES.
GENERATE_BUGLIST = YES
-# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
# the deprecated list. This list is created by putting \deprecated commands in
# the documentation.
# The default value is: YES.
@@ -606,7 +622,7 @@ GENERATE_DEPRECATEDLIST= YES
# sections, marked by \if <section_label> ... \endif and \cond <section_label>
# ... \endcond blocks.
-ENABLED_SECTIONS =
+ENABLED_SECTIONS =
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
# initial value of a variable or macro / define can have for it to appear in the
@@ -620,8 +636,8 @@ ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
-# the bottom of the documentation of classes and structs. If set to YES the list
-# will mention the files that were used to generate the documentation.
+# the bottom of the documentation of classes and structs. If set to YES, the
+# list will mention the files that were used to generate the documentation.
# The default value is: YES.
SHOW_USED_FILES = YES
@@ -648,7 +664,7 @@ SHOW_NAMESPACES = YES
# by doxygen. Whatever the program writes to standard output is used as the file
# version. For an example see the documentation.
-FILE_VERSION_FILTER =
+FILE_VERSION_FILTER =
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
# by doxygen. The layout file controls the global structure of the generated
@@ -661,7 +677,7 @@ FILE_VERSION_FILTER =
# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
# tag is left empty.
-LAYOUT_FILE =
+LAYOUT_FILE =
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
# the reference definitions. This must be a list of .bib files. The .bib
@@ -669,10 +685,9 @@ LAYOUT_FILE =
# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
# For LaTeX the style of the bibliography can be controlled using
# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
-# search path. Do not use file names with spaces, bibtex cannot handle them. See
-# also \cite for info how to create references.
+# search path. See also \cite for info how to create references.
-CITE_BIB_FILES =
+CITE_BIB_FILES =
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
@@ -686,7 +701,7 @@ CITE_BIB_FILES =
QUIET = NO
# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
+# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
# this implies that the warnings are on.
#
# Tip: Turn warnings on while writing the documentation.
@@ -694,7 +709,7 @@ QUIET = NO
WARNINGS = YES
-# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
+# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
# will automatically be disabled.
# The default value is: YES.
@@ -711,8 +726,8 @@ WARN_IF_DOC_ERROR = YES
# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
# are documented, but have no documentation for their parameters or return
-# value. If set to NO doxygen will only warn about wrong or incomplete parameter
-# documentation, but not about the absence of documentation.
+# value. If set to NO, doxygen will only warn about wrong or incomplete
+# parameter documentation, but not about the absence of documentation.
# The default value is: NO.
WARN_NO_PARAMDOC = NO
@@ -780,7 +795,7 @@ RECURSIVE = YES
# Note that relative paths are relative to the directory from which doxygen is
# run.
-EXCLUDE =
+EXCLUDE =
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
@@ -796,7 +811,7 @@ EXCLUDE_SYMLINKS = YES
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*
-EXCLUDE_PATTERNS =
+EXCLUDE_PATTERNS =
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
@@ -807,20 +822,20 @@ EXCLUDE_PATTERNS =
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories use the pattern */test/*
-EXCLUDE_SYMBOLS =
+EXCLUDE_SYMBOLS =
# The EXAMPLE_PATH tag can be used to specify one or more files or directories
# that contain example code fragments that are included (see the \include
# command).
-EXAMPLE_PATH =
+EXAMPLE_PATH =
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
# *.h) to filter out the source-files in the directories. If left blank all
# files are included.
-EXAMPLE_PATTERNS =
+EXAMPLE_PATTERNS =
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
# searched for input files to be used with the \include or \dontinclude commands
@@ -833,7 +848,7 @@ EXAMPLE_RECURSIVE = NO
# that contain images that are to be included in the documentation (see the
# \image command).
-IMAGE_PATH =
+IMAGE_PATH =
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
@@ -850,7 +865,7 @@ IMAGE_PATH =
# code is scanned, but not when the output code is generated. If lines are added
# or removed, the anchors will not be placed correctly.
-INPUT_FILTER =
+INPUT_FILTER =
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
# basis. Doxygen will compare the file name with each pattern and apply the
@@ -859,10 +874,10 @@ INPUT_FILTER =
# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
# patterns match the file name, INPUT_FILTER is applied.
-FILTER_PATTERNS =
+FILTER_PATTERNS =
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER ) will also be used to filter the input files that are used for
+# INPUT_FILTER) will also be used to filter the input files that are used for
# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
# The default value is: NO.
@@ -874,14 +889,14 @@ FILTER_SOURCE_FILES = NO
# *.ext= (so without naming a filter).
# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
-FILTER_SOURCE_PATTERNS =
+FILTER_SOURCE_PATTERNS =
# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
# is part of the input, its contents will be placed on the main page
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.
-USE_MDFILE_AS_MAINPAGE =
+USE_MDFILE_AS_MAINPAGE =
#---------------------------------------------------------------------------
# Configuration options related to source browsing
@@ -894,7 +909,7 @@ USE_MDFILE_AS_MAINPAGE =
# also VERBATIM_HEADERS is set to NO.
# The default value is: NO.
-SOURCE_BROWSER = NO
+SOURCE_BROWSER = YES
# Setting the INLINE_SOURCES tag to YES will include the body of functions,
# classes and enums directly into the documentation.
@@ -922,7 +937,7 @@ REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
-# to YES, then the hyperlinks from functions in REFERENCES_RELATION and
+# to YES then the hyperlinks from functions in REFERENCES_RELATION and
# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
# link to the documentation.
# The default value is: YES.
@@ -969,6 +984,25 @@ USE_HTAGS = NO
VERBATIM_HEADERS = NO
+# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
+# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
+# cost of reduced performance. This can be particularly helpful with template
+# rich C++ code for which doxygen's built-in parser lacks the necessary type
+# information.
+# Note: The availability of this option depends on whether or not doxygen was
+# compiled with the --with-libclang option.
+# The default value is: NO.
+
+CLANG_ASSISTED_PARSING = NO
+
+# If clang assisted parsing is enabled you can provide the compiler with command
+# line options that you would normally use when invoking the compiler. Note that
+# the include paths will already be set by doxygen for the files and directories
+# specified with INPUT and INCLUDE_PATH.
+# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
+
+CLANG_OPTIONS =
+
#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
@@ -993,13 +1027,13 @@ COLS_IN_ALPHA_INDEX = 5
# while generating the index headers.
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-IGNORE_PREFIX =
+IGNORE_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the HTML output
#---------------------------------------------------------------------------
-# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
+# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
# The default value is: YES.
GENERATE_HTML = YES
@@ -1037,7 +1071,7 @@ HTML_FILE_EXTENSION = .html
# of the possible markers and block names see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
-HTML_HEADER =
+HTML_HEADER =
# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
# generated HTML page. If the tag is left blank doxygen will generate a standard
@@ -1047,7 +1081,7 @@ HTML_HEADER =
# that doxygen normally uses.
# This tag requires that the tag GENERATE_HTML is set to YES.
-HTML_FOOTER =
+HTML_FOOTER =
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
# sheet that is used by each HTML page. It can be used to fine-tune the look of
@@ -1059,18 +1093,20 @@ HTML_FOOTER =
# obsolete.
# This tag requires that the tag GENERATE_HTML is set to YES.
-HTML_STYLESHEET =
+HTML_STYLESHEET =
-# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user-
-# defined cascading style sheet that is included after the standard style sheets
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
# created by doxygen. Using this option one can overrule certain style aspects.
# This is preferred over using HTML_STYLESHEET since it does not replace the
-# standard style sheet and is therefor more robust against future updates.
-# Doxygen will copy the style sheet file to the output directory. For an example
-# see the documentation.
+# standard style sheet and is therefore more robust against future updates.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
-HTML_EXTRA_STYLESHEET =
+HTML_EXTRA_STYLESHEET =
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the HTML output directory. Note
@@ -1080,10 +1116,10 @@ HTML_EXTRA_STYLESHEET =
# files will be copied as-is; there are no commands or markers available.
# This tag requires that the tag GENERATE_HTML is set to YES.
-HTML_EXTRA_FILES =
+HTML_EXTRA_FILES =
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
-# will adjust the colors in the stylesheet and background images according to
+# will adjust the colors in the style sheet and background images according to
# this color. Hue is specified as an angle on a colorwheel, see
# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
@@ -1114,8 +1150,9 @@ HTML_COLORSTYLE_GAMMA = 80
# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
# page will contain the date and time when the page was generated. Setting this
-# to NO can help when comparing the output of multiple runs.
-# The default value is: YES.
+# to YES can help to show when doxygen was last run and thus if the
+# documentation is up to date.
+# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_TIMESTAMP = YES
@@ -1208,31 +1245,32 @@ GENERATE_HTMLHELP = NO
# written to the html output directory.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-CHM_FILE =
+CHM_FILE =
# The HHC_LOCATION tag can be used to specify the location (absolute path
-# including file name) of the HTML help compiler ( hhc.exe). If non-empty
+# including file name) of the HTML help compiler (hhc.exe). If non-empty,
# doxygen will try to run the HTML help compiler on the generated index.hhp.
# The file has to be specified with full path.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-HHC_LOCATION =
+HHC_LOCATION =
-# The GENERATE_CHI flag controls if a separate .chi index file is generated (
-# YES) or that it should be included in the master .chm file ( NO).
+# The GENERATE_CHI flag controls if a separate .chi index file is generated
+# (YES) or that it should be included in the master .chm file (NO).
# The default value is: NO.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
GENERATE_CHI = NO
-# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
# and project file content.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-CHM_INDEX_ENCODING =
+CHM_INDEX_ENCODING =
-# The BINARY_TOC flag controls whether a binary table of contents is generated (
-# YES) or a normal table of contents ( NO) in the .chm file.
+# The BINARY_TOC flag controls whether a binary table of contents is generated
+# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
@@ -1259,7 +1297,7 @@ GENERATE_QHP = NO
# the HTML output folder.
# This tag requires that the tag GENERATE_QHP is set to YES.
-QCH_FILE =
+QCH_FILE =
# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
# Project output. For more information please see Qt Help Project / Namespace
@@ -1284,7 +1322,7 @@ QHP_VIRTUAL_FOLDER = doc
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
-QHP_CUST_FILTER_NAME =
+QHP_CUST_FILTER_NAME =
# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
# custom filter to add. For more information please see Qt Help Project / Custom
@@ -1292,21 +1330,21 @@ QHP_CUST_FILTER_NAME =
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
-QHP_CUST_FILTER_ATTRS =
+QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
# project's filter section matches. Qt Help Project / Filter Attributes (see:
# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
# This tag requires that the tag GENERATE_QHP is set to YES.
-QHP_SECT_FILTER_ATTRS =
+QHP_SECT_FILTER_ATTRS =
# The QHG_LOCATION tag can be used to specify the location of Qt's
# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
# generated .qhp file.
# This tag requires that the tag GENERATE_QHP is set to YES.
-QHG_LOCATION =
+QHG_LOCATION =
# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
# generated, together with the HTML files, they form an Eclipse help plugin. To
@@ -1345,7 +1383,7 @@ DISABLE_INDEX = NO
# index structure (just like the one that is generated for HTML Help). For this
# to work a browser that supports JavaScript, DHTML, CSS and frames is required
# (i.e. any modern browser). Windows users are probably better off using the
-# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
+# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
# further fine-tune the look of the index. As an example, the default style
# sheet generated by doxygen has an example that shows how to put an image at
# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
@@ -1354,7 +1392,7 @@ DISABLE_INDEX = NO
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
-GENERATE_TREEVIEW = NO
+GENERATE_TREEVIEW = YES
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
# doxygen will group on one line in the generated HTML documentation.
@@ -1373,7 +1411,7 @@ ENUM_VALUES_PER_LINE = 4
TREEVIEW_WIDTH = 250
-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
+# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
# external symbols imported via tag files in a separate window.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
@@ -1402,7 +1440,7 @@ FORMULA_TRANSPARENT = YES
# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
# http://www.mathjax.org) which uses client side Javascript for the rendering
-# instead of using prerendered bitmaps. Use this if you do not have LaTeX
+# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
# installed or if you want to formulas look prettier in the HTML output. When
# enabled you may also need to install MathJax separately and configure the path
# to it using the MATHJAX_RELPATH option.
@@ -1439,7 +1477,7 @@ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
# This tag requires that the tag USE_MATHJAX is set to YES.
-MATHJAX_EXTENSIONS =
+MATHJAX_EXTENSIONS =
# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
# of code that will be used on startup of the MathJax code. See the MathJax site
@@ -1447,7 +1485,7 @@ MATHJAX_EXTENSIONS =
# example see the documentation.
# This tag requires that the tag USE_MATHJAX is set to YES.
-MATHJAX_CODEFILE =
+MATHJAX_CODEFILE =
# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
# the HTML output. The underlying search engine uses javascript and DHTML and
@@ -1468,15 +1506,15 @@ MATHJAX_CODEFILE =
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.
-SEARCHENGINE = NO
+SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a web server instead of a web client using Javascript. There
-# are two flavours of web server based searching depending on the
-# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for
-# searching and an index file used by the script. When EXTERNAL_SEARCH is
-# enabled the indexing and searching needs to be provided by external tools. See
-# the section "External Indexing and Searching" for details.
+# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
+# setting. When disabled, doxygen will generate a PHP script for searching and
+# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
+# and searching needs to be provided by external tools. See the section
+# "External Indexing and Searching" for details.
# The default value is: NO.
# This tag requires that the tag SEARCHENGINE is set to YES.
@@ -1488,7 +1526,7 @@ SERVER_BASED_SEARCH = NO
# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
# search results.
#
-# Doxygen ships with an example indexer ( doxyindexer) and search engine
+# Doxygen ships with an example indexer (doxyindexer) and search engine
# (doxysearch.cgi) which are based on the open source search engine library
# Xapian (see: http://xapian.org/).
#
@@ -1501,13 +1539,13 @@ EXTERNAL_SEARCH = NO
# The SEARCHENGINE_URL should point to a search engine hosted by a web server
# which will return the search results when EXTERNAL_SEARCH is enabled.
#
-# Doxygen ships with an example indexer ( doxyindexer) and search engine
+# Doxygen ships with an example indexer (doxyindexer) and search engine
# (doxysearch.cgi) which are based on the open source search engine library
# Xapian (see: http://xapian.org/). See the section "External Indexing and
# Searching" for details.
# This tag requires that the tag SEARCHENGINE is set to YES.
-SEARCHENGINE_URL =
+SEARCHENGINE_URL =
# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
# search data is written to a file for indexing by an external tool. With the
@@ -1523,7 +1561,7 @@ SEARCHDATA_FILE = searchdata.xml
# projects and redirect the results back to the right project.
# This tag requires that the tag SEARCHENGINE is set to YES.
-EXTERNAL_SEARCH_ID =
+EXTERNAL_SEARCH_ID =
# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
# projects other than the one defined by this configuration file, but that are
@@ -1533,13 +1571,13 @@ EXTERNAL_SEARCH_ID =
# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
# This tag requires that the tag SEARCHENGINE is set to YES.
-EXTRA_SEARCH_MAPPINGS =
+EXTRA_SEARCH_MAPPINGS =
#---------------------------------------------------------------------------
# Configuration options related to the LaTeX output
#---------------------------------------------------------------------------
-# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
+# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
# The default value is: YES.
GENERATE_LATEX = NO
@@ -1570,7 +1608,7 @@ LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
-# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
+# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
# documents. This may be useful for small projects and may help to save some
# trees in general.
# The default value is: NO.
@@ -1605,22 +1643,35 @@ EXTRA_PACKAGES = amsmath \
#
# Note: Only use a user-defined header if you know what you are doing! The
# following commands have a special meaning inside the header: $title,
-# $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will
-# replace them by respectively the title of the page, the current date and time,
-# only the current date, the version number of doxygen, the project name (see
-# PROJECT_NAME), or the project number (see PROJECT_NUMBER).
+# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
+# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
+# string, for the replacement values of the other commands the user is referred
+# to HTML_HEADER.
# This tag requires that the tag GENERATE_LATEX is set to YES.
-LATEX_HEADER =
+LATEX_HEADER =
# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
# generated LaTeX document. The footer should contain everything after the last
-# chapter. If it is left blank doxygen will generate a standard footer.
+# chapter. If it is left blank doxygen will generate a standard footer. See
+# LATEX_HEADER for more information on how to generate a default footer and what
+# special commands can be used inside the footer.
#
# Note: Only use a user-defined footer if you know what you are doing!
# This tag requires that the tag GENERATE_LATEX is set to YES.
-LATEX_FOOTER =
+LATEX_FOOTER =
+
+# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# LaTeX style sheets that are included after the standard style sheets created
+# by doxygen. Using this option one can overrule certain style aspects. Doxygen
+# will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list).
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_STYLESHEET =
# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the LATEX_OUTPUT output
@@ -1628,7 +1679,7 @@ LATEX_FOOTER =
# markers available.
# This tag requires that the tag GENERATE_LATEX is set to YES.
-LATEX_EXTRA_FILES =
+LATEX_EXTRA_FILES =
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
@@ -1639,8 +1690,8 @@ LATEX_EXTRA_FILES =
PDF_HYPERLINKS = NO
-# If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
-# the PDF file directly from the LaTeX files. Set this option to YES to get a
+# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+# the PDF file directly from the LaTeX files. Set this option to YES, to get a
# higher quality PDF documentation.
# The default value is: YES.
# This tag requires that the tag GENERATE_LATEX is set to YES.
@@ -1685,7 +1736,7 @@ LATEX_BIB_STYLE = plain
# Configuration options related to the RTF output
#---------------------------------------------------------------------------
-# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
+# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
# RTF output is optimized for Word 97 and may not look too pretty with other RTF
# readers/editors.
# The default value is: NO.
@@ -1700,7 +1751,7 @@ GENERATE_RTF = NO
RTF_OUTPUT = rtf
-# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
+# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
# documents. This may be useful for small projects and may help to save some
# trees in general.
# The default value is: NO.
@@ -1728,20 +1779,30 @@ RTF_HYPERLINKS = NO
# default style sheet that doxygen normally uses.
# This tag requires that the tag GENERATE_RTF is set to YES.
-RTF_STYLESHEET_FILE =
+RTF_STYLESHEET_FILE =
# Set optional variables used in the generation of an RTF document. Syntax is
# similar to doxygen's config file. A template extensions file can be generated
# using doxygen -e rtf extensionFile.
# This tag requires that the tag GENERATE_RTF is set to YES.
-RTF_EXTENSIONS_FILE =
+RTF_EXTENSIONS_FILE =
+
+# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
+# with syntax highlighting in the RTF output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_SOURCE_CODE = NO
#---------------------------------------------------------------------------
# Configuration options related to the man page output
#---------------------------------------------------------------------------
-# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
+# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
# classes and files.
# The default value is: NO.
@@ -1765,6 +1826,13 @@ MAN_OUTPUT = man
MAN_EXTENSION = .3
+# The MAN_SUBDIR tag determines the name of the directory created within
+# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+# MAN_EXTENSION with the initial . removed.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_SUBDIR =
+
# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
# will generate one additional man file for each entity documented in the real
# man page(s). These additional files only source the real man page, but without
@@ -1778,7 +1846,7 @@ MAN_LINKS = NO
# Configuration options related to the XML output
#---------------------------------------------------------------------------
-# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
+# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
# captures the structure of the code including all documentation.
# The default value is: NO.
@@ -1792,19 +1860,7 @@ GENERATE_XML = NO
XML_OUTPUT = xml
-# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a
-# validating XML parser to check the syntax of the XML files.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_SCHEMA =
-
-# The XML_DTD tag can be used to specify a XML DTD, which can be used by a
-# validating XML parser to check the syntax of the XML files.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_DTD =
-
-# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
+# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
# listings (including syntax highlighting and cross-referencing information) to
# the XML output. Note that enabling this will significantly increase the size
# of the XML output.
@@ -1817,7 +1873,7 @@ XML_PROGRAMLISTING = YES
# Configuration options related to the DOCBOOK output
#---------------------------------------------------------------------------
-# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
+# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
# that can be used to generate PDF.
# The default value is: NO.
@@ -1831,14 +1887,23 @@ GENERATE_DOCBOOK = NO
DOCBOOK_OUTPUT = docbook
+# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
+# program listings (including syntax highlighting and cross-referencing
+# information) to the DOCBOOK output. Note that enabling this will significantly
+# increase the size of the DOCBOOK output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_PROGRAMLISTING = NO
+
#---------------------------------------------------------------------------
# Configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
-# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
-# Definitions (see http://autogen.sf.net) file that captures the structure of
-# the code including all documentation. Note that this feature is still
-# experimental and incomplete at the moment.
+# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
+# AutoGen Definitions (see http://autogen.sf.net) file that captures the
+# structure of the code including all documentation. Note that this feature is
+# still experimental and incomplete at the moment.
# The default value is: NO.
GENERATE_AUTOGEN_DEF = NO
@@ -1847,7 +1912,7 @@ GENERATE_AUTOGEN_DEF = NO
# Configuration options related to the Perl module output
#---------------------------------------------------------------------------
-# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
+# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
# file that captures the structure of the code including all documentation.
#
# Note that this feature is still experimental and incomplete at the moment.
@@ -1855,7 +1920,7 @@ GENERATE_AUTOGEN_DEF = NO
GENERATE_PERLMOD = NO
-# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
+# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
# output from the Perl module output.
# The default value is: NO.
@@ -1863,9 +1928,9 @@ GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
+# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
# formatted so it can be parsed by a human reader. This is useful if you want to
-# understand what is going on. On the other hand, if this tag is set to NO the
+# understand what is going on. On the other hand, if this tag is set to NO, the
# size of the Perl module output will be much smaller and Perl will parse it
# just the same.
# The default value is: YES.
@@ -1879,20 +1944,20 @@ PERLMOD_PRETTY = YES
# overwrite each other's variables.
# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-PERLMOD_MAKEVAR_PREFIX =
+PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
-# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
+# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
# C-preprocessor directives found in the sources and include files.
# The default value is: YES.
ENABLE_PREPROCESSING = YES
-# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
-# in the source code. If set to NO only conditional compilation will be
+# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
+# in the source code. If set to NO, only conditional compilation will be
# performed. Macro expansion can be done in a controlled way by setting
# EXPAND_ONLY_PREDEF to YES.
# The default value is: NO.
@@ -1908,7 +1973,7 @@ MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
-# If the SEARCH_INCLUDES tag is set to YES the includes files in the
+# If the SEARCH_INCLUDES tag is set to YES, the include files in the
# INCLUDE_PATH will be searched if a #include is found.
# The default value is: YES.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
@@ -1928,7 +1993,7 @@ INCLUDE_PATH = src
# used.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-INCLUDE_FILE_PATTERNS =
+INCLUDE_FILE_PATTERNS =
# The PREDEFINED tag can be used to specify one or more macro names that are
# defined before the preprocessor is started (similar to the -D option of e.g.
@@ -1938,7 +2003,7 @@ INCLUDE_FILE_PATTERNS =
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-PREDEFINED =
+PREDEFINED =
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
@@ -1947,12 +2012,12 @@ PREDEFINED =
# definition found in the source code.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-EXPAND_AS_DEFINED =
+EXPAND_AS_DEFINED =
# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
-# remove all refrences to function-like macros that are alone on a line, have an
-# all uppercase name, and do not end with a semicolon. Such function macros are
-# typically used for boiler-plate code, and will confuse the parser if not
+# remove all references to function-like macros that are alone on a line, have
+# an all uppercase name, and do not end with a semicolon. Such function macros
+# are typically used for boiler-plate code, and will confuse the parser if not
# removed.
# The default value is: YES.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
@@ -1972,32 +2037,33 @@ SKIP_FUNCTION_MACROS = YES
# where loc1 and loc2 can be relative or absolute paths or URLs. See the
# section "Linking to external documentation" for more information about the use
# of tag files.
-# Note: Each tag file must have an unique name (where the name does NOT include
+# Note: Each tag file must have a unique name (where the name does NOT include
# the path). If a tag file is not located in the directory in which doxygen is
# run, you must also specify the path to the tagfile here.
-TAGFILES =
+TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
# tag file that is based on the input files it reads. See section "Linking to
# external documentation" for more information about the usage of tag files.
-GENERATE_TAGFILE =
+GENERATE_TAGFILE =
-# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
-# class index. If set to NO only the inherited external classes will be listed.
+# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
+# the class index. If set to NO, only the inherited external classes will be
+# listed.
# The default value is: NO.
ALLEXTERNALS = NO
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
-# the modules index. If set to NO, only the current project's groups will be
+# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will be
# listed.
# The default value is: YES.
EXTERNAL_GROUPS = YES
-# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
+# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
# the related pages index. If set to NO, only the current project's pages will
# be listed.
# The default value is: YES.
@@ -2014,7 +2080,7 @@ PERL_PATH = /usr/bin/perl
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
-# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
+# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
# NO turns the diagrams off. Note that this option also works with HAVE_DOT
# disabled, but it is recommended to install and use dot, since it yields more
@@ -2030,16 +2096,16 @@ CLASS_DIAGRAMS = YES
# the mscgen tool resides. If left empty the tool is assumed to be found in the
# default search path.
-MSCGEN_PATH =
+MSCGEN_PATH =
# You can include diagrams made with dia in doxygen documentation. Doxygen will
# then run dia to produce the diagram and insert it in the documentation. The
# DIA_PATH tag allows you to specify the directory where the dia binary resides.
# If left empty dia is assumed to be found in the default search path.
-DIA_PATH =
+DIA_PATH =
-# If set to YES, the inheritance and collaboration graphs will hide inheritance
+# If set to YES the inheritance and collaboration graphs will hide inheritance
# and usage relations if the target is undocumented or is not a class.
# The default value is: YES.
@@ -2050,7 +2116,7 @@ HIDE_UNDOC_RELATIONS = YES
# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
# Bell Labs. The other options in this section have no effect if this option is
# set to NO
-# The default value is: NO.
+# The default value is: YES.
HAVE_DOT = YES
@@ -2064,7 +2130,7 @@ HAVE_DOT = YES
DOT_NUM_THREADS = 0
-# When you want a differently looking font n the dot files that doxygen
+# When you want a differently looking font in the dot files that doxygen
# generates you can specify the font name using DOT_FONTNAME. You need to make
# sure dot is able to find the font, which can be done by putting it in a
# standard location or by setting the DOTFONTPATH environment variable or by
@@ -2072,7 +2138,7 @@ DOT_NUM_THREADS = 0
# The default value is: Helvetica.
# This tag requires that the tag HAVE_DOT is set to YES.
-DOT_FONTNAME =
+DOT_FONTNAME = Helvetica
# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
# dot graphs.
@@ -2086,7 +2152,7 @@ DOT_FONTSIZE = 10
# the path where dot can find it using this tag.
# This tag requires that the tag HAVE_DOT is set to YES.
-DOT_FONTPATH =
+DOT_FONTPATH =
# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
# each documented class showing the direct and indirect inheritance relations.
@@ -2112,7 +2178,7 @@ COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
# collaboration diagrams in a style similar to the OMG's Unified Modeling
# Language.
# The default value is: NO.
@@ -2202,7 +2268,9 @@ DIRECTORY_GRAPH = YES
# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
# to make the SVG files visible in IE 9+ (other browsers do not have this
# requirement).
-# Possible values are: png, jpg, gif and svg.
+# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd,
+# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo,
+# gif:cairo:gd, gif:gd, gif:gd:gd and svg.
# The default value is: png.
# This tag requires that the tag HAVE_DOT is set to YES.
@@ -2224,26 +2292,39 @@ INTERACTIVE_SVG = NO
# found. If left blank, it is assumed the dot tool can be found in the path.
# This tag requires that the tag HAVE_DOT is set to YES.
-DOT_PATH =
+DOT_PATH =
# The DOTFILE_DIRS tag can be used to specify one or more directories that
# contain dot files that are included in the documentation (see the \dotfile
# command).
# This tag requires that the tag HAVE_DOT is set to YES.
-DOTFILE_DIRS =
+DOTFILE_DIRS =
# The MSCFILE_DIRS tag can be used to specify one or more directories that
# contain msc files that are included in the documentation (see the \mscfile
# command).
-MSCFILE_DIRS =
+MSCFILE_DIRS =
# The DIAFILE_DIRS tag can be used to specify one or more directories that
# contain dia files that are included in the documentation (see the \diafile
# command).
-DIAFILE_DIRS =
+DIAFILE_DIRS =
+
+# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
+# path where java can find the plantuml.jar file. If left blank, it is assumed
+# PlantUML is not used or called during a preprocessing step. Doxygen will
+# generate a warning when it encounters a \startuml command in this case and
+# will not generate output for the diagram.
+
+PLANTUML_JAR_PATH =
+
+# When using plantuml, the specified paths are searched for files specified by
+# the !include statement in a plantuml block.
+
+PLANTUML_INCLUDE_PATH =
# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
# that will be shown in the graph. If the number of nodes in a graph becomes
@@ -2281,7 +2362,7 @@ MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
# files in one run (i.e. multiple -o and -T options on the command line). This
# makes dot run faster, but since only newer versions of dot (>1.8.10) support
# this, this feature is disabled by default.
@@ -2298,7 +2379,7 @@ DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
-# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
+# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
# files that are used to generate the various graphs.
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
diff --git a/config.h.cmake b/config.h.cmake
index 3bd7837bd..c793f59b6 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -116,6 +116,9 @@
/* Define to 1 if you have the `mkdir' function. */
#cmakedefine HAVE_MKDIR 1
+/* Use OpenMP (via cmake) */
+#cmakedefine HAVE_OPENMP 1
+
/* Use aspell for built-in spellchecker */
#cmakedefine HAVE_ASPELL 1
diff --git a/packaging/macosx/Resources/etc/gtk-2.0/gtkrc b/packaging/macosx/Resources/etc/gtk-2.0/gtkrc
index 76c9f3397..46f5d2910 100644
--- a/packaging/macosx/Resources/etc/gtk-2.0/gtkrc
+++ b/packaging/macosx/Resources/etc/gtk-2.0/gtkrc
@@ -13,6 +13,9 @@ gtk-menu-images = 1
gtk-toolbar-style = 0
#gtk-toolbar-icon-size = 2
+# use OS X default PDF viewer for print preview
+gtk-print-preview-command="open -a /Applications/Preview.app %f"
+
# fix Adwaita theme for Inkscape's GimpSpinScale widgets
style "spinbutton" {}
widget_class "*GimpSpinScale*" style "spinbutton"
diff --git a/packaging/win32/languages/Ukrainian.nsh b/packaging/win32/languages/Ukrainian.nsh
index 1db81f196..ee5dfbf1f 100644
--- a/packaging/win32/languages/Ukrainian.nsh
+++ b/packaging/win32/languages/Ukrainian.nsh
@@ -44,7 +44,7 @@ ${LangFileString} lng_az "Àçåðáàéäæàíñüêîþ"
${LangFileString} lng_be "Á³ëîðóñüêîþ"
${LangFileString} lng_bg "Áîëãàðñüêîþ"
${LangFileString} lng_bn "Áåíãàëüñüêîþ"
-${LangFileString} lng_bn_BD "Bengali Bangladesh"
+${LangFileString} lng_bn_BD "Áåíãàëüñüêîþ (Áàíãëàäåø)"
${LangFileString} lng_br "Áðåòîíñüêîþ"
${LangFileString} lng_ca "Êàòàëàíñüêîþ"
${LangFileString} lng_ca@valencia "Âàëåíñ³éñüêîþ êàòàëàíñüêîþ"
@@ -71,15 +71,15 @@ ${LangFileString} lng_gl "Ãàë³ñ³éñüêîþ"
${LangFileString} lng_he "²âðèòîì"
${LangFileString} lng_hr "Õîðâàòñüêîþ"
${LangFileString} lng_hu "Óãîðñüêîþ"
-${LangFileString} lng_hy "Armenian"
+${LangFileString} lng_hy "³ðìåíñüêîþ"
${LangFileString} lng_id "²íäîíåç³éñüêîþ"
-${LangFileString} lng_is "Icelandic"
+${LangFileString} lng_is "²ñëàíäñüêîþ"
${LangFileString} lng_it "²òàë³éñüêîþ"
${LangFileString} lng_ja "ßïîíñüêîþ"
${LangFileString} lng_km "Êõìåðñüêîþ"
${LangFileString} lng_ko "Êîðåéñüêîþ"
${LangFileString} lng_lt "Ëèòîâñüêîþ"
-${LangFileString} lng_lv "Latvian"
+${LangFileString} lng_lv "Ëàòâ³éñüêîþ"
${LangFileString} lng_mk "Ìàêåäîíñüêîþ"
${LangFileString} lng_mn "Ìîíãîëüñüêîþ"
${LangFileString} lng_ne "Íåïàëüñüêîþ"
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 9f301ac22..50b582f8e 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,6 +1,6 @@
# List of source files containing translatable strings.
# Please keep this file sorted alphabetically.
-# Generated by ./generate_POTFILES.sh at Mon Mar 2 15:01:56 CET 2015
+# Generated by ./generate_POTFILES.sh at Thu May 21 04:26:44 CEST 2015
[encoding: UTF-8]
inkscape.desktop.in
share/filters/filters.svg.h
@@ -297,9 +297,15 @@ src/ui/tools/star-tool.cpp
src/ui/tools/text-tool.cpp
src/ui/tools/tool-base.cpp
src/ui/tools/tweak-tool.cpp
+src/ui/widget/color-entry.cpp
+src/ui/widget/color-icc-selector.cpp
+src/ui/widget/color-notebook.cpp
+src/ui/widget/color-scales.cpp
+src/ui/widget/color-wheel-selector.cpp
src/ui/widget/combo-enums.h
src/ui/widget/entity-entry.cpp
src/ui/widget/filter-effect-chooser.cpp
+src/ui/widget/font-variants.cpp
src/ui/widget/layer-selector.cpp
src/ui/widget/licensor.cpp
src/ui/widget/object-composite-settings.cpp
@@ -341,11 +347,7 @@ src/widgets/rect-toolbar.cpp
src/widgets/ruler.cpp
src/widgets/select-toolbar.cpp
src/widgets/sp-attribute-widget.cpp
-src/widgets/sp-color-icc-selector.cpp
-src/widgets/sp-color-notebook.cpp
-src/widgets/sp-color-scales.cpp
src/widgets/sp-color-selector.cpp
-src/widgets/sp-color-wheel-selector.cpp
src/widgets/sp-xmlview-attr-list.cpp
src/widgets/sp-xmlview-content.cpp
src/widgets/spiral-toolbar.cpp
@@ -490,6 +492,7 @@ share/extensions/wireframe_sphere.py
[type: gettext/xml] share/extensions/hershey.inx
[type: gettext/xml] share/extensions/hpgl_input.inx
[type: gettext/xml] share/extensions/hpgl_output.inx
+[type: gettext/xml] share/extensions/image_attributes.inx
[type: gettext/xml] share/extensions/ink2canvas.inx
[type: gettext/xml] share/extensions/inkscape_follow_link.inx
[type: gettext/xml] share/extensions/inkscape_help_askaquestion.inx
diff --git a/po/inkscape.pot b/po/inkscape.pot
index 4b3c7392a..f75ec959e 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: 2015-03-10 09:10+0100\n"
+"POT-Creation-Date: 2015-05-18 12:45+0200\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"
@@ -3308,1032 +3308,1032 @@ msgstr ""
msgid "Old paint (bitmap)"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:2
msgctxt "Symbol"
-msgid "AIGA Symbol Signs"
+msgid "United States National Park Service Map Symbols"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:3 ../share/symbols/symbols.h:4
-#: ../share/symbols/symbols.h:281 ../share/symbols/symbols.h:282
msgctxt "Symbol"
-msgid "Telephone"
+msgid "Airport"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:5 ../share/symbols/symbols.h:6
msgctxt "Symbol"
-msgid "Mail"
+msgid "Amphitheatre"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:7 ../share/symbols/symbols.h:8
msgctxt "Symbol"
-msgid "Currency Exchange"
+msgid "Bicycle Trail"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:9 ../share/symbols/symbols.h:10
msgctxt "Symbol"
-msgid "Currency Exchange - Euro"
+msgid "Boat Launch"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:11 ../share/symbols/symbols.h:12
msgctxt "Symbol"
-msgid "Cashier"
+msgid "Boat Tour"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:13 ../share/symbols/symbols.h:14
-#: ../share/symbols/symbols.h:213 ../share/symbols/symbols.h:214
msgctxt "Symbol"
-msgid "First Aid"
+msgid "Bus Stop"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:15 ../share/symbols/symbols.h:16
msgctxt "Symbol"
-msgid "Lost and Found"
+msgid "Campfire"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:17 ../share/symbols/symbols.h:18
msgctxt "Symbol"
-msgid "Coat Check"
+msgid "Campground"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:19 ../share/symbols/symbols.h:20
msgctxt "Symbol"
-msgid "Baggage Lockers"
+msgid "CanoeAccess"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:21 ../share/symbols/symbols.h:22
msgctxt "Symbol"
-msgid "Escalator"
+msgid "Crosscountry Ski Trail"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:23 ../share/symbols/symbols.h:24
msgctxt "Symbol"
-msgid "Escalator Down"
+msgid "Downhill Skiing"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:25 ../share/symbols/symbols.h:26
msgctxt "Symbol"
-msgid "Escalator Up"
+msgid "Drinking Water"
msgstr ""
+#. Symbols: ./MapSymbolsNPS.svg
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:27 ../share/symbols/symbols.h:28
+#: ../share/symbols/symbols.h:172 ../share/symbols/symbols.h:173
msgctxt "Symbol"
-msgid "Stairs"
+msgid "First Aid"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:29 ../share/symbols/symbols.h:30
msgctxt "Symbol"
-msgid "Stairs Down"
+msgid "Fishing"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:31 ../share/symbols/symbols.h:32
msgctxt "Symbol"
-msgid "Stairs Up"
+msgid "Food Service"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:33 ../share/symbols/symbols.h:34
msgctxt "Symbol"
-msgid "Elevator"
+msgid "Four Wheel Drive Road"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:35 ../share/symbols/symbols.h:36
msgctxt "Symbol"
-msgid "Toilets - Men"
+msgid "Gas Station"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:37 ../share/symbols/symbols.h:38
msgctxt "Symbol"
-msgid "Toilets - Women"
+msgid "Golfing"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:39 ../share/symbols/symbols.h:40
msgctxt "Symbol"
-msgid "Toilets"
+msgid "Horseback Riding"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:41 ../share/symbols/symbols.h:42
msgctxt "Symbol"
-msgid "Nursery"
+msgid "Hospital"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:43 ../share/symbols/symbols.h:44
msgctxt "Symbol"
-msgid "Drinking Fountain"
+msgid "Ice Skating"
msgstr ""
+#. Symbols: ./MapSymbolsNPS.svg
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:45 ../share/symbols/symbols.h:46
+#: ../share/symbols/symbols.h:206 ../share/symbols/symbols.h:207
msgctxt "Symbol"
-msgid "Waiting Room"
+msgid "Information"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:47 ../share/symbols/symbols.h:48
-#: ../share/symbols/symbols.h:231 ../share/symbols/symbols.h:232
msgctxt "Symbol"
-msgid "Information"
+msgid "Litter Receptacle"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:49 ../share/symbols/symbols.h:50
msgctxt "Symbol"
-msgid "Hotel Information"
+msgid "Lodging"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:51 ../share/symbols/symbols.h:52
msgctxt "Symbol"
-msgid "Air Transportation"
+msgid "Marina"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:53 ../share/symbols/symbols.h:54
msgctxt "Symbol"
-msgid "Heliport"
+msgid "Motorbike Trail"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:55 ../share/symbols/symbols.h:56
msgctxt "Symbol"
-msgid "Taxi"
+msgid "Radiator Water"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:57 ../share/symbols/symbols.h:58
msgctxt "Symbol"
-msgid "Bus"
+msgid "Recycling"
msgstr ""
+#. Symbols: ./MapSymbolsNPS.svg
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:59 ../share/symbols/symbols.h:60
+#: ../share/symbols/symbols.h:258 ../share/symbols/symbols.h:259
msgctxt "Symbol"
-msgid "Ground Transportation"
+msgid "Parking"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:61 ../share/symbols/symbols.h:62
msgctxt "Symbol"
-msgid "Rail Transportation"
+msgid "Pets On Leash"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:63 ../share/symbols/symbols.h:64
msgctxt "Symbol"
-msgid "Water Transportation"
+msgid "Picnic Area"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:65 ../share/symbols/symbols.h:66
msgctxt "Symbol"
-msgid "Car Rental"
+msgid "Post Office"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:67 ../share/symbols/symbols.h:68
msgctxt "Symbol"
-msgid "Restaurant"
+msgid "Ranger Station"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:69 ../share/symbols/symbols.h:70
msgctxt "Symbol"
-msgid "Coffeeshop"
+msgid "RV Campground"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:71 ../share/symbols/symbols.h:72
msgctxt "Symbol"
-msgid "Bar"
+msgid "Restrooms"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:73 ../share/symbols/symbols.h:74
msgctxt "Symbol"
-msgid "Shops"
+msgid "Sailing"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:75 ../share/symbols/symbols.h:76
msgctxt "Symbol"
-msgid "Barber Shop - Beauty Salon"
+msgid "Sanitary Disposal Station"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:77 ../share/symbols/symbols.h:78
msgctxt "Symbol"
-msgid "Barber Shop"
+msgid "Scuba Diving"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:79 ../share/symbols/symbols.h:80
msgctxt "Symbol"
-msgid "Beauty Salon"
+msgid "Self Guided Trail"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:81 ../share/symbols/symbols.h:82
msgctxt "Symbol"
-msgid "Ticket Purchase"
+msgid "Shelter"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:83 ../share/symbols/symbols.h:84
msgctxt "Symbol"
-msgid "Baggage Check In"
+msgid "Showers"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:85 ../share/symbols/symbols.h:86
msgctxt "Symbol"
-msgid "Baggage Claim"
+msgid "Sledding"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:87 ../share/symbols/symbols.h:88
msgctxt "Symbol"
-msgid "Customs"
+msgid "SnowmobileTrail"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:89 ../share/symbols/symbols.h:90
msgctxt "Symbol"
-msgid "Immigration"
+msgid "Stable"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:91 ../share/symbols/symbols.h:92
msgctxt "Symbol"
-msgid "Departing Flights"
+msgid "Store"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:93 ../share/symbols/symbols.h:94
msgctxt "Symbol"
-msgid "Arriving Flights"
+msgid "Swimming"
msgstr ""
+#. Symbols: ./MapSymbolsNPS.svg
#. Symbols: ./AigaSymbols.svg
#: ../share/symbols/symbols.h:95 ../share/symbols/symbols.h:96
+#: ../share/symbols/symbols.h:162 ../share/symbols/symbols.h:163
msgctxt "Symbol"
-msgid "Smoking"
+msgid "Telephone"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:97 ../share/symbols/symbols.h:98
msgctxt "Symbol"
-msgid "No Smoking"
+msgid "Emergency Telephone"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:99 ../share/symbols/symbols.h:100
-#: ../share/symbols/symbols.h:245 ../share/symbols/symbols.h:246
msgctxt "Symbol"
-msgid "Parking"
+msgid "Trailhead"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:101 ../share/symbols/symbols.h:102
msgctxt "Symbol"
-msgid "No Parking"
+msgid "Wheelchair Accessible"
msgstr ""
-#. Symbols: ./AigaSymbols.svg
+#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:103 ../share/symbols/symbols.h:104
msgctxt "Symbol"
-msgid "No Dogs"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:105 ../share/symbols/symbols.h:106
-msgctxt "Symbol"
-msgid "No Entry"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:107 ../share/symbols/symbols.h:108
-msgctxt "Symbol"
-msgid "Exit"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:109 ../share/symbols/symbols.h:110
-msgctxt "Symbol"
-msgid "Fire Extinguisher"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:111 ../share/symbols/symbols.h:112
-msgctxt "Symbol"
-msgid "Right Arrow"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:113 ../share/symbols/symbols.h:114
-msgctxt "Symbol"
-msgid "Forward and Right Arrow"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:115 ../share/symbols/symbols.h:116
-msgctxt "Symbol"
-msgid "Up Arrow"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:117 ../share/symbols/symbols.h:118
-msgctxt "Symbol"
-msgid "Forward and Left Arrow"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:119 ../share/symbols/symbols.h:120
-msgctxt "Symbol"
-msgid "Left Arrow"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:121 ../share/symbols/symbols.h:122
-msgctxt "Symbol"
-msgid "Left and Down Arrow"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:123 ../share/symbols/symbols.h:124
-msgctxt "Symbol"
-msgid "Down Arrow"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:125 ../share/symbols/symbols.h:126
-msgctxt "Symbol"
-msgid "Right and Down Arrow"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:127 ../share/symbols/symbols.h:128
-msgctxt "Symbol"
-msgid "NPS Wheelchair Accessible - 1996"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:129 ../share/symbols/symbols.h:130
-msgctxt "Symbol"
-msgid "NPS Wheelchair Accessible"
-msgstr ""
-
-#. Symbols: ./AigaSymbols.svg
-#: ../share/symbols/symbols.h:131 ../share/symbols/symbols.h:132
-msgctxt "Symbol"
-msgid "New Wheelchair Accessible"
-msgstr ""
-
-#. Symbols: ./BalloonSymbols.svg
-#: ../share/symbols/symbols.h:133
-msgctxt "Symbol"
-msgid "Word Balloons"
-msgstr ""
-
-#. Symbols: ./BalloonSymbols.svg
-#: ../share/symbols/symbols.h:134
-msgctxt "Symbol"
-msgid "Thought Balloon"
-msgstr ""
-
-#. Symbols: ./BalloonSymbols.svg
-#: ../share/symbols/symbols.h:135
-msgctxt "Symbol"
-msgid "Dream Speaking"
-msgstr ""
-
-#. Symbols: ./BalloonSymbols.svg
-#: ../share/symbols/symbols.h:136
-msgctxt "Symbol"
-msgid "Rounded Balloon"
-msgstr ""
-
-#. Symbols: ./BalloonSymbols.svg
-#: ../share/symbols/symbols.h:137
-msgctxt "Symbol"
-msgid "Squared Balloon"
-msgstr ""
-
-#. Symbols: ./BalloonSymbols.svg
-#: ../share/symbols/symbols.h:138
-msgctxt "Symbol"
-msgid "Over the Phone"
-msgstr ""
-
-#. Symbols: ./BalloonSymbols.svg
-#: ../share/symbols/symbols.h:139
-msgctxt "Symbol"
-msgid "Hip Balloon"
-msgstr ""
-
-#. Symbols: ./BalloonSymbols.svg
-#: ../share/symbols/symbols.h:140
-msgctxt "Symbol"
-msgid "Circle Balloon"
+msgid "Wind Surfing"
msgstr ""
-#. Symbols: ./BalloonSymbols.svg
-#: ../share/symbols/symbols.h:141
+#. Symbols: ./MapSymbolsNPS.svg
+#: ../share/symbols/symbols.h:105
msgctxt "Symbol"
-msgid "Exclaim Balloon"
+msgid "Blank"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:142
+#: ../share/symbols/symbols.h:106
msgctxt "Symbol"
msgid "Flow Chart Shapes"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:143
+#: ../share/symbols/symbols.h:107
msgctxt "Symbol"
msgid "Process"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:144
+#: ../share/symbols/symbols.h:108
msgctxt "Symbol"
msgid "Input/Output"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:145
+#: ../share/symbols/symbols.h:109
msgctxt "Symbol"
msgid "Document"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:146
+#: ../share/symbols/symbols.h:110
msgctxt "Symbol"
msgid "Manual Operation"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:147
+#: ../share/symbols/symbols.h:111
msgctxt "Symbol"
msgid "Preparation"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:148
+#: ../share/symbols/symbols.h:112
msgctxt "Symbol"
msgid "Merge"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:149
+#: ../share/symbols/symbols.h:113
msgctxt "Symbol"
msgid "Decision"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:150
+#: ../share/symbols/symbols.h:114
msgctxt "Symbol"
msgid "Magnetic Tape"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:151
+#: ../share/symbols/symbols.h:115
msgctxt "Symbol"
msgid "Display"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:152
+#: ../share/symbols/symbols.h:116
msgctxt "Symbol"
msgid "Auxiliary Operation"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:153
+#: ../share/symbols/symbols.h:117
msgctxt "Symbol"
msgid "Manual Input"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:154
+#: ../share/symbols/symbols.h:118
msgctxt "Symbol"
msgid "Extract"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:155
+#: ../share/symbols/symbols.h:119
msgctxt "Symbol"
msgid "Terminal/Interrupt"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:156
+#: ../share/symbols/symbols.h:120
msgctxt "Symbol"
msgid "Punched Card"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:157
+#: ../share/symbols/symbols.h:121
msgctxt "Symbol"
msgid "Punch Tape"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:158
+#: ../share/symbols/symbols.h:122
msgctxt "Symbol"
msgid "Online Storage"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:159
+#: ../share/symbols/symbols.h:123
msgctxt "Symbol"
msgid "Keying"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:160
+#: ../share/symbols/symbols.h:124
msgctxt "Symbol"
msgid "Sort"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:161
+#: ../share/symbols/symbols.h:125
msgctxt "Symbol"
msgid "Connector"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:162
+#: ../share/symbols/symbols.h:126
msgctxt "Symbol"
msgid "Off-Page Connector"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:163
+#: ../share/symbols/symbols.h:127
msgctxt "Symbol"
msgid "Transmittal Tape"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:164
+#: ../share/symbols/symbols.h:128
msgctxt "Symbol"
msgid "Communication Link"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:165
+#: ../share/symbols/symbols.h:129
msgctxt "Symbol"
msgid "Collate"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:166
+#: ../share/symbols/symbols.h:130
msgctxt "Symbol"
msgid "Comment/Annotation"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:167
+#: ../share/symbols/symbols.h:131
msgctxt "Symbol"
msgid "Core"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:168
+#: ../share/symbols/symbols.h:132
msgctxt "Symbol"
msgid "Predefined Process"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:169
+#: ../share/symbols/symbols.h:133
msgctxt "Symbol"
msgid "Magnetic Disk (Database)"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:170
+#: ../share/symbols/symbols.h:134
msgctxt "Symbol"
msgid "Magnetic Drum (Direct Access)"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:171
+#: ../share/symbols/symbols.h:135
msgctxt "Symbol"
msgid "Offline Storage"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:172
+#: ../share/symbols/symbols.h:136
msgctxt "Symbol"
msgid "Logical Or"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:173
+#: ../share/symbols/symbols.h:137
msgctxt "Symbol"
msgid "Logical And"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:174
+#: ../share/symbols/symbols.h:138
msgctxt "Symbol"
msgid "Delay"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:175
+#: ../share/symbols/symbols.h:139
msgctxt "Symbol"
msgid "Loop Limit Begin"
msgstr ""
#. Symbols: ./FlowSymbols.svg
-#: ../share/symbols/symbols.h:176
+#: ../share/symbols/symbols.h:140
msgctxt "Symbol"
msgid "Loop Limit End"
msgstr ""
+#. Symbols: ./BalloonSymbols.svg
+#: ../share/symbols/symbols.h:141
+msgctxt "Symbol"
+msgid "Word Balloons"
+msgstr ""
+
+#. Symbols: ./BalloonSymbols.svg
+#: ../share/symbols/symbols.h:142
+msgctxt "Symbol"
+msgid "Thought Balloon"
+msgstr ""
+
+#. Symbols: ./BalloonSymbols.svg
+#: ../share/symbols/symbols.h:143
+msgctxt "Symbol"
+msgid "Dream Speaking"
+msgstr ""
+
+#. Symbols: ./BalloonSymbols.svg
+#: ../share/symbols/symbols.h:144
+msgctxt "Symbol"
+msgid "Rounded Balloon"
+msgstr ""
+
+#. Symbols: ./BalloonSymbols.svg
+#: ../share/symbols/symbols.h:145
+msgctxt "Symbol"
+msgid "Squared Balloon"
+msgstr ""
+
+#. Symbols: ./BalloonSymbols.svg
+#: ../share/symbols/symbols.h:146
+msgctxt "Symbol"
+msgid "Over the Phone"
+msgstr ""
+
+#. Symbols: ./BalloonSymbols.svg
+#: ../share/symbols/symbols.h:147
+msgctxt "Symbol"
+msgid "Hip Balloon"
+msgstr ""
+
+#. Symbols: ./BalloonSymbols.svg
+#: ../share/symbols/symbols.h:148
+msgctxt "Symbol"
+msgid "Circle Balloon"
+msgstr ""
+
+#. Symbols: ./BalloonSymbols.svg
+#: ../share/symbols/symbols.h:149
+msgctxt "Symbol"
+msgid "Exclaim Balloon"
+msgstr ""
+
#. Symbols: ./LogicSymbols.svg
-#: ../share/symbols/symbols.h:177
+#: ../share/symbols/symbols.h:150
msgctxt "Symbol"
msgid "Logic Symbols"
msgstr ""
#. Symbols: ./LogicSymbols.svg
-#: ../share/symbols/symbols.h:178
+#: ../share/symbols/symbols.h:151
msgctxt "Symbol"
msgid "Xnor Gate"
msgstr ""
#. Symbols: ./LogicSymbols.svg
-#: ../share/symbols/symbols.h:179
+#: ../share/symbols/symbols.h:152
msgctxt "Symbol"
msgid "Xor Gate"
msgstr ""
#. Symbols: ./LogicSymbols.svg
-#: ../share/symbols/symbols.h:180
+#: ../share/symbols/symbols.h:153
msgctxt "Symbol"
msgid "Nor Gate"
msgstr ""
#. Symbols: ./LogicSymbols.svg
-#: ../share/symbols/symbols.h:181
+#: ../share/symbols/symbols.h:154
msgctxt "Symbol"
msgid "Or Gate"
msgstr ""
#. Symbols: ./LogicSymbols.svg
-#: ../share/symbols/symbols.h:182
+#: ../share/symbols/symbols.h:155
msgctxt "Symbol"
msgid "Nand Gate"
msgstr ""
#. Symbols: ./LogicSymbols.svg
-#: ../share/symbols/symbols.h:183
+#: ../share/symbols/symbols.h:156
msgctxt "Symbol"
msgid "And Gate"
msgstr ""
#. Symbols: ./LogicSymbols.svg
-#: ../share/symbols/symbols.h:184
+#: ../share/symbols/symbols.h:157
msgctxt "Symbol"
msgid "Buffer"
msgstr ""
#. Symbols: ./LogicSymbols.svg
-#: ../share/symbols/symbols.h:185
+#: ../share/symbols/symbols.h:158
msgctxt "Symbol"
msgid "Not Gate"
msgstr ""
#. Symbols: ./LogicSymbols.svg
-#: ../share/symbols/symbols.h:186
+#: ../share/symbols/symbols.h:159
msgctxt "Symbol"
msgid "Buffer Small"
msgstr ""
#. Symbols: ./LogicSymbols.svg
-#: ../share/symbols/symbols.h:187
+#: ../share/symbols/symbols.h:160
msgctxt "Symbol"
msgid "Not Gate Small"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:188
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:161
msgctxt "Symbol"
-msgid "United States National Park Service Map Symbols"
+msgid "AIGA Symbol Signs"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:189 ../share/symbols/symbols.h:190
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:164 ../share/symbols/symbols.h:165
msgctxt "Symbol"
-msgid "Airport"
+msgid "Mail"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:191 ../share/symbols/symbols.h:192
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:166 ../share/symbols/symbols.h:167
msgctxt "Symbol"
-msgid "Amphitheatre"
+msgid "Currency Exchange"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:193 ../share/symbols/symbols.h:194
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:168 ../share/symbols/symbols.h:169
msgctxt "Symbol"
-msgid "Bicycle Trail"
+msgid "Currency Exchange - Euro"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:195 ../share/symbols/symbols.h:196
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:170 ../share/symbols/symbols.h:171
msgctxt "Symbol"
-msgid "Boat Launch"
+msgid "Cashier"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:197 ../share/symbols/symbols.h:198
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:174 ../share/symbols/symbols.h:175
msgctxt "Symbol"
-msgid "Boat Tour"
+msgid "Lost and Found"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:199 ../share/symbols/symbols.h:200
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:176 ../share/symbols/symbols.h:177
msgctxt "Symbol"
-msgid "Bus Stop"
+msgid "Coat Check"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:201 ../share/symbols/symbols.h:202
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:178 ../share/symbols/symbols.h:179
msgctxt "Symbol"
-msgid "Campfire"
+msgid "Baggage Lockers"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:203 ../share/symbols/symbols.h:204
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:180 ../share/symbols/symbols.h:181
msgctxt "Symbol"
-msgid "Campground"
+msgid "Escalator"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:205 ../share/symbols/symbols.h:206
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:182 ../share/symbols/symbols.h:183
msgctxt "Symbol"
-msgid "CanoeAccess"
+msgid "Escalator Down"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:207 ../share/symbols/symbols.h:208
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:184 ../share/symbols/symbols.h:185
msgctxt "Symbol"
-msgid "Crosscountry Ski Trail"
+msgid "Escalator Up"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:209 ../share/symbols/symbols.h:210
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:186 ../share/symbols/symbols.h:187
msgctxt "Symbol"
-msgid "Downhill Skiing"
+msgid "Stairs"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:211 ../share/symbols/symbols.h:212
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:188 ../share/symbols/symbols.h:189
msgctxt "Symbol"
-msgid "Drinking Water"
+msgid "Stairs Down"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:215 ../share/symbols/symbols.h:216
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:190 ../share/symbols/symbols.h:191
msgctxt "Symbol"
-msgid "Fishing"
+msgid "Stairs Up"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:217 ../share/symbols/symbols.h:218
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:192 ../share/symbols/symbols.h:193
msgctxt "Symbol"
-msgid "Food Service"
+msgid "Elevator"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:219 ../share/symbols/symbols.h:220
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:194 ../share/symbols/symbols.h:195
msgctxt "Symbol"
-msgid "Four Wheel Drive Road"
+msgid "Toilets - Men"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:221 ../share/symbols/symbols.h:222
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:196 ../share/symbols/symbols.h:197
msgctxt "Symbol"
-msgid "Gas Station"
+msgid "Toilets - Women"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:223 ../share/symbols/symbols.h:224
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:198 ../share/symbols/symbols.h:199
msgctxt "Symbol"
-msgid "Golfing"
+msgid "Toilets"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:225 ../share/symbols/symbols.h:226
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:200 ../share/symbols/symbols.h:201
msgctxt "Symbol"
-msgid "Horseback Riding"
+msgid "Nursery"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:227 ../share/symbols/symbols.h:228
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:202 ../share/symbols/symbols.h:203
msgctxt "Symbol"
-msgid "Hospital"
+msgid "Drinking Fountain"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:229 ../share/symbols/symbols.h:230
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:204 ../share/symbols/symbols.h:205
msgctxt "Symbol"
-msgid "Ice Skating"
+msgid "Waiting Room"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:233 ../share/symbols/symbols.h:234
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:208 ../share/symbols/symbols.h:209
msgctxt "Symbol"
-msgid "Litter Receptacle"
+msgid "Hotel Information"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:235 ../share/symbols/symbols.h:236
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:210 ../share/symbols/symbols.h:211
msgctxt "Symbol"
-msgid "Lodging"
+msgid "Air Transportation"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:237 ../share/symbols/symbols.h:238
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:212 ../share/symbols/symbols.h:213
msgctxt "Symbol"
-msgid "Marina"
+msgid "Heliport"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:239 ../share/symbols/symbols.h:240
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:214 ../share/symbols/symbols.h:215
msgctxt "Symbol"
-msgid "Motorbike Trail"
+msgid "Taxi"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:241 ../share/symbols/symbols.h:242
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:216 ../share/symbols/symbols.h:217
msgctxt "Symbol"
-msgid "Radiator Water"
+msgid "Bus"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:243 ../share/symbols/symbols.h:244
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:218 ../share/symbols/symbols.h:219
msgctxt "Symbol"
-msgid "Recycling"
+msgid "Ground Transportation"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:247 ../share/symbols/symbols.h:248
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:220 ../share/symbols/symbols.h:221
msgctxt "Symbol"
-msgid "Pets On Leash"
+msgid "Rail Transportation"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:249 ../share/symbols/symbols.h:250
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:222 ../share/symbols/symbols.h:223
msgctxt "Symbol"
-msgid "Picnic Area"
+msgid "Water Transportation"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:251 ../share/symbols/symbols.h:252
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:224 ../share/symbols/symbols.h:225
msgctxt "Symbol"
-msgid "Post Office"
+msgid "Car Rental"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:253 ../share/symbols/symbols.h:254
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:226 ../share/symbols/symbols.h:227
msgctxt "Symbol"
-msgid "Ranger Station"
+msgid "Restaurant"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:255 ../share/symbols/symbols.h:256
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:228 ../share/symbols/symbols.h:229
msgctxt "Symbol"
-msgid "RV Campground"
+msgid "Coffeeshop"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:257 ../share/symbols/symbols.h:258
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:230 ../share/symbols/symbols.h:231
msgctxt "Symbol"
-msgid "Restrooms"
+msgid "Bar"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:259 ../share/symbols/symbols.h:260
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:232 ../share/symbols/symbols.h:233
msgctxt "Symbol"
-msgid "Sailing"
+msgid "Shops"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:261 ../share/symbols/symbols.h:262
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:234 ../share/symbols/symbols.h:235
msgctxt "Symbol"
-msgid "Sanitary Disposal Station"
+msgid "Barber Shop - Beauty Salon"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:263 ../share/symbols/symbols.h:264
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:236 ../share/symbols/symbols.h:237
msgctxt "Symbol"
-msgid "Scuba Diving"
+msgid "Barber Shop"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:265 ../share/symbols/symbols.h:266
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:238 ../share/symbols/symbols.h:239
msgctxt "Symbol"
-msgid "Self Guided Trail"
+msgid "Beauty Salon"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:267 ../share/symbols/symbols.h:268
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:240 ../share/symbols/symbols.h:241
msgctxt "Symbol"
-msgid "Shelter"
+msgid "Ticket Purchase"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:269 ../share/symbols/symbols.h:270
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:242 ../share/symbols/symbols.h:243
msgctxt "Symbol"
-msgid "Showers"
+msgid "Baggage Check In"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:271 ../share/symbols/symbols.h:272
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:244 ../share/symbols/symbols.h:245
msgctxt "Symbol"
-msgid "Sledding"
+msgid "Baggage Claim"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:273 ../share/symbols/symbols.h:274
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:246 ../share/symbols/symbols.h:247
msgctxt "Symbol"
-msgid "SnowmobileTrail"
+msgid "Customs"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:275 ../share/symbols/symbols.h:276
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:248 ../share/symbols/symbols.h:249
msgctxt "Symbol"
-msgid "Stable"
+msgid "Immigration"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:277 ../share/symbols/symbols.h:278
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:250 ../share/symbols/symbols.h:251
msgctxt "Symbol"
-msgid "Store"
+msgid "Departing Flights"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:279 ../share/symbols/symbols.h:280
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:252 ../share/symbols/symbols.h:253
msgctxt "Symbol"
-msgid "Swimming"
+msgid "Arriving Flights"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:283 ../share/symbols/symbols.h:284
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:254 ../share/symbols/symbols.h:255
msgctxt "Symbol"
-msgid "Emergency Telephone"
+msgid "Smoking"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:285 ../share/symbols/symbols.h:286
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:256 ../share/symbols/symbols.h:257
msgctxt "Symbol"
-msgid "Trailhead"
+msgid "No Smoking"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:287 ../share/symbols/symbols.h:288
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:260 ../share/symbols/symbols.h:261
msgctxt "Symbol"
-msgid "Wheelchair Accessible"
+msgid "No Parking"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:289 ../share/symbols/symbols.h:290
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:262 ../share/symbols/symbols.h:263
msgctxt "Symbol"
-msgid "Wind Surfing"
+msgid "No Dogs"
msgstr ""
-#. Symbols: ./MapSymbolsNPS.svg
-#: ../share/symbols/symbols.h:291
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:264 ../share/symbols/symbols.h:265
msgctxt "Symbol"
-msgid "Blank"
+msgid "No Entry"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:266 ../share/symbols/symbols.h:267
+msgctxt "Symbol"
+msgid "Exit"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:268 ../share/symbols/symbols.h:269
+msgctxt "Symbol"
+msgid "Fire Extinguisher"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:270 ../share/symbols/symbols.h:271
+msgctxt "Symbol"
+msgid "Right Arrow"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:272 ../share/symbols/symbols.h:273
+msgctxt "Symbol"
+msgid "Forward and Right Arrow"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:274 ../share/symbols/symbols.h:275
+msgctxt "Symbol"
+msgid "Up Arrow"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:276 ../share/symbols/symbols.h:277
+msgctxt "Symbol"
+msgid "Forward and Left Arrow"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:278 ../share/symbols/symbols.h:279
+msgctxt "Symbol"
+msgid "Left Arrow"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:280 ../share/symbols/symbols.h:281
+msgctxt "Symbol"
+msgid "Left and Down Arrow"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:282 ../share/symbols/symbols.h:283
+msgctxt "Symbol"
+msgid "Down Arrow"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:284 ../share/symbols/symbols.h:285
+msgctxt "Symbol"
+msgid "Right and Down Arrow"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:286 ../share/symbols/symbols.h:287
+msgctxt "Symbol"
+msgid "NPS Wheelchair Accessible - 1996"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:288 ../share/symbols/symbols.h:289
+msgctxt "Symbol"
+msgid "NPS Wheelchair Accessible"
+msgstr ""
+
+#. Symbols: ./AigaSymbols.svg
+#: ../share/symbols/symbols.h:290 ../share/symbols/symbols.h:291
+msgctxt "Symbol"
+msgid "New Wheelchair Accessible"
msgstr ""
#: ../share/templates/templates.h:1
@@ -4438,156 +4438,156 @@ msgstr ""
msgid "No next zoom."
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:361 ../src/display/canvas-grid.cpp:701
+#: ../src/display/canvas-axonomgrid.cpp:357 ../src/display/canvas-grid.cpp:697
msgid "Grid _units:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:363 ../src/display/canvas-grid.cpp:703
+#: ../src/display/canvas-axonomgrid.cpp:359 ../src/display/canvas-grid.cpp:699
msgid "_Origin X:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:363 ../src/display/canvas-grid.cpp:703
+#: ../src/display/canvas-axonomgrid.cpp:359 ../src/display/canvas-grid.cpp:699
#: ../src/ui/dialog/inkscape-preferences.cpp:746
#: ../src/ui/dialog/inkscape-preferences.cpp:771
msgid "X coordinate of grid origin"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:366 ../src/display/canvas-grid.cpp:706
+#: ../src/display/canvas-axonomgrid.cpp:362 ../src/display/canvas-grid.cpp:702
msgid "O_rigin Y:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:366 ../src/display/canvas-grid.cpp:706
+#: ../src/display/canvas-axonomgrid.cpp:362 ../src/display/canvas-grid.cpp:702
#: ../src/ui/dialog/inkscape-preferences.cpp:747
#: ../src/ui/dialog/inkscape-preferences.cpp:772
msgid "Y coordinate of grid origin"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:369 ../src/display/canvas-grid.cpp:712
+#: ../src/display/canvas-axonomgrid.cpp:365 ../src/display/canvas-grid.cpp:708
msgid "Spacing _Y:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:369
+#: ../src/display/canvas-axonomgrid.cpp:365
#: ../src/ui/dialog/inkscape-preferences.cpp:775
msgid "Base length of z-axis"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:372
+#: ../src/display/canvas-axonomgrid.cpp:368
#: ../src/ui/dialog/inkscape-preferences.cpp:778
#: ../src/widgets/box3d-toolbar.cpp:302
msgid "Angle X:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:372
+#: ../src/display/canvas-axonomgrid.cpp:368
#: ../src/ui/dialog/inkscape-preferences.cpp:778
msgid "Angle of x-axis"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:374
+#: ../src/display/canvas-axonomgrid.cpp:370
#: ../src/ui/dialog/inkscape-preferences.cpp:779
#: ../src/widgets/box3d-toolbar.cpp:381
msgid "Angle Z:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:374
+#: ../src/display/canvas-axonomgrid.cpp:370
#: ../src/ui/dialog/inkscape-preferences.cpp:779
msgid "Angle of z-axis"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:378 ../src/display/canvas-grid.cpp:717
+#: ../src/display/canvas-axonomgrid.cpp:374 ../src/display/canvas-grid.cpp:713
msgid "Minor grid line _color:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:378 ../src/display/canvas-grid.cpp:717
+#: ../src/display/canvas-axonomgrid.cpp:374 ../src/display/canvas-grid.cpp:713
#: ../src/ui/dialog/inkscape-preferences.cpp:730
msgid "Minor grid line color"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:378 ../src/display/canvas-grid.cpp:717
+#: ../src/display/canvas-axonomgrid.cpp:374 ../src/display/canvas-grid.cpp:713
msgid "Color of the minor grid lines"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:383 ../src/display/canvas-grid.cpp:722
+#: ../src/display/canvas-axonomgrid.cpp:379 ../src/display/canvas-grid.cpp:718
msgid "Ma_jor grid line color:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:383 ../src/display/canvas-grid.cpp:722
+#: ../src/display/canvas-axonomgrid.cpp:379 ../src/display/canvas-grid.cpp:718
#: ../src/ui/dialog/inkscape-preferences.cpp:732
msgid "Major grid line color"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:384 ../src/display/canvas-grid.cpp:723
+#: ../src/display/canvas-axonomgrid.cpp:380 ../src/display/canvas-grid.cpp:719
msgid "Color of the major (highlighted) grid lines"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:388 ../src/display/canvas-grid.cpp:727
+#: ../src/display/canvas-axonomgrid.cpp:384 ../src/display/canvas-grid.cpp:723
msgid "_Major grid line every:"
msgstr ""
-#: ../src/display/canvas-axonomgrid.cpp:388 ../src/display/canvas-grid.cpp:727
+#: ../src/display/canvas-axonomgrid.cpp:384 ../src/display/canvas-grid.cpp:723
msgid "lines"
msgstr ""
-#: ../src/display/canvas-grid.cpp:64
+#: ../src/display/canvas-grid.cpp:60
msgid "Rectangular grid"
msgstr ""
-#: ../src/display/canvas-grid.cpp:65
+#: ../src/display/canvas-grid.cpp:61
msgid "Axonometric grid"
msgstr ""
-#: ../src/display/canvas-grid.cpp:250
+#: ../src/display/canvas-grid.cpp:246
msgid "Create new grid"
msgstr ""
-#: ../src/display/canvas-grid.cpp:316
+#: ../src/display/canvas-grid.cpp:312
msgid "_Enabled"
msgstr ""
-#: ../src/display/canvas-grid.cpp:317
+#: ../src/display/canvas-grid.cpp:313
msgid ""
"Determines whether to snap to this grid or not. Can be 'on' for invisible "
"grids."
msgstr ""
-#: ../src/display/canvas-grid.cpp:321
+#: ../src/display/canvas-grid.cpp:317
msgid "Snap to visible _grid lines only"
msgstr ""
-#: ../src/display/canvas-grid.cpp:322
+#: ../src/display/canvas-grid.cpp:318
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:326
+#: ../src/display/canvas-grid.cpp:322
msgid "_Visible"
msgstr ""
-#: ../src/display/canvas-grid.cpp:327
+#: ../src/display/canvas-grid.cpp:323
msgid ""
"Determines whether the grid is displayed or not. Objects are still snapped "
"to invisible grids."
msgstr ""
-#: ../src/display/canvas-grid.cpp:709
+#: ../src/display/canvas-grid.cpp:705
msgid "Spacing _X:"
msgstr ""
-#: ../src/display/canvas-grid.cpp:709
+#: ../src/display/canvas-grid.cpp:705
#: ../src/ui/dialog/inkscape-preferences.cpp:752
msgid "Distance between vertical grid lines"
msgstr ""
-#: ../src/display/canvas-grid.cpp:712
+#: ../src/display/canvas-grid.cpp:708
#: ../src/ui/dialog/inkscape-preferences.cpp:753
msgid "Distance between horizontal grid lines"
msgstr ""
-#: ../src/display/canvas-grid.cpp:744
+#: ../src/display/canvas-grid.cpp:740
msgid "_Show dots instead of lines"
msgstr ""
-#: ../src/display/canvas-grid.cpp:745
+#: ../src/display/canvas-grid.cpp:741
msgid "If set, displays dots at gridpoints instead of gridlines"
msgstr ""
@@ -4737,11 +4737,11 @@ msgstr ""
msgid "Bounding box side midpoint"
msgstr ""
-#: ../src/display/snap-indicator.cpp:196 ../src/ui/tool/node.cpp:1505
+#: ../src/display/snap-indicator.cpp:196 ../src/ui/tool/node.cpp:1506
msgid "Smooth node"
msgstr ""
-#: ../src/display/snap-indicator.cpp:199 ../src/ui/tool/node.cpp:1504
+#: ../src/display/snap-indicator.cpp:199 ../src/ui/tool/node.cpp:1505
msgid "Cusp node"
msgstr ""
@@ -4811,7 +4811,7 @@ msgstr ""
msgid "Memory document %1"
msgstr ""
-#: ../src/document.cpp:855
+#: ../src/document.cpp:886
#, c-format
msgid "Unnamed document %d"
msgstr ""
@@ -4821,11 +4821,11 @@ msgid "[Unchanged]"
msgstr ""
#. Edit
-#: ../src/event-log.cpp:371 ../src/event-log.cpp:374 ../src/verbs.cpp:2465
+#: ../src/event-log.cpp:371 ../src/event-log.cpp:374 ../src/verbs.cpp:2434
msgid "_Undo"
msgstr ""
-#: ../src/event-log.cpp:381 ../src/event-log.cpp:385 ../src/verbs.cpp:2467
+#: ../src/event-log.cpp:381 ../src/event-log.cpp:385 ../src/verbs.cpp:2436
msgid "_Redo"
msgstr ""
@@ -4853,7 +4853,7 @@ msgstr ""
msgid " (No preferences)"
msgstr ""
-#: ../src/extension/effect.h:70 ../src/verbs.cpp:2239
+#: ../src/extension/effect.h:70 ../src/verbs.cpp:2208
msgid "Extensions"
msgstr ""
@@ -4873,90 +4873,90 @@ msgstr ""
msgid "Show dialog on startup"
msgstr ""
-#: ../src/extension/execution-env.cpp:144
+#: ../src/extension/execution-env.cpp:138
#, c-format
msgid "'%s' working, please wait..."
msgstr ""
#. static int i = 0;
#. std::cout << "Checking module[" << i++ << "]: " << name << std::endl;
-#: ../src/extension/extension.cpp:271
+#: ../src/extension/extension.cpp:267
msgid ""
" This is caused by an improper .inx file for this extension. An improper ."
"inx file could have been caused by a faulty installation of Inkscape."
msgstr ""
-#: ../src/extension/extension.cpp:281
+#: ../src/extension/extension.cpp:277
msgid "the extension is designed for Windows only."
msgstr ""
-#: ../src/extension/extension.cpp:286
+#: ../src/extension/extension.cpp:282
msgid "an ID was not defined for it."
msgstr ""
-#: ../src/extension/extension.cpp:290
+#: ../src/extension/extension.cpp:286
msgid "there was no name defined for it."
msgstr ""
-#: ../src/extension/extension.cpp:294
+#: ../src/extension/extension.cpp:290
msgid "the XML description of it got lost."
msgstr ""
-#: ../src/extension/extension.cpp:298
+#: ../src/extension/extension.cpp:294
msgid "no implementation was defined for the extension."
msgstr ""
#. std::cout << "Failed: " << *(_deps[i]) << std::endl;
-#: ../src/extension/extension.cpp:305
+#: ../src/extension/extension.cpp:301
msgid "a dependency was not met."
msgstr ""
-#: ../src/extension/extension.cpp:325
+#: ../src/extension/extension.cpp:321
msgid "Extension \""
msgstr ""
-#: ../src/extension/extension.cpp:325
+#: ../src/extension/extension.cpp:321
msgid "\" failed to load because "
msgstr ""
-#: ../src/extension/extension.cpp:674
+#: ../src/extension/extension.cpp:670
#, c-format
msgid "Could not create extension error log file '%s'"
msgstr ""
-#: ../src/extension/extension.cpp:782
+#: ../src/extension/extension.cpp:778
#: ../share/extensions/webslicer_create_rect.inx.h:2
msgid "Name:"
msgstr ""
-#: ../src/extension/extension.cpp:783
+#: ../src/extension/extension.cpp:779
msgid "ID:"
msgstr ""
-#: ../src/extension/extension.cpp:784
+#: ../src/extension/extension.cpp:780
msgid "State:"
msgstr ""
-#: ../src/extension/extension.cpp:784
+#: ../src/extension/extension.cpp:780
msgid "Loaded"
msgstr ""
-#: ../src/extension/extension.cpp:784
+#: ../src/extension/extension.cpp:780
msgid "Unloaded"
msgstr ""
-#: ../src/extension/extension.cpp:784
+#: ../src/extension/extension.cpp:780
msgid "Deactivated"
msgstr ""
-#: ../src/extension/extension.cpp:824
+#: ../src/extension/extension.cpp:820
msgid ""
"Currently there is no help available for this Extension. Please look on the "
"Inkscape website or ask on the mailing lists if you have questions regarding "
"this extension."
msgstr ""
-#: ../src/extension/implementation/script.cpp:1057
+#: ../src/extension/implementation/script.cpp:1063
msgid ""
"Inkscape has received additional data from the script executed. The script "
"did not return an error, but this may indicate the results will not be as "
@@ -4982,10 +4982,11 @@ msgstr ""
#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:41
#: ../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/extension/internal/bluredge.cpp:136
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:59
#: ../src/ui/dialog/object-attributes.cpp:68
#: ../src/ui/dialog/object-attributes.cpp:77
+#: ../src/ui/widget/page-sizer.cpp:249
#: ../src/widgets/calligraphy-toolbar.cpp:430
#: ../src/widgets/eraser-toolbar.cpp:128 ../src/widgets/spray-toolbar.cpp:116
#: ../src/widgets/tweak-toolbar.cpp:128
@@ -4998,7 +4999,7 @@ msgstr ""
#: ../src/extension/internal/bitmap/sample.cpp:42
#: ../src/ui/dialog/object-attributes.cpp:69
#: ../src/ui/dialog/object-attributes.cpp:78
-#: ../share/extensions/foldablebox.inx.h:3
+#: ../src/ui/widget/page-sizer.cpp:250 ../share/extensions/foldablebox.inx.h:3
msgid "Height:"
msgstr ""
@@ -5060,8 +5061,8 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:1660
#: ../src/extension/internal/filter/distort.h:69
#: ../src/extension/internal/filter/morphology.h:60 ../src/rdf.cpp:244
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2842
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2916
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2858
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2932
#: ../src/ui/dialog/object-attributes.cpp:49
#: ../share/extensions/jessyInk_effects.inx.h:5
#: ../share/extensions/jessyInk_export.inx.h:3
@@ -5113,7 +5114,7 @@ msgstr ""
#: ../src/extension/internal/bitmap/oilPaint.cpp:39
#: ../src/extension/internal/bitmap/sharpen.cpp:40
#: ../src/extension/internal/bitmap/unsharpmask.cpp:43
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2894
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2910
msgid "Radius:"
msgstr ""
@@ -5431,7 +5432,7 @@ msgid "Opacity"
msgstr ""
#: ../src/extension/internal/bitmap/opacity.cpp:40
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2884
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2900
#: ../src/ui/dialog/objects.cpp:1619 ../src/widgets/dropper-toolbar.cpp:83
msgid "Opacity:"
msgstr ""
@@ -5537,7 +5538,7 @@ msgstr ""
#: ../src/extension/internal/bitmap/threshold.cpp:40
#: ../src/extension/internal/bitmap/unsharpmask.cpp:46
-#: ../src/widgets/paintbucket-toolbar.cpp:148
+#: ../src/widgets/paintbucket-toolbar.cpp:147
msgid "Threshold:"
msgstr ""
@@ -5569,23 +5570,23 @@ msgstr ""
msgid "Alter selected bitmap(s) along sine wave"
msgstr ""
-#: ../src/extension/internal/bluredge.cpp:136
+#: ../src/extension/internal/bluredge.cpp:134
msgid "Inset/Outset Halo"
msgstr ""
-#: ../src/extension/internal/bluredge.cpp:138
+#: ../src/extension/internal/bluredge.cpp:136
msgid "Width in px of the halo"
msgstr ""
-#: ../src/extension/internal/bluredge.cpp:139
+#: ../src/extension/internal/bluredge.cpp:137
msgid "Number of steps:"
msgstr ""
-#: ../src/extension/internal/bluredge.cpp:139
+#: ../src/extension/internal/bluredge.cpp:137
msgid "Number of inset/outset copies of the object to make"
msgstr ""
-#: ../src/extension/internal/bluredge.cpp:143
+#: ../src/extension/internal/bluredge.cpp:141
#: ../share/extensions/extrude.inx.h:5
#: ../share/extensions/generate_voronoi.inx.h:9
#: ../share/extensions/interp.inx.h:7 ../share/extensions/motion.inx.h:4
@@ -5789,79 +5790,79 @@ msgstr ""
msgid "Open presentation exchange files saved in Corel DRAW"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3562
+#: ../src/extension/internal/emf-inout.cpp:3584
msgid "EMF Input"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3567
+#: ../src/extension/internal/emf-inout.cpp:3589
msgid "Enhanced Metafiles (*.emf)"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3568
+#: ../src/extension/internal/emf-inout.cpp:3590
msgid "Enhanced Metafiles"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3576
+#: ../src/extension/internal/emf-inout.cpp:3598
msgid "EMF Output"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3578
-#: ../src/extension/internal/wmf-inout.cpp:3152
+#: ../src/extension/internal/emf-inout.cpp:3600
+#: ../src/extension/internal/wmf-inout.cpp:3174
msgid "Convert texts to paths"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3579
-#: ../src/extension/internal/wmf-inout.cpp:3153
+#: ../src/extension/internal/emf-inout.cpp:3601
+#: ../src/extension/internal/wmf-inout.cpp:3175
msgid "Map Unicode to Symbol font"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3580
-#: ../src/extension/internal/wmf-inout.cpp:3154
+#: ../src/extension/internal/emf-inout.cpp:3602
+#: ../src/extension/internal/wmf-inout.cpp:3176
msgid "Map Unicode to Wingdings"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3581
-#: ../src/extension/internal/wmf-inout.cpp:3155
+#: ../src/extension/internal/emf-inout.cpp:3603
+#: ../src/extension/internal/wmf-inout.cpp:3177
msgid "Map Unicode to Zapf Dingbats"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3582
-#: ../src/extension/internal/wmf-inout.cpp:3156
+#: ../src/extension/internal/emf-inout.cpp:3604
+#: ../src/extension/internal/wmf-inout.cpp:3178
msgid "Use MS Unicode PUA (0xF020-0xF0FF) for converted characters"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3583
-#: ../src/extension/internal/wmf-inout.cpp:3157
+#: ../src/extension/internal/emf-inout.cpp:3605
+#: ../src/extension/internal/wmf-inout.cpp:3179
msgid "Compensate for PPT font bug"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3584
-#: ../src/extension/internal/wmf-inout.cpp:3158
+#: ../src/extension/internal/emf-inout.cpp:3606
+#: ../src/extension/internal/wmf-inout.cpp:3180
msgid "Convert dashed/dotted lines to single lines"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3585
-#: ../src/extension/internal/wmf-inout.cpp:3159
+#: ../src/extension/internal/emf-inout.cpp:3607
+#: ../src/extension/internal/wmf-inout.cpp:3181
msgid "Convert gradients to colored polygon series"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3586
+#: ../src/extension/internal/emf-inout.cpp:3608
msgid "Use native rectangular linear gradients"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3587
+#: ../src/extension/internal/emf-inout.cpp:3609
msgid "Map all fill patterns to standard EMF hatches"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3588
+#: ../src/extension/internal/emf-inout.cpp:3610
msgid "Ignore image rotations"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3592
+#: ../src/extension/internal/emf-inout.cpp:3614
msgid "Enhanced Metafile (*.emf)"
msgstr ""
-#: ../src/extension/internal/emf-inout.cpp:3593
+#: ../src/extension/internal/emf-inout.cpp:3615
msgid "Enhanced Metafile"
msgstr ""
@@ -5926,7 +5927,7 @@ msgstr ""
#: ../src/extension/internal/filter/distort.h:95
#: ../src/extension/internal/filter/distort.h:204
#: ../src/extension/internal/filter/filter-file.cpp:151
-#: ../src/extension/internal/filter/filter.cpp:214
+#: ../src/extension/internal/filter/filter.cpp:212
#: ../src/extension/internal/filter/image.h:61
#: ../src/extension/internal/filter/morphology.h:75
#: ../src/extension/internal/filter/morphology.h:202
@@ -5948,6 +5949,7 @@ msgstr ""
#: ../src/extension/internal/filter/transparency.h:287
#: ../src/extension/internal/filter/transparency.h:349
#: ../src/ui/dialog/inkscape-preferences.cpp:1751
+#, c-format
msgid "Filters"
msgstr ""
@@ -6158,6 +6160,7 @@ msgstr ""
#: ../src/extension/internal/filter/textures.h:77
#: ../src/extension/internal/filter/transparency.h:61
#: ../src/filter-enums.cpp:52 ../src/ui/dialog/inkscape-preferences.cpp:653
+#: ../src/ui/widget/font-variants.cpp:45 ../src/ui/widget/font-variants.cpp:50
msgid "Normal"
msgstr ""
@@ -6194,10 +6197,9 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:712
#: ../src/extension/internal/filter/color.h:896
#: ../src/extension/internal/filter/transparency.h:132
-#: ../src/filter-enums.cpp:128 ../src/ui/tools/flood-tool.cpp:183
-#: ../src/widgets/sp-color-icc-selector.cpp:330
-#: ../src/widgets/sp-color-scales.cpp:415
-#: ../src/widgets/sp-color-scales.cpp:416
+#: ../src/filter-enums.cpp:128 ../src/ui/tools/flood-tool.cpp:91
+#: ../src/ui/widget/color-icc-selector.cpp:176
+#: ../src/ui/widget/color-scales.cpp:379 ../src/ui/widget/color-scales.cpp:380
msgid "Red"
msgstr ""
@@ -6207,10 +6209,9 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:713
#: ../src/extension/internal/filter/color.h:897
#: ../src/extension/internal/filter/transparency.h:133
-#: ../src/filter-enums.cpp:129 ../src/ui/tools/flood-tool.cpp:184
-#: ../src/widgets/sp-color-icc-selector.cpp:331
-#: ../src/widgets/sp-color-scales.cpp:418
-#: ../src/widgets/sp-color-scales.cpp:419
+#: ../src/filter-enums.cpp:129 ../src/ui/tools/flood-tool.cpp:92
+#: ../src/ui/widget/color-icc-selector.cpp:177
+#: ../src/ui/widget/color-scales.cpp:382 ../src/ui/widget/color-scales.cpp:383
msgid "Green"
msgstr ""
@@ -6220,10 +6221,9 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:714
#: ../src/extension/internal/filter/color.h:898
#: ../src/extension/internal/filter/transparency.h:134
-#: ../src/filter-enums.cpp:130 ../src/ui/tools/flood-tool.cpp:185
-#: ../src/widgets/sp-color-icc-selector.cpp:332
-#: ../src/widgets/sp-color-scales.cpp:421
-#: ../src/widgets/sp-color-scales.cpp:422
+#: ../src/filter-enums.cpp:130 ../src/ui/tools/flood-tool.cpp:93
+#: ../src/ui/widget/color-icc-selector.cpp:178
+#: ../src/ui/widget/color-scales.cpp:385 ../src/ui/widget/color-scales.cpp:386
msgid "Blue"
msgstr ""
@@ -6246,7 +6246,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:334
+#: ../src/ui/widget/page-sizer.cpp:250 ../src/widgets/rect-toolbar.cpp:334
#: ../share/extensions/interp_att_g.inx.h:11
msgid "Height"
msgstr ""
@@ -6259,10 +6259,10 @@ msgstr ""
#: ../src/extension/internal/filter/paint.h:86
#: ../src/extension/internal/filter/paint.h:592
#: ../src/extension/internal/filter/paint.h:707
-#: ../src/ui/tools/flood-tool.cpp:188
-#: ../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
+#: ../src/ui/tools/flood-tool.cpp:96
+#: ../src/ui/widget/color-icc-selector.cpp:187
+#: ../src/ui/widget/color-scales.cpp:411 ../src/ui/widget/color-scales.cpp:412
+#: ../src/widgets/tweak-toolbar.cpp:318
#: ../share/extensions/color_randomize.inx.h:5
msgid "Lightness"
msgstr ""
@@ -6299,13 +6299,13 @@ msgstr ""
#: ../src/extension/internal/filter/bumps.h:110
#: ../src/extension/internal/filter/bumps.h:332
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1195
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1196
msgid "Azimuth"
msgstr ""
#: ../src/extension/internal/filter/bumps.h:111
#: ../src/extension/internal/filter/bumps.h:333
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1196
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1197
msgid "Elevation"
msgstr ""
@@ -6459,18 +6459,18 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:332
#: ../src/extension/internal/filter/paint.h:87 ../src/filter-enums.cpp:66
#: ../src/ui/dialog/inkscape-preferences.cpp:952
-#: ../src/ui/tools/flood-tool.cpp:187
-#: ../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
+#: ../src/ui/tools/flood-tool.cpp:95
+#: ../src/ui/widget/color-icc-selector.cpp:183
+#: ../src/ui/widget/color-icc-selector.cpp:188
+#: ../src/ui/widget/color-scales.cpp:408 ../src/ui/widget/color-scales.cpp:409
+#: ../src/widgets/tweak-toolbar.cpp:302
#: ../share/extensions/color_randomize.inx.h:4
msgid "Saturation"
msgstr ""
#: ../src/extension/internal/filter/color.h:161
#: ../src/extension/internal/filter/transparency.h:135
-#: ../src/filter-enums.cpp:131 ../src/ui/tools/flood-tool.cpp:189
+#: ../src/filter-enums.cpp:131 ../src/ui/tools/flood-tool.cpp:97
msgid "Alpha"
msgstr ""
@@ -6495,7 +6495,7 @@ msgid "Cone monochromacy (typical achromatopsia)"
msgstr ""
#: ../src/extension/internal/filter/color.h:261
-msgid "Geen weak (deuteranomaly)"
+msgid "Green weak (deuteranomaly)"
msgstr ""
#: ../src/extension/internal/filter/color.h:262
@@ -6570,13 +6570,13 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:503
#: ../src/extension/internal/filter/paint.h:498 ../src/filter-enums.cpp:111
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1050
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1051
msgid "Table"
msgstr ""
#: ../src/extension/internal/filter/color.h:504
#: ../src/extension/internal/filter/paint.h:499 ../src/filter-enums.cpp:112
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1053
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1054
msgid "Discrete"
msgstr ""
@@ -6639,26 +6639,23 @@ msgid "Extract Channel"
msgstr ""
#: ../src/extension/internal/filter/color.h:715
-#: ../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
+#: ../src/ui/widget/color-icc-selector.cpp:190
+#: ../src/ui/widget/color-icc-selector.cpp:195
+#: ../src/ui/widget/color-scales.cpp:433 ../src/ui/widget/color-scales.cpp:434
msgid "Cyan"
msgstr ""
#: ../src/extension/internal/filter/color.h:716
-#: ../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
+#: ../src/ui/widget/color-icc-selector.cpp:191
+#: ../src/ui/widget/color-icc-selector.cpp:196
+#: ../src/ui/widget/color-scales.cpp:436 ../src/ui/widget/color-scales.cpp:437
msgid "Magenta"
msgstr ""
#: ../src/extension/internal/filter/color.h:717
-#: ../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
+#: ../src/ui/widget/color-icc-selector.cpp:192
+#: ../src/ui/widget/color-icc-selector.cpp:197
+#: ../src/ui/widget/color-scales.cpp:439 ../src/ui/widget/color-scales.cpp:440
msgid "Yellow"
msgstr ""
@@ -6683,10 +6680,9 @@ msgid "Fade to:"
msgstr ""
#: ../src/extension/internal/filter/color.h:819
+#: ../src/ui/widget/color-icc-selector.cpp:193
+#: ../src/ui/widget/color-scales.cpp:442 ../src/ui/widget/color-scales.cpp:443
#: ../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 ""
@@ -6769,8 +6765,8 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:1119
#: ../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:1159
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1048
+#: ../src/widgets/gradient-toolbar.cpp:1162
msgid "Offset"
msgstr ""
@@ -6800,7 +6796,8 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:1382
#: ../src/extension/internal/filter/color.h:1385
#: ../src/extension/internal/filter/color.h:1388
-#: ../src/ui/dialog/input.cpp:1616 ../src/ui/dialog/layers.cpp:917
+#: ../src/ui/dialog/input.cpp:1616 ../src/ui/dialog/layers.cpp:925
+#: ../src/ui/widget/page-sizer.cpp:247
msgid "X"
msgstr ""
@@ -6810,7 +6807,7 @@ msgstr ""
#: ../src/extension/internal/filter/color.h:1383
#: ../src/extension/internal/filter/color.h:1386
#: ../src/extension/internal/filter/color.h:1389
-#: ../src/ui/dialog/input.cpp:1616
+#: ../src/ui/dialog/input.cpp:1616 ../src/ui/widget/page-sizer.cpp:248
msgid "Y"
msgstr ""
@@ -7094,8 +7091,8 @@ 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:317 ../src/widgets/spray-toolbar.cpp:116
-#: ../src/widgets/tweak-toolbar.cpp:128
+#: ../src/ui/widget/page-sizer.cpp:249 ../src/widgets/rect-toolbar.cpp:317
+#: ../src/widgets/spray-toolbar.cpp:116 ../src/widgets/tweak-toolbar.cpp:128
#: ../share/extensions/interp_att_g.inx.h:10
msgid "Width"
msgstr ""
@@ -7141,7 +7138,7 @@ msgstr ""
#: ../src/extension/internal/filter/morphology.h:179
#: ../src/ui/dialog/layer-properties.cpp:185
-#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:59
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:55
msgid "Position:"
msgstr ""
@@ -7328,8 +7325,8 @@ msgid "Convert image to an engraving made of vertical and horizontal lines"
msgstr ""
#: ../src/extension/internal/filter/paint.h:331
-#: ../src/ui/dialog/align-and-distribute.cpp:1003
-#: ../src/widgets/desktop-widget.cpp:1996
+#: ../src/ui/dialog/align-and-distribute.cpp:999
+#: ../src/widgets/desktop-widget.cpp:1998
msgid "Drawing"
msgstr ""
@@ -7338,7 +7335,7 @@ msgstr ""
#: ../src/extension/internal/filter/paint.h:496
#: ../src/extension/internal/filter/paint.h:590
#: ../src/extension/internal/filter/paint.h:976
-#: ../src/live_effects/effect.cpp:151 ../src/splivarot.cpp:2212
+#: ../src/live_effects/effect.cpp:151 ../src/splivarot.cpp:2201
msgid "Simplify"
msgstr ""
@@ -7619,7 +7616,7 @@ msgid "Background"
msgstr ""
#: ../src/extension/internal/filter/transparency.h:59
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2839
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2855
#: ../src/ui/dialog/input.cpp:1088 ../src/widgets/eraser-toolbar.cpp:106
#: ../src/widgets/pencil-toolbar.cpp:132 ../src/widgets/spray-toolbar.cpp:186
#: ../src/widgets/tweak-toolbar.cpp:254 ../share/extensions/extrude.inx.h:2
@@ -7674,10 +7671,12 @@ msgid "%s bitmap image import"
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:190
+#, c-format
msgid "Image Import Type:"
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:190
+#, c-format
msgid ""
"Embed results in stand-alone, larger SVG files. Link references a file "
"outside this SVG document and all files must be moved together."
@@ -7685,37 +7684,45 @@ msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:191
#: ../src/ui/dialog/inkscape-preferences.cpp:1456
+#, c-format
msgid "Embed"
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:192 ../src/sp-anchor.cpp:105
#: ../src/ui/dialog/inkscape-preferences.cpp:1456
+#, c-format
msgid "Link"
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:195
+#, c-format
msgid "Image DPI:"
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:195
+#, c-format
msgid ""
"Take information from file or use default bitmap import resolution as "
"defined in the preferences."
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:196
+#, c-format
msgid "From file"
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:197
+#, c-format
msgid "Default import resolution"
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:200
+#, c-format
msgid "Image Rendering Mode:"
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:200
+#, c-format
msgid ""
"When an image is upscaled, apply smoothing or keep blocky (pixelated). (Will "
"not work in all browsers.)"
@@ -7723,24 +7730,29 @@ msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:201
#: ../src/ui/dialog/inkscape-preferences.cpp:1463
+#, c-format
msgid "None (auto)"
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:202
#: ../src/ui/dialog/inkscape-preferences.cpp:1463
+#, c-format
msgid "Smooth (optimizeQuality)"
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:203
#: ../src/ui/dialog/inkscape-preferences.cpp:1463
+#, c-format
msgid "Blocky (optimizeSpeed)"
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:206
+#, c-format
msgid "Hide the dialog next time and always apply the same actions."
msgstr ""
#: ../src/extension/internal/gdkpixbuf-input.cpp:206
+#, c-format
msgid "Don't ask again"
msgstr ""
@@ -7756,31 +7768,31 @@ msgstr ""
msgid "Gradients used in GIMP"
msgstr ""
-#: ../src/extension/internal/grid.cpp:212 ../src/ui/widget/panel.cpp:118
+#: ../src/extension/internal/grid.cpp:205 ../src/ui/widget/panel.cpp:114
msgid "Grid"
msgstr ""
-#: ../src/extension/internal/grid.cpp:214
+#: ../src/extension/internal/grid.cpp:207
msgid "Line Width:"
msgstr ""
-#: ../src/extension/internal/grid.cpp:215
+#: ../src/extension/internal/grid.cpp:208
msgid "Horizontal Spacing:"
msgstr ""
-#: ../src/extension/internal/grid.cpp:216
+#: ../src/extension/internal/grid.cpp:209
msgid "Vertical Spacing:"
msgstr ""
-#: ../src/extension/internal/grid.cpp:217
+#: ../src/extension/internal/grid.cpp:210
msgid "Horizontal Offset:"
msgstr ""
-#: ../src/extension/internal/grid.cpp:218
+#: ../src/extension/internal/grid.cpp:211
msgid "Vertical Offset:"
msgstr ""
-#: ../src/extension/internal/grid.cpp:222
+#: ../src/extension/internal/grid.cpp:215
#: ../src/ui/dialog/inkscape-preferences.cpp:1477
#: ../share/extensions/draw_from_triangle.inx.h:58
#: ../share/extensions/eqtexsvg.inx.h:4
@@ -7811,14 +7823,14 @@ msgstr ""
msgid "Render"
msgstr ""
-#: ../src/extension/internal/grid.cpp:223
+#: ../src/extension/internal/grid.cpp:216
#: ../src/ui/dialog/document-properties.cpp:162
#: ../src/ui/dialog/inkscape-preferences.cpp:787
-#: ../src/widgets/toolbox.cpp:1827
+#: ../src/widgets/toolbox.cpp:1823
msgid "Grids"
msgstr ""
-#: ../src/extension/internal/grid.cpp:226
+#: ../src/extension/internal/grid.cpp:219
msgid "Draw a path which is a grid"
msgstr ""
@@ -8102,33 +8114,33 @@ msgstr ""
msgid "Microsoft Visio 2013 drawing (*.vsdx)"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3136
+#: ../src/extension/internal/wmf-inout.cpp:3158
msgid "WMF Input"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3141
+#: ../src/extension/internal/wmf-inout.cpp:3163
msgid "Windows Metafiles (*.wmf)"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3142
+#: ../src/extension/internal/wmf-inout.cpp:3164
msgid "Windows Metafiles"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3150
+#: ../src/extension/internal/wmf-inout.cpp:3172
msgid "WMF Output"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3160
+#: ../src/extension/internal/wmf-inout.cpp:3182
msgid "Map all fill patterns to standard WMF hatches"
msgstr ""
-#: ../src/extension/internal/wmf-inout.cpp:3164
+#: ../src/extension/internal/wmf-inout.cpp:3186
#: ../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:3165
+#: ../src/extension/internal/wmf-inout.cpp:3187
msgid "Windows Metafile"
msgstr ""
@@ -8164,7 +8176,7 @@ msgstr ""
msgid "Broken links have been changed to point to existing files."
msgstr ""
-#: ../src/file.cpp:339 ../src/file.cpp:1255
+#: ../src/file.cpp:339 ../src/file.cpp:1252
#, c-format
msgid "Failed to load the requested file %s"
msgstr ""
@@ -8232,7 +8244,7 @@ msgid "Document saved."
msgstr ""
#. We are saving for the first time; create a unique default filename
-#: ../src/file.cpp:866 ../src/file.cpp:1414
+#: ../src/file.cpp:866 ../src/file.cpp:1411
msgid "drawing"
msgstr ""
@@ -8256,20 +8268,20 @@ msgstr ""
msgid "Saving document..."
msgstr ""
-#: ../src/file.cpp:1252 ../src/ui/dialog/inkscape-preferences.cpp:1450
+#: ../src/file.cpp:1249 ../src/ui/dialog/inkscape-preferences.cpp:1450
#: ../src/ui/dialog/ocaldialogs.cpp:1244
msgid "Import"
msgstr ""
-#: ../src/file.cpp:1302
+#: ../src/file.cpp:1299
msgid "Select file to import"
msgstr ""
-#: ../src/file.cpp:1435
+#: ../src/file.cpp:1432
msgid "Select file to export to"
msgstr ""
-#: ../src/file.cpp:1688
+#: ../src/file.cpp:1685
msgid "Import Clip Art"
msgstr ""
@@ -8362,11 +8374,11 @@ msgstr ""
msgid "Exclusion"
msgstr ""
-#: ../src/filter-enums.cpp:65 ../src/ui/tools/flood-tool.cpp:186
-#: ../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
+#: ../src/filter-enums.cpp:65 ../src/ui/tools/flood-tool.cpp:94
+#: ../src/ui/widget/color-icc-selector.cpp:182
+#: ../src/ui/widget/color-icc-selector.cpp:186
+#: ../src/ui/widget/color-scales.cpp:405 ../src/ui/widget/color-scales.cpp:406
+#: ../src/widgets/tweak-toolbar.cpp:286
#: ../share/extensions/color_randomize.inx.h:3
msgid "Hue"
msgstr ""
@@ -8434,7 +8446,7 @@ msgstr ""
msgid "Arithmetic"
msgstr ""
-#: ../src/filter-enums.cpp:120 ../src/selection-chemistry.cpp:546
+#: ../src/filter-enums.cpp:120 ../src/selection-chemistry.cpp:545
msgid "Duplicate"
msgstr ""
@@ -8471,15 +8483,15 @@ msgstr ""
msgid "Spot Light"
msgstr ""
-#: ../src/gradient-chemistry.cpp:1579
+#: ../src/gradient-chemistry.cpp:1580
msgid "Invert gradient colors"
msgstr ""
-#: ../src/gradient-chemistry.cpp:1605
+#: ../src/gradient-chemistry.cpp:1607
msgid "Reverse gradient"
msgstr ""
-#: ../src/gradient-chemistry.cpp:1619 ../src/widgets/gradient-selector.cpp:222
+#: ../src/gradient-chemistry.cpp:1621 ../src/widgets/gradient-selector.cpp:226
msgid "Delete swatch"
msgstr ""
@@ -8540,7 +8552,7 @@ msgstr ""
msgid "Move gradient handle"
msgstr ""
-#: ../src/gradient-drag.cpp:1164 ../src/widgets/gradient-vector.cpp:827
+#: ../src/gradient-drag.cpp:1164 ../src/widgets/gradient-vector.cpp:834
msgid "Delete gradient stop"
msgstr ""
@@ -8579,59 +8591,59 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ../src/gradient-drag.cpp:2378
+#: ../src/gradient-drag.cpp:2379
msgid "Move gradient handle(s)"
msgstr ""
-#: ../src/gradient-drag.cpp:2414
+#: ../src/gradient-drag.cpp:2415
msgid "Move gradient mid stop(s)"
msgstr ""
-#: ../src/gradient-drag.cpp:2703
+#: ../src/gradient-drag.cpp:2704
msgid "Delete gradient stop(s)"
msgstr ""
-#: ../src/inkscape.cpp:246
+#: ../src/inkscape.cpp:242
msgid "Autosave failed! Cannot create directory %1."
msgstr ""
-#: ../src/inkscape.cpp:255
+#: ../src/inkscape.cpp:251
msgid "Autosave failed! Cannot open directory %1."
msgstr ""
-#: ../src/inkscape.cpp:271
+#: ../src/inkscape.cpp:267
msgid "Autosaving documents..."
msgstr ""
-#: ../src/inkscape.cpp:339
+#: ../src/inkscape.cpp:335
msgid "Autosave failed! Could not find inkscape extension to save document."
msgstr ""
-#: ../src/inkscape.cpp:342 ../src/inkscape.cpp:349
+#: ../src/inkscape.cpp:338 ../src/inkscape.cpp:345
#, c-format
msgid "Autosave failed! File %s could not be saved."
msgstr ""
-#: ../src/inkscape.cpp:364
+#: ../src/inkscape.cpp:360
msgid "Autosave complete."
msgstr ""
-#: ../src/inkscape.cpp:622
+#: ../src/inkscape.cpp:618
msgid "Untitled document"
msgstr ""
#. Show nice dialog box
-#: ../src/inkscape.cpp:654
+#: ../src/inkscape.cpp:650
msgid "Inkscape encountered an internal error and will close now.\n"
msgstr ""
-#: ../src/inkscape.cpp:655
+#: ../src/inkscape.cpp:651
msgid ""
"Automatic backups of unsaved documents were done to the following "
"locations:\n"
msgstr ""
-#: ../src/inkscape.cpp:656
+#: ../src/inkscape.cpp:652
msgid "Automatic backup of the following documents failed:\n"
msgstr ""
@@ -8639,24 +8651,24 @@ msgstr ""
msgid "Node or handle drag canceled."
msgstr ""
-#: ../src/knotholder.cpp:170
+#: ../src/knotholder.cpp:171
msgid "Change handle"
msgstr ""
-#: ../src/knotholder.cpp:257
+#: ../src/knotholder.cpp:258
msgid "Move handle"
msgstr ""
#. TRANSLATORS: This refers to the pattern that's inside the object
-#: ../src/knotholder.cpp:276 ../src/knotholder.cpp:298
+#: ../src/knotholder.cpp:277 ../src/knotholder.cpp:299
msgid "<b>Move</b> the pattern fill inside the object"
msgstr ""
-#: ../src/knotholder.cpp:280 ../src/knotholder.cpp:302
+#: ../src/knotholder.cpp:281 ../src/knotholder.cpp:303
msgid "<b>Scale</b> the pattern fill; uniformly if with <b>Ctrl</b>"
msgstr ""
-#: ../src/knotholder.cpp:284 ../src/knotholder.cpp:306
+#: ../src/knotholder.cpp:285 ../src/knotholder.cpp:307
msgid "<b>Rotate</b> the pattern fill; with <b>Ctrl</b> to snap angle"
msgstr ""
@@ -8695,7 +8707,7 @@ msgstr ""
#. Name
#: ../src/libgdl/gdl-dock-item.c:298 ../src/widgets/ruler.cpp:192
-#: ../src/widgets/text-toolbar.cpp:1405
+#: ../src/widgets/text-toolbar.cpp:1411
#: ../share/extensions/gcodetools_graffiti.inx.h:9
#: ../share/extensions/gcodetools_orientation_points.inx.h:2
msgid "Orientation"
@@ -8824,10 +8836,10 @@ msgid ""
msgstr ""
#: ../src/libgdl/gdl-dock-notebook.c:132
-#: ../src/ui/dialog/align-and-distribute.cpp:1002
+#: ../src/ui/dialog/align-and-distribute.cpp:998
#: ../src/ui/dialog/document-properties.cpp:160
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1537
-#: ../src/widgets/desktop-widget.cpp:1992
+#: ../src/widgets/desktop-widget.cpp:1994
#: ../share/extensions/empty_page.inx.h:1
#: ../share/extensions/voronoi2svg.inx.h:9
msgid "Page"
@@ -8838,10 +8850,10 @@ msgid "The index of the current page"
msgstr ""
#: ../src/libgdl/gdl-dock-object.c:125
-#: ../src/live_effects/parameter/originalpatharray.cpp:86
+#: ../src/live_effects/parameter/originalpatharray.cpp:82
#: ../src/ui/dialog/inkscape-preferences.cpp:1511
-#: ../src/ui/widget/page-sizer.cpp:258
-#: ../src/widgets/gradient-selector.cpp:150
+#: ../src/ui/widget/page-sizer.cpp:283
+#: ../src/widgets/gradient-selector.cpp:154
#: ../src/widgets/sp-xmlview-attr-list.cpp:49
msgid "Name"
msgstr ""
@@ -8907,7 +8919,8 @@ msgid ""
"Attempt to bind to %p an already bound dock object %p (current master: %p)"
msgstr ""
-#: ../src/libgdl/gdl-dock-paned.c:130 ../src/widgets/ruler.cpp:230
+#: ../src/libgdl/gdl-dock-paned.c:130 ../src/ui/widget/font-variants.cpp:44
+#: ../src/widgets/ruler.cpp:230
msgid "Position"
msgstr ""
@@ -9205,7 +9218,7 @@ msgstr ""
msgid "Fill between strokes"
msgstr ""
-#: ../src/live_effects/effect.cpp:147 ../src/selection-chemistry.cpp:2916
+#: ../src/live_effects/effect.cpp:147 ../src/selection-chemistry.cpp:2871
msgid "Fill between many"
msgstr ""
@@ -9243,21 +9256,21 @@ msgid ""
"disabled on canvas"
msgstr ""
-#: ../src/live_effects/effect.cpp:384
+#: ../src/live_effects/effect.cpp:387
msgid "No effect"
msgstr ""
-#: ../src/live_effects/effect.cpp:492
+#: ../src/live_effects/effect.cpp:495
#, c-format
msgid "Please specify a parameter path for the LPE '%s' with %d mouse clicks"
msgstr ""
-#: ../src/live_effects/effect.cpp:759
+#: ../src/live_effects/effect.cpp:762
#, c-format
msgid "Editing parameter <b>%s</b>."
msgstr ""
-#: ../src/live_effects/effect.cpp:764
+#: ../src/live_effects/effect.cpp:767
msgid "None of the applied path effect's parameters can be edited on-canvas."
msgstr ""
@@ -9332,8 +9345,8 @@ msgstr ""
#: ../src/live_effects/lpe-bendpath.cpp:54
#: ../src/live_effects/lpe-patternalongpath.cpp:62
-#: ../src/ui/dialog/export.cpp:289 ../src/ui/dialog/transformation.cpp:78
-#: ../src/ui/widget/page-sizer.cpp:236
+#: ../src/ui/dialog/export.cpp:285 ../src/ui/dialog/transformation.cpp:74
+#: ../src/ui/widget/page-sizer.cpp:237
msgid "_Width:"
msgstr ""
@@ -9378,50 +9391,50 @@ msgstr ""
msgid "Uses the visual bounding box"
msgstr ""
-#: ../src/live_effects/lpe-bspline.cpp:57
+#: ../src/live_effects/lpe-bspline.cpp:25
msgid "Steps with CTRL:"
msgstr ""
-#: ../src/live_effects/lpe-bspline.cpp:57
+#: ../src/live_effects/lpe-bspline.cpp:25
msgid "Change number of steps with CTRL pressed"
msgstr ""
-#: ../src/live_effects/lpe-bspline.cpp:58
+#: ../src/live_effects/lpe-bspline.cpp:26
#: ../src/live_effects/lpe-simplify.cpp:33
msgid "Helper size:"
msgstr ""
-#: ../src/live_effects/lpe-bspline.cpp:58
+#: ../src/live_effects/lpe-bspline.cpp:26
#: ../src/live_effects/lpe-simplify.cpp:33
msgid "Helper size"
msgstr ""
-#: ../src/live_effects/lpe-bspline.cpp:59
+#: ../src/live_effects/lpe-bspline.cpp:27
msgid "Ignore cusp nodes"
msgstr ""
-#: ../src/live_effects/lpe-bspline.cpp:59
+#: ../src/live_effects/lpe-bspline.cpp:27
msgid "Change ignoring cusp nodes"
msgstr ""
-#: ../src/live_effects/lpe-bspline.cpp:60
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:57
+#: ../src/live_effects/lpe-bspline.cpp:28
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:56
msgid "Change only selected nodes"
msgstr ""
-#: ../src/live_effects/lpe-bspline.cpp:61
+#: ../src/live_effects/lpe-bspline.cpp:29
msgid "Change weight:"
msgstr ""
-#: ../src/live_effects/lpe-bspline.cpp:61
+#: ../src/live_effects/lpe-bspline.cpp:29
msgid "Change weight of the effect"
msgstr ""
-#: ../src/live_effects/lpe-bspline.cpp:290
+#: ../src/live_effects/lpe-bspline.cpp:260
msgid "Default weight"
msgstr ""
-#: ../src/live_effects/lpe-bspline.cpp:295
+#: ../src/live_effects/lpe-bspline.cpp:265
msgid "Make cusp"
msgstr ""
@@ -9597,104 +9610,88 @@ msgstr ""
msgid "Reverses the second path order"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:42
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:41
#: ../share/extensions/render_barcode_qrcode.inx.h:5
msgid "Auto"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:43
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:42
msgid "Force arc"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:44
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:43
msgid "Force bezier"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:54
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:53
msgid "Fillet point"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:55
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:54
msgid "Hide knots"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:56
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:55
msgid "Ignore 0 radius knots"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:58
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:57
msgid "Flexible radius size (%)"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:59
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:58
msgid "Use knots distance instead radius"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:60
-#: ../src/live_effects/lpe-ruler.cpp:42
-#: ../share/extensions/foldablebox.inx.h:7
-#: ../share/extensions/interp_att_g.inx.h:9
-#: ../share/extensions/layout_nup.inx.h:3
-#: ../share/extensions/printing_marks.inx.h:11
-msgid "Unit:"
-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:202
-msgid "Unit"
-msgstr ""
-
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:59
msgid "Method:"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:59
msgid "Fillets methods"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:62
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:60
msgid "Radius (unit or %):"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:62
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:60
msgid "Radius, in unit or %"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
msgid "Chamfer steps:"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
msgid "Chamfer steps"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:65
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
msgid "Helper size with direction:"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:65
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
msgid "Helper size with direction"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:157
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:76
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:154
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:71
msgid "Fillet"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:161
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:78
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:158
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:73
msgid "Inverse fillet"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:166
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:80
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:163
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:75
msgid "Chamfer"
msgstr ""
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:170
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:82
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:167
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:77
msgid "Inverse chamfer"
msgstr ""
@@ -9777,15 +9774,15 @@ msgstr ""
#: ../src/live_effects/lpe-jointype.cpp:31
#: ../src/live_effects/lpe-powerstroke.cpp:227
-#: ../src/live_effects/lpe-taperstroke.cpp:63
+#: ../src/live_effects/lpe-taperstroke.cpp:64
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
+#: ../src/live_effects/lpe-taperstroke.cpp:65
+#: ../src/widgets/star-toolbar.cpp:534
msgid "Rounded"
msgstr ""
@@ -9796,9 +9793,7 @@ msgid "Miter"
msgstr ""
#: ../src/live_effects/lpe-jointype.cpp:34
-#: ../src/live_effects/lpe-taperstroke.cpp:65
-#: ../src/widgets/gradient-toolbar.cpp:1118
-msgid "Reflected"
+msgid "Miter Clip"
msgstr ""
#. {LINEJOIN_EXTRP_MITER, N_("Extrapolated"), "extrapolated"}, // disabled because doesn't work well
@@ -9822,10 +9817,6 @@ msgstr ""
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 ""
@@ -9852,14 +9843,8 @@ msgstr ""
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 ""
-
+#. start_lean(_("Start path lean"), _("Start path lean"), "start_lean", &wr, this, 0.),
+#. end_lean(_("End path lean"), _("End path lean"), "end_lean", &wr, this, 0.),
#: ../src/live_effects/lpe-jointype.cpp:56
#: ../src/live_effects/lpe-powerstroke.cpp:244
#: ../src/live_effects/lpe-taperstroke.cpp:79
@@ -9936,253 +9921,239 @@ msgstr ""
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 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:43
+msgid "Mirror movements in horizontal"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:48
-msgid "Control handle 1:"
-msgstr ""
-
-#: ../src/live_effects/lpe-lattice2.cpp:48
-msgid ""
-"Control handle 1 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:44
+msgid "Mirror movements in vertical"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:49
-msgid "Control handle 2:"
+msgid "Control 0:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:49
-msgid ""
-"Control handle 2 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgid "Control 0 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:50
-msgid "Control handle 3:"
+msgid "Control 1:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:50
-msgid ""
-"Control handle 3 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgid "Control 1 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:51
-msgid "Control handle 4:"
+msgid "Control 2:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:51
-msgid ""
-"Control handle 4 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgid "Control 2 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:52
-msgid "Control handle 5:"
+msgid "Control 3:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:52
-msgid ""
-"Control handle 5 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgid "Control 3 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:53
-msgid "Control handle 6:"
+msgid "Control 4:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:53
-msgid ""
-"Control handle 6 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgid "Control 4 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:54
-msgid "Control handle 7:"
+msgid "Control 5:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:54
-msgid ""
-"Control handle 7 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgid "Control 5 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:55
-msgid "Control handle 8x9:"
+msgid "Control 6:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:55
-msgid ""
-"Control handle 8x9 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 6 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:56
-msgid "Control handle 10x11:"
+msgid "Control 7:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:56
-msgid ""
-"Control handle 10x11 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 7 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:57
-msgid "Control handle 12:"
+msgid "Control 8x9:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:57
msgid ""
-"Control handle 12 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+"Control 8x9 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:58
-msgid "Control handle 13:"
+msgid "Control 10x11:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:58
msgid ""
-"Control handle 13 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+"Control 10x11 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:59
-msgid "Control handle 14:"
+msgid "Control 12:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:59
-msgid ""
-"Control handle 14 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 12 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:60
-msgid "Control handle 15:"
+msgid "Control 13:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:60
-msgid ""
-"Control handle 15 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 13 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:61
-msgid "Control handle 16:"
+msgid "Control 14:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:61
-msgid ""
-"Control handle 16 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 14 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:62
-msgid "Control handle 17:"
+msgid "Control 15:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:62
-msgid ""
-"Control handle 17 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 15 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:63
-msgid "Control handle 18:"
+msgid "Control 16:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:63
-msgid ""
-"Control handle 18 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 16 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:64
-msgid "Control handle 19:"
+msgid "Control 17:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:64
-msgid ""
-"Control handle 19 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 17 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:65
-msgid "Control handle 20x21:"
+msgid "Control 18:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:65
-msgid ""
-"Control handle 20x21 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 18 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:66
-msgid "Control handle 22x23:"
+msgid "Control 19:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:66
-msgid ""
-"Control handle 22x23 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 19 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:67
-msgid "Control handle 24x26:"
+msgid "Control 20x21:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:67
msgid ""
-"Control handle 24x26 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+"Control 20x21 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:68
-msgid "Control handle 25x27:"
+msgid "Control 22x23:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:68
msgid ""
-"Control handle 25x27 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+"Control 22x23 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:69
-msgid "Control handle 28x30:"
+msgid "Control 24x26:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:69
msgid ""
-"Control handle 28x30 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+"Control 24x26 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:70
-msgid "Control handle 29x31:"
+msgid "Control 25x27:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:70
msgid ""
-"Control handle 29x31 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+"Control 25x27 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:71
-msgid "Control handle 32x33x34x35:"
+msgid "Control 28x30:"
msgstr ""
#: ../src/live_effects/lpe-lattice2.cpp:71
msgid ""
-"Control handle 32x33x34x35 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move "
-"along axes"
+"Control 28x30 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:72
+msgid "Control 29x31:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:72
+msgid ""
+"Control 29x31 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:73
+msgid "Control 32x33x34x35:"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:73
+msgid ""
+"Control 32x33x34x35 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
+"axes"
msgstr ""
-#: ../src/live_effects/lpe-lattice2.cpp:224
+#: ../src/live_effects/lpe-lattice2.cpp:236
msgid "Reset grid"
msgstr ""
+#: ../src/live_effects/lpe-lattice2.cpp:268
+#: ../src/live_effects/lpe-lattice2.cpp:283
+msgid "Show Points"
+msgstr ""
+
+#: ../src/live_effects/lpe-lattice2.cpp:281
+msgid "Hide Points"
+msgstr ""
+
#: ../src/live_effects/lpe-patternalongpath.cpp:50
#: ../share/extensions/pathalongpath.inx.h:10
msgid "Single"
@@ -10276,57 +10247,56 @@ msgstr ""
msgid "Fuse ends closer than this number. 0 means don't fuse."
msgstr ""
-#: ../src/live_effects/lpe-perspective-envelope.cpp:37
+#: ../src/live_effects/lpe-perspective-envelope.cpp:35
#: ../share/extensions/perspective.inx.h:1
msgid "Perspective"
msgstr ""
-#: ../src/live_effects/lpe-perspective-envelope.cpp:38
+#: ../src/live_effects/lpe-perspective-envelope.cpp:36
msgid "Envelope deformation"
msgstr ""
-#. initialise your parameters here:
-#: ../src/live_effects/lpe-perspective-envelope.cpp:46
+#: ../src/live_effects/lpe-perspective-envelope.cpp:45
msgid "Type"
msgstr ""
-#: ../src/live_effects/lpe-perspective-envelope.cpp:46
+#: ../src/live_effects/lpe-perspective-envelope.cpp:45
msgid "Select the type of deformation"
msgstr ""
-#: ../src/live_effects/lpe-perspective-envelope.cpp:47
+#: ../src/live_effects/lpe-perspective-envelope.cpp:46
msgid "Top Left"
msgstr ""
-#: ../src/live_effects/lpe-perspective-envelope.cpp:47
+#: ../src/live_effects/lpe-perspective-envelope.cpp:46
msgid "Top Left - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-#: ../src/live_effects/lpe-perspective-envelope.cpp:48
+#: ../src/live_effects/lpe-perspective-envelope.cpp:47
msgid "Top Right"
msgstr ""
-#: ../src/live_effects/lpe-perspective-envelope.cpp:48
+#: ../src/live_effects/lpe-perspective-envelope.cpp:47
msgid "Top Right - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-#: ../src/live_effects/lpe-perspective-envelope.cpp:49
+#: ../src/live_effects/lpe-perspective-envelope.cpp:48
msgid "Down Left"
msgstr ""
-#: ../src/live_effects/lpe-perspective-envelope.cpp:49
+#: ../src/live_effects/lpe-perspective-envelope.cpp:48
msgid "Down Left - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-#: ../src/live_effects/lpe-perspective-envelope.cpp:50
+#: ../src/live_effects/lpe-perspective-envelope.cpp:49
msgid "Down Right"
msgstr ""
-#: ../src/live_effects/lpe-perspective-envelope.cpp:50
+#: ../src/live_effects/lpe-perspective-envelope.cpp:49
msgid "Down Right - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-#: ../src/live_effects/lpe-perspective-envelope.cpp:257
+#: ../src/live_effects/lpe-perspective-envelope.cpp:268
msgid "Handles:"
msgstr ""
@@ -10564,65 +10534,62 @@ msgid ""
"amount"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:30 ../share/extensions/addnodes.inx.h:4
+#: ../src/live_effects/lpe-roughen.cpp:29 ../share/extensions/addnodes.inx.h:4
msgid "By number of segments"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:31
+#: ../src/live_effects/lpe-roughen.cpp:30
msgid "By max. segment size"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:40
+#. initialise your parameters here:
+#: ../src/live_effects/lpe-roughen.cpp:38
msgid "Method"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:40
+#: ../src/live_effects/lpe-roughen.cpp:38
msgid "Division method"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:42
+#: ../src/live_effects/lpe-roughen.cpp:40
msgid "Max. segment size"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:44
+#: ../src/live_effects/lpe-roughen.cpp:42
msgid "Number of segments"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:46
+#: ../src/live_effects/lpe-roughen.cpp:44
msgid "Max. displacement in X"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:48
+#: ../src/live_effects/lpe-roughen.cpp:46
msgid "Max. displacement in Y"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:50
+#: ../src/live_effects/lpe-roughen.cpp:48
msgid "Global randomize"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:52
+#: ../src/live_effects/lpe-roughen.cpp:50
#: ../share/extensions/radiusrand.inx.h:5
msgid "Shift nodes"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:54
+#: ../src/live_effects/lpe-roughen.cpp:52
#: ../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
+#: ../src/live_effects/lpe-roughen.cpp:100
msgid "<b>Add nodes</b> Subdivide each segment"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:120
+#: ../src/live_effects/lpe-roughen.cpp:109
msgid "<b>Jitter nodes</b> Move nodes/handles"
msgstr ""
-#: ../src/live_effects/lpe-roughen.cpp:129
+#: ../src/live_effects/lpe-roughen.cpp:118
msgid "<b>Extra roughen</b> Add a extra layer of rough"
msgstr ""
@@ -10647,11 +10614,11 @@ msgctxt "Border mark"
msgid "None"
msgstr ""
-#: ../src/live_effects/lpe-ruler.cpp:33 ../src/widgets/arc-toolbar.cpp:328
+#: ../src/live_effects/lpe-ruler.cpp:33 ../src/widgets/arc-toolbar.cpp:319
msgid "Start"
msgstr ""
-#: ../src/live_effects/lpe-ruler.cpp:34 ../src/widgets/arc-toolbar.cpp:341
+#: ../src/live_effects/lpe-ruler.cpp:34 ../src/widgets/arc-toolbar.cpp:332
msgid "End"
msgstr ""
@@ -10663,6 +10630,18 @@ msgstr ""
msgid "Distance between successive ruler marks"
msgstr ""
+#: ../src/live_effects/lpe-ruler.cpp:42
+#: ../share/extensions/foldablebox.inx.h:7
+#: ../share/extensions/interp_att_g.inx.h:9
+#: ../share/extensions/layout_nup.inx.h:3
+#: ../share/extensions/printing_marks.inx.h:11
+msgid "Unit:"
+msgstr ""
+
+#: ../src/live_effects/lpe-ruler.cpp:42 ../src/widgets/ruler.cpp:202
+msgid "Unit"
+msgstr ""
+
#: ../src/live_effects/lpe-ruler.cpp:43
msgid "Ma_jor length:"
msgstr ""
@@ -10764,34 +10743,18 @@ msgid "Max degree difference on handles to preform a smooth"
msgstr ""
#: ../src/live_effects/lpe-simplify.cpp:34
-msgid "Helper nodes"
-msgstr ""
-
-#: ../src/live_effects/lpe-simplify.cpp:34
-msgid "Show helper nodes"
-msgstr ""
-
-#: ../src/live_effects/lpe-simplify.cpp:36
-msgid "Helper handles"
-msgstr ""
-
-#: ../src/live_effects/lpe-simplify.cpp:36
-msgid "Show helper handles"
-msgstr ""
-
-#: ../src/live_effects/lpe-simplify.cpp:38
msgid "Paths separately"
msgstr ""
-#: ../src/live_effects/lpe-simplify.cpp:38
+#: ../src/live_effects/lpe-simplify.cpp:34
msgid "Simplifying paths (separately)"
msgstr ""
-#: ../src/live_effects/lpe-simplify.cpp:40
+#: ../src/live_effects/lpe-simplify.cpp:36
msgid "Just coalesce"
msgstr ""
-#: ../src/live_effects/lpe-simplify.cpp:40
+#: ../src/live_effects/lpe-simplify.cpp:36
msgid "Simplify just coalesce"
msgstr ""
@@ -10880,7 +10843,7 @@ msgid "How many construction lines (tangents) to draw"
msgstr ""
#: ../src/live_effects/lpe-sketch.cpp:58
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2878
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2894
#: ../share/extensions/render_alphabetsoup.inx.h:3
msgid "Scale:"
msgstr ""
@@ -10980,11 +10943,11 @@ msgstr ""
msgid "Limit for miter joins"
msgstr ""
-#: ../src/live_effects/lpe-taperstroke.cpp:536
+#: ../src/live_effects/lpe-taperstroke.cpp:448
msgid "Start point of the taper"
msgstr ""
-#: ../src/live_effects/lpe-taperstroke.cpp:540
+#: ../src/live_effects/lpe-taperstroke.cpp:452
msgid "End point of the taper"
msgstr ""
@@ -11050,77 +11013,77 @@ msgstr ""
msgid "Change enumeration parameter"
msgstr ""
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:782
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:843
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:771
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:832
msgid ""
"<b>Chamfer</b>: <b>Ctrl+Click</b> toggle type, <b>Shift+Click</b> open "
"dialog, <b>Ctrl+Alt+Click</b> reset"
msgstr ""
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:786
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:847
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:775
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:836
msgid ""
"<b>Inverse Chamfer</b>: <b>Ctrl+Click</b> toggle type, <b>Shift+Click</b> "
"open dialog, <b>Ctrl+Alt+Click</b> reset"
msgstr ""
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:790
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:851
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:779
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:840
msgid ""
"<b>Inverse Fillet</b>: <b>Ctrl+Click</b> toggle type, <b>Shift+Click</b> "
"open dialog, <b>Ctrl+Alt+Click</b> reset"
msgstr ""
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:794
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:855
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:783
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:844
msgid ""
"<b>Fillet</b>: <b>Ctrl+Click</b> toggle 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
+#: ../src/live_effects/parameter/originalpath.cpp:67
+#: ../src/live_effects/parameter/originalpatharray.cpp:155
msgid "Link to path"
msgstr ""
-#: ../src/live_effects/parameter/originalpath.cpp:83
+#: ../src/live_effects/parameter/originalpath.cpp:79
msgid "Select original"
msgstr ""
-#: ../src/live_effects/parameter/originalpatharray.cpp:94
-#: ../src/widgets/gradient-toolbar.cpp:1205
+#: ../src/live_effects/parameter/originalpatharray.cpp:90
+#: ../src/widgets/gradient-toolbar.cpp:1208
msgid "Reverse"
msgstr ""
-#: ../src/live_effects/parameter/originalpatharray.cpp:134
-#: ../src/live_effects/parameter/originalpatharray.cpp:319
-#: ../src/live_effects/parameter/path.cpp:475
+#: ../src/live_effects/parameter/originalpatharray.cpp:130
+#: ../src/live_effects/parameter/originalpatharray.cpp:315
+#: ../src/live_effects/parameter/path.cpp:481
msgid "Link path parameter to path"
msgstr ""
-#: ../src/live_effects/parameter/originalpatharray.cpp:171
+#: ../src/live_effects/parameter/originalpatharray.cpp:167
msgid "Remove Path"
msgstr ""
-#: ../src/live_effects/parameter/originalpatharray.cpp:183
+#: ../src/live_effects/parameter/originalpatharray.cpp:179
#: ../src/ui/dialog/objects.cpp:1823
msgid "Move Down"
msgstr ""
-#: ../src/live_effects/parameter/originalpatharray.cpp:195
+#: ../src/live_effects/parameter/originalpatharray.cpp:191
#: ../src/ui/dialog/objects.cpp:1831
msgid "Move Up"
msgstr ""
-#: ../src/live_effects/parameter/originalpatharray.cpp:235
+#: ../src/live_effects/parameter/originalpatharray.cpp:231
msgid "Move path up"
msgstr ""
-#: ../src/live_effects/parameter/originalpatharray.cpp:265
+#: ../src/live_effects/parameter/originalpatharray.cpp:261
msgid "Move path down"
msgstr ""
-#: ../src/live_effects/parameter/originalpatharray.cpp:283
+#: ../src/live_effects/parameter/originalpatharray.cpp:279
msgid "Remove path"
msgstr ""
@@ -11144,11 +11107,11 @@ msgstr ""
msgid "Link to path on clipboard"
msgstr ""
-#: ../src/live_effects/parameter/path.cpp:443
+#: ../src/live_effects/parameter/path.cpp:449
msgid "Paste path parameter"
msgstr ""
-#: ../src/live_effects/parameter/point.cpp:103
+#: ../src/live_effects/parameter/point.cpp:124
msgid "Change point parameter"
msgstr ""
@@ -11456,7 +11419,7 @@ msgstr ""
msgid "Start Inkscape in interactive shell mode."
msgstr ""
-#: ../src/main.cpp:871 ../src/main.cpp:1283
+#: ../src/main.cpp:871 ../src/main.cpp:1280
msgid ""
"[OPTIONS...] [FILE...]\n"
"\n"
@@ -11464,17 +11427,17 @@ msgid ""
msgstr ""
#. ## Add a menu for clear()
-#: ../src/menus-skeleton.h:16 ../src/ui/dialog/debug.cpp:83
+#: ../src/menus-skeleton.h:16 ../src/ui/dialog/debug.cpp:79
msgid "_File"
msgstr ""
#. " <verb verb-id=\"FileExportToOCAL\" />\n"
#. " <verb verb-id=\"DialogMetadata\" />\n"
-#: ../src/menus-skeleton.h:41 ../src/verbs.cpp:2713 ../src/verbs.cpp:2721
+#: ../src/menus-skeleton.h:41 ../src/verbs.cpp:2682 ../src/verbs.cpp:2690
msgid "_Edit"
msgstr ""
-#: ../src/menus-skeleton.h:51 ../src/verbs.cpp:2477
+#: ../src/menus-skeleton.h:51 ../src/verbs.cpp:2446
msgid "Paste Si_ze"
msgstr ""
@@ -11559,27 +11522,27 @@ msgstr ""
msgid "Tutorials"
msgstr ""
-#: ../src/path-chemistry.cpp:54
+#: ../src/path-chemistry.cpp:63
msgid "Select <b>object(s)</b> to combine."
msgstr ""
-#: ../src/path-chemistry.cpp:58
+#: ../src/path-chemistry.cpp:67
msgid "Combining paths..."
msgstr ""
-#: ../src/path-chemistry.cpp:174
+#: ../src/path-chemistry.cpp:177
msgid "Combine"
msgstr ""
-#: ../src/path-chemistry.cpp:181
+#: ../src/path-chemistry.cpp:184
msgid "<b>No path(s)</b> to combine in the selection."
msgstr ""
-#: ../src/path-chemistry.cpp:193
+#: ../src/path-chemistry.cpp:196
msgid "Select <b>path(s)</b> to break apart."
msgstr ""
-#: ../src/path-chemistry.cpp:197
+#: ../src/path-chemistry.cpp:200
msgid "Breaking apart paths..."
msgstr ""
@@ -11599,27 +11562,27 @@ msgstr ""
msgid "Converting objects to paths..."
msgstr ""
-#: ../src/path-chemistry.cpp:327
+#: ../src/path-chemistry.cpp:324
msgid "Object to path"
msgstr ""
-#: ../src/path-chemistry.cpp:329
+#: ../src/path-chemistry.cpp:326
msgid "<b>No objects</b> to convert to path in the selection."
msgstr ""
-#: ../src/path-chemistry.cpp:618
+#: ../src/path-chemistry.cpp:613
msgid "Select <b>path(s)</b> to reverse."
msgstr ""
-#: ../src/path-chemistry.cpp:627
+#: ../src/path-chemistry.cpp:622
msgid "Reversing paths..."
msgstr ""
-#: ../src/path-chemistry.cpp:662
+#: ../src/path-chemistry.cpp:657
msgid "Reverse path"
msgstr ""
-#: ../src/path-chemistry.cpp:664
+#: ../src/path-chemistry.cpp:659
msgid "<b>No paths</b> to reverse in the selection."
msgstr ""
@@ -11742,7 +11705,7 @@ msgstr ""
#. Create the Title label and edit control
#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkTitleAttribute
-#: ../src/rdf.cpp:235 ../src/ui/dialog/filedialogimpl-win32.cpp:1952
+#: ../src/rdf.cpp:235 ../src/ui/dialog/filedialogimpl-win32.cpp:1960
#: ../src/ui/dialog/object-attributes.cpp:57
msgid "Title:"
msgstr ""
@@ -11885,51 +11848,56 @@ msgstr ""
msgid "Fixup broken links"
msgstr ""
-#: ../src/selection-chemistry.cpp:406
+#: ../src/selection-chemistry.cpp:401
msgid "Delete text"
msgstr ""
-#: ../src/selection-chemistry.cpp:414
+#: ../src/selection-chemistry.cpp:409
msgid "<b>Nothing</b> was deleted."
msgstr ""
-#: ../src/selection-chemistry.cpp:433
+#: ../src/selection-chemistry.cpp:426
#: ../src/ui/dialog/calligraphic-profile-rename.cpp:75
#: ../src/ui/dialog/swatches.cpp:277 ../src/ui/tools/text-tool.cpp:965
#: ../src/widgets/eraser-toolbar.cpp:93
-#: ../src/widgets/gradient-toolbar.cpp:1181
-#: ../src/widgets/gradient-toolbar.cpp:1195
-#: ../src/widgets/gradient-toolbar.cpp:1209
+#: ../src/widgets/gradient-toolbar.cpp:1184
+#: ../src/widgets/gradient-toolbar.cpp:1198
+#: ../src/widgets/gradient-toolbar.cpp:1212
#: ../src/widgets/node-toolbar.cpp:401
msgid "Delete"
msgstr ""
-#: ../src/selection-chemistry.cpp:461
+#: ../src/selection-chemistry.cpp:454
msgid "Select <b>object(s)</b> to duplicate."
msgstr ""
-#: ../src/selection-chemistry.cpp:572
+#: ../src/selection-chemistry.cpp:551
+#, c-format
+msgid "%s copy"
+msgstr ""
+
+#: ../src/selection-chemistry.cpp:574
msgid "Delete all"
msgstr ""
-#: ../src/selection-chemistry.cpp:763
+#: ../src/selection-chemistry.cpp:762
msgid "Select <b>some objects</b> to group."
msgstr ""
-#: ../src/selection-chemistry.cpp:778
+#: ../src/selection-chemistry.cpp:775
msgctxt "Verb"
msgid "Group"
msgstr ""
-#: ../src/selection-chemistry.cpp:801
+#: ../src/selection-chemistry.cpp:798
msgid "Select a <b>group</b> to ungroup."
msgstr ""
-#: ../src/selection-chemistry.cpp:816
+#: ../src/selection-chemistry.cpp:813
msgid "<b>No groups</b> to ungroup in the selection."
msgstr ""
-#: ../src/selection-chemistry.cpp:874 ../src/sp-item-group.cpp:575
+#: ../src/selection-chemistry.cpp:869 ../src/sp-item-group.cpp:554
msgid "Ungroup"
msgstr ""
@@ -11937,357 +11905,357 @@ msgstr ""
msgid "Select <b>object(s)</b> to raise."
msgstr ""
-#: ../src/selection-chemistry.cpp:962 ../src/selection-chemistry.cpp:1019
-#: ../src/selection-chemistry.cpp:1047 ../src/selection-chemistry.cpp:1109
+#: ../src/selection-chemistry.cpp:962 ../src/selection-chemistry.cpp:1015
+#: ../src/selection-chemistry.cpp:1041 ../src/selection-chemistry.cpp:1099
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:1003
+#: ../src/selection-chemistry.cpp:999
msgctxt "Undo action"
msgid "Raise"
msgstr ""
-#: ../src/selection-chemistry.cpp:1011
+#: ../src/selection-chemistry.cpp:1007
msgid "Select <b>object(s)</b> to raise to top."
msgstr ""
-#: ../src/selection-chemistry.cpp:1034
+#: ../src/selection-chemistry.cpp:1028
msgid "Raise to top"
msgstr ""
-#: ../src/selection-chemistry.cpp:1041
+#: ../src/selection-chemistry.cpp:1035
msgid "Select <b>object(s)</b> to lower."
msgstr ""
#. TRANSLATORS: "Lower" means "to lower an object" in the undo history
-#: ../src/selection-chemistry.cpp:1093
+#: ../src/selection-chemistry.cpp:1083
msgctxt "Undo action"
msgid "Lower"
msgstr ""
-#: ../src/selection-chemistry.cpp:1101
+#: ../src/selection-chemistry.cpp:1091
msgid "Select <b>object(s)</b> to lower to bottom."
msgstr ""
-#: ../src/selection-chemistry.cpp:1136
+#: ../src/selection-chemistry.cpp:1122
msgid "Lower to bottom"
msgstr ""
-#: ../src/selection-chemistry.cpp:1146
+#: ../src/selection-chemistry.cpp:1132
msgid "Nothing to undo."
msgstr ""
-#: ../src/selection-chemistry.cpp:1157
+#: ../src/selection-chemistry.cpp:1143
msgid "Nothing to redo."
msgstr ""
-#: ../src/selection-chemistry.cpp:1229
+#: ../src/selection-chemistry.cpp:1215
msgid "Paste"
msgstr ""
-#: ../src/selection-chemistry.cpp:1237
+#: ../src/selection-chemistry.cpp:1223
msgid "Paste style"
msgstr ""
-#: ../src/selection-chemistry.cpp:1247
+#: ../src/selection-chemistry.cpp:1233
msgid "Paste live path effect"
msgstr ""
-#: ../src/selection-chemistry.cpp:1269
+#: ../src/selection-chemistry.cpp:1255
msgid "Select <b>object(s)</b> to remove live path effects from."
msgstr ""
-#: ../src/selection-chemistry.cpp:1281
+#: ../src/selection-chemistry.cpp:1267
msgid "Remove live path effect"
msgstr ""
-#: ../src/selection-chemistry.cpp:1292
+#: ../src/selection-chemistry.cpp:1278
msgid "Select <b>object(s)</b> to remove filters from."
msgstr ""
-#: ../src/selection-chemistry.cpp:1302
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1678
+#: ../src/selection-chemistry.cpp:1288
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1693
msgid "Remove filter"
msgstr ""
-#: ../src/selection-chemistry.cpp:1311
+#: ../src/selection-chemistry.cpp:1297
msgid "Paste size"
msgstr ""
-#: ../src/selection-chemistry.cpp:1320
+#: ../src/selection-chemistry.cpp:1306
msgid "Paste size separately"
msgstr ""
-#: ../src/selection-chemistry.cpp:1349
+#: ../src/selection-chemistry.cpp:1335
msgid "Select <b>object(s)</b> to move to the layer above."
msgstr ""
-#: ../src/selection-chemistry.cpp:1376
+#: ../src/selection-chemistry.cpp:1360
msgid "Raise to next layer"
msgstr ""
-#: ../src/selection-chemistry.cpp:1383
+#: ../src/selection-chemistry.cpp:1367
msgid "No more layers above."
msgstr ""
-#: ../src/selection-chemistry.cpp:1395
+#: ../src/selection-chemistry.cpp:1378
msgid "Select <b>object(s)</b> to move to the layer below."
msgstr ""
-#: ../src/selection-chemistry.cpp:1422
+#: ../src/selection-chemistry.cpp:1403
msgid "Lower to previous layer"
msgstr ""
-#: ../src/selection-chemistry.cpp:1429
+#: ../src/selection-chemistry.cpp:1410
msgid "No more layers below."
msgstr ""
-#: ../src/selection-chemistry.cpp:1441
+#: ../src/selection-chemistry.cpp:1420
msgid "Select <b>object(s)</b> to move."
msgstr ""
-#: ../src/selection-chemistry.cpp:1459 ../src/verbs.cpp:2656
+#: ../src/selection-chemistry.cpp:1437 ../src/verbs.cpp:2625
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:1549 ../src/seltrans.cpp:388
+#: ../src/selection-chemistry.cpp:1526 ../src/seltrans.cpp:390
msgid "Cannot transform an embedded SVG."
msgstr ""
-#: ../src/selection-chemistry.cpp:1720
+#: ../src/selection-chemistry.cpp:1696
msgid "Remove transform"
msgstr ""
-#: ../src/selection-chemistry.cpp:1827
+#: ../src/selection-chemistry.cpp:1803
msgid "Rotate 90° CCW"
msgstr ""
-#: ../src/selection-chemistry.cpp:1827
+#: ../src/selection-chemistry.cpp:1803
msgid "Rotate 90° CW"
msgstr ""
-#: ../src/selection-chemistry.cpp:1848 ../src/seltrans.cpp:483
-#: ../src/ui/dialog/transformation.cpp:893
+#: ../src/selection-chemistry.cpp:1824 ../src/seltrans.cpp:483
+#: ../src/ui/dialog/transformation.cpp:891
msgid "Rotate"
msgstr ""
-#: ../src/selection-chemistry.cpp:2204
+#: ../src/selection-chemistry.cpp:2173
msgid "Rotate by pixels"
msgstr ""
-#: ../src/selection-chemistry.cpp:2234 ../src/seltrans.cpp:480
-#: ../src/ui/dialog/transformation.cpp:868
+#: ../src/selection-chemistry.cpp:2203 ../src/seltrans.cpp:480
+#: ../src/ui/dialog/transformation.cpp:865 ../src/ui/widget/page-sizer.cpp:448
#: ../share/extensions/interp_att_g.inx.h:12
msgid "Scale"
msgstr ""
-#: ../src/selection-chemistry.cpp:2259
+#: ../src/selection-chemistry.cpp:2228
msgid "Scale by whole factor"
msgstr ""
-#: ../src/selection-chemistry.cpp:2274
+#: ../src/selection-chemistry.cpp:2243
msgid "Move vertically"
msgstr ""
-#: ../src/selection-chemistry.cpp:2277
+#: ../src/selection-chemistry.cpp:2246
msgid "Move horizontally"
msgstr ""
-#: ../src/selection-chemistry.cpp:2280 ../src/selection-chemistry.cpp:2306
-#: ../src/seltrans.cpp:477 ../src/ui/dialog/transformation.cpp:806
+#: ../src/selection-chemistry.cpp:2249 ../src/selection-chemistry.cpp:2275
+#: ../src/seltrans.cpp:477 ../src/ui/dialog/transformation.cpp:802
msgid "Move"
msgstr ""
-#: ../src/selection-chemistry.cpp:2300
+#: ../src/selection-chemistry.cpp:2269
msgid "Move vertically by pixels"
msgstr ""
-#: ../src/selection-chemistry.cpp:2303
+#: ../src/selection-chemistry.cpp:2272
msgid "Move horizontally by pixels"
msgstr ""
-#: ../src/selection-chemistry.cpp:2435
+#: ../src/selection-chemistry.cpp:2475
msgid "The selection has no applied path effect."
msgstr ""
-#: ../src/selection-chemistry.cpp:2607 ../src/ui/dialog/clonetiler.cpp:2223
+#: ../src/selection-chemistry.cpp:2567 ../src/ui/dialog/clonetiler.cpp:2221
msgid "Select an <b>object</b> to clone."
msgstr ""
-#: ../src/selection-chemistry.cpp:2643
+#: ../src/selection-chemistry.cpp:2602
msgctxt "Action"
msgid "Clone"
msgstr ""
-#: ../src/selection-chemistry.cpp:2659
+#: ../src/selection-chemistry.cpp:2616
msgid "Select <b>clones</b> to relink."
msgstr ""
-#: ../src/selection-chemistry.cpp:2666
+#: ../src/selection-chemistry.cpp:2623
msgid "Copy an <b>object</b> to clipboard to relink clones to."
msgstr ""
-#: ../src/selection-chemistry.cpp:2689
+#: ../src/selection-chemistry.cpp:2644
msgid "<b>No clones to relink</b> in the selection."
msgstr ""
-#: ../src/selection-chemistry.cpp:2692
+#: ../src/selection-chemistry.cpp:2647
msgid "Relink clone"
msgstr ""
-#: ../src/selection-chemistry.cpp:2706
+#: ../src/selection-chemistry.cpp:2661
msgid "Select <b>clones</b> to unlink."
msgstr ""
-#: ../src/selection-chemistry.cpp:2762
+#: ../src/selection-chemistry.cpp:2714
msgid "<b>No clones to unlink</b> in the selection."
msgstr ""
-#: ../src/selection-chemistry.cpp:2766
+#: ../src/selection-chemistry.cpp:2718
msgid "Unlink clone"
msgstr ""
-#: ../src/selection-chemistry.cpp:2779
+#: ../src/selection-chemistry.cpp:2731
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:2827
+#: ../src/selection-chemistry.cpp:2781
msgid ""
"<b>Cannot find</b> the object to select (orphaned clone, offset, textpath, "
"flowed text?)"
msgstr ""
-#: ../src/selection-chemistry.cpp:2833
+#: ../src/selection-chemistry.cpp:2787
msgid ""
"The object you're trying to select is <b>not visible</b> (it is in &lt;"
"defs&gt;)"
msgstr ""
-#: ../src/selection-chemistry.cpp:2922
+#: ../src/selection-chemistry.cpp:2877
msgid "Select path(s) to fill."
msgstr ""
-#: ../src/selection-chemistry.cpp:2940
+#: ../src/selection-chemistry.cpp:2895
msgid "Select <b>object(s)</b> to convert to marker."
msgstr ""
-#: ../src/selection-chemistry.cpp:3015
+#: ../src/selection-chemistry.cpp:2969
msgid "Objects to marker"
msgstr ""
-#: ../src/selection-chemistry.cpp:3040
+#: ../src/selection-chemistry.cpp:2995
msgid "Select <b>object(s)</b> to convert to guides."
msgstr ""
-#: ../src/selection-chemistry.cpp:3063
+#: ../src/selection-chemistry.cpp:3016
msgid "Objects to guides"
msgstr ""
-#: ../src/selection-chemistry.cpp:3099
+#: ../src/selection-chemistry.cpp:3052
msgid "Select <b>objects</b> to convert to symbol."
msgstr ""
-#: ../src/selection-chemistry.cpp:3202
+#: ../src/selection-chemistry.cpp:3153
msgid "Group to symbol"
msgstr ""
-#: ../src/selection-chemistry.cpp:3221
+#: ../src/selection-chemistry.cpp:3172
msgid "Select a <b>symbol</b> to extract objects from."
msgstr ""
-#: ../src/selection-chemistry.cpp:3230
+#: ../src/selection-chemistry.cpp:3181
msgid "Select only one <b>symbol</b> in Symbol dialog to convert to group."
msgstr ""
-#: ../src/selection-chemistry.cpp:3288
+#: ../src/selection-chemistry.cpp:3237
msgid "Group from symbol"
msgstr ""
-#: ../src/selection-chemistry.cpp:3306
+#: ../src/selection-chemistry.cpp:3255
msgid "Select <b>object(s)</b> to convert to pattern."
msgstr ""
-#: ../src/selection-chemistry.cpp:3405
+#: ../src/selection-chemistry.cpp:3351
msgid "Objects to pattern"
msgstr ""
-#: ../src/selection-chemistry.cpp:3421
+#: ../src/selection-chemistry.cpp:3367
msgid "Select an <b>object with pattern fill</b> to extract objects from."
msgstr ""
-#: ../src/selection-chemistry.cpp:3482
+#: ../src/selection-chemistry.cpp:3426
msgid "<b>No pattern fills</b> in the selection."
msgstr ""
-#: ../src/selection-chemistry.cpp:3485
+#: ../src/selection-chemistry.cpp:3429
msgid "Pattern to objects"
msgstr ""
-#: ../src/selection-chemistry.cpp:3576
+#: ../src/selection-chemistry.cpp:3516
msgid "Select <b>object(s)</b> to make a bitmap copy."
msgstr ""
-#: ../src/selection-chemistry.cpp:3580
+#: ../src/selection-chemistry.cpp:3520
msgid "Rendering bitmap..."
msgstr ""
-#: ../src/selection-chemistry.cpp:3767
+#: ../src/selection-chemistry.cpp:3705
msgid "Create bitmap"
msgstr ""
-#: ../src/selection-chemistry.cpp:3792 ../src/selection-chemistry.cpp:3911
+#: ../src/selection-chemistry.cpp:3730 ../src/selection-chemistry.cpp:3842
msgid "Select <b>object(s)</b> to create clippath or mask from."
msgstr ""
-#: ../src/selection-chemistry.cpp:3885
+#: ../src/selection-chemistry.cpp:3816
msgid "Create Clip Group"
msgstr ""
-#: ../src/selection-chemistry.cpp:3914
+#: ../src/selection-chemistry.cpp:3845
msgid "Select mask object and <b>object(s)</b> to apply clippath or mask to."
msgstr ""
-#: ../src/selection-chemistry.cpp:4095
+#: ../src/selection-chemistry.cpp:3992
msgid "Set clipping path"
msgstr ""
-#: ../src/selection-chemistry.cpp:4097
+#: ../src/selection-chemistry.cpp:3994
msgid "Set mask"
msgstr ""
-#: ../src/selection-chemistry.cpp:4112
+#: ../src/selection-chemistry.cpp:4009
msgid "Select <b>object(s)</b> to remove clippath or mask from."
msgstr ""
-#: ../src/selection-chemistry.cpp:4232
+#: ../src/selection-chemistry.cpp:4125
msgid "Release clipping path"
msgstr ""
-#: ../src/selection-chemistry.cpp:4234
+#: ../src/selection-chemistry.cpp:4127
msgid "Release mask"
msgstr ""
-#: ../src/selection-chemistry.cpp:4253
+#: ../src/selection-chemistry.cpp:4146
msgid "Select <b>object(s)</b> to fit canvas to."
msgstr ""
#. Fit Page
-#: ../src/selection-chemistry.cpp:4273 ../src/verbs.cpp:2992
+#: ../src/selection-chemistry.cpp:4166 ../src/verbs.cpp:2961
msgid "Fit Page to Selection"
msgstr ""
-#: ../src/selection-chemistry.cpp:4302 ../src/verbs.cpp:2994
+#: ../src/selection-chemistry.cpp:4195 ../src/verbs.cpp:2963
msgid "Fit Page to Drawing"
msgstr ""
-#: ../src/selection-chemistry.cpp:4323 ../src/verbs.cpp:2996
+#: ../src/selection-chemistry.cpp:4216 ../src/verbs.cpp:2965
msgid "Fit Page to Selection or Drawing"
msgstr ""
@@ -12412,47 +12380,47 @@ msgid ""
"Shift also uses this center"
msgstr ""
-#: ../src/seltrans.cpp:486 ../src/ui/dialog/transformation.cpp:981
+#: ../src/seltrans.cpp:486 ../src/ui/dialog/transformation.cpp:980
msgid "Skew"
msgstr ""
-#: ../src/seltrans.cpp:499
+#: ../src/seltrans.cpp:500
msgid "Set center"
msgstr ""
-#: ../src/seltrans.cpp:574
+#: ../src/seltrans.cpp:573
msgid "Stamp"
msgstr ""
-#: ../src/seltrans.cpp:723
+#: ../src/seltrans.cpp:722
msgid "Reset center"
msgstr ""
-#: ../src/seltrans.cpp:955 ../src/seltrans.cpp:1060
+#: ../src/seltrans.cpp:954 ../src/seltrans.cpp:1059
#, c-format
msgid "<b>Scale</b>: %0.2f%% x %0.2f%%; with <b>Ctrl</b> to lock ratio"
msgstr ""
#. TRANSLATORS: don't modify the first ";"
#. (it will NOT be displayed as ";" - only the second one will be)
-#: ../src/seltrans.cpp:1199
+#: ../src/seltrans.cpp:1198
#, c-format
msgid "<b>Skew</b>: %0.2f&#176;; with <b>Ctrl</b> to snap angle"
msgstr ""
#. TRANSLATORS: don't modify the first ";"
#. (it will NOT be displayed as ";" - only the second one will be)
-#: ../src/seltrans.cpp:1274
+#: ../src/seltrans.cpp:1273
#, c-format
msgid "<b>Rotate</b>: %0.2f&#176;; with <b>Ctrl</b> to snap angle"
msgstr ""
-#: ../src/seltrans.cpp:1311
+#: ../src/seltrans.cpp:1310
#, c-format
msgid "Move <b>center</b> to %s, %s"
msgstr ""
-#: ../src/seltrans.cpp:1465
+#: ../src/seltrans.cpp:1464
#, c-format
msgid ""
"<b>Move</b> by %s, %s; with <b>Ctrl</b> to restrict to horizontal/vertical; "
@@ -12464,8 +12432,8 @@ msgstr ""
msgid "Keyboard directory (%s) is unavailable."
msgstr ""
-#: ../src/shortcuts.cpp:337 ../src/ui/dialog/export.cpp:1298
-#: ../src/ui/dialog/export.cpp:1332
+#: ../src/shortcuts.cpp:337 ../src/ui/dialog/export.cpp:1296
+#: ../src/ui/dialog/export.cpp:1330
msgid "Select a filename for exporting"
msgstr ""
@@ -12482,22 +12450,22 @@ msgstr ""
msgid "without URI"
msgstr ""
-#: ../src/sp-ellipse.cpp:344
+#: ../src/sp-ellipse.cpp:361
msgid "Segment"
msgstr ""
-#: ../src/sp-ellipse.cpp:346
+#: ../src/sp-ellipse.cpp:363
msgid "Arc"
msgstr ""
#. Ellipse
-#: ../src/sp-ellipse.cpp:349 ../src/sp-ellipse.cpp:356
+#: ../src/sp-ellipse.cpp:366 ../src/sp-ellipse.cpp:373
#: ../src/ui/dialog/inkscape-preferences.cpp:412
#: ../src/widgets/pencil-toolbar.cpp:163
msgid "Ellipse"
msgstr ""
-#: ../src/sp-ellipse.cpp:353
+#: ../src/sp-ellipse.cpp:370
msgid "Circle"
msgstr ""
@@ -12523,7 +12491,7 @@ msgid "Linked Flowed Text"
msgstr ""
#: ../src/sp-flowtext.cpp:288 ../src/sp-text.cpp:367
-#: ../src/ui/tools/text-tool.cpp:1557
+#: ../src/ui/tools/text-tool.cpp:1556
msgid " [truncated]"
msgstr ""
@@ -12538,7 +12506,7 @@ msgstr[1] ""
msgid "Create Guides Around the Page"
msgstr ""
-#: ../src/sp-guide.cpp:258 ../src/verbs.cpp:2549
+#: ../src/sp-guide.cpp:258 ../src/verbs.cpp:2518
msgid "Delete All Guides"
msgstr ""
@@ -12582,40 +12550,40 @@ msgstr ""
msgid "%d &#215; %d: %s"
msgstr ""
-#: ../src/sp-item-group.cpp:322
+#: ../src/sp-item-group.cpp:307
msgid "Group"
msgstr ""
-#: ../src/sp-item-group.cpp:328 ../src/sp-switch.cpp:68
+#: ../src/sp-item-group.cpp:313 ../src/sp-switch.cpp:69
#, c-format
msgid "of <b>%d</b> object"
msgstr ""
-#: ../src/sp-item-group.cpp:328 ../src/sp-switch.cpp:68
+#: ../src/sp-item-group.cpp:313 ../src/sp-switch.cpp:69
#, c-format
msgid "of <b>%d</b> objects"
msgstr ""
-#: ../src/sp-item.cpp:1051 ../src/verbs.cpp:214
+#: ../src/sp-item.cpp:1030 ../src/verbs.cpp:213
msgid "Object"
msgstr ""
-#: ../src/sp-item.cpp:1063
+#: ../src/sp-item.cpp:1042
#, c-format
msgid "%s; <i>clipped</i>"
msgstr ""
-#: ../src/sp-item.cpp:1069
+#: ../src/sp-item.cpp:1048
#, c-format
msgid "%s; <i>masked</i>"
msgstr ""
-#: ../src/sp-item.cpp:1079
+#: ../src/sp-item.cpp:1058
#, c-format
msgid "%s; <i>filtered (%s)</i>"
msgstr ""
-#: ../src/sp-item.cpp:1081
+#: ../src/sp-item.cpp:1060
#, c-format
msgid "%s; <i>filtered</i>"
msgstr ""
@@ -12678,7 +12646,7 @@ msgid "<b>Polyline</b>"
msgstr ""
#. Rectangle
-#: ../src/sp-rect.cpp:153 ../src/ui/dialog/inkscape-preferences.cpp:402
+#: ../src/sp-rect.cpp:161 ../src/ui/dialog/inkscape-preferences.cpp:402
msgid "Rectangle"
msgstr ""
@@ -12697,11 +12665,11 @@ msgstr ""
#. Star
#: ../src/sp-star.cpp:246 ../src/ui/dialog/inkscape-preferences.cpp:416
-#: ../src/widgets/star-toolbar.cpp:471
+#: ../src/widgets/star-toolbar.cpp:469
msgid "Star"
msgstr ""
-#: ../src/sp-star.cpp:247 ../src/widgets/star-toolbar.cpp:464
+#: ../src/sp-star.cpp:247 ../src/widgets/star-toolbar.cpp:462
msgid "Polygon"
msgstr ""
@@ -12718,11 +12686,11 @@ msgstr ""
msgid "with %d vertices"
msgstr ""
-#: ../src/sp-switch.cpp:62
+#: ../src/sp-switch.cpp:63
msgid "Conditional Group"
msgstr ""
-#: ../src/sp-text.cpp:351 ../src/verbs.cpp:348
+#: ../src/sp-text.cpp:351 ../src/verbs.cpp:347
#: ../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
@@ -12755,7 +12723,7 @@ msgstr ""
msgid " from "
msgstr ""
-#: ../src/sp-tref.cpp:240 ../src/sp-use.cpp:269
+#: ../src/sp-tref.cpp:240 ../src/sp-use.cpp:271
msgid "[orphaned]"
msgstr ""
@@ -12763,30 +12731,30 @@ msgstr ""
msgid "Text Span"
msgstr ""
-#: ../src/sp-use.cpp:232
+#: ../src/sp-use.cpp:234
msgid "Symbol"
msgstr ""
-#: ../src/sp-use.cpp:234
+#: ../src/sp-use.cpp:236
msgid "Clone"
msgstr ""
-#: ../src/sp-use.cpp:242 ../src/sp-use.cpp:244 ../src/sp-use.cpp:246
+#: ../src/sp-use.cpp:244 ../src/sp-use.cpp:246 ../src/sp-use.cpp:248
#, c-format
msgid "called %s"
msgstr ""
-#: ../src/sp-use.cpp:246
+#: ../src/sp-use.cpp:248
msgid "Unnamed Symbol"
msgstr ""
#. TRANSLATORS: Used for statusbar description for long <use> chains:
#. * "Clone of: Clone of: ... in Layer 1".
-#: ../src/sp-use.cpp:255
+#: ../src/sp-use.cpp:257
msgid "..."
msgstr ""
-#: ../src/sp-use.cpp:264
+#: ../src/sp-use.cpp:266
#, c-format
msgid "of: %s"
msgstr ""
@@ -12826,154 +12794,154 @@ msgid ""
"difference, XOR, division, or path cut."
msgstr ""
-#: ../src/splivarot.cpp:407
+#: ../src/splivarot.cpp:406
msgid ""
"One of the objects is <b>not a path</b>, cannot perform boolean operation."
msgstr ""
-#: ../src/splivarot.cpp:1157
+#: ../src/splivarot.cpp:1150
msgid "Select <b>stroked path(s)</b> to convert stroke to path."
msgstr ""
-#: ../src/splivarot.cpp:1516
+#: ../src/splivarot.cpp:1506
msgid "Convert stroke to path"
msgstr ""
#. TRANSLATORS: "to outline" means "to convert stroke to path"
-#: ../src/splivarot.cpp:1519
+#: ../src/splivarot.cpp:1509
msgid "<b>No stroked paths</b> in the selection."
msgstr ""
-#: ../src/splivarot.cpp:1590
+#: ../src/splivarot.cpp:1580
msgid "Selected object is <b>not a path</b>, cannot inset/outset."
msgstr ""
-#: ../src/splivarot.cpp:1681 ../src/splivarot.cpp:1746
+#: ../src/splivarot.cpp:1671 ../src/splivarot.cpp:1738
msgid "Create linked offset"
msgstr ""
-#: ../src/splivarot.cpp:1682 ../src/splivarot.cpp:1747
+#: ../src/splivarot.cpp:1672 ../src/splivarot.cpp:1739
msgid "Create dynamic offset"
msgstr ""
-#: ../src/splivarot.cpp:1772
+#: ../src/splivarot.cpp:1764
msgid "Select <b>path(s)</b> to inset/outset."
msgstr ""
-#: ../src/splivarot.cpp:1968
+#: ../src/splivarot.cpp:1957
msgid "Outset path"
msgstr ""
-#: ../src/splivarot.cpp:1968
+#: ../src/splivarot.cpp:1957
msgid "Inset path"
msgstr ""
-#: ../src/splivarot.cpp:1970
+#: ../src/splivarot.cpp:1959
msgid "<b>No paths</b> to inset/outset in the selection."
msgstr ""
-#: ../src/splivarot.cpp:2132
+#: ../src/splivarot.cpp:2121
msgid "Simplifying paths (separately):"
msgstr ""
-#: ../src/splivarot.cpp:2134
+#: ../src/splivarot.cpp:2123
msgid "Simplifying paths:"
msgstr ""
-#: ../src/splivarot.cpp:2171
+#: ../src/splivarot.cpp:2160
#, c-format
msgid "%s <b>%d</b> of <b>%d</b> paths simplified..."
msgstr ""
-#: ../src/splivarot.cpp:2184
+#: ../src/splivarot.cpp:2173
#, c-format
msgid "<b>%d</b> paths simplified."
msgstr ""
-#: ../src/splivarot.cpp:2198
+#: ../src/splivarot.cpp:2187
msgid "Select <b>path(s)</b> to simplify."
msgstr ""
-#: ../src/splivarot.cpp:2214
+#: ../src/splivarot.cpp:2203
msgid "<b>No paths</b> to simplify in the selection."
msgstr ""
-#: ../src/text-chemistry.cpp:94
+#: ../src/text-chemistry.cpp:91
msgid "Select <b>a text and a path</b> to put text on path."
msgstr ""
-#: ../src/text-chemistry.cpp:99
+#: ../src/text-chemistry.cpp:96
msgid ""
"This text object is <b>already put on a path</b>. Remove it from the path "
"first. Use <b>Shift+D</b> to look up its path."
msgstr ""
#. rect is the only SPShape which is not <path> yet, and thus SVG forbids us from putting text on it
-#: ../src/text-chemistry.cpp:105
+#: ../src/text-chemistry.cpp:102
msgid ""
"You cannot put text on a rectangle in this version. Convert rectangle to "
"path first."
msgstr ""
-#: ../src/text-chemistry.cpp:115
+#: ../src/text-chemistry.cpp:112
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:2571
+#: ../src/text-chemistry.cpp:182 ../src/verbs.cpp:2540
msgid "Put text on path"
msgstr ""
-#: ../src/text-chemistry.cpp:197
+#: ../src/text-chemistry.cpp:194
msgid "Select <b>a text on path</b> to remove it from path."
msgstr ""
-#: ../src/text-chemistry.cpp:218
+#: ../src/text-chemistry.cpp:213
msgid "<b>No texts-on-paths</b> in the selection."
msgstr ""
-#: ../src/text-chemistry.cpp:221 ../src/verbs.cpp:2573
+#: ../src/text-chemistry.cpp:216 ../src/verbs.cpp:2542
msgid "Remove text from path"
msgstr ""
-#: ../src/text-chemistry.cpp:262 ../src/text-chemistry.cpp:283
+#: ../src/text-chemistry.cpp:257 ../src/text-chemistry.cpp:277
msgid "Select <b>text(s)</b> to remove kerns from."
msgstr ""
-#: ../src/text-chemistry.cpp:286
+#: ../src/text-chemistry.cpp:280
msgid "Remove manual kerns"
msgstr ""
-#: ../src/text-chemistry.cpp:306
+#: ../src/text-chemistry.cpp:300
msgid ""
"Select <b>a text</b> and one or more <b>paths or shapes</b> to flow text "
"into frame."
msgstr ""
-#: ../src/text-chemistry.cpp:376
+#: ../src/text-chemistry.cpp:369
msgid "Flow text into shape"
msgstr ""
-#: ../src/text-chemistry.cpp:398
+#: ../src/text-chemistry.cpp:391
msgid "Select <b>a flowed text</b> to unflow it."
msgstr ""
-#: ../src/text-chemistry.cpp:472
+#: ../src/text-chemistry.cpp:464
msgid "Unflow flowed text"
msgstr ""
-#: ../src/text-chemistry.cpp:484
+#: ../src/text-chemistry.cpp:476
msgid "Select <b>flowed text(s)</b> to convert."
msgstr ""
-#: ../src/text-chemistry.cpp:502
+#: ../src/text-chemistry.cpp:494
msgid "The flowed text(s) must be <b>visible</b> in order to be converted."
msgstr ""
-#: ../src/text-chemistry.cpp:530
+#: ../src/text-chemistry.cpp:521
msgid "Convert flowed text to text"
msgstr ""
-#: ../src/text-chemistry.cpp:535
+#: ../src/text-chemistry.cpp:526
msgid "<b>No flowed text(s)</b> to convert in the selection."
msgstr ""
@@ -13036,8 +13004,8 @@ msgstr ""
msgid "Nothing was copied."
msgstr ""
-#: ../src/ui/clipboard.cpp:393 ../src/ui/clipboard.cpp:605
-#: ../src/ui/clipboard.cpp:634
+#: ../src/ui/clipboard.cpp:393 ../src/ui/clipboard.cpp:607
+#: ../src/ui/clipboard.cpp:636
msgid "Nothing on the clipboard."
msgstr ""
@@ -13057,16 +13025,16 @@ msgstr ""
msgid "No size on the clipboard."
msgstr ""
-#: ../src/ui/clipboard.cpp:567
+#: ../src/ui/clipboard.cpp:568
msgid "Select <b>object(s)</b> to paste live path effect to."
msgstr ""
#. no_effect:
-#: ../src/ui/clipboard.cpp:592
+#: ../src/ui/clipboard.cpp:594
msgid "No effect on the clipboard."
msgstr ""
-#: ../src/ui/clipboard.cpp:611 ../src/ui/clipboard.cpp:648
+#: ../src/ui/clipboard.cpp:613 ../src/ui/clipboard.cpp:650
msgid "Clipboard does not contain a path."
msgstr ""
@@ -13114,248 +13082,248 @@ msgstr ""
msgid "translator-credits"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:171
-#: ../src/ui/dialog/align-and-distribute.cpp:851
+#: ../src/ui/dialog/align-and-distribute.cpp:170
+#: ../src/ui/dialog/align-and-distribute.cpp:847
msgid "Align"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:341
-#: ../src/ui/dialog/align-and-distribute.cpp:852
+#: ../src/ui/dialog/align-and-distribute.cpp:338
+#: ../src/ui/dialog/align-and-distribute.cpp:848
msgid "Distribute"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:420
+#: ../src/ui/dialog/align-and-distribute.cpp:417
msgid "Minimum horizontal gap (in px units) between bounding boxes"
msgstr ""
#. TRANSLATORS: "H:" stands for horizontal gap
-#: ../src/ui/dialog/align-and-distribute.cpp:422
+#: ../src/ui/dialog/align-and-distribute.cpp:419
msgctxt "Gap"
msgid "_H:"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:430
+#: ../src/ui/dialog/align-and-distribute.cpp:427
msgid "Minimum vertical gap (in px units) between bounding boxes"
msgstr ""
#. TRANSLATORS: Vertical gap
-#: ../src/ui/dialog/align-and-distribute.cpp:432
+#: ../src/ui/dialog/align-and-distribute.cpp:429
msgctxt "Gap"
msgid "_V:"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:467
-#: ../src/ui/dialog/align-and-distribute.cpp:854
-#: ../src/widgets/connector-toolbar.cpp:411
+#: ../src/ui/dialog/align-and-distribute.cpp:464
+#: ../src/ui/dialog/align-and-distribute.cpp:850
+#: ../src/widgets/connector-toolbar.cpp:407
msgid "Remove overlaps"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:498
-#: ../src/widgets/connector-toolbar.cpp:240
+#: ../src/ui/dialog/align-and-distribute.cpp:495
+#: ../src/widgets/connector-toolbar.cpp:236
msgid "Arrange connector network"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:591
+#: ../src/ui/dialog/align-and-distribute.cpp:588
msgid "Exchange Positions"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:625
+#: ../src/ui/dialog/align-and-distribute.cpp:622
msgid "Unclump"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:697
+#: ../src/ui/dialog/align-and-distribute.cpp:693
msgid "Randomize positions"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:800
+#: ../src/ui/dialog/align-and-distribute.cpp:795
msgid "Distribute text baselines"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:823
+#: ../src/ui/dialog/align-and-distribute.cpp:819
msgid "Align text baselines"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:853
+#: ../src/ui/dialog/align-and-distribute.cpp:849
msgid "Rearrange"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:855
-#: ../src/widgets/toolbox.cpp:1729
+#: ../src/ui/dialog/align-and-distribute.cpp:851
+#: ../src/widgets/toolbox.cpp:1725
msgid "Nodes"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:869
+#: ../src/ui/dialog/align-and-distribute.cpp:865
msgid "Relative to: "
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:870
+#: ../src/ui/dialog/align-and-distribute.cpp:866
msgid "_Treat selection as group: "
msgstr ""
#. Align
-#: ../src/ui/dialog/align-and-distribute.cpp:876 ../src/verbs.cpp:3024
-#: ../src/verbs.cpp:3025
+#: ../src/ui/dialog/align-and-distribute.cpp:872 ../src/verbs.cpp:2993
+#: ../src/verbs.cpp:2994
msgid "Align right edges of objects to the left edge of the anchor"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:879 ../src/verbs.cpp:3026
-#: ../src/verbs.cpp:3027
+#: ../src/ui/dialog/align-and-distribute.cpp:875 ../src/verbs.cpp:2995
+#: ../src/verbs.cpp:2996
msgid "Align left edges"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:882 ../src/verbs.cpp:3028
-#: ../src/verbs.cpp:3029
+#: ../src/ui/dialog/align-and-distribute.cpp:878 ../src/verbs.cpp:2997
+#: ../src/verbs.cpp:2998
msgid "Center on vertical axis"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:885 ../src/verbs.cpp:3030
-#: ../src/verbs.cpp:3031
+#: ../src/ui/dialog/align-and-distribute.cpp:881 ../src/verbs.cpp:2999
+#: ../src/verbs.cpp:3000
msgid "Align right sides"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:888 ../src/verbs.cpp:3032
-#: ../src/verbs.cpp:3033
+#: ../src/ui/dialog/align-and-distribute.cpp:884 ../src/verbs.cpp:3001
+#: ../src/verbs.cpp:3002
msgid "Align left edges of objects to the right edge of the anchor"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:891 ../src/verbs.cpp:3034
-#: ../src/verbs.cpp:3035
+#: ../src/ui/dialog/align-and-distribute.cpp:887 ../src/verbs.cpp:3003
+#: ../src/verbs.cpp:3004
msgid "Align bottom edges of objects to the top edge of the anchor"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:894 ../src/verbs.cpp:3036
-#: ../src/verbs.cpp:3037
+#: ../src/ui/dialog/align-and-distribute.cpp:890 ../src/verbs.cpp:3005
+#: ../src/verbs.cpp:3006
msgid "Align top edges"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:897 ../src/verbs.cpp:3038
-#: ../src/verbs.cpp:3039
+#: ../src/ui/dialog/align-and-distribute.cpp:893 ../src/verbs.cpp:3007
+#: ../src/verbs.cpp:3008
msgid "Center on horizontal axis"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:900 ../src/verbs.cpp:3040
-#: ../src/verbs.cpp:3041
+#: ../src/ui/dialog/align-and-distribute.cpp:896 ../src/verbs.cpp:3009
+#: ../src/verbs.cpp:3010
msgid "Align bottom edges"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:903 ../src/verbs.cpp:3042
-#: ../src/verbs.cpp:3043
+#: ../src/ui/dialog/align-and-distribute.cpp:899 ../src/verbs.cpp:3011
+#: ../src/verbs.cpp:3012
msgid "Align top edges of objects to the bottom edge of the anchor"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:908
+#: ../src/ui/dialog/align-and-distribute.cpp:904
msgid "Align baseline anchors of texts horizontally"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:911
+#: ../src/ui/dialog/align-and-distribute.cpp:907
msgid "Align baselines of texts"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:916
+#: ../src/ui/dialog/align-and-distribute.cpp:912
msgid "Make horizontal gaps between objects equal"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:920
+#: ../src/ui/dialog/align-and-distribute.cpp:916
msgid "Distribute left edges equidistantly"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:923
+#: ../src/ui/dialog/align-and-distribute.cpp:919
msgid "Distribute centers equidistantly horizontally"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:926
+#: ../src/ui/dialog/align-and-distribute.cpp:922
msgid "Distribute right edges equidistantly"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:930
+#: ../src/ui/dialog/align-and-distribute.cpp:926
msgid "Make vertical gaps between objects equal"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:934
+#: ../src/ui/dialog/align-and-distribute.cpp:930
msgid "Distribute top edges equidistantly"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:937
+#: ../src/ui/dialog/align-and-distribute.cpp:933
msgid "Distribute centers equidistantly vertically"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:940
+#: ../src/ui/dialog/align-and-distribute.cpp:936
msgid "Distribute bottom edges equidistantly"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:945
+#: ../src/ui/dialog/align-and-distribute.cpp:941
msgid "Distribute baseline anchors of texts horizontally"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:948
+#: ../src/ui/dialog/align-and-distribute.cpp:944
msgid "Distribute baselines of texts vertically"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:954
-#: ../src/widgets/connector-toolbar.cpp:373
+#: ../src/ui/dialog/align-and-distribute.cpp:950
+#: ../src/widgets/connector-toolbar.cpp:369
msgid "Nicely arrange selected connector network"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:957
+#: ../src/ui/dialog/align-and-distribute.cpp:953
msgid "Exchange positions of selected objects - selection order"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:960
+#: ../src/ui/dialog/align-and-distribute.cpp:956
msgid "Exchange positions of selected objects - stacking order"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:963
+#: ../src/ui/dialog/align-and-distribute.cpp:959
msgid "Exchange positions of selected objects - clockwise rotate"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:968
+#: ../src/ui/dialog/align-and-distribute.cpp:964
msgid "Randomize centers in both dimensions"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:971
+#: ../src/ui/dialog/align-and-distribute.cpp:967
msgid "Unclump objects: try to equalize edge-to-edge distances"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:976
+#: ../src/ui/dialog/align-and-distribute.cpp:972
msgid ""
"Move objects as little as possible so that their bounding boxes do not "
"overlap"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:984
+#: ../src/ui/dialog/align-and-distribute.cpp:980
msgid "Align selected nodes to a common horizontal line"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:987
+#: ../src/ui/dialog/align-and-distribute.cpp:983
msgid "Align selected nodes to a common vertical line"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:990
+#: ../src/ui/dialog/align-and-distribute.cpp:986
msgid "Distribute selected nodes horizontally"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:993
+#: ../src/ui/dialog/align-and-distribute.cpp:989
msgid "Distribute selected nodes vertically"
msgstr ""
#. Rest of the widgetry
-#: ../src/ui/dialog/align-and-distribute.cpp:998
+#: ../src/ui/dialog/align-and-distribute.cpp:994
msgid "Last selected"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:999
+#: ../src/ui/dialog/align-and-distribute.cpp:995
msgid "First selected"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:1000
+#: ../src/ui/dialog/align-and-distribute.cpp:996
msgid "Biggest object"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:1001
+#: ../src/ui/dialog/align-and-distribute.cpp:997
msgid "Smallest object"
msgstr ""
-#: ../src/ui/dialog/align-and-distribute.cpp:1004
+#: ../src/ui/dialog/align-and-distribute.cpp:1000
msgid "Selection Area"
msgstr ""
@@ -14030,91 +13998,91 @@ msgstr ""
msgid "Select <b>one object</b> whose tiled clones to unclump."
msgstr ""
-#: ../src/ui/dialog/clonetiler.cpp:2122
+#: ../src/ui/dialog/clonetiler.cpp:2120
msgid "Unclump tiled clones"
msgstr ""
-#: ../src/ui/dialog/clonetiler.cpp:2151
+#: ../src/ui/dialog/clonetiler.cpp:2149
msgid "Select <b>one object</b> whose tiled clones to remove."
msgstr ""
-#: ../src/ui/dialog/clonetiler.cpp:2176
+#: ../src/ui/dialog/clonetiler.cpp:2174
msgid "Delete tiled clones"
msgstr ""
-#: ../src/ui/dialog/clonetiler.cpp:2229
+#: ../src/ui/dialog/clonetiler.cpp:2227
msgid ""
"If you want to clone several objects, <b>group</b> them and <b>clone the "
"group</b>."
msgstr ""
-#: ../src/ui/dialog/clonetiler.cpp:2238
+#: ../src/ui/dialog/clonetiler.cpp:2236
msgid "<small>Creating tiled clones...</small>"
msgstr ""
-#: ../src/ui/dialog/clonetiler.cpp:2654
+#: ../src/ui/dialog/clonetiler.cpp:2652
msgid "Create tiled clones"
msgstr ""
-#: ../src/ui/dialog/clonetiler.cpp:2887
+#: ../src/ui/dialog/clonetiler.cpp:2885
msgid "<small>Per row:</small>"
msgstr ""
-#: ../src/ui/dialog/clonetiler.cpp:2905
+#: ../src/ui/dialog/clonetiler.cpp:2903
msgid "<small>Per column:</small>"
msgstr ""
-#: ../src/ui/dialog/clonetiler.cpp:2913
+#: ../src/ui/dialog/clonetiler.cpp:2911
msgid "<small>Randomize:</small>"
msgstr ""
-#: ../src/ui/dialog/color-item.cpp:131
+#: ../src/ui/dialog/color-item.cpp:127
#, c-format
msgid ""
"Color: <b>%s</b>; <b>Click</b> to set fill, <b>Shift+click</b> to set stroke"
msgstr ""
-#: ../src/ui/dialog/color-item.cpp:509
+#: ../src/ui/dialog/color-item.cpp:505
msgid "Change color definition"
msgstr ""
-#: ../src/ui/dialog/color-item.cpp:679
+#: ../src/ui/dialog/color-item.cpp:675
msgid "Remove stroke color"
msgstr ""
-#: ../src/ui/dialog/color-item.cpp:679
+#: ../src/ui/dialog/color-item.cpp:675
msgid "Remove fill color"
msgstr ""
-#: ../src/ui/dialog/color-item.cpp:684
+#: ../src/ui/dialog/color-item.cpp:680
msgid "Set stroke color to none"
msgstr ""
-#: ../src/ui/dialog/color-item.cpp:684
+#: ../src/ui/dialog/color-item.cpp:680
msgid "Set fill color to none"
msgstr ""
-#: ../src/ui/dialog/color-item.cpp:702
+#: ../src/ui/dialog/color-item.cpp:698
msgid "Set stroke color from swatch"
msgstr ""
-#: ../src/ui/dialog/color-item.cpp:702
+#: ../src/ui/dialog/color-item.cpp:698
msgid "Set fill color from swatch"
msgstr ""
-#: ../src/ui/dialog/debug.cpp:73
+#: ../src/ui/dialog/debug.cpp:69
msgid "Messages"
msgstr ""
-#: ../src/ui/dialog/debug.cpp:87 ../src/ui/dialog/messages.cpp:47
+#: ../src/ui/dialog/debug.cpp:83 ../src/ui/dialog/messages.cpp:47
msgid "_Clear"
msgstr ""
-#: ../src/ui/dialog/debug.cpp:91 ../src/ui/dialog/messages.cpp:48
+#: ../src/ui/dialog/debug.cpp:87 ../src/ui/dialog/messages.cpp:48
msgid "Capture log messages"
msgstr ""
-#: ../src/ui/dialog/debug.cpp:95
+#: ../src/ui/dialog/debug.cpp:91
msgid "Release log messages"
msgstr ""
@@ -14359,11 +14327,11 @@ msgid "Remove selected grid."
msgstr ""
#: ../src/ui/dialog/document-properties.cpp:161
-#: ../src/widgets/toolbox.cpp:1836
+#: ../src/widgets/toolbox.cpp:1832
msgid "Guides"
msgstr ""
-#: ../src/ui/dialog/document-properties.cpp:163 ../src/verbs.cpp:2827
+#: ../src/ui/dialog/document-properties.cpp:163 ../src/verbs.cpp:2796
msgid "Snap"
msgstr ""
@@ -14407,7 +14375,7 @@ msgstr ""
#. Inkscape::GC::release(defsRepr);
#. inform the document, so we can undo
#. Color Management
-#: ../src/ui/dialog/document-properties.cpp:505 ../src/verbs.cpp:3008
+#: ../src/ui/dialog/document-properties.cpp:505 ../src/verbs.cpp:2977
msgid "Link Color Profile"
msgstr ""
@@ -14531,212 +14499,212 @@ msgstr ""
msgid "<b>Defined grids</b>"
msgstr ""
-#: ../src/ui/dialog/document-properties.cpp:1653
+#: ../src/ui/dialog/document-properties.cpp:1654
msgid "Remove grid"
msgstr ""
-#: ../src/ui/dialog/document-properties.cpp:1741
+#: ../src/ui/dialog/document-properties.cpp:1746
msgid "Changed default display unit"
msgstr ""
-#: ../src/ui/dialog/export.cpp:151 ../src/verbs.cpp:2879
+#: ../src/ui/dialog/export.cpp:147 ../src/verbs.cpp:2848
msgid "_Page"
msgstr ""
-#: ../src/ui/dialog/export.cpp:151 ../src/verbs.cpp:2883
+#: ../src/ui/dialog/export.cpp:147 ../src/verbs.cpp:2852
msgid "_Drawing"
msgstr ""
-#: ../src/ui/dialog/export.cpp:151 ../src/verbs.cpp:2885
+#: ../src/ui/dialog/export.cpp:147 ../src/verbs.cpp:2854
msgid "_Selection"
msgstr ""
-#: ../src/ui/dialog/export.cpp:151
+#: ../src/ui/dialog/export.cpp:147
msgid "_Custom"
msgstr ""
-#: ../src/ui/dialog/export.cpp:169 ../src/widgets/measure-toolbar.cpp:99
+#: ../src/ui/dialog/export.cpp:165 ../src/widgets/measure-toolbar.cpp:99
#: ../src/widgets/measure-toolbar.cpp:107
#: ../share/extensions/render_gears.inx.h:6
msgid "Units:"
msgstr ""
-#: ../src/ui/dialog/export.cpp:171
+#: ../src/ui/dialog/export.cpp:167
msgid "_Export As..."
msgstr ""
-#: ../src/ui/dialog/export.cpp:174
+#: ../src/ui/dialog/export.cpp:170
msgid "B_atch export all selected objects"
msgstr ""
-#: ../src/ui/dialog/export.cpp:174
+#: ../src/ui/dialog/export.cpp:170
msgid ""
"Export each selected object into its own PNG file, using export hints if any "
"(caution, overwrites without asking!)"
msgstr ""
-#: ../src/ui/dialog/export.cpp:176
+#: ../src/ui/dialog/export.cpp:172
msgid "Hide a_ll except selected"
msgstr ""
-#: ../src/ui/dialog/export.cpp:176
+#: ../src/ui/dialog/export.cpp:172
msgid "In the exported image, hide all objects except those that are selected"
msgstr ""
-#: ../src/ui/dialog/export.cpp:177
+#: ../src/ui/dialog/export.cpp:173
msgid "Close when complete"
msgstr ""
-#: ../src/ui/dialog/export.cpp:177
+#: ../src/ui/dialog/export.cpp:173
msgid "Once the export completes, close this dialog"
msgstr ""
-#: ../src/ui/dialog/export.cpp:179
+#: ../src/ui/dialog/export.cpp:175
msgid "_Export"
msgstr ""
-#: ../src/ui/dialog/export.cpp:197
+#: ../src/ui/dialog/export.cpp:193
msgid "<b>Export area</b>"
msgstr ""
-#: ../src/ui/dialog/export.cpp:236
+#: ../src/ui/dialog/export.cpp:232
msgid "_x0:"
msgstr ""
-#: ../src/ui/dialog/export.cpp:240
+#: ../src/ui/dialog/export.cpp:236
msgid "x_1:"
msgstr ""
-#: ../src/ui/dialog/export.cpp:244
+#: ../src/ui/dialog/export.cpp:240
msgid "Wid_th:"
msgstr ""
-#: ../src/ui/dialog/export.cpp:248
+#: ../src/ui/dialog/export.cpp:244
msgid "_y0:"
msgstr ""
-#: ../src/ui/dialog/export.cpp:252
+#: ../src/ui/dialog/export.cpp:248
msgid "y_1:"
msgstr ""
-#: ../src/ui/dialog/export.cpp:256
+#: ../src/ui/dialog/export.cpp:252
msgid "Hei_ght:"
msgstr ""
-#: ../src/ui/dialog/export.cpp:271
+#: ../src/ui/dialog/export.cpp:267
msgid "<b>Image size</b>"
msgstr ""
-#: ../src/ui/dialog/export.cpp:289 ../src/ui/dialog/export.cpp:300
+#: ../src/ui/dialog/export.cpp:285 ../src/ui/dialog/export.cpp:296
msgid "pixels at"
msgstr ""
-#: ../src/ui/dialog/export.cpp:295
+#: ../src/ui/dialog/export.cpp:291
msgid "dp_i"
msgstr ""
-#: ../src/ui/dialog/export.cpp:300 ../src/ui/dialog/transformation.cpp:80
-#: ../src/ui/widget/page-sizer.cpp:237
+#: ../src/ui/dialog/export.cpp:296 ../src/ui/dialog/transformation.cpp:76
+#: ../src/ui/widget/page-sizer.cpp:238
msgid "_Height:"
msgstr ""
-#: ../src/ui/dialog/export.cpp:308
+#: ../src/ui/dialog/export.cpp:304
#: ../src/ui/dialog/inkscape-preferences.cpp:1443
#: ../src/ui/dialog/inkscape-preferences.cpp:1447
#: ../src/ui/dialog/inkscape-preferences.cpp:1471
msgid "dpi"
msgstr ""
-#: ../src/ui/dialog/export.cpp:316
+#: ../src/ui/dialog/export.cpp:312
msgid "<b>_Filename</b>"
msgstr ""
-#: ../src/ui/dialog/export.cpp:358
+#: ../src/ui/dialog/export.cpp:354
msgid "Export the bitmap file with these settings"
msgstr ""
-#: ../src/ui/dialog/export.cpp:611
+#: ../src/ui/dialog/export.cpp:607
#, c-format
msgid "B_atch export %d selected object"
msgid_plural "B_atch export %d selected objects"
msgstr[0] ""
msgstr[1] ""
-#: ../src/ui/dialog/export.cpp:927
+#: ../src/ui/dialog/export.cpp:923
msgid "Export in progress"
msgstr ""
-#: ../src/ui/dialog/export.cpp:1017
+#: ../src/ui/dialog/export.cpp:1013
msgid "No items selected."
msgstr ""
-#: ../src/ui/dialog/export.cpp:1021 ../src/ui/dialog/export.cpp:1023
+#: ../src/ui/dialog/export.cpp:1017 ../src/ui/dialog/export.cpp:1019
msgid "Exporting %1 files"
msgstr ""
-#: ../src/ui/dialog/export.cpp:1063 ../src/ui/dialog/export.cpp:1065
+#: ../src/ui/dialog/export.cpp:1060 ../src/ui/dialog/export.cpp:1062
#, c-format
msgid "Exporting file <b>%s</b>..."
msgstr ""
-#: ../src/ui/dialog/export.cpp:1074 ../src/ui/dialog/export.cpp:1165
+#: ../src/ui/dialog/export.cpp:1071 ../src/ui/dialog/export.cpp:1163
#, c-format
msgid "Could not export to filename %s.\n"
msgstr ""
-#: ../src/ui/dialog/export.cpp:1077
+#: ../src/ui/dialog/export.cpp:1074
#, c-format
msgid "Could not export to filename <b>%s</b>."
msgstr ""
-#: ../src/ui/dialog/export.cpp:1092
+#: ../src/ui/dialog/export.cpp:1089
#, c-format
msgid "Successfully exported <b>%d</b> files from <b>%d</b> selected items."
msgstr ""
-#: ../src/ui/dialog/export.cpp:1103
+#: ../src/ui/dialog/export.cpp:1100
msgid "You have to enter a filename."
msgstr ""
-#: ../src/ui/dialog/export.cpp:1104
+#: ../src/ui/dialog/export.cpp:1101
msgid "You have to enter a filename"
msgstr ""
-#: ../src/ui/dialog/export.cpp:1118
+#: ../src/ui/dialog/export.cpp:1115
msgid "The chosen area to be exported is invalid."
msgstr ""
-#: ../src/ui/dialog/export.cpp:1119
+#: ../src/ui/dialog/export.cpp:1116
msgid "The chosen area to be exported is invalid"
msgstr ""
-#: ../src/ui/dialog/export.cpp:1134
+#: ../src/ui/dialog/export.cpp:1131
#, c-format
msgid "Directory %s does not exist or is not a directory.\n"
msgstr ""
#. TRANSLATORS: %1 will be the filename, %2 the width, and %3 the height of the image
-#: ../src/ui/dialog/export.cpp:1148 ../src/ui/dialog/export.cpp:1150
+#: ../src/ui/dialog/export.cpp:1145 ../src/ui/dialog/export.cpp:1147
msgid "Exporting %1 (%2 x %3)"
msgstr ""
-#: ../src/ui/dialog/export.cpp:1176
+#: ../src/ui/dialog/export.cpp:1174
#, c-format
msgid "Drawing exported to <b>%s</b>."
msgstr ""
-#: ../src/ui/dialog/export.cpp:1180
+#: ../src/ui/dialog/export.cpp:1178
msgid "Export aborted."
msgstr ""
-#: ../src/ui/dialog/export.cpp:1301 ../src/ui/interface.cpp:1392
+#: ../src/ui/dialog/export.cpp:1299 ../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:1302 ../src/ui/dialog/input.cpp:1082
-#: ../src/verbs.cpp:2437 ../src/widgets/desktop-widget.cpp:1123
+#: ../src/ui/dialog/export.cpp:1300 ../src/ui/dialog/input.cpp:1082
+#: ../src/verbs.cpp:2406 ../src/widgets/desktop-widget.cpp:1123
msgid "_Save"
msgstr ""
@@ -14744,8 +14712,8 @@ msgstr ""
msgid "Information"
msgstr ""
-#: ../src/ui/dialog/extension-editor.cpp:82 ../src/verbs.cpp:310
-#: ../src/verbs.cpp:329 ../share/extensions/color_HSL_adjust.inx.h:11
+#: ../src/ui/dialog/extension-editor.cpp:82 ../src/verbs.cpp:309
+#: ../src/verbs.cpp:328 ../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
@@ -14817,36 +14785,36 @@ msgstr ""
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:783
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:799
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:814
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:282
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:413
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:286
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:417
msgid "All Files"
msgstr ""
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:780
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:796
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:811
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:283
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:287
msgid "All Inkscape Files"
msgstr ""
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:787
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:803
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:817
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:284
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:288
msgid "All Images"
msgstr ""
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:790
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:806
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:820
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:285
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:289
msgid "All Vectors"
msgstr ""
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:793
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:809
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:823
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:286
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:290
msgid "All Bitmaps"
msgstr ""
@@ -14906,8 +14874,8 @@ msgstr ""
msgid "Document"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1541 ../src/verbs.cpp:176
-#: ../src/widgets/desktop-widget.cpp:2000
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1541 ../src/verbs.cpp:175
+#: ../src/widgets/desktop-widget.cpp:2002
#: ../share/extensions/printing_marks.inx.h:18
msgid "Selection"
msgstr ""
@@ -14929,15 +14897,15 @@ msgstr ""
msgid "Antialias"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:414
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:418
msgid "All Executable Files"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:606
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:610
msgid "Show Preview"
msgstr ""
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:744
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:748
msgid "No file selected"
msgstr ""
@@ -14954,7 +14922,7 @@ msgid "Stroke st_yle"
msgstr ""
#. TRANSLATORS: this dialog is accessible via menu Filters - Filter editor
-#: ../src/ui/dialog/filter-effects-dialog.cpp:546
+#: ../src/ui/dialog/filter-effects-dialog.cpp:547
msgid ""
"This matrix determines a linear transform on color space. Each line affects "
"one of the color components. Each column determines how much of each color "
@@ -14962,220 +14930,220 @@ msgid ""
"depend on input colors, so can be used to adjust a constant component value."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:549
+#: ../src/ui/dialog/filter-effects-dialog.cpp:550
#: ../share/extensions/grid_polar.inx.h:4
msgctxt "Label"
msgid "None"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:656
+#: ../src/ui/dialog/filter-effects-dialog.cpp:657
msgid "Image File"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:659
+#: ../src/ui/dialog/filter-effects-dialog.cpp:660
msgid "Selected SVG Element"
msgstr ""
#. TODO: any image, not just svg
-#: ../src/ui/dialog/filter-effects-dialog.cpp:729
+#: ../src/ui/dialog/filter-effects-dialog.cpp:730
msgid "Select an image to be used as feImage input"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:821
+#: ../src/ui/dialog/filter-effects-dialog.cpp:822
msgid "This SVG filter effect does not require any parameters."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:827
+#: ../src/ui/dialog/filter-effects-dialog.cpp:828
msgid "This SVG filter effect is not yet implemented in Inkscape."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1041
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1042
msgid "Slope"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1042
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1043
msgid "Intercept"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1045
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1046
msgid "Amplitude"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1046
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1047
msgid "Exponent"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1143
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1144
msgid "New transfer function type"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1178
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1179
msgid "Light Source:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1195
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1196
msgid "Direction angle for the light source on the XY plane, in degrees"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1196
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1197
msgid "Direction angle for the light source on the YZ plane, in degrees"
msgstr ""
#. default x:
#. default y:
#. default z:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1199
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1202
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1200
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1203
msgid "Location:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1199
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1202
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1205
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1200
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1203
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
msgid "X coordinate"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1199
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1202
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1205
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1200
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1203
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
msgid "Y coordinate"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1199
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1202
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1205
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1200
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1203
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
msgid "Z coordinate"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1205
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
msgid "Points At"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1207
msgid "Specular Exponent"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1207
msgid "Exponent value controlling the focus for the light source"
msgstr ""
#. TODO: here I have used 100 degrees as default value. But spec says that if not specified, no limiting cone is applied. So, there should be a way for the user to set a "no limiting cone" option.
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1208
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1209
msgid "Cone Angle"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1208
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1209
msgid ""
"This is the angle between the spot light axis (i.e. the axis between the "
"light source and the point to which it is pointing at) and the spot light "
"cone. No light is projected outside this cone."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1274
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1275
msgid "New light source"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1325
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1326
msgid "_Duplicate"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1359
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1360
msgid "_Filter"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1379
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1387
msgid "R_ename"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1512
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1521
msgid "Rename filter"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1565
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1573
msgid "Apply filter"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1635
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1652
msgid "filter"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1642
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1659
msgid "Add filter"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1694
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1709
msgid "Duplicate filter"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1793
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1808
msgid "_Effect"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1803
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1818
msgid "Connections"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1941
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1956
msgid "Remove filter primitive"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2529
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2543
msgid "Remove merge node"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2649
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2663
msgid "Reorder filter primitive"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2729
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2743
msgid "Add Effect:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2730
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2744
msgid "No effect selected"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2731
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2745
msgid "No filter selected"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2776
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2792
msgid "Effect parameters"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2777
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2793
msgid "Filter General Settings"
msgstr ""
#. default x:
#. default y:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2835
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2851
msgid "Coordinates:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2835
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2851
msgid "X coordinate of the left corners of filter effects region"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2835
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2851
msgid "Y coordinate of the upper corners of filter effects region"
msgstr ""
#. default width:
#. default height:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2836
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2852
msgid "Dimensions:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2836
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2852
msgid "Width of filter effects region"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2836
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2852
msgid "Height of filter effects region"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2842
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2858
msgid ""
"Indicates the type of matrix operation. The keyword 'matrix' indicates that "
"a full 5x4 matrix of values will be provided. The other keywords represent "
@@ -15183,95 +15151,95 @@ msgid ""
"performed without specifying a complete matrix."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2843
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2859
msgid "Value(s):"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2847
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2863
msgid "R:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2848
-#: ../src/widgets/sp-color-icc-selector.cpp:334
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2864
+#: ../src/ui/widget/color-icc-selector.cpp:180
msgid "G:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2849
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2865
msgid "B:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2850
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2866
msgid "A:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2853
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2893
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2869
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2909
msgid "Operator:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2854
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2870
msgid "K1:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2854
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2855
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2856
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2857
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2870
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2871
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2872
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2873
msgid ""
"If the arithmetic operation is chosen, each result pixel is computed using "
"the formula k1*i1*i2 + k2*i1 + k3*i2 + k4 where i1 and i2 are the pixel "
"values of the first and second inputs respectively."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2855
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2871
msgid "K2:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2856
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2872
msgid "K3:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2857
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2873
msgid "K4:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2860
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2876
msgid "Size:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2860
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2876
msgid "width of the convolve matrix"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2860
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2876
msgid "height of the convolve matrix"
msgstr ""
#. default x:
#. default y:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2861
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2877
#: ../src/ui/dialog/object-attributes.cpp:48
msgid "Target:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2861
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2877
msgid ""
"X coordinate of the target point in the convolve matrix. The convolution is "
"applied to pixels around this point."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2861
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2877
msgid ""
"Y coordinate of the target point in the convolve matrix. The convolution is "
"applied to pixels around this point."
msgstr ""
#. TRANSLATORS: for info on "Kernel", see http://en.wikipedia.org/wiki/Kernel_(matrix)
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2863
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2879
msgid "Kernel:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2863
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2879
msgid ""
"This matrix describes the convolve operation that is applied to the input "
"image in order to calculate the pixel colors at the output. Different "
@@ -15281,11 +15249,11 @@ msgid ""
"would lead to a common blur effect."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2865
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2881
msgid "Divisor:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2865
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2881
msgid ""
"After applying the kernelMatrix to the input image to yield a number, that "
"number is divided by divisor to yield the final destination color value. A "
@@ -15293,189 +15261,189 @@ msgid ""
"effect on the overall color intensity of the result."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2866
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2882
msgid "Bias:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2866
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2882
msgid ""
"This value is added to each component. This is useful to define a constant "
"value as the zero response of the filter."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2867
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2883
msgid "Edge Mode:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2867
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2883
msgid ""
"Determines how to extend the input image as necessary with color values so "
"that the matrix operations can be applied when the kernel is positioned at "
"or near the edge of the input image."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2868
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2884
msgid "Preserve Alpha"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2868
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2884
msgid "If set, the alpha channel won't be altered by this filter primitive."
msgstr ""
#. default: white
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2871
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2887
msgid "Diffuse Color:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2871
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2904
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2887
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2920
msgid "Defines the color of the light source"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2872
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2905
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2888
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2921
msgid "Surface Scale:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2872
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2905
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2888
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2921
msgid ""
"This value amplifies the heights of the bump map defined by the input alpha "
"channel"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2873
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2906
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2889
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2922
msgid "Constant:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2873
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2906
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2889
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2922
msgid "This constant affects the Phong lighting model."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2874
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2908
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2890
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2924
msgid "Kernel Unit Length:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2878
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2894
msgid "This defines the intensity of the displacement effect."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2879
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2895
msgid "X displacement:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2879
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2895
msgid "Color component that controls the displacement in the X direction"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2880
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2896
msgid "Y displacement:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2880
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2896
msgid "Color component that controls the displacement in the Y direction"
msgstr ""
#. default: black
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2883
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2899
msgid "Flood Color:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2883
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2899
msgid "The whole filter region will be filled with this color."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2887
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2903
msgid "Standard Deviation:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2887
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2903
msgid "The standard deviation for the blur operation."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2893
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2909
msgid ""
"Erode: performs \"thinning\" of input image.\n"
"Dilate: performs \"fattenning\" of input image."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2897
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2913
msgid "Source of Image:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2900
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2916
msgid "Delta X:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2900
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2916
msgid "This is how far the input image gets shifted to the right"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2901
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2917
msgid "Delta Y:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2901
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2917
msgid "This is how far the input image gets shifted downwards"
msgstr ""
#. default: white
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2904
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2920
msgid "Specular Color:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2907
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2923
#: ../share/extensions/interp.inx.h:2
msgid "Exponent:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2907
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2923
msgid "Exponent for specular term, larger is more \"shiny\"."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2916
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2932
msgid ""
"Indicates whether the filter primitive should perform a noise or turbulence "
"function."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2917
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2933
msgid "Base Frequency:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2918
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2934
msgid "Octaves:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2919
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2935
msgid "Seed:"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2919
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2935
msgid "The starting number for the pseudo random number generator."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2931
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2947
msgid "Add filter primitive"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2948
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2964
msgid ""
"The <b>feBlend</b> filter primitive provides 4 image blending modes: screen, "
"multiply, darken and lighten."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2952
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2968
msgid ""
"The <b>feColorMatrix</b> filter primitive applies a matrix transformation to "
"color of each rendered pixel. This allows for effects like turning object to "
"grayscale, modifying color saturation and changing color hue."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2956
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2972
msgid ""
"The <b>feComponentTransfer</b> filter primitive manipulates the input's "
"color components (red, green, blue, and alpha) according to particular "
@@ -15483,7 +15451,7 @@ msgid ""
"adjustment, color balance, and thresholding."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2960
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2976
msgid ""
"The <b>feComposite</b> filter primitive composites two images using one of "
"the Porter-Duff blending modes or the arithmetic mode described in SVG "
@@ -15491,7 +15459,7 @@ msgid ""
"between the corresponding pixel values of the images."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2964
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2980
msgid ""
"The <b>feConvolveMatrix</b> lets you specify a Convolution to be applied on "
"the image. Common effects created using convolution matrices are blur, "
@@ -15500,7 +15468,7 @@ msgid ""
"is faster and resolution-independent."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2968
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2984
msgid ""
"The <b>feDiffuseLighting</b> and feSpecularLighting filter primitives create "
"\"embossed\" shadings. The input's alpha channel is used to provide depth "
@@ -15508,7 +15476,7 @@ msgid ""
"opacity areas recede away from the viewer."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2972
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2988
msgid ""
"The <b>feDisplacementMap</b> filter primitive displaces the pixels in the "
"first input using the second input as a displacement map, that shows from "
@@ -15516,26 +15484,26 @@ msgid ""
"effects."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2976
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2992
msgid ""
"The <b>feFlood</b> filter primitive fills the region with a given color and "
"opacity. It is usually used as an input to other filters to apply color to "
"a graphic."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2980
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2996
msgid ""
"The <b>feGaussianBlur</b> filter primitive uniformly blurs its input. It is "
"commonly used together with feOffset to create a drop shadow effect."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2984
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3000
msgid ""
"The <b>feImage</b> filter primitive fills the region with an external image "
"or another part of the document."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2988
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3004
msgid ""
"The <b>feMerge</b> filter primitive composites several temporary images "
"inside the filter primitive to a single image. It uses normal alpha "
@@ -15543,21 +15511,21 @@ msgid ""
"in 'normal' mode or several feComposite primitives in 'over' mode."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2992
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3008
msgid ""
"The <b>feMorphology</b> filter primitive provides erode and dilate effects. "
"For single-color objects erode makes the object thinner and dilate makes it "
"thicker."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2996
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3012
msgid ""
"The <b>feOffset</b> filter primitive offsets the image by an user-defined "
"amount. For example, this is useful for drop shadows, where the shadow is in "
"a slightly different position than the actual object."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3000
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3016
msgid ""
"The <b>feDiffuseLighting</b> and <b>feSpecularLighting</b> filter primitives "
"create \"embossed\" shadings. The input's alpha channel is used to provide "
@@ -15565,23 +15533,23 @@ msgid ""
"lower opacity areas recede away from the viewer."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3004
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3020
msgid ""
"The <b>feTile</b> filter primitive tiles a region with its input graphic"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3008
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3024
msgid ""
"The <b>feTurbulence</b> filter primitive renders Perlin noise. This kind of "
"noise is useful in simulating several nature phenomena like clouds, fire and "
"smoke and in generating complex textures like marble or granite."
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3027
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3043
msgid "Duplicate filter primitive"
msgstr ""
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3080
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3096
msgid "Set filter primitive attribute"
msgstr ""
@@ -15765,7 +15733,7 @@ msgstr ""
msgid "Search spirals"
msgstr ""
-#: ../src/ui/dialog/find.cpp:103 ../src/widgets/toolbox.cpp:1737
+#: ../src/ui/dialog/find.cpp:103 ../src/widgets/toolbox.cpp:1733
msgid "Paths"
msgstr ""
@@ -15890,25 +15858,25 @@ msgstr ""
msgid "Select a property"
msgstr ""
-#: ../src/ui/dialog/font-substitution.cpp:87
+#: ../src/ui/dialog/font-substitution.cpp:79
msgid ""
"\n"
"Some fonts are not available and have been substituted."
msgstr ""
-#: ../src/ui/dialog/font-substitution.cpp:90
+#: ../src/ui/dialog/font-substitution.cpp:82
msgid "Font substitution"
msgstr ""
-#: ../src/ui/dialog/font-substitution.cpp:109
+#: ../src/ui/dialog/font-substitution.cpp:101
msgid "Select all the affected items"
msgstr ""
-#: ../src/ui/dialog/font-substitution.cpp:114
+#: ../src/ui/dialog/font-substitution.cpp:106
msgid "Don't show this warning again"
msgstr ""
-#: ../src/ui/dialog/font-substitution.cpp:255
+#: ../src/ui/dialog/font-substitution.cpp:245
msgid "Font '%1' substituted with '%2'"
msgstr ""
@@ -16633,7 +16601,7 @@ msgstr ""
msgid "Append"
msgstr ""
-#: ../src/ui/dialog/glyphs.cpp:618
+#: ../src/ui/dialog/glyphs.cpp:619
msgid "Append text"
msgstr ""
@@ -16641,72 +16609,74 @@ msgstr ""
msgid "Arrange in a grid"
msgstr ""
-#: ../src/ui/dialog/grid-arrange-tab.cpp:578
+#: ../src/ui/dialog/grid-arrange-tab.cpp:577
#: ../src/ui/dialog/object-attributes.cpp:66
#: ../src/ui/dialog/object-attributes.cpp:75
-#: ../src/widgets/desktop-widget.cpp:666 ../src/widgets/node-toolbar.cpp:581
+#: ../src/ui/widget/page-sizer.cpp:247 ../src/widgets/desktop-widget.cpp:666
+#: ../src/widgets/node-toolbar.cpp:581
msgid "X:"
msgstr ""
-#: ../src/ui/dialog/grid-arrange-tab.cpp:578
+#: ../src/ui/dialog/grid-arrange-tab.cpp:577
msgid "Horizontal spacing between columns."
msgstr ""
-#: ../src/ui/dialog/grid-arrange-tab.cpp:579
+#: ../src/ui/dialog/grid-arrange-tab.cpp:578
#: ../src/ui/dialog/object-attributes.cpp:67
#: ../src/ui/dialog/object-attributes.cpp:76
-#: ../src/widgets/desktop-widget.cpp:676 ../src/widgets/node-toolbar.cpp:599
+#: ../src/ui/widget/page-sizer.cpp:248 ../src/widgets/desktop-widget.cpp:676
+#: ../src/widgets/node-toolbar.cpp:599
msgid "Y:"
msgstr ""
-#: ../src/ui/dialog/grid-arrange-tab.cpp:579
+#: ../src/ui/dialog/grid-arrange-tab.cpp:578
msgid "Vertical spacing between rows."
msgstr ""
-#: ../src/ui/dialog/grid-arrange-tab.cpp:626
+#: ../src/ui/dialog/grid-arrange-tab.cpp:624
msgid "_Rows:"
msgstr ""
-#: ../src/ui/dialog/grid-arrange-tab.cpp:635
+#: ../src/ui/dialog/grid-arrange-tab.cpp:633
msgid "Number of rows"
msgstr ""
-#: ../src/ui/dialog/grid-arrange-tab.cpp:639
+#: ../src/ui/dialog/grid-arrange-tab.cpp:637
msgid "Equal _height"
msgstr ""
-#: ../src/ui/dialog/grid-arrange-tab.cpp:650
+#: ../src/ui/dialog/grid-arrange-tab.cpp:648
msgid "If not set, each row has the height of the tallest object in it"
msgstr ""
#. #### Number of columns ####
-#: ../src/ui/dialog/grid-arrange-tab.cpp:666
+#: ../src/ui/dialog/grid-arrange-tab.cpp:664
msgid "_Columns:"
msgstr ""
-#: ../src/ui/dialog/grid-arrange-tab.cpp:675
+#: ../src/ui/dialog/grid-arrange-tab.cpp:673
msgid "Number of columns"
msgstr ""
-#: ../src/ui/dialog/grid-arrange-tab.cpp:679
+#: ../src/ui/dialog/grid-arrange-tab.cpp:677
msgid "Equal _width"
msgstr ""
-#: ../src/ui/dialog/grid-arrange-tab.cpp:689
+#: ../src/ui/dialog/grid-arrange-tab.cpp:687
msgid "If not set, each column has the width of the widest object in it"
msgstr ""
#. Anchor selection widget
-#: ../src/ui/dialog/grid-arrange-tab.cpp:700
+#: ../src/ui/dialog/grid-arrange-tab.cpp:698
msgid "Alignment:"
msgstr ""
#. #### Radio buttons to control spacing manually or to fit selection bbox ####
-#: ../src/ui/dialog/grid-arrange-tab.cpp:709
+#: ../src/ui/dialog/grid-arrange-tab.cpp:707
msgid "_Fit into selection box"
msgstr ""
-#: ../src/ui/dialog/grid-arrange-tab.cpp:716
+#: ../src/ui/dialog/grid-arrange-tab.cpp:714
msgid "_Set spacing:"
msgstr ""
@@ -16758,25 +16728,25 @@ msgstr ""
msgid "Current: %s"
msgstr ""
-#: ../src/ui/dialog/icon-preview.cpp:159
+#: ../src/ui/dialog/icon-preview.cpp:155
#, c-format
msgid "%d x %d"
msgstr ""
-#: ../src/ui/dialog/icon-preview.cpp:171
+#: ../src/ui/dialog/icon-preview.cpp:167
msgid "Magnified:"
msgstr ""
-#: ../src/ui/dialog/icon-preview.cpp:240
+#: ../src/ui/dialog/icon-preview.cpp:236
msgid "Actual Size:"
msgstr ""
-#: ../src/ui/dialog/icon-preview.cpp:245
+#: ../src/ui/dialog/icon-preview.cpp:241
msgctxt "Icon preview window"
msgid "Sele_ction"
msgstr ""
-#: ../src/ui/dialog/icon-preview.cpp:247
+#: ../src/ui/dialog/icon-preview.cpp:243
msgid "Selection only or whole document"
msgstr ""
@@ -17102,7 +17072,7 @@ msgid "Zoom"
msgstr ""
#. Measure
-#: ../src/ui/dialog/inkscape-preferences.cpp:390 ../src/verbs.cpp:2761
+#: ../src/ui/dialog/inkscape-preferences.cpp:390 ../src/verbs.cpp:2730
msgctxt "ContextVerb"
msgid "Measure"
msgstr ""
@@ -17157,7 +17127,7 @@ msgid ""
msgstr ""
#. Text
-#: ../src/ui/dialog/inkscape-preferences.cpp:448 ../src/verbs.cpp:2753
+#: ../src/ui/dialog/inkscape-preferences.cpp:448 ../src/verbs.cpp:2722
msgctxt "ContextVerb"
msgid "Text"
msgstr ""
@@ -17240,8 +17210,8 @@ msgstr ""
#. Gradient
#: ../src/ui/dialog/inkscape-preferences.cpp:487
-#: ../src/widgets/gradient-selector.cpp:144
-#: ../src/widgets/gradient-selector.cpp:295
+#: ../src/widgets/gradient-selector.cpp:148
+#: ../src/widgets/gradient-selector.cpp:299
msgid "Gradient"
msgstr ""
@@ -17590,6 +17560,7 @@ msgstr ""
#: ../src/ui/dialog/inkscape-preferences.cpp:572
#: ../src/ui/dialog/inkscape-preferences.cpp:657
+#: ../src/ui/widget/font-variants.cpp:51
msgid "Small"
msgstr ""
@@ -18377,8 +18348,8 @@ msgid "Preserve K channel in CMYK -> CMYK transforms"
msgstr ""
#: ../src/ui/dialog/inkscape-preferences.cpp:1046
-#: ../src/widgets/sp-color-icc-selector.cpp:449
-#: ../src/widgets/sp-color-icc-selector.cpp:741
+#: ../src/ui/widget/color-icc-selector.cpp:395
+#: ../src/ui/widget/color-icc-selector.cpp:674
msgid "<none>"
msgstr ""
@@ -19116,7 +19087,7 @@ msgid "Rendering"
msgstr ""
#. Note: /options/bitmapoversample removed with Cairo renderer
-#: ../src/ui/dialog/inkscape-preferences.cpp:1434 ../src/verbs.cpp:157
+#: ../src/ui/dialog/inkscape-preferences.cpp:1434 ../src/verbs.cpp:156
#: ../src/widgets/calligraphy-toolbar.cpp:626
msgid "Edit"
msgstr ""
@@ -19134,7 +19105,7 @@ msgid "_Bitmap editor:"
msgstr ""
#: ../src/ui/dialog/inkscape-preferences.cpp:1441
-#: ../share/extensions/guillotine.inx.h:5 ../share/extensions/plotter.inx.h:57
+#: ../share/extensions/guillotine.inx.h:5 ../share/extensions/plotter.inx.h:67
#: ../share/extensions/print_win32_vector.inx.h:2
msgid "Export"
msgstr ""
@@ -19227,7 +19198,7 @@ msgid "Shortcut"
msgstr ""
#: ../src/ui/dialog/inkscape-preferences.cpp:1513
-#: ../src/ui/widget/page-sizer.cpp:260
+#: ../src/ui/widget/page-sizer.cpp:285
msgid "Description"
msgstr ""
@@ -19235,7 +19206,7 @@ msgstr ""
#: ../src/ui/dialog/pixelartdialog.cpp:296
#: ../src/ui/dialog/svg-fonts-dialog.cpp:699
#: ../src/ui/dialog/tracedialog.cpp:813
-#: ../src/ui/widget/preferences-widget.cpp:749
+#: ../src/ui/widget/preferences-widget.cpp:745
msgid "Reset"
msgstr ""
@@ -19454,7 +19425,7 @@ msgid "Link:"
msgstr ""
#: ../src/ui/dialog/input.cpp:742 ../src/ui/dialog/input.cpp:743
-#: ../src/ui/dialog/input.cpp:1571
+#: ../src/ui/dialog/input.cpp:1571 ../src/ui/widget/color-scales.cpp:46
msgid "None"
msgstr ""
@@ -19510,7 +19481,7 @@ msgid "Y tilt"
msgstr ""
#: ../src/ui/dialog/input.cpp:1616
-#: ../src/widgets/sp-color-wheel-selector.cpp:32
+#: ../src/ui/widget/color-wheel-selector.cpp:29
msgid "Wheel"
msgstr ""
@@ -19545,8 +19516,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:195
-#: ../src/verbs.cpp:2368
+#: ../src/ui/dialog/layer-properties.cpp:410 ../src/verbs.cpp:194
+#: ../src/verbs.cpp:2337
msgid "Layer"
msgstr ""
@@ -19554,7 +19525,7 @@ msgstr ""
msgid "_Rename"
msgstr ""
-#: ../src/ui/dialog/layer-properties.cpp:368 ../src/ui/dialog/layers.cpp:750
+#: ../src/ui/dialog/layer-properties.cpp:368 ../src/ui/dialog/layers.cpp:758
msgid "Rename layer"
msgstr ""
@@ -19580,8 +19551,8 @@ 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:112
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:116
+#: ../src/ui/dialog/transformation.cpp:108
msgid "_Move"
msgstr ""
@@ -19601,41 +19572,41 @@ msgstr ""
msgid "Unlock layer"
msgstr ""
-#: ../src/ui/dialog/layers.cpp:624 ../src/ui/dialog/objects.cpp:843
-#: ../src/verbs.cpp:1438
+#: ../src/ui/dialog/layers.cpp:624 ../src/ui/dialog/objects.cpp:844
+#: ../src/verbs.cpp:1407
msgid "Toggle layer solo"
msgstr ""
-#: ../src/ui/dialog/layers.cpp:627 ../src/ui/dialog/objects.cpp:846
-#: ../src/verbs.cpp:1462
+#: ../src/ui/dialog/layers.cpp:627 ../src/ui/dialog/objects.cpp:847
+#: ../src/verbs.cpp:1431
msgid "Lock other layers"
msgstr ""
-#: ../src/ui/dialog/layers.cpp:721
+#: ../src/ui/dialog/layers.cpp:730
msgid "Moved layer"
msgstr ""
-#: ../src/ui/dialog/layers.cpp:884
+#: ../src/ui/dialog/layers.cpp:892
msgctxt "Layers"
msgid "New"
msgstr ""
-#: ../src/ui/dialog/layers.cpp:889
+#: ../src/ui/dialog/layers.cpp:897
msgctxt "Layers"
msgid "Bot"
msgstr ""
-#: ../src/ui/dialog/layers.cpp:895
+#: ../src/ui/dialog/layers.cpp:903
msgctxt "Layers"
msgid "Dn"
msgstr ""
-#: ../src/ui/dialog/layers.cpp:901
+#: ../src/ui/dialog/layers.cpp:909
msgctxt "Layers"
msgid "Up"
msgstr ""
-#: ../src/ui/dialog/layers.cpp:907
+#: ../src/ui/dialog/layers.cpp:915
msgctxt "Layers"
msgid "Top"
msgstr ""
@@ -19714,43 +19685,43 @@ msgstr ""
msgid "Deactivate path effect"
msgstr ""
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:57
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:52
msgid "Radius (pixels):"
msgstr ""
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:69
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:64
msgid "Chamfer subdivisions:"
msgstr ""
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:144
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:135
msgid "Modify Fillet-Chamfer"
msgstr ""
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:145
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:136
msgid "_Modify"
msgstr ""
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:210
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:200
msgid "Radius"
msgstr ""
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:212
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:202
msgid "Radius approximated"
msgstr ""
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:215
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:205
msgid "Knot distance"
msgstr ""
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:222
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:212
msgid "Position (%):"
msgstr ""
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:225
-msgid "%1 (%2):"
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:215
+msgid "%1:"
msgstr ""
-#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:119
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:115
msgid "Modify Node Position"
msgstr ""
@@ -19904,8 +19875,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:2711
-#: ../src/verbs.cpp:2717
+#: ../src/ui/dialog/object-properties.cpp:325 ../src/verbs.cpp:2680
+#: ../src/verbs.cpp:2686
msgid "_Set"
msgstr ""
@@ -19943,52 +19914,56 @@ msgstr ""
msgid "Set object description"
msgstr ""
-#: ../src/ui/dialog/object-properties.cpp:552
+#: ../src/ui/dialog/object-properties.cpp:535
+msgid "Set image rendering option"
+msgstr ""
+
+#: ../src/ui/dialog/object-properties.cpp:554
msgid "Lock object"
msgstr ""
-#: ../src/ui/dialog/object-properties.cpp:552
+#: ../src/ui/dialog/object-properties.cpp:554
msgid "Unlock object"
msgstr ""
-#: ../src/ui/dialog/object-properties.cpp:568
+#: ../src/ui/dialog/object-properties.cpp:570
msgid "Hide object"
msgstr ""
-#: ../src/ui/dialog/object-properties.cpp:568
+#: ../src/ui/dialog/object-properties.cpp:570
msgid "Unhide object"
msgstr ""
-#: ../src/ui/dialog/objects.cpp:873
+#: ../src/ui/dialog/objects.cpp:874
msgid "Unhide objects"
msgstr ""
-#: ../src/ui/dialog/objects.cpp:873
+#: ../src/ui/dialog/objects.cpp:874
msgid "Hide objects"
msgstr ""
-#: ../src/ui/dialog/objects.cpp:893
+#: ../src/ui/dialog/objects.cpp:894
msgid "Lock objects"
msgstr ""
-#: ../src/ui/dialog/objects.cpp:893
+#: ../src/ui/dialog/objects.cpp:894
msgid "Unlock objects"
msgstr ""
-#: ../src/ui/dialog/objects.cpp:905
+#: ../src/ui/dialog/objects.cpp:906
msgid "Layer to group"
msgstr ""
-#: ../src/ui/dialog/objects.cpp:905
+#: ../src/ui/dialog/objects.cpp:906
msgid "Group to layer"
msgstr ""
-#: ../src/ui/dialog/objects.cpp:1103
+#: ../src/ui/dialog/objects.cpp:1104
msgid "Moved objects"
msgstr ""
-#: ../src/ui/dialog/objects.cpp:1352 ../src/ui/dialog/tags.cpp:856
-#: ../src/ui/dialog/tags.cpp:863
+#: ../src/ui/dialog/objects.cpp:1353 ../src/ui/dialog/tags.cpp:857
+#: ../src/ui/dialog/tags.cpp:864
msgid "Rename object"
msgstr ""
@@ -20269,11 +20244,11 @@ msgstr ""
msgid "Rotate objects"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:338
+#: ../src/ui/dialog/polar-arrange-tab.cpp:336
msgid "Couldn't find an ellipse in selection"
msgstr ""
-#: ../src/ui/dialog/polar-arrange-tab.cpp:403
+#: ../src/ui/dialog/polar-arrange-tab.cpp:399
msgid "Arrange on ellipse"
msgstr ""
@@ -20537,7 +20512,7 @@ msgstr ""
#: ../src/ui/dialog/swatches.cpp:202 ../src/ui/tools/gradient-tool.cpp:360
#: ../src/ui/tools/gradient-tool.cpp:458
-#: ../src/widgets/gradient-vector.cpp:794
+#: ../src/widgets/gradient-vector.cpp:801
msgid "Add gradient stop"
msgstr ""
@@ -20565,69 +20540,69 @@ msgid "Palettes directory (%s) is unavailable."
msgstr ""
#. ******************* Symbol Sets ************************
-#: ../src/ui/dialog/symbols.cpp:139
+#: ../src/ui/dialog/symbols.cpp:135
msgid "Symbol set: "
msgstr ""
#. Fill in later
-#: ../src/ui/dialog/symbols.cpp:148 ../src/ui/dialog/symbols.cpp:149
+#: ../src/ui/dialog/symbols.cpp:144 ../src/ui/dialog/symbols.cpp:145
msgid "Current Document"
msgstr ""
-#: ../src/ui/dialog/symbols.cpp:216
+#: ../src/ui/dialog/symbols.cpp:212
msgid "Add Symbol from the current document."
msgstr ""
-#: ../src/ui/dialog/symbols.cpp:225
+#: ../src/ui/dialog/symbols.cpp:221
msgid "Remove Symbol from the current document."
msgstr ""
-#: ../src/ui/dialog/symbols.cpp:239
+#: ../src/ui/dialog/symbols.cpp:235
msgid "Display more icons in row."
msgstr ""
-#: ../src/ui/dialog/symbols.cpp:248
+#: ../src/ui/dialog/symbols.cpp:244
msgid "Display fewer icons in row."
msgstr ""
-#: ../src/ui/dialog/symbols.cpp:258
+#: ../src/ui/dialog/symbols.cpp:254
msgid "Toggle 'fit' symbols in icon space."
msgstr ""
-#: ../src/ui/dialog/symbols.cpp:270
+#: ../src/ui/dialog/symbols.cpp:266
msgid "Make symbols smaller by zooming out."
msgstr ""
-#: ../src/ui/dialog/symbols.cpp:280
+#: ../src/ui/dialog/symbols.cpp:276
msgid "Make symbols bigger by zooming in."
msgstr ""
-#: ../src/ui/dialog/symbols.cpp:641
+#: ../src/ui/dialog/symbols.cpp:637
msgid "Unnamed Symbols"
msgstr ""
-#: ../src/ui/dialog/tags.cpp:274 ../src/ui/dialog/tags.cpp:572
-#: ../src/ui/dialog/tags.cpp:686
+#: ../src/ui/dialog/tags.cpp:274 ../src/ui/dialog/tags.cpp:573
+#: ../src/ui/dialog/tags.cpp:687
msgid "Remove from selection set"
msgstr ""
-#: ../src/ui/dialog/tags.cpp:430
+#: ../src/ui/dialog/tags.cpp:431
msgid "Items"
msgstr ""
-#: ../src/ui/dialog/tags.cpp:669
+#: ../src/ui/dialog/tags.cpp:670
msgid "Add selection to set"
msgstr ""
-#: ../src/ui/dialog/tags.cpp:827
+#: ../src/ui/dialog/tags.cpp:828
msgid "Moved sets"
msgstr ""
-#: ../src/ui/dialog/tags.cpp:997
+#: ../src/ui/dialog/tags.cpp:998
msgid "Add a new selection set"
msgstr ""
-#: ../src/ui/dialog/tags.cpp:1006
+#: ../src/ui/dialog/tags.cpp:1007
msgid "Remove Item/Set"
msgstr ""
@@ -20656,51 +20631,55 @@ msgid "By: "
msgstr ""
#: ../src/ui/dialog/text-edit.cpp:72
+msgid "_Variants"
+msgstr ""
+
+#: ../src/ui/dialog/text-edit.cpp:73
msgid "Set as _default"
msgstr ""
-#: ../src/ui/dialog/text-edit.cpp:86
+#: ../src/ui/dialog/text-edit.cpp:87
msgid "AaBbCcIiPpQq12369$€¢?.;/()"
msgstr ""
#. Align buttons
-#: ../src/ui/dialog/text-edit.cpp:96 ../src/widgets/text-toolbar.cpp:1333
-#: ../src/widgets/text-toolbar.cpp:1334
+#: ../src/ui/dialog/text-edit.cpp:97 ../src/widgets/text-toolbar.cpp:1339
+#: ../src/widgets/text-toolbar.cpp:1340
msgid "Align left"
msgstr ""
-#: ../src/ui/dialog/text-edit.cpp:97 ../src/widgets/text-toolbar.cpp:1341
-#: ../src/widgets/text-toolbar.cpp:1342
+#: ../src/ui/dialog/text-edit.cpp:98 ../src/widgets/text-toolbar.cpp:1347
+#: ../src/widgets/text-toolbar.cpp:1348
msgid "Align center"
msgstr ""
-#: ../src/ui/dialog/text-edit.cpp:98 ../src/widgets/text-toolbar.cpp:1349
-#: ../src/widgets/text-toolbar.cpp:1350
+#: ../src/ui/dialog/text-edit.cpp:99 ../src/widgets/text-toolbar.cpp:1355
+#: ../src/widgets/text-toolbar.cpp:1356
msgid "Align right"
msgstr ""
-#: ../src/ui/dialog/text-edit.cpp:99 ../src/widgets/text-toolbar.cpp:1358
+#: ../src/ui/dialog/text-edit.cpp:100 ../src/widgets/text-toolbar.cpp:1364
msgid "Justify (only flowed text)"
msgstr ""
#. Direction buttons
-#: ../src/ui/dialog/text-edit.cpp:108 ../src/widgets/text-toolbar.cpp:1393
+#: ../src/ui/dialog/text-edit.cpp:109 ../src/widgets/text-toolbar.cpp:1399
msgid "Horizontal text"
msgstr ""
-#: ../src/ui/dialog/text-edit.cpp:109 ../src/widgets/text-toolbar.cpp:1400
+#: ../src/ui/dialog/text-edit.cpp:110 ../src/widgets/text-toolbar.cpp:1406
msgid "Vertical text"
msgstr ""
-#: ../src/ui/dialog/text-edit.cpp:129 ../src/ui/dialog/text-edit.cpp:130
+#: ../src/ui/dialog/text-edit.cpp:130 ../src/ui/dialog/text-edit.cpp:131
msgid "Spacing between lines (percent of font size)"
msgstr ""
-#: ../src/ui/dialog/text-edit.cpp:146
+#: ../src/ui/dialog/text-edit.cpp:147
msgid "Text path offset"
msgstr ""
-#: ../src/ui/dialog/text-edit.cpp:586 ../src/ui/dialog/text-edit.cpp:660
+#: ../src/ui/dialog/text-edit.cpp:594 ../src/ui/dialog/text-edit.cpp:668
#: ../src/ui/tools/text-tool.cpp:1446
msgid "Set text style"
msgstr ""
@@ -20961,154 +20940,154 @@ msgstr ""
msgid "Preview"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:74
-#: ../src/ui/dialog/transformation.cpp:84
+#: ../src/ui/dialog/transformation.cpp:70
+#: ../src/ui/dialog/transformation.cpp:80
msgid "_Horizontal:"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:74
+#: ../src/ui/dialog/transformation.cpp:70
msgid "Horizontal displacement (relative) or position (absolute)"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:76
-#: ../src/ui/dialog/transformation.cpp:86
+#: ../src/ui/dialog/transformation.cpp:72
+#: ../src/ui/dialog/transformation.cpp:82
msgid "_Vertical:"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:76
+#: ../src/ui/dialog/transformation.cpp:72
msgid "Vertical displacement (relative) or position (absolute)"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:78
+#: ../src/ui/dialog/transformation.cpp:74
msgid "Horizontal size (absolute or percentage of current)"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:80
+#: ../src/ui/dialog/transformation.cpp:76
msgid "Vertical size (absolute or percentage of current)"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:82
+#: ../src/ui/dialog/transformation.cpp:78
msgid "A_ngle:"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:82
+#: ../src/ui/dialog/transformation.cpp:78
#: ../src/ui/dialog/transformation.cpp:1103
msgid "Rotation angle (positive = counterclockwise)"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:84
+#: ../src/ui/dialog/transformation.cpp:80
msgid ""
"Horizontal skew angle (positive = counterclockwise), or absolute "
"displacement, or percentage displacement"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:86
+#: ../src/ui/dialog/transformation.cpp:82
msgid ""
"Vertical skew angle (positive = counterclockwise), or absolute displacement, "
"or percentage displacement"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:89
+#: ../src/ui/dialog/transformation.cpp:85
msgid "Transformation matrix element A"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:90
+#: ../src/ui/dialog/transformation.cpp:86
msgid "Transformation matrix element B"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:91
+#: ../src/ui/dialog/transformation.cpp:87
msgid "Transformation matrix element C"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:92
+#: ../src/ui/dialog/transformation.cpp:88
msgid "Transformation matrix element D"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:93
+#: ../src/ui/dialog/transformation.cpp:89
msgid "Transformation matrix element E"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:94
+#: ../src/ui/dialog/transformation.cpp:90
msgid "Transformation matrix element F"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:99
+#: ../src/ui/dialog/transformation.cpp:95
msgid "Rela_tive move"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:99
+#: ../src/ui/dialog/transformation.cpp:95
msgid ""
"Add the specified relative displacement to the current position; otherwise, "
"edit the current absolute position directly"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:100
+#: ../src/ui/dialog/transformation.cpp:96
msgid "_Scale proportionally"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:100
+#: ../src/ui/dialog/transformation.cpp:96
msgid "Preserve the width/height ratio of the scaled objects"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:101
+#: ../src/ui/dialog/transformation.cpp:97
msgid "Apply to each _object separately"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:101
+#: ../src/ui/dialog/transformation.cpp:97
msgid ""
"Apply the scale/rotate/skew to each selected object separately; otherwise, "
"transform the selection as a whole"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:102
+#: ../src/ui/dialog/transformation.cpp:98
msgid "Edit c_urrent matrix"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:102
+#: ../src/ui/dialog/transformation.cpp:98
msgid ""
"Edit the current transform= matrix; otherwise, post-multiply transform= by "
"this matrix"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:115
+#: ../src/ui/dialog/transformation.cpp:111
msgid "_Scale"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:118
+#: ../src/ui/dialog/transformation.cpp:114
msgid "_Rotate"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:121
+#: ../src/ui/dialog/transformation.cpp:117
msgid "Ske_w"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:124
+#: ../src/ui/dialog/transformation.cpp:120
msgid "Matri_x"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:148
+#: ../src/ui/dialog/transformation.cpp:144
msgid "Reset the values on the current tab to defaults"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:155
+#: ../src/ui/dialog/transformation.cpp:151
msgid "Apply transformation to selection"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:331
+#: ../src/ui/dialog/transformation.cpp:327
msgid "Rotate in a counterclockwise direction"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:337
+#: ../src/ui/dialog/transformation.cpp:333
msgid "Rotate in a clockwise direction"
msgstr ""
-#: ../src/ui/dialog/transformation.cpp:907
-#: ../src/ui/dialog/transformation.cpp:918
-#: ../src/ui/dialog/transformation.cpp:932
-#: ../src/ui/dialog/transformation.cpp:951
-#: ../src/ui/dialog/transformation.cpp:962
-#: ../src/ui/dialog/transformation.cpp:972
-#: ../src/ui/dialog/transformation.cpp:996
+#: ../src/ui/dialog/transformation.cpp:906
+#: ../src/ui/dialog/transformation.cpp:917
+#: ../src/ui/dialog/transformation.cpp:931
+#: ../src/ui/dialog/transformation.cpp:950
+#: ../src/ui/dialog/transformation.cpp:961
+#: ../src/ui/dialog/transformation.cpp:971
+#: ../src/ui/dialog/transformation.cpp:995
msgid "Transform matrix is singular, <b>not used</b>."
msgstr ""
@@ -21306,7 +21285,7 @@ msgid "Enter group #%1"
msgstr ""
#. Item dialog
-#: ../src/ui/interface.cpp:1641 ../src/verbs.cpp:2932
+#: ../src/ui/interface.cpp:1641 ../src/verbs.cpp:2901
msgid "_Object Properties..."
msgstr ""
@@ -21379,7 +21358,7 @@ msgid "Release C_lip"
msgstr ""
#. Group
-#: ../src/ui/interface.cpp:1790 ../src/verbs.cpp:2565
+#: ../src/ui/interface.cpp:1790 ../src/verbs.cpp:2534
msgid "_Group"
msgstr ""
@@ -21388,165 +21367,165 @@ msgid "Create link"
msgstr ""
#. Ungroup
-#: ../src/ui/interface.cpp:1896 ../src/verbs.cpp:2567
+#: ../src/ui/interface.cpp:1896 ../src/verbs.cpp:2536
msgid "_Ungroup"
msgstr ""
#. Link dialog
-#: ../src/ui/interface.cpp:1921
+#: ../src/ui/interface.cpp:1920
msgid "Link _Properties..."
msgstr ""
#. Select item
-#: ../src/ui/interface.cpp:1927
+#: ../src/ui/interface.cpp:1926
msgid "_Follow Link"
msgstr ""
#. Reset transformations
-#: ../src/ui/interface.cpp:1933
+#: ../src/ui/interface.cpp:1932
msgid "_Remove Link"
msgstr ""
-#: ../src/ui/interface.cpp:1964
+#: ../src/ui/interface.cpp:1963
msgid "Remove link"
msgstr ""
#. Image properties
-#: ../src/ui/interface.cpp:1975
+#: ../src/ui/interface.cpp:1973
msgid "Image _Properties..."
msgstr ""
#. Edit externally
-#: ../src/ui/interface.cpp:1981
+#: ../src/ui/interface.cpp:1979
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:2628
+#: ../src/ui/interface.cpp:1988 ../src/verbs.cpp:2597
msgid "_Trace Bitmap..."
msgstr ""
#. Trace Pixel Art
-#: ../src/ui/interface.cpp:1999
+#: ../src/ui/interface.cpp:1997
msgid "Trace Pixel Art"
msgstr ""
-#: ../src/ui/interface.cpp:2009
+#: ../src/ui/interface.cpp:2007
msgctxt "Context menu"
msgid "Embed Image"
msgstr ""
-#: ../src/ui/interface.cpp:2020
+#: ../src/ui/interface.cpp:2018
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:2895
+#: ../src/ui/interface.cpp:2162 ../src/ui/interface.cpp:2182
+#: ../src/verbs.cpp:2864
msgid "_Fill and Stroke..."
msgstr ""
#. Edit Text dialog
-#: ../src/ui/interface.cpp:2191 ../src/verbs.cpp:2914
+#: ../src/ui/interface.cpp:2188 ../src/verbs.cpp:2883
msgid "_Text and Font..."
msgstr ""
#. Spellcheck dialog
-#: ../src/ui/interface.cpp:2197 ../src/verbs.cpp:2922
+#: ../src/ui/interface.cpp:2194 ../src/verbs.cpp:2891
msgid "Check Spellin_g..."
msgstr ""
-#: ../src/ui/object-edit.cpp:464
+#: ../src/ui/object-edit.cpp:450
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:469
+#: ../src/ui/object-edit.cpp:455
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:474 ../src/ui/object-edit.cpp:479
+#: ../src/ui/object-edit.cpp:460 ../src/ui/object-edit.cpp:465
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:726 ../src/ui/object-edit.cpp:730
-#: ../src/ui/object-edit.cpp:734 ../src/ui/object-edit.cpp:738
+#: ../src/ui/object-edit.cpp:712 ../src/ui/object-edit.cpp:716
+#: ../src/ui/object-edit.cpp:720 ../src/ui/object-edit.cpp:724
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:742 ../src/ui/object-edit.cpp:746
-#: ../src/ui/object-edit.cpp:750 ../src/ui/object-edit.cpp:754
+#: ../src/ui/object-edit.cpp:728 ../src/ui/object-edit.cpp:732
+#: ../src/ui/object-edit.cpp:736 ../src/ui/object-edit.cpp:740
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:758
+#: ../src/ui/object-edit.cpp:744
msgid "Move the box in perspective"
msgstr ""
-#: ../src/ui/object-edit.cpp:997
+#: ../src/ui/object-edit.cpp:983
msgid "Adjust ellipse <b>width</b>, with <b>Ctrl</b> to make circle"
msgstr ""
-#: ../src/ui/object-edit.cpp:1001
+#: ../src/ui/object-edit.cpp:987
msgid "Adjust ellipse <b>height</b>, with <b>Ctrl</b> to make circle"
msgstr ""
-#: ../src/ui/object-edit.cpp:1005
+#: ../src/ui/object-edit.cpp:991
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:1010
+#: ../src/ui/object-edit.cpp:996
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:1156
+#: ../src/ui/object-edit.cpp:1142
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:1164
+#: ../src/ui/object-edit.cpp:1150
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:1359
+#: ../src/ui/object-edit.cpp:1345
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:1363
+#: ../src/ui/object-edit.cpp:1349
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:1410
+#: ../src/ui/object-edit.cpp:1396
msgid "Adjust the <b>offset distance</b>"
msgstr ""
-#: ../src/ui/object-edit.cpp:1447
+#: ../src/ui/object-edit.cpp:1433
msgid "Drag to resize the <b>flowed text frame</b>"
msgstr ""
@@ -21586,7 +21565,7 @@ msgstr ""
msgid "Retract handles"
msgstr ""
-#: ../src/ui/tool/multi-path-manipulator.cpp:315 ../src/ui/tool/node.cpp:296
+#: ../src/ui/tool/multi-path-manipulator.cpp:315 ../src/ui/tool/node.cpp:295
msgid "Change node type"
msgstr ""
@@ -21669,38 +21648,38 @@ msgstr ""
msgid "Flip nodes vertically"
msgstr ""
-#: ../src/ui/tool/node.cpp:271
+#: ../src/ui/tool/node.cpp:270
msgid "Cusp node handle"
msgstr ""
-#: ../src/ui/tool/node.cpp:272
+#: ../src/ui/tool/node.cpp:271
msgid "Smooth node handle"
msgstr ""
-#: ../src/ui/tool/node.cpp:273
+#: ../src/ui/tool/node.cpp:272
msgid "Symmetric node handle"
msgstr ""
-#: ../src/ui/tool/node.cpp:274
+#: ../src/ui/tool/node.cpp:273
msgid "Auto-smooth node handle"
msgstr ""
-#: ../src/ui/tool/node.cpp:493
+#: ../src/ui/tool/node.cpp:492
msgctxt "Path handle tip"
msgid "more: Shift, Ctrl, Alt"
msgstr ""
-#: ../src/ui/tool/node.cpp:495
+#: ../src/ui/tool/node.cpp:494
msgctxt "Path handle tip"
msgid "more: Ctrl"
msgstr ""
-#: ../src/ui/tool/node.cpp:497
+#: ../src/ui/tool/node.cpp:496
msgctxt "Path handle tip"
msgid "more: Ctrl, Alt"
msgstr ""
-#: ../src/ui/tool/node.cpp:503
+#: ../src/ui/tool/node.cpp:502
#, c-format
msgctxt "Path handle tip"
msgid ""
@@ -21708,24 +21687,24 @@ msgid ""
"increments while rotating both handles"
msgstr ""
-#: ../src/ui/tool/node.cpp:508
+#: ../src/ui/tool/node.cpp:507
#, 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:514
+#: ../src/ui/tool/node.cpp:513
msgctxt "Path handle tip"
msgid "<b>Shift+Alt</b>: preserve handle length and rotate both handles"
msgstr ""
-#: ../src/ui/tool/node.cpp:517
+#: ../src/ui/tool/node.cpp:516
msgctxt "Path handle tip"
msgid "<b>Alt</b>: preserve handle length while dragging"
msgstr ""
-#: ../src/ui/tool/node.cpp:524
+#: ../src/ui/tool/node.cpp:523
#, c-format
msgctxt "Path handle tip"
msgid ""
@@ -21733,85 +21712,87 @@ msgid ""
"handles"
msgstr ""
-#: ../src/ui/tool/node.cpp:528
+#: ../src/ui/tool/node.cpp:527
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
+#: ../src/ui/tool/node.cpp:530
#, 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:536
+#: ../src/ui/tool/node.cpp:535
msgctxt "Path hande tip"
msgid "<b>Shift</b>: rotate both handles by the same angle"
msgstr ""
-#: ../src/ui/tool/node.cpp:539
+#: ../src/ui/tool/node.cpp:538
msgctxt "Path hande tip"
msgid "<b>Shift</b>: move handle"
msgstr ""
-#: ../src/ui/tool/node.cpp:546 ../src/ui/tool/node.cpp:550
+#: ../src/ui/tool/node.cpp:545 ../src/ui/tool/node.cpp:549
#, 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:553
+#: ../src/ui/tool/node.cpp:552
#, c-format
msgctxt "Path handle tip"
-msgid "<b>BSpline node handle</b>: Shift to drag, double click to reset (%s)"
+msgid ""
+"<b>BSpline node handle</b>: Shift to drag, double click to reset (%s). %g "
+"power"
msgstr ""
-#: ../src/ui/tool/node.cpp:573
+#: ../src/ui/tool/node.cpp:572
#, c-format
msgctxt "Path handle tip"
msgid "Move handle by %s, %s; angle %.2f°, length %s"
msgstr ""
-#: ../src/ui/tool/node.cpp:1447
+#: ../src/ui/tool/node.cpp:1448
msgctxt "Path node tip"
msgid "<b>Shift</b>: drag out a handle, click to toggle selection"
msgstr ""
-#: ../src/ui/tool/node.cpp:1449
+#: ../src/ui/tool/node.cpp:1450
msgctxt "Path node tip"
msgid "<b>Shift</b>: click to toggle selection"
msgstr ""
-#: ../src/ui/tool/node.cpp:1454
+#: ../src/ui/tool/node.cpp:1455
msgctxt "Path node tip"
msgid "<b>Ctrl+Alt</b>: move along handle lines, click to delete node"
msgstr ""
-#: ../src/ui/tool/node.cpp:1457
+#: ../src/ui/tool/node.cpp:1458
msgctxt "Path node tip"
msgid "<b>Ctrl</b>: move along axes, click to change node type"
msgstr ""
-#: ../src/ui/tool/node.cpp:1461
+#: ../src/ui/tool/node.cpp:1462
msgctxt "Path node tip"
msgid "<b>Alt</b>: sculpt nodes"
msgstr ""
-#: ../src/ui/tool/node.cpp:1469
+#: ../src/ui/tool/node.cpp:1470
#, 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:1472
+#: ../src/ui/tool/node.cpp:1473
#, c-format
msgctxt "Path node tip"
msgid ""
-"<b>BSpline node</b>: %g weight, drag to shape the path (more: Shift, Ctrl, "
-"Alt)"
+"<b>BSpline node</b>: drag to shape the path (more: Shift, Ctrl, Alt). %g "
+"power"
msgstr ""
-#: ../src/ui/tool/node.cpp:1475
+#: ../src/ui/tool/node.cpp:1476
#, c-format
msgctxt "Path node tip"
msgid ""
@@ -21819,7 +21800,7 @@ msgid ""
"(more: Shift, Ctrl, Alt)"
msgstr ""
-#: ../src/ui/tool/node.cpp:1479
+#: ../src/ui/tool/node.cpp:1480
#, c-format
msgctxt "Path node tip"
msgid ""
@@ -21827,50 +21808,51 @@ msgid ""
"Shift, Ctrl, Alt)"
msgstr ""
-#: ../src/ui/tool/node.cpp:1482
+#: ../src/ui/tool/node.cpp:1483
+#, c-format
msgctxt "Path node tip"
msgid ""
"<b>BSpline node</b>: drag to shape the path, click to select only this node "
-"(more: Shift, Ctrl, Alt)"
+"(more: Shift, Ctrl, Alt). %g power"
msgstr ""
-#: ../src/ui/tool/node.cpp:1495
+#: ../src/ui/tool/node.cpp:1496
#, c-format
msgctxt "Path node tip"
msgid "Move node by %s, %s"
msgstr ""
-#: ../src/ui/tool/node.cpp:1506
+#: ../src/ui/tool/node.cpp:1507
msgid "Symmetric node"
msgstr ""
-#: ../src/ui/tool/node.cpp:1507
+#: ../src/ui/tool/node.cpp:1508
msgid "Auto-smooth node"
msgstr ""
-#: ../src/ui/tool/path-manipulator.cpp:836
+#: ../src/ui/tool/path-manipulator.cpp:837
msgid "Scale handle"
msgstr ""
-#: ../src/ui/tool/path-manipulator.cpp:860
+#: ../src/ui/tool/path-manipulator.cpp:861
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:1524
+#: ../src/ui/tool/path-manipulator.cpp:1534
#: ../src/widgets/node-toolbar.cpp:397
msgid "Delete node"
msgstr ""
-#: ../src/ui/tool/path-manipulator.cpp:1532
+#: ../src/ui/tool/path-manipulator.cpp:1542
msgid "Cycle node type"
msgstr ""
-#: ../src/ui/tool/path-manipulator.cpp:1547
+#: ../src/ui/tool/path-manipulator.cpp:1557
msgid "Drag handle"
msgstr ""
-#: ../src/ui/tool/path-manipulator.cpp:1556
+#: ../src/ui/tool/path-manipulator.cpp:1566
msgid "Retract handle"
msgstr ""
@@ -22055,7 +22037,7 @@ msgid ""
"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:1584
+#: ../src/ui/tools-switch.cpp:107 ../src/ui/tools/text-tool.cpp:1583
msgid ""
"<b>Click</b> to select or create text, <b>drag</b> to create flowed text; "
"then type."
@@ -22114,7 +22096,7 @@ msgid ""
"<b>Ctrl</b>: make circle or integer-ratio ellipse, snap arc/segment angle"
msgstr ""
-#: ../src/ui/tools/arc-tool.cpp:243 ../src/ui/tools/rect-tool.cpp:279
+#: ../src/ui/tools/arc-tool.cpp:243 ../src/ui/tools/rect-tool.cpp:278
msgid "<b>Shift</b>: draw around the starting point"
msgstr ""
@@ -22200,17 +22182,17 @@ msgstr ""
msgid "<b>Connector endpoint</b>: drag to reroute or connect to new shapes"
msgstr ""
-#: ../src/ui/tools/connector-tool.cpp:1326
+#: ../src/ui/tools/connector-tool.cpp:1324
msgid "Select <b>at least one non-connector object</b>."
msgstr ""
-#: ../src/ui/tools/connector-tool.cpp:1331
-#: ../src/widgets/connector-toolbar.cpp:314
+#: ../src/ui/tools/connector-tool.cpp:1329
+#: ../src/widgets/connector-toolbar.cpp:310
msgid "Make connectors avoid selected objects"
msgstr ""
-#: ../src/ui/tools/connector-tool.cpp:1332
-#: ../src/widgets/connector-toolbar.cpp:324
+#: ../src/ui/tools/connector-tool.cpp:1330
+#: ../src/widgets/connector-toolbar.cpp:320
msgid "Make connectors ignore selected objects"
msgstr ""
@@ -22244,39 +22226,39 @@ msgstr ""
msgid "<b>Drawing</b> an eraser stroke"
msgstr ""
-#: ../src/ui/tools/eraser-tool.cpp:760
+#: ../src/ui/tools/eraser-tool.cpp:753
msgid "Draw eraser stroke"
msgstr ""
-#: ../src/ui/tools/flood-tool.cpp:182
+#: ../src/ui/tools/flood-tool.cpp:90
msgid "Visible Colors"
msgstr ""
-#: ../src/ui/tools/flood-tool.cpp:200
+#: ../src/ui/tools/flood-tool.cpp:102
msgctxt "Flood autogap"
msgid "None"
msgstr ""
-#: ../src/ui/tools/flood-tool.cpp:201
+#: ../src/ui/tools/flood-tool.cpp:103
msgctxt "Flood autogap"
msgid "Small"
msgstr ""
-#: ../src/ui/tools/flood-tool.cpp:202
+#: ../src/ui/tools/flood-tool.cpp:104
msgctxt "Flood autogap"
msgid "Medium"
msgstr ""
-#: ../src/ui/tools/flood-tool.cpp:203
+#: ../src/ui/tools/flood-tool.cpp:105
msgctxt "Flood autogap"
msgid "Large"
msgstr ""
-#: ../src/ui/tools/flood-tool.cpp:425
+#: ../src/ui/tools/flood-tool.cpp:415
msgid "<b>Too much inset</b>, the result is empty."
msgstr ""
-#: ../src/ui/tools/flood-tool.cpp:466
+#: ../src/ui/tools/flood-tool.cpp:456
#, c-format
msgid ""
"Area filled, path with <b>%d</b> node created and unioned with selection."
@@ -22285,32 +22267,32 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ../src/ui/tools/flood-tool.cpp:472
+#: ../src/ui/tools/flood-tool.cpp:462
#, c-format
msgid "Area filled, path with <b>%d</b> node created."
msgid_plural "Area filled, path with <b>%d</b> nodes created."
msgstr[0] ""
msgstr[1] ""
-#: ../src/ui/tools/flood-tool.cpp:740 ../src/ui/tools/flood-tool.cpp:1050
+#: ../src/ui/tools/flood-tool.cpp:730 ../src/ui/tools/flood-tool.cpp:1040
msgid "<b>Area is not bounded</b>, cannot fill."
msgstr ""
-#: ../src/ui/tools/flood-tool.cpp:1055
+#: ../src/ui/tools/flood-tool.cpp:1045
msgid ""
"<b>Only the visible part of the bounded area was filled.</b> If you want to "
"fill all of the area, undo, zoom out, and fill again."
msgstr ""
-#: ../src/ui/tools/flood-tool.cpp:1073 ../src/ui/tools/flood-tool.cpp:1224
+#: ../src/ui/tools/flood-tool.cpp:1063 ../src/ui/tools/flood-tool.cpp:1214
msgid "Fill bounded area"
msgstr ""
-#: ../src/ui/tools/flood-tool.cpp:1089
+#: ../src/ui/tools/flood-tool.cpp:1079
msgid "Set style on object"
msgstr ""
-#: ../src/ui/tools/flood-tool.cpp:1149
+#: ../src/ui/tools/flood-tool.cpp:1139
msgid "<b>Draw over</b> areas to add to fill, hold <b>Alt</b> for touch fill"
msgstr ""
@@ -22391,30 +22373,30 @@ msgstr[1] ""
msgid "Simplify gradient"
msgstr ""
-#: ../src/ui/tools/gradient-tool.cpp:509
+#: ../src/ui/tools/gradient-tool.cpp:510
msgid "Create default gradient"
msgstr ""
-#: ../src/ui/tools/gradient-tool.cpp:568 ../src/ui/tools/mesh-tool.cpp:560
+#: ../src/ui/tools/gradient-tool.cpp:569 ../src/ui/tools/mesh-tool.cpp:561
msgid "<b>Draw around</b> handles to select them"
msgstr ""
-#: ../src/ui/tools/gradient-tool.cpp:691
+#: ../src/ui/tools/gradient-tool.cpp:692
msgid "<b>Ctrl</b>: snap gradient angle"
msgstr ""
-#: ../src/ui/tools/gradient-tool.cpp:692
+#: ../src/ui/tools/gradient-tool.cpp:693
msgid "<b>Shift</b>: draw gradient around the starting point"
msgstr ""
-#: ../src/ui/tools/gradient-tool.cpp:946 ../src/ui/tools/mesh-tool.cpp:983
+#: ../src/ui/tools/gradient-tool.cpp:947 ../src/ui/tools/mesh-tool.cpp:984
#, 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:950 ../src/ui/tools/mesh-tool.cpp:987
+#: ../src/ui/tools/gradient-tool.cpp:951 ../src/ui/tools/mesh-tool.cpp:988
msgid "Select <b>objects</b> on which to create gradient."
msgstr ""
@@ -22469,70 +22451,70 @@ msgstr ""
msgid "Picked mesh corner color."
msgstr ""
-#: ../src/ui/tools/mesh-tool.cpp:488
+#: ../src/ui/tools/mesh-tool.cpp:489
msgid "Create default mesh"
msgstr ""
-#: ../src/ui/tools/mesh-tool.cpp:708
+#: ../src/ui/tools/mesh-tool.cpp:709
msgid "FIXME<b>Ctrl</b>: snap mesh angle"
msgstr ""
-#: ../src/ui/tools/mesh-tool.cpp:709
+#: ../src/ui/tools/mesh-tool.cpp:710
msgid "FIXME<b>Shift</b>: draw mesh around the starting point"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:602
+#: ../src/ui/tools/node-tool.cpp:601
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:606
+#: ../src/ui/tools/node-tool.cpp:605
msgctxt "Node tool tip"
msgid "<b>Shift</b>: drag to add nodes to the selection"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:618
+#: ../src/ui/tools/node-tool.cpp:617
#, 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:624
+#: ../src/ui/tools/node-tool.cpp:623
#, 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:630
+#: ../src/ui/tools/node-tool.cpp:629
#, c-format
msgctxt "Node tool tip"
msgid "%s Drag to select nodes, click clear the selection"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:639
+#: ../src/ui/tools/node-tool.cpp:638
msgctxt "Node tool tip"
msgid "Drag to select nodes, click to edit only this object"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:642
+#: ../src/ui/tools/node-tool.cpp:641
msgctxt "Node tool tip"
msgid "Drag to select nodes, click to clear the selection"
msgstr ""
-#: ../src/ui/tools/node-tool.cpp:647
+#: ../src/ui/tools/node-tool.cpp:646
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:650
+#: ../src/ui/tools/node-tool.cpp:649
msgctxt "Node tool tip"
msgid "Drag to select objects to edit"
msgstr ""
-#: ../src/ui/tools/pen-tool.cpp:224 ../src/ui/tools/pencil-tool.cpp:457
+#: ../src/ui/tools/pen-tool.cpp:224 ../src/ui/tools/pencil-tool.cpp:454
msgid "Drawing cancelled"
msgstr ""
@@ -22635,55 +22617,55 @@ msgid "<b>Drag</b> to continue the path from this point."
msgstr ""
#. Write curves to object
-#: ../src/ui/tools/pencil-tool.cpp:403
+#: ../src/ui/tools/pencil-tool.cpp:401
msgid "Finishing freehand"
msgstr ""
-#: ../src/ui/tools/pencil-tool.cpp:506
+#: ../src/ui/tools/pencil-tool.cpp:503
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:533
+#: ../src/ui/tools/pencil-tool.cpp:530
msgid "Finishing freehand sketch"
msgstr ""
-#: ../src/ui/tools/rect-tool.cpp:278
+#: ../src/ui/tools/rect-tool.cpp:277
msgid ""
"<b>Ctrl</b>: make square or integer-ratio rect, lock a rounded corner "
"circular"
msgstr ""
-#: ../src/ui/tools/rect-tool.cpp:439
+#: ../src/ui/tools/rect-tool.cpp:438
#, c-format
msgid ""
"<b>Rectangle</b>: %s &#215; %s (constrained to ratio %d:%d); with <b>Shift</"
"b> to draw around the starting point"
msgstr ""
-#: ../src/ui/tools/rect-tool.cpp:442
+#: ../src/ui/tools/rect-tool.cpp:441
#, c-format
msgid ""
"<b>Rectangle</b>: %s &#215; %s (constrained to golden ratio 1.618 : 1); with "
"<b>Shift</b> to draw around the starting point"
msgstr ""
-#: ../src/ui/tools/rect-tool.cpp:444
+#: ../src/ui/tools/rect-tool.cpp:443
#, c-format
msgid ""
"<b>Rectangle</b>: %s &#215; %s (constrained to golden ratio 1 : 1.618); with "
"<b>Shift</b> to draw around the starting point"
msgstr ""
-#: ../src/ui/tools/rect-tool.cpp:448
+#: ../src/ui/tools/rect-tool.cpp:447
#, c-format
msgid ""
"<b>Rectangle</b>: %s &#215; %s; with <b>Ctrl</b> to make square or integer-"
"ratio rectangle; with <b>Shift</b> to draw around the starting point"
msgstr ""
-#: ../src/ui/tools/rect-tool.cpp:471
+#: ../src/ui/tools/rect-tool.cpp:470
msgid "Create rectangle"
msgstr ""
@@ -22717,21 +22699,21 @@ msgid ""
"touch selection"
msgstr ""
-#: ../src/ui/tools/select-tool.cpp:941
+#: ../src/ui/tools/select-tool.cpp:939
msgid "<b>Ctrl</b>: click to select in groups; drag to move hor/vert"
msgstr ""
-#: ../src/ui/tools/select-tool.cpp:942
+#: ../src/ui/tools/select-tool.cpp:940
msgid "<b>Shift</b>: click to toggle select; drag for rubberband selection"
msgstr ""
-#: ../src/ui/tools/select-tool.cpp:943
+#: ../src/ui/tools/select-tool.cpp:941
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:1151
+#: ../src/ui/tools/select-tool.cpp:1149
msgid "Selected object is not a group. Cannot enter."
msgstr ""
@@ -22785,19 +22767,19 @@ msgid ""
"initial selection."
msgstr ""
-#: ../src/ui/tools/spray-tool.cpp:654
+#: ../src/ui/tools/spray-tool.cpp:648
msgid "<b>Nothing selected!</b> Select objects to spray."
msgstr ""
-#: ../src/ui/tools/spray-tool.cpp:729 ../src/widgets/spray-toolbar.cpp:166
+#: ../src/ui/tools/spray-tool.cpp:723 ../src/widgets/spray-toolbar.cpp:166
msgid "Spray with copies"
msgstr ""
-#: ../src/ui/tools/spray-tool.cpp:733 ../src/widgets/spray-toolbar.cpp:173
+#: ../src/ui/tools/spray-tool.cpp:727 ../src/widgets/spray-toolbar.cpp:173
msgid "Spray with clones"
msgstr ""
-#: ../src/ui/tools/spray-tool.cpp:737
+#: ../src/ui/tools/spray-tool.cpp:731
msgid "Spray in single path"
msgstr ""
@@ -22941,7 +22923,7 @@ msgstr ""
msgid "Paste text"
msgstr ""
-#: ../src/ui/tools/text-tool.cpp:1574
+#: ../src/ui/tools/text-tool.cpp:1573
#, c-format
msgid ""
"Type or edit flowed text (%d character%s); <b>Enter</b> to start new "
@@ -22952,7 +22934,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ../src/ui/tools/text-tool.cpp:1576
+#: ../src/ui/tools/text-tool.cpp:1575
#, c-format
msgid "Type or edit text (%d character%s); <b>Enter</b> to start new line."
msgid_plural ""
@@ -22960,11 +22942,11 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ../src/ui/tools/text-tool.cpp:1686
+#: ../src/ui/tools/text-tool.cpp:1685
msgid "Type text"
msgstr ""
-#: ../src/ui/tools/tool-base.cpp:705
+#: ../src/ui/tools/tool-base.cpp:701
msgid "<b>Space+mouse move</b> to pan canvas"
msgstr ""
@@ -23036,62 +23018,190 @@ msgid ""
"%s. Drag or click to <b>increase blur</b>; with Shift to <b>decrease</b>."
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1195
+#: ../src/ui/tools/tweak-tool.cpp:1192
msgid "<b>Nothing selected!</b> Select objects to tweak."
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1229
+#: ../src/ui/tools/tweak-tool.cpp:1226
msgid "Move tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1233
+#: ../src/ui/tools/tweak-tool.cpp:1230
msgid "Move in/out tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1237
+#: ../src/ui/tools/tweak-tool.cpp:1234
msgid "Move jitter tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1241
+#: ../src/ui/tools/tweak-tool.cpp:1238
msgid "Scale tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1245
+#: ../src/ui/tools/tweak-tool.cpp:1242
msgid "Rotate tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1249
+#: ../src/ui/tools/tweak-tool.cpp:1246
msgid "Duplicate/delete tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1253
+#: ../src/ui/tools/tweak-tool.cpp:1250
msgid "Push path tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1257
+#: ../src/ui/tools/tweak-tool.cpp:1254
msgid "Shrink/grow path tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1261
+#: ../src/ui/tools/tweak-tool.cpp:1258
msgid "Attract/repel path tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1265
+#: ../src/ui/tools/tweak-tool.cpp:1262
msgid "Roughen path tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1269
+#: ../src/ui/tools/tweak-tool.cpp:1266
msgid "Color paint tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1273
+#: ../src/ui/tools/tweak-tool.cpp:1270
msgid "Color jitter tweak"
msgstr ""
-#: ../src/ui/tools/tweak-tool.cpp:1277
+#: ../src/ui/tools/tweak-tool.cpp:1274
msgid "Blur tweak"
msgstr ""
+#: ../src/ui/widget/color-icc-selector.cpp:176
+#: ../src/ui/widget/color-scales.cpp:378
+msgid "_R:"
+msgstr ""
+
+#. TYPE_RGB_16
+#: ../src/ui/widget/color-icc-selector.cpp:177
+#: ../src/ui/widget/color-scales.cpp:381
+msgid "_G:"
+msgstr ""
+
+#: ../src/ui/widget/color-icc-selector.cpp:178
+#: ../src/ui/widget/color-scales.cpp:384
+msgid "_B:"
+msgstr ""
+
+#: ../src/ui/widget/color-icc-selector.cpp:180
+msgid "Gray"
+msgstr ""
+
+#. TYPE_GRAY_16
+#: ../src/ui/widget/color-icc-selector.cpp:182
+#: ../src/ui/widget/color-icc-selector.cpp:186
+#: ../src/ui/widget/color-scales.cpp:404
+msgid "_H:"
+msgstr ""
+
+#. TYPE_HSV_16
+#: ../src/ui/widget/color-icc-selector.cpp:183
+#: ../src/ui/widget/color-icc-selector.cpp:188
+#: ../src/ui/widget/color-scales.cpp:407
+msgid "_S:"
+msgstr ""
+
+#. TYPE_HLS_16
+#: ../src/ui/widget/color-icc-selector.cpp:187
+#: ../src/ui/widget/color-scales.cpp:410
+msgid "_L:"
+msgstr ""
+
+#: ../src/ui/widget/color-icc-selector.cpp:190
+#: ../src/ui/widget/color-icc-selector.cpp:195
+#: ../src/ui/widget/color-scales.cpp:432
+msgid "_C:"
+msgstr ""
+
+#. TYPE_CMYK_16
+#. TYPE_CMY_16
+#: ../src/ui/widget/color-icc-selector.cpp:191
+#: ../src/ui/widget/color-icc-selector.cpp:196
+#: ../src/ui/widget/color-scales.cpp:435
+msgid "_M:"
+msgstr ""
+
+#: ../src/ui/widget/color-icc-selector.cpp:192
+#: ../src/ui/widget/color-icc-selector.cpp:197
+#: ../src/ui/widget/color-scales.cpp:438
+msgid "_Y:"
+msgstr ""
+
+#: ../src/ui/widget/color-icc-selector.cpp:193
+#: ../src/ui/widget/color-scales.cpp:441
+msgid "_K:"
+msgstr ""
+
+#: ../src/ui/widget/color-icc-selector.cpp:310
+msgid "CMS"
+msgstr ""
+
+#: ../src/ui/widget/color-icc-selector.cpp:375
+msgid "Fix"
+msgstr ""
+
+#: ../src/ui/widget/color-icc-selector.cpp:379
+msgid "Fix RGB fallback to match icc-color() value."
+msgstr ""
+
+#. Label
+#: ../src/ui/widget/color-icc-selector.cpp:491
+#: ../src/ui/widget/color-scales.cpp:387 ../src/ui/widget/color-scales.cpp:413
+#: ../src/ui/widget/color-scales.cpp:444
+#: ../src/ui/widget/color-wheel-selector.cpp:83
+msgid "_A:"
+msgstr ""
+
+#: ../src/ui/widget/color-icc-selector.cpp:502
+#: ../src/ui/widget/color-icc-selector.cpp:513
+#: ../src/ui/widget/color-scales.cpp:388 ../src/ui/widget/color-scales.cpp:389
+#: ../src/ui/widget/color-scales.cpp:414 ../src/ui/widget/color-scales.cpp:415
+#: ../src/ui/widget/color-scales.cpp:445 ../src/ui/widget/color-scales.cpp:446
+#: ../src/ui/widget/color-wheel-selector.cpp:112
+#: ../src/ui/widget/color-wheel-selector.cpp:142
+msgid "Alpha (opacity)"
+msgstr ""
+
+#: ../src/ui/widget/color-notebook.cpp:182
+msgid "Color Managed"
+msgstr ""
+
+#: ../src/ui/widget/color-notebook.cpp:189
+msgid "Out of gamut!"
+msgstr ""
+
+#: ../src/ui/widget/color-notebook.cpp:196
+msgid "Too much ink!"
+msgstr ""
+
+#: ../src/ui/widget/color-notebook.cpp:207 ../src/verbs.cpp:2733
+msgid "Pick colors from image"
+msgstr ""
+
+#. Create RGBA entry and color preview
+#: ../src/ui/widget/color-notebook.cpp:212
+msgid "RGBA_:"
+msgstr ""
+
+#: ../src/ui/widget/color-scales.cpp:46
+msgid "RGB"
+msgstr ""
+
+#: ../src/ui/widget/color-scales.cpp:46
+msgid "HSL"
+msgstr ""
+
+#: ../src/ui/widget/color-scales.cpp:46
+msgid "CMYK"
+msgstr ""
+
#: ../src/ui/widget/filter-effect-chooser.cpp:26
msgid "_Blur:"
msgstr ""
@@ -23100,6 +23210,122 @@ msgstr ""
msgid "Blur (%)"
msgstr ""
+#: ../src/ui/widget/font-variants.cpp:38
+msgid "Ligatures"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:39
+msgid "Common"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:40
+msgid "Discretionary"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:41
+msgid "Historical"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:42
+msgid "Contextual"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:46
+msgid "Subscript"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:47
+msgid "Superscript"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:49
+msgid "Capitals"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:52
+msgid "All small"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:53
+msgid "Petite"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:54
+msgid "All petite"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:55
+msgid "Unicase"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:56
+msgid "Titling"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:58
+msgid "Numeric"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:59
+msgid "Lining"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:60
+msgid "Old Style"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:61
+msgid "Default Style"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:62
+msgid "Proportional"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:63
+msgid "Tabular"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:64
+msgid "Default Width"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:65
+msgid "Diagonal"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:66
+msgid "Stacked"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:67
+msgid "Default Fractions"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:68
+msgid "Ordinal"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:69
+msgid "Slashed Zero"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:80
+msgid "Common ligatures. On by default. OpenType tables: 'liga', 'clig'"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:82
+msgid "Discretionary ligatures. Off by default. OpenType table: 'dlig'"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:84
+msgid "Historical ligatures. Off by default. OpenType table: 'hlig'"
+msgstr ""
+
+#: ../src/ui/widget/font-variants.cpp:86
+msgid "Contextual forms. On by default. OpenType table: 'calt'"
+msgstr ""
+
#: ../src/ui/widget/layer-selector.cpp:118
msgid "Toggle current layer visibility"
msgstr ""
@@ -23134,190 +23360,229 @@ msgstr ""
msgid "Opacity (%)"
msgstr ""
-#: ../src/ui/widget/object-composite-settings.cpp:159
+#: ../src/ui/widget/object-composite-settings.cpp:160
msgid "Change blur"
msgstr ""
-#: ../src/ui/widget/object-composite-settings.cpp:199
+#: ../src/ui/widget/object-composite-settings.cpp:200
#: ../src/ui/widget/selected-style.cpp:943
#: ../src/ui/widget/selected-style.cpp:1245
msgid "Change opacity"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:235
+#: ../src/ui/widget/page-sizer.cpp:236
msgid "U_nits:"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:236
+#: ../src/ui/widget/page-sizer.cpp:237
msgid "Width of paper"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:237
+#: ../src/ui/widget/page-sizer.cpp:238
msgid "Height of paper"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:238
+#: ../src/ui/widget/page-sizer.cpp:239
msgid "T_op margin:"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:238
+#: ../src/ui/widget/page-sizer.cpp:239
msgid "Top margin"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:239
+#: ../src/ui/widget/page-sizer.cpp:240
msgid "L_eft:"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:239
+#: ../src/ui/widget/page-sizer.cpp:240
msgid "Left margin"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:240
+#: ../src/ui/widget/page-sizer.cpp:241
msgid "Ri_ght:"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:240
+#: ../src/ui/widget/page-sizer.cpp:241
msgid "Right margin"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:241
+#: ../src/ui/widget/page-sizer.cpp:242
msgid "Botto_m:"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:241
+#: ../src/ui/widget/page-sizer.cpp:242
msgid "Bottom margin"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:296
+#: ../src/ui/widget/page-sizer.cpp:244
+msgid "Scale _x:"
+msgstr ""
+
+#: ../src/ui/widget/page-sizer.cpp:244
+msgid "Scale X"
+msgstr ""
+
+#: ../src/ui/widget/page-sizer.cpp:245
+msgid "Scale _y:"
+msgstr ""
+
+#: ../src/ui/widget/page-sizer.cpp:245
+msgid "Scale Y"
+msgstr ""
+
+#: ../src/ui/widget/page-sizer.cpp:321
msgid "Orientation:"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:299
+#: ../src/ui/widget/page-sizer.cpp:324
msgid "_Landscape"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:304
+#: ../src/ui/widget/page-sizer.cpp:329
msgid "_Portrait"
msgstr ""
#. ## Set up custom size frame
-#: ../src/ui/widget/page-sizer.cpp:322
+#: ../src/ui/widget/page-sizer.cpp:348
msgid "Custom size"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:367
+#: ../src/ui/widget/page-sizer.cpp:393
msgid "Resi_ze page to content..."
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:419
+#: ../src/ui/widget/page-sizer.cpp:445
msgid "_Resize page to drawing or selection"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:420
+#: ../src/ui/widget/page-sizer.cpp:446
msgid ""
"Resize the page to fit the current selection, or the entire drawing if there "
"is no selection"
msgstr ""
-#: ../src/ui/widget/page-sizer.cpp:489
+#: ../src/ui/widget/page-sizer.cpp:477
+msgid ""
+"While SVG allows non-uniform scaling it is recommended to use only uniform "
+"scaling in Inkscape. To set a non-uniform scaling, set the 'viewBox' "
+"directly."
+msgstr ""
+
+#: ../src/ui/widget/page-sizer.cpp:481
+msgid "_Viewbox..."
+msgstr ""
+
+#: ../src/ui/widget/page-sizer.cpp:588
msgid "Set page size"
msgstr ""
-#: ../src/ui/widget/panel.cpp:117
+#: ../src/ui/widget/page-sizer.cpp:834
+msgid "User units per "
+msgstr ""
+
+#: ../src/ui/widget/page-sizer.cpp:930
+msgid "Set page scale"
+msgstr ""
+
+#: ../src/ui/widget/page-sizer.cpp:956
+msgid "Set 'viewBox'"
+msgstr ""
+
+#: ../src/ui/widget/panel.cpp:113
msgid "List"
msgstr ""
-#: ../src/ui/widget/panel.cpp:140
+#: ../src/ui/widget/panel.cpp:136
msgctxt "Swatches"
msgid "Size"
msgstr ""
-#: ../src/ui/widget/panel.cpp:144
+#: ../src/ui/widget/panel.cpp:140
msgctxt "Swatches height"
msgid "Tiny"
msgstr ""
-#: ../src/ui/widget/panel.cpp:145
+#: ../src/ui/widget/panel.cpp:141
msgctxt "Swatches height"
msgid "Small"
msgstr ""
-#: ../src/ui/widget/panel.cpp:146
+#: ../src/ui/widget/panel.cpp:142
msgctxt "Swatches height"
msgid "Medium"
msgstr ""
-#: ../src/ui/widget/panel.cpp:147
+#: ../src/ui/widget/panel.cpp:143
msgctxt "Swatches height"
msgid "Large"
msgstr ""
-#: ../src/ui/widget/panel.cpp:148
+#: ../src/ui/widget/panel.cpp:144
msgctxt "Swatches height"
msgid "Huge"
msgstr ""
-#: ../src/ui/widget/panel.cpp:170
+#: ../src/ui/widget/panel.cpp:166
msgctxt "Swatches"
msgid "Width"
msgstr ""
-#: ../src/ui/widget/panel.cpp:174
+#: ../src/ui/widget/panel.cpp:170
msgctxt "Swatches width"
msgid "Narrower"
msgstr ""
-#: ../src/ui/widget/panel.cpp:175
+#: ../src/ui/widget/panel.cpp:171
msgctxt "Swatches width"
msgid "Narrow"
msgstr ""
-#: ../src/ui/widget/panel.cpp:176
+#: ../src/ui/widget/panel.cpp:172
msgctxt "Swatches width"
msgid "Medium"
msgstr ""
-#: ../src/ui/widget/panel.cpp:177
+#: ../src/ui/widget/panel.cpp:173
msgctxt "Swatches width"
msgid "Wide"
msgstr ""
-#: ../src/ui/widget/panel.cpp:178
+#: ../src/ui/widget/panel.cpp:174
msgctxt "Swatches width"
msgid "Wider"
msgstr ""
-#: ../src/ui/widget/panel.cpp:208
+#: ../src/ui/widget/panel.cpp:204
msgctxt "Swatches"
msgid "Border"
msgstr ""
-#: ../src/ui/widget/panel.cpp:212
+#: ../src/ui/widget/panel.cpp:208
msgctxt "Swatches border"
msgid "None"
msgstr ""
-#: ../src/ui/widget/panel.cpp:213
+#: ../src/ui/widget/panel.cpp:209
msgctxt "Swatches border"
msgid "Solid"
msgstr ""
-#: ../src/ui/widget/panel.cpp:214
+#: ../src/ui/widget/panel.cpp:210
msgctxt "Swatches border"
msgid "Wide"
msgstr ""
#. TRANSLATORS: "Wrap" indicates how colour swatches are displayed
-#: ../src/ui/widget/panel.cpp:245
+#: ../src/ui/widget/panel.cpp:241
msgctxt "Swatches"
msgid "Wrap"
msgstr ""
-#: ../src/ui/widget/preferences-widget.cpp:802
+#: ../src/ui/widget/preferences-widget.cpp:798
msgid "_Browse..."
msgstr ""
-#: ../src/ui/widget/preferences-widget.cpp:888
+#: ../src/ui/widget/preferences-widget.cpp:884
msgid "Select a bitmap editor"
msgstr ""
@@ -23377,7 +23642,7 @@ msgstr ""
#: ../src/ui/widget/selected-style.cpp:181
#: ../src/ui/widget/selected-style.cpp:1112
#: ../src/ui/widget/selected-style.cpp:1113
-#: ../src/widgets/gradient-toolbar.cpp:162
+#: ../src/widgets/gradient-toolbar.cpp:163
msgid "Nothing selected"
msgstr ""
@@ -23404,7 +23669,7 @@ msgid "No stroke"
msgstr ""
#: ../src/ui/widget/selected-style.cpp:192
-#: ../src/ui/widget/style-swatch.cpp:300 ../src/widgets/paint-selector.cpp:234
+#: ../src/ui/widget/style-swatch.cpp:300 ../src/widgets/paint-selector.cpp:231
msgid "Pattern"
msgstr ""
@@ -23479,14 +23744,14 @@ msgstr ""
#: ../src/ui/widget/selected-style.cpp:237
#: ../src/ui/widget/selected-style.cpp:295
#: ../src/ui/widget/selected-style.cpp:575
-#: ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:709
+#: ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:703
msgid "Unset fill"
msgstr ""
#: ../src/ui/widget/selected-style.cpp:237
#: ../src/ui/widget/selected-style.cpp:295
#: ../src/ui/widget/selected-style.cpp:591
-#: ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:709
+#: ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:703
msgid "Unset stroke"
msgstr ""
@@ -23564,12 +23829,12 @@ msgid "Make stroke opaque"
msgstr ""
#: ../src/ui/widget/selected-style.cpp:299
-#: ../src/ui/widget/selected-style.cpp:557 ../src/widgets/fill-style.cpp:508
+#: ../src/ui/widget/selected-style.cpp:557 ../src/widgets/fill-style.cpp:503
msgid "Remove fill"
msgstr ""
#: ../src/ui/widget/selected-style.cpp:299
-#: ../src/ui/widget/selected-style.cpp:566 ../src/widgets/fill-style.cpp:508
+#: ../src/ui/widget/selected-style.cpp:566 ../src/widgets/fill-style.cpp:503
msgid "Remove stroke"
msgstr ""
@@ -23760,7 +24025,7 @@ msgstr ""
msgid "3D box: Move vanishing point"
msgstr ""
-#: ../src/vanishing-point.cpp:327
+#: ../src/vanishing-point.cpp:328
#, c-format
msgid "<b>Finite</b> vanishing point shared by <b>%d</b> box"
msgid_plural ""
@@ -23771,7 +24036,7 @@ msgstr[1] ""
#. This won't make sense any more when infinite VPs are not shown on the canvas,
#. but currently we update the status message anyway
-#: ../src/vanishing-point.cpp:334
+#: ../src/vanishing-point.cpp:335
#, c-format
msgid "<b>Infinite</b> vanishing point shared by <b>%d</b> box"
msgid_plural ""
@@ -23780,2384 +24045,2375 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: ../src/vanishing-point.cpp:342
+#: ../src/vanishing-point.cpp:343
#, c-format
msgid ""
"shared by <b>%d</b> box; drag with <b>Shift</b> to separate selected box(es)"
msgid_plural ""
-"shared by <b>%d</b> boxes; drag with <b>Shift</b> to separate selected box"
-"(es)"
+"shared by <b>%d</b> boxes; drag with <b>Shift</b> to separate selected "
+"box(es)"
msgstr[0] ""
msgstr[1] ""
-#: ../src/verbs.cpp:138
+#: ../src/verbs.cpp:137
msgid "File"
msgstr ""
-#: ../src/verbs.cpp:233 ../share/extensions/interp_att_g.inx.h:22
+#: ../src/verbs.cpp:232 ../share/extensions/interp_att_g.inx.h:22
msgid "Tag"
msgstr ""
-#: ../src/verbs.cpp:252
+#: ../src/verbs.cpp:251
msgid "Context"
msgstr ""
-#: ../src/verbs.cpp:271 ../src/verbs.cpp:2302
+#: ../src/verbs.cpp:270 ../src/verbs.cpp:2271
#: ../share/extensions/jessyInk_view.inx.h:1
#: ../share/extensions/polyhedron_3d.inx.h:26
msgid "View"
msgstr ""
-#: ../src/verbs.cpp:291
+#: ../src/verbs.cpp:290
msgid "Dialog"
msgstr ""
-#: ../src/verbs.cpp:1260
+#: ../src/verbs.cpp:1259
msgid "Switch to next layer"
msgstr ""
-#: ../src/verbs.cpp:1261
+#: ../src/verbs.cpp:1260
msgid "Switched to next layer."
msgstr ""
-#: ../src/verbs.cpp:1263
+#: ../src/verbs.cpp:1262
msgid "Cannot go past last layer."
msgstr ""
-#: ../src/verbs.cpp:1272
+#: ../src/verbs.cpp:1271
msgid "Switch to previous layer"
msgstr ""
-#: ../src/verbs.cpp:1273
+#: ../src/verbs.cpp:1272
msgid "Switched to previous layer."
msgstr ""
-#: ../src/verbs.cpp:1275
+#: ../src/verbs.cpp:1274
msgid "Cannot go before first layer."
msgstr ""
-#: ../src/verbs.cpp:1296 ../src/verbs.cpp:1393 ../src/verbs.cpp:1429
-#: ../src/verbs.cpp:1435 ../src/verbs.cpp:1459 ../src/verbs.cpp:1474
+#: ../src/verbs.cpp:1295 ../src/verbs.cpp:1362 ../src/verbs.cpp:1398
+#: ../src/verbs.cpp:1404 ../src/verbs.cpp:1428 ../src/verbs.cpp:1443
msgid "No current layer."
msgstr ""
-#: ../src/verbs.cpp:1325 ../src/verbs.cpp:1329
+#: ../src/verbs.cpp:1324 ../src/verbs.cpp:1328
#, c-format
msgid "Raised layer <b>%s</b>."
msgstr ""
-#: ../src/verbs.cpp:1326
+#: ../src/verbs.cpp:1325
msgid "Layer to top"
msgstr ""
-#: ../src/verbs.cpp:1330
+#: ../src/verbs.cpp:1329
msgid "Raise layer"
msgstr ""
-#: ../src/verbs.cpp:1333 ../src/verbs.cpp:1337
+#: ../src/verbs.cpp:1332 ../src/verbs.cpp:1336
#, c-format
msgid "Lowered layer <b>%s</b>."
msgstr ""
-#: ../src/verbs.cpp:1334
+#: ../src/verbs.cpp:1333
msgid "Layer to bottom"
msgstr ""
-#: ../src/verbs.cpp:1338
+#: ../src/verbs.cpp:1337
msgid "Lower layer"
msgstr ""
-#: ../src/verbs.cpp:1347
+#: ../src/verbs.cpp:1346
msgid "Cannot move layer any further."
msgstr ""
-#: ../src/verbs.cpp:1361 ../src/verbs.cpp:1380
-#, c-format
-msgid "%s copy"
-msgstr ""
-
-#: ../src/verbs.cpp:1388
+#: ../src/verbs.cpp:1357
msgid "Duplicate layer"
msgstr ""
#. TRANSLATORS: this means "The layer has been duplicated."
-#: ../src/verbs.cpp:1391
+#: ../src/verbs.cpp:1360
msgid "Duplicated layer."
msgstr ""
-#: ../src/verbs.cpp:1424
+#: ../src/verbs.cpp:1393
msgid "Delete layer"
msgstr ""
#. TRANSLATORS: this means "The layer has been deleted."
-#: ../src/verbs.cpp:1427
+#: ../src/verbs.cpp:1396
msgid "Deleted layer."
msgstr ""
-#: ../src/verbs.cpp:1444
+#: ../src/verbs.cpp:1413
msgid "Show all layers"
msgstr ""
-#: ../src/verbs.cpp:1449
+#: ../src/verbs.cpp:1418
msgid "Hide all layers"
msgstr ""
-#: ../src/verbs.cpp:1454
+#: ../src/verbs.cpp:1423
msgid "Lock all layers"
msgstr ""
-#: ../src/verbs.cpp:1468
+#: ../src/verbs.cpp:1437
msgid "Unlock all layers"
msgstr ""
-#: ../src/verbs.cpp:1552
+#: ../src/verbs.cpp:1521
msgid "Flip horizontally"
msgstr ""
-#: ../src/verbs.cpp:1557
+#: ../src/verbs.cpp:1526
msgid "Flip vertically"
msgstr ""
-#: ../src/verbs.cpp:1614 ../src/verbs.cpp:2727
+#: ../src/verbs.cpp:1583 ../src/verbs.cpp:2696
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:2184
+#: ../src/verbs.cpp:2153
msgid "tutorial-basic.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2188
+#: ../src/verbs.cpp:2157
msgid "tutorial-shapes.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2192
+#: ../src/verbs.cpp:2161
msgid "tutorial-advanced.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2196
+#: ../src/verbs.cpp:2165
msgid "tutorial-tracing.svg"
msgstr ""
-#: ../src/verbs.cpp:2199
+#: ../src/verbs.cpp:2168
msgid "tutorial-tracing-pixelart.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2203
+#: ../src/verbs.cpp:2172
msgid "tutorial-calligraphy.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2207
+#: ../src/verbs.cpp:2176
msgid "tutorial-interpolate.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2211
+#: ../src/verbs.cpp:2180
msgid "tutorial-elements.svg"
msgstr ""
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2215
+#: ../src/verbs.cpp:2184
msgid "tutorial-tips.svg"
msgstr ""
-#: ../src/verbs.cpp:2401 ../src/verbs.cpp:3000
+#: ../src/verbs.cpp:2370 ../src/verbs.cpp:2969
msgid "Unlock all objects in the current layer"
msgstr ""
-#: ../src/verbs.cpp:2405 ../src/verbs.cpp:3002
+#: ../src/verbs.cpp:2374 ../src/verbs.cpp:2971
msgid "Unlock all objects in all layers"
msgstr ""
-#: ../src/verbs.cpp:2409 ../src/verbs.cpp:3004
+#: ../src/verbs.cpp:2378 ../src/verbs.cpp:2973
msgid "Unhide all objects in the current layer"
msgstr ""
-#: ../src/verbs.cpp:2413 ../src/verbs.cpp:3006
+#: ../src/verbs.cpp:2382 ../src/verbs.cpp:2975
msgid "Unhide all objects in all layers"
msgstr ""
-#: ../src/verbs.cpp:2428
+#: ../src/verbs.cpp:2397
msgctxt "Verb"
msgid "None"
msgstr ""
-#: ../src/verbs.cpp:2428
+#: ../src/verbs.cpp:2397
msgid "Does nothing"
msgstr ""
#. File
#. Tag
-#: ../src/verbs.cpp:2431 ../src/verbs.cpp:2726
+#: ../src/verbs.cpp:2400 ../src/verbs.cpp:2695
msgid "_New"
msgstr ""
-#: ../src/verbs.cpp:2431
+#: ../src/verbs.cpp:2400
msgid "Create new document from the default template"
msgstr ""
-#: ../src/verbs.cpp:2433
+#: ../src/verbs.cpp:2402
msgid "_Open..."
msgstr ""
-#: ../src/verbs.cpp:2434
+#: ../src/verbs.cpp:2403
msgid "Open an existing document"
msgstr ""
-#: ../src/verbs.cpp:2435
+#: ../src/verbs.cpp:2404
msgid "Re_vert"
msgstr ""
-#: ../src/verbs.cpp:2436
+#: ../src/verbs.cpp:2405
msgid "Revert to the last saved version of document (changes will be lost)"
msgstr ""
-#: ../src/verbs.cpp:2437
+#: ../src/verbs.cpp:2406
msgid "Save document"
msgstr ""
-#: ../src/verbs.cpp:2439
+#: ../src/verbs.cpp:2408
msgid "Save _As..."
msgstr ""
-#: ../src/verbs.cpp:2440
+#: ../src/verbs.cpp:2409
msgid "Save document under a new name"
msgstr ""
-#: ../src/verbs.cpp:2441
+#: ../src/verbs.cpp:2410
msgid "Save a Cop_y..."
msgstr ""
-#: ../src/verbs.cpp:2442
+#: ../src/verbs.cpp:2411
msgid "Save a copy of the document under a new name"
msgstr ""
-#: ../src/verbs.cpp:2443
+#: ../src/verbs.cpp:2412
msgid "_Print..."
msgstr ""
-#: ../src/verbs.cpp:2443
+#: ../src/verbs.cpp:2412
msgid "Print document"
msgstr ""
#. TRANSLATORS: "Vacuum Defs" means "Clean up defs" (so as to remove unused definitions)
-#: ../src/verbs.cpp:2446
+#: ../src/verbs.cpp:2415
msgid "Clean _up document"
msgstr ""
-#: ../src/verbs.cpp:2446
+#: ../src/verbs.cpp:2415
msgid ""
"Remove unused definitions (such as gradients or clipping paths) from the &lt;"
"defs&gt; of the document"
msgstr ""
-#: ../src/verbs.cpp:2448
+#: ../src/verbs.cpp:2417
msgid "_Import..."
msgstr ""
-#: ../src/verbs.cpp:2449
+#: ../src/verbs.cpp:2418
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:2451
+#: ../src/verbs.cpp:2420
msgid "Import Clip Art..."
msgstr ""
-#: ../src/verbs.cpp:2452
+#: ../src/verbs.cpp:2421
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:2454
+#: ../src/verbs.cpp:2423
msgid "N_ext Window"
msgstr ""
-#: ../src/verbs.cpp:2455
+#: ../src/verbs.cpp:2424
msgid "Switch to the next document window"
msgstr ""
-#: ../src/verbs.cpp:2456
+#: ../src/verbs.cpp:2425
msgid "P_revious Window"
msgstr ""
-#: ../src/verbs.cpp:2457
+#: ../src/verbs.cpp:2426
msgid "Switch to the previous document window"
msgstr ""
-#: ../src/verbs.cpp:2458
+#: ../src/verbs.cpp:2427
msgid "_Close"
msgstr ""
-#: ../src/verbs.cpp:2459
+#: ../src/verbs.cpp:2428
msgid "Close this document window"
msgstr ""
-#: ../src/verbs.cpp:2460
+#: ../src/verbs.cpp:2429
msgid "_Quit"
msgstr ""
-#: ../src/verbs.cpp:2460
+#: ../src/verbs.cpp:2429
msgid "Quit Inkscape"
msgstr ""
-#: ../src/verbs.cpp:2461
+#: ../src/verbs.cpp:2430
msgid "New from _Template..."
msgstr ""
-#: ../src/verbs.cpp:2462
+#: ../src/verbs.cpp:2431
msgid "Create new project from template"
msgstr ""
-#: ../src/verbs.cpp:2465
+#: ../src/verbs.cpp:2434
msgid "Undo last action"
msgstr ""
-#: ../src/verbs.cpp:2468
+#: ../src/verbs.cpp:2437
msgid "Do again the last undone action"
msgstr ""
-#: ../src/verbs.cpp:2469
+#: ../src/verbs.cpp:2438
msgid "Cu_t"
msgstr ""
-#: ../src/verbs.cpp:2470
+#: ../src/verbs.cpp:2439
msgid "Cut selection to clipboard"
msgstr ""
-#: ../src/verbs.cpp:2471
+#: ../src/verbs.cpp:2440
msgid "_Copy"
msgstr ""
-#: ../src/verbs.cpp:2472
+#: ../src/verbs.cpp:2441
msgid "Copy selection to clipboard"
msgstr ""
-#: ../src/verbs.cpp:2473
+#: ../src/verbs.cpp:2442
msgid "_Paste"
msgstr ""
-#: ../src/verbs.cpp:2474
+#: ../src/verbs.cpp:2443
msgid "Paste objects from clipboard to mouse point, or paste text"
msgstr ""
-#: ../src/verbs.cpp:2475
+#: ../src/verbs.cpp:2444
msgid "Paste _Style"
msgstr ""
-#: ../src/verbs.cpp:2476
+#: ../src/verbs.cpp:2445
msgid "Apply the style of the copied object to selection"
msgstr ""
-#: ../src/verbs.cpp:2478
+#: ../src/verbs.cpp:2447
msgid "Scale selection to match the size of the copied object"
msgstr ""
-#: ../src/verbs.cpp:2479
+#: ../src/verbs.cpp:2448
msgid "Paste _Width"
msgstr ""
-#: ../src/verbs.cpp:2480
+#: ../src/verbs.cpp:2449
msgid "Scale selection horizontally to match the width of the copied object"
msgstr ""
-#: ../src/verbs.cpp:2481
+#: ../src/verbs.cpp:2450
msgid "Paste _Height"
msgstr ""
-#: ../src/verbs.cpp:2482
+#: ../src/verbs.cpp:2451
msgid "Scale selection vertically to match the height of the copied object"
msgstr ""
-#: ../src/verbs.cpp:2483
+#: ../src/verbs.cpp:2452
msgid "Paste Size Separately"
msgstr ""
-#: ../src/verbs.cpp:2484
+#: ../src/verbs.cpp:2453
msgid "Scale each selected object to match the size of the copied object"
msgstr ""
-#: ../src/verbs.cpp:2485
+#: ../src/verbs.cpp:2454
msgid "Paste Width Separately"
msgstr ""
-#: ../src/verbs.cpp:2486
+#: ../src/verbs.cpp:2455
msgid ""
"Scale each selected object horizontally to match the width of the copied "
"object"
msgstr ""
-#: ../src/verbs.cpp:2487
+#: ../src/verbs.cpp:2456
msgid "Paste Height Separately"
msgstr ""
-#: ../src/verbs.cpp:2488
+#: ../src/verbs.cpp:2457
msgid ""
"Scale each selected object vertically to match the height of the copied "
"object"
msgstr ""
-#: ../src/verbs.cpp:2489
+#: ../src/verbs.cpp:2458
msgid "Paste _In Place"
msgstr ""
-#: ../src/verbs.cpp:2490
+#: ../src/verbs.cpp:2459
msgid "Paste objects from clipboard to the original location"
msgstr ""
-#: ../src/verbs.cpp:2491
+#: ../src/verbs.cpp:2460
msgid "Paste Path _Effect"
msgstr ""
-#: ../src/verbs.cpp:2492
+#: ../src/verbs.cpp:2461
msgid "Apply the path effect of the copied object to selection"
msgstr ""
-#: ../src/verbs.cpp:2493
+#: ../src/verbs.cpp:2462
msgid "Remove Path _Effect"
msgstr ""
-#: ../src/verbs.cpp:2494
+#: ../src/verbs.cpp:2463
msgid "Remove any path effects from selected objects"
msgstr ""
-#: ../src/verbs.cpp:2495
+#: ../src/verbs.cpp:2464
msgid "_Remove Filters"
msgstr ""
-#: ../src/verbs.cpp:2496
+#: ../src/verbs.cpp:2465
msgid "Remove any filters from selected objects"
msgstr ""
-#: ../src/verbs.cpp:2497
+#: ../src/verbs.cpp:2466
msgid "_Delete"
msgstr ""
-#: ../src/verbs.cpp:2498
+#: ../src/verbs.cpp:2467
msgid "Delete selection"
msgstr ""
-#: ../src/verbs.cpp:2499
+#: ../src/verbs.cpp:2468
msgid "Duplic_ate"
msgstr ""
-#: ../src/verbs.cpp:2500
+#: ../src/verbs.cpp:2469
msgid "Duplicate selected objects"
msgstr ""
-#: ../src/verbs.cpp:2501
+#: ../src/verbs.cpp:2470
msgid "Create Clo_ne"
msgstr ""
-#: ../src/verbs.cpp:2502
+#: ../src/verbs.cpp:2471
msgid "Create a clone (a copy linked to the original) of selected object"
msgstr ""
-#: ../src/verbs.cpp:2503
+#: ../src/verbs.cpp:2472
msgid "Unlin_k Clone"
msgstr ""
-#: ../src/verbs.cpp:2504
+#: ../src/verbs.cpp:2473
msgid ""
"Cut the selected clones' links to the originals, turning them into "
"standalone objects"
msgstr ""
-#: ../src/verbs.cpp:2505
+#: ../src/verbs.cpp:2474
msgid "Relink to Copied"
msgstr ""
-#: ../src/verbs.cpp:2506
+#: ../src/verbs.cpp:2475
msgid "Relink the selected clones to the object currently on the clipboard"
msgstr ""
-#: ../src/verbs.cpp:2507
+#: ../src/verbs.cpp:2476
msgid "Select _Original"
msgstr ""
-#: ../src/verbs.cpp:2508
+#: ../src/verbs.cpp:2477
msgid "Select the object to which the selected clone is linked"
msgstr ""
-#: ../src/verbs.cpp:2509
+#: ../src/verbs.cpp:2478
msgid "Clone original path (LPE)"
msgstr ""
-#: ../src/verbs.cpp:2510
+#: ../src/verbs.cpp:2479
msgid ""
"Creates a new path, applies the Clone original LPE, and refers it to the "
"selected path"
msgstr ""
-#: ../src/verbs.cpp:2511
+#: ../src/verbs.cpp:2480
msgid "Objects to _Marker"
msgstr ""
-#: ../src/verbs.cpp:2512
+#: ../src/verbs.cpp:2481
msgid "Convert selection to a line marker"
msgstr ""
-#: ../src/verbs.cpp:2513
+#: ../src/verbs.cpp:2482
msgid "Objects to Gu_ides"
msgstr ""
-#: ../src/verbs.cpp:2514
+#: ../src/verbs.cpp:2483
msgid ""
"Convert selected objects to a collection of guidelines aligned with their "
"edges"
msgstr ""
-#: ../src/verbs.cpp:2515
+#: ../src/verbs.cpp:2484
msgid "Objects to Patter_n"
msgstr ""
-#: ../src/verbs.cpp:2516
+#: ../src/verbs.cpp:2485
msgid "Convert selection to a rectangle with tiled pattern fill"
msgstr ""
-#: ../src/verbs.cpp:2517
+#: ../src/verbs.cpp:2486
msgid "Pattern to _Objects"
msgstr ""
-#: ../src/verbs.cpp:2518
+#: ../src/verbs.cpp:2487
msgid "Extract objects from a tiled pattern fill"
msgstr ""
-#: ../src/verbs.cpp:2519
+#: ../src/verbs.cpp:2488
msgid "Group to Symbol"
msgstr ""
-#: ../src/verbs.cpp:2520
+#: ../src/verbs.cpp:2489
msgid "Convert group to a symbol"
msgstr ""
-#: ../src/verbs.cpp:2521
+#: ../src/verbs.cpp:2490
msgid "Symbol to Group"
msgstr ""
-#: ../src/verbs.cpp:2522
+#: ../src/verbs.cpp:2491
msgid "Extract group from a symbol"
msgstr ""
-#: ../src/verbs.cpp:2523
+#: ../src/verbs.cpp:2492
msgid "Clea_r All"
msgstr ""
-#: ../src/verbs.cpp:2524
+#: ../src/verbs.cpp:2493
msgid "Delete all objects from document"
msgstr ""
-#: ../src/verbs.cpp:2525
+#: ../src/verbs.cpp:2494
msgid "Select Al_l"
msgstr ""
-#: ../src/verbs.cpp:2526
+#: ../src/verbs.cpp:2495
msgid "Select all objects or all nodes"
msgstr ""
-#: ../src/verbs.cpp:2527
+#: ../src/verbs.cpp:2496
msgid "Select All in All La_yers"
msgstr ""
-#: ../src/verbs.cpp:2528
+#: ../src/verbs.cpp:2497
msgid "Select all objects in all visible and unlocked layers"
msgstr ""
-#: ../src/verbs.cpp:2529
+#: ../src/verbs.cpp:2498
msgid "Fill _and Stroke"
msgstr ""
-#: ../src/verbs.cpp:2530
+#: ../src/verbs.cpp:2499
msgid ""
"Select all objects with the same fill and stroke as the selected objects"
msgstr ""
-#: ../src/verbs.cpp:2531
+#: ../src/verbs.cpp:2500
msgid "_Fill Color"
msgstr ""
-#: ../src/verbs.cpp:2532
+#: ../src/verbs.cpp:2501
msgid "Select all objects with the same fill as the selected objects"
msgstr ""
-#: ../src/verbs.cpp:2533
+#: ../src/verbs.cpp:2502
msgid "_Stroke Color"
msgstr ""
-#: ../src/verbs.cpp:2534
+#: ../src/verbs.cpp:2503
msgid "Select all objects with the same stroke as the selected objects"
msgstr ""
-#: ../src/verbs.cpp:2535
+#: ../src/verbs.cpp:2504
msgid "Stroke St_yle"
msgstr ""
-#: ../src/verbs.cpp:2536
+#: ../src/verbs.cpp:2505
msgid ""
"Select all objects with the same stroke style (width, dash, markers) as the "
"selected objects"
msgstr ""
-#: ../src/verbs.cpp:2537
+#: ../src/verbs.cpp:2506
msgid "_Object Type"
msgstr ""
-#: ../src/verbs.cpp:2538
+#: ../src/verbs.cpp:2507
msgid ""
"Select all objects with the same object type (rect, arc, text, path, bitmap "
"etc) as the selected objects"
msgstr ""
-#: ../src/verbs.cpp:2539
+#: ../src/verbs.cpp:2508
msgid "In_vert Selection"
msgstr ""
-#: ../src/verbs.cpp:2540
+#: ../src/verbs.cpp:2509
msgid "Invert selection (unselect what is selected and select everything else)"
msgstr ""
-#: ../src/verbs.cpp:2541
+#: ../src/verbs.cpp:2510
msgid "Invert in All Layers"
msgstr ""
-#: ../src/verbs.cpp:2542
+#: ../src/verbs.cpp:2511
msgid "Invert selection in all visible and unlocked layers"
msgstr ""
-#: ../src/verbs.cpp:2543
+#: ../src/verbs.cpp:2512
msgid "Select Next"
msgstr ""
-#: ../src/verbs.cpp:2544
+#: ../src/verbs.cpp:2513
msgid "Select next object or node"
msgstr ""
-#: ../src/verbs.cpp:2545
+#: ../src/verbs.cpp:2514
msgid "Select Previous"
msgstr ""
-#: ../src/verbs.cpp:2546
+#: ../src/verbs.cpp:2515
msgid "Select previous object or node"
msgstr ""
-#: ../src/verbs.cpp:2547
+#: ../src/verbs.cpp:2516
msgid "D_eselect"
msgstr ""
-#: ../src/verbs.cpp:2548
+#: ../src/verbs.cpp:2517
msgid "Deselect any selected objects or nodes"
msgstr ""
-#: ../src/verbs.cpp:2550
+#: ../src/verbs.cpp:2519
msgid "Delete all the guides in the document"
msgstr ""
-#: ../src/verbs.cpp:2551
+#: ../src/verbs.cpp:2520
msgid "Create _Guides Around the Page"
msgstr ""
-#: ../src/verbs.cpp:2552
+#: ../src/verbs.cpp:2521
msgid "Create four guides aligned with the page borders"
msgstr ""
-#: ../src/verbs.cpp:2553
+#: ../src/verbs.cpp:2522
msgid "Next path effect parameter"
msgstr ""
-#: ../src/verbs.cpp:2554
+#: ../src/verbs.cpp:2523
msgid "Show next editable path effect parameter"
msgstr ""
#. Selection
-#: ../src/verbs.cpp:2557
+#: ../src/verbs.cpp:2526
msgid "Raise to _Top"
msgstr ""
-#: ../src/verbs.cpp:2558
+#: ../src/verbs.cpp:2527
msgid "Raise selection to top"
msgstr ""
-#: ../src/verbs.cpp:2559
+#: ../src/verbs.cpp:2528
msgid "Lower to _Bottom"
msgstr ""
-#: ../src/verbs.cpp:2560
+#: ../src/verbs.cpp:2529
msgid "Lower selection to bottom"
msgstr ""
-#: ../src/verbs.cpp:2561
+#: ../src/verbs.cpp:2530
msgid "_Raise"
msgstr ""
-#: ../src/verbs.cpp:2562
+#: ../src/verbs.cpp:2531
msgid "Raise selection one step"
msgstr ""
-#: ../src/verbs.cpp:2563
+#: ../src/verbs.cpp:2532
msgid "_Lower"
msgstr ""
-#: ../src/verbs.cpp:2564
+#: ../src/verbs.cpp:2533
msgid "Lower selection one step"
msgstr ""
-#: ../src/verbs.cpp:2566
+#: ../src/verbs.cpp:2535
msgid "Group selected objects"
msgstr ""
-#: ../src/verbs.cpp:2568
+#: ../src/verbs.cpp:2537
msgid "Ungroup selected groups"
msgstr ""
-#: ../src/verbs.cpp:2570
+#: ../src/verbs.cpp:2539
msgid "_Put on Path"
msgstr ""
-#: ../src/verbs.cpp:2572
+#: ../src/verbs.cpp:2541
msgid "_Remove from Path"
msgstr ""
-#: ../src/verbs.cpp:2574
+#: ../src/verbs.cpp:2543
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:2577
+#: ../src/verbs.cpp:2546
msgid "Remove all manual kerns and glyph rotations from a text object"
msgstr ""
-#: ../src/verbs.cpp:2579
+#: ../src/verbs.cpp:2548
msgid "_Union"
msgstr ""
-#: ../src/verbs.cpp:2580
+#: ../src/verbs.cpp:2549
msgid "Create union of selected paths"
msgstr ""
-#: ../src/verbs.cpp:2581
+#: ../src/verbs.cpp:2550
msgid "_Intersection"
msgstr ""
-#: ../src/verbs.cpp:2582
+#: ../src/verbs.cpp:2551
msgid "Create intersection of selected paths"
msgstr ""
-#: ../src/verbs.cpp:2583
+#: ../src/verbs.cpp:2552
msgid "_Difference"
msgstr ""
-#: ../src/verbs.cpp:2584
+#: ../src/verbs.cpp:2553
msgid "Create difference of selected paths (bottom minus top)"
msgstr ""
-#: ../src/verbs.cpp:2585
+#: ../src/verbs.cpp:2554
msgid "E_xclusion"
msgstr ""
-#: ../src/verbs.cpp:2586
+#: ../src/verbs.cpp:2555
msgid ""
"Create exclusive OR of selected paths (those parts that belong to only one "
"path)"
msgstr ""
-#: ../src/verbs.cpp:2587
+#: ../src/verbs.cpp:2556
msgid "Di_vision"
msgstr ""
-#: ../src/verbs.cpp:2588
+#: ../src/verbs.cpp:2557
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:2591
+#: ../src/verbs.cpp:2560
msgid "Cut _Path"
msgstr ""
-#: ../src/verbs.cpp:2592
+#: ../src/verbs.cpp:2561
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:2596
+#: ../src/verbs.cpp:2565
msgid "Outs_et"
msgstr ""
-#: ../src/verbs.cpp:2597
+#: ../src/verbs.cpp:2566
msgid "Outset selected paths"
msgstr ""
-#: ../src/verbs.cpp:2599
+#: ../src/verbs.cpp:2568
msgid "O_utset Path by 1 px"
msgstr ""
-#: ../src/verbs.cpp:2600
+#: ../src/verbs.cpp:2569
msgid "Outset selected paths by 1 px"
msgstr ""
-#: ../src/verbs.cpp:2602
+#: ../src/verbs.cpp:2571
msgid "O_utset Path by 10 px"
msgstr ""
-#: ../src/verbs.cpp:2603
+#: ../src/verbs.cpp:2572
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:2607
+#: ../src/verbs.cpp:2576
msgid "I_nset"
msgstr ""
-#: ../src/verbs.cpp:2608
+#: ../src/verbs.cpp:2577
msgid "Inset selected paths"
msgstr ""
-#: ../src/verbs.cpp:2610
+#: ../src/verbs.cpp:2579
msgid "I_nset Path by 1 px"
msgstr ""
-#: ../src/verbs.cpp:2611
+#: ../src/verbs.cpp:2580
msgid "Inset selected paths by 1 px"
msgstr ""
-#: ../src/verbs.cpp:2613
+#: ../src/verbs.cpp:2582
msgid "I_nset Path by 10 px"
msgstr ""
-#: ../src/verbs.cpp:2614
+#: ../src/verbs.cpp:2583
msgid "Inset selected paths by 10 px"
msgstr ""
-#: ../src/verbs.cpp:2616
+#: ../src/verbs.cpp:2585
msgid "D_ynamic Offset"
msgstr ""
-#: ../src/verbs.cpp:2616
+#: ../src/verbs.cpp:2585
msgid "Create a dynamic offset object"
msgstr ""
-#: ../src/verbs.cpp:2618
+#: ../src/verbs.cpp:2587
msgid "_Linked Offset"
msgstr ""
-#: ../src/verbs.cpp:2619
+#: ../src/verbs.cpp:2588
msgid "Create a dynamic offset object linked to the original path"
msgstr ""
-#: ../src/verbs.cpp:2621
+#: ../src/verbs.cpp:2590
msgid "_Stroke to Path"
msgstr ""
-#: ../src/verbs.cpp:2622
+#: ../src/verbs.cpp:2591
msgid "Convert selected object's stroke to paths"
msgstr ""
-#: ../src/verbs.cpp:2623
+#: ../src/verbs.cpp:2592
msgid "Si_mplify"
msgstr ""
-#: ../src/verbs.cpp:2624
+#: ../src/verbs.cpp:2593
msgid "Simplify selected paths (remove extra nodes)"
msgstr ""
-#: ../src/verbs.cpp:2625
+#: ../src/verbs.cpp:2594
msgid "_Reverse"
msgstr ""
-#: ../src/verbs.cpp:2626
+#: ../src/verbs.cpp:2595
msgid "Reverse the direction of selected paths (useful for flipping markers)"
msgstr ""
-#: ../src/verbs.cpp:2629
+#: ../src/verbs.cpp:2598
msgid "Create one or more paths from a bitmap by tracing it"
msgstr ""
-#: ../src/verbs.cpp:2630
+#: ../src/verbs.cpp:2599
msgid "Trace Pixel Art..."
msgstr ""
-#: ../src/verbs.cpp:2631
+#: ../src/verbs.cpp:2600
msgid "Create paths using Kopf-Lischinski algorithm to vectorize pixel art"
msgstr ""
-#: ../src/verbs.cpp:2632
+#: ../src/verbs.cpp:2601
msgid "Make a _Bitmap Copy"
msgstr ""
-#: ../src/verbs.cpp:2633
+#: ../src/verbs.cpp:2602
msgid "Export selection to a bitmap and insert it into document"
msgstr ""
-#: ../src/verbs.cpp:2634
+#: ../src/verbs.cpp:2603
msgid "_Combine"
msgstr ""
-#: ../src/verbs.cpp:2635
+#: ../src/verbs.cpp:2604
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:2638
+#: ../src/verbs.cpp:2607
msgid "Break _Apart"
msgstr ""
-#: ../src/verbs.cpp:2639
+#: ../src/verbs.cpp:2608
msgid "Break selected paths into subpaths"
msgstr ""
-#: ../src/verbs.cpp:2640
+#: ../src/verbs.cpp:2609
msgid "_Arrange..."
msgstr ""
-#: ../src/verbs.cpp:2641
+#: ../src/verbs.cpp:2610
msgid "Arrange selected objects in a table or circle"
msgstr ""
#. Layer
-#: ../src/verbs.cpp:2643
+#: ../src/verbs.cpp:2612
msgid "_Add Layer..."
msgstr ""
-#: ../src/verbs.cpp:2644
+#: ../src/verbs.cpp:2613
msgid "Create a new layer"
msgstr ""
-#: ../src/verbs.cpp:2645
+#: ../src/verbs.cpp:2614
msgid "Re_name Layer..."
msgstr ""
-#: ../src/verbs.cpp:2646
+#: ../src/verbs.cpp:2615
msgid "Rename the current layer"
msgstr ""
-#: ../src/verbs.cpp:2647
+#: ../src/verbs.cpp:2616
msgid "Switch to Layer Abov_e"
msgstr ""
-#: ../src/verbs.cpp:2648
+#: ../src/verbs.cpp:2617
msgid "Switch to the layer above the current"
msgstr ""
-#: ../src/verbs.cpp:2649
+#: ../src/verbs.cpp:2618
msgid "Switch to Layer Belo_w"
msgstr ""
-#: ../src/verbs.cpp:2650
+#: ../src/verbs.cpp:2619
msgid "Switch to the layer below the current"
msgstr ""
-#: ../src/verbs.cpp:2651
+#: ../src/verbs.cpp:2620
msgid "Move Selection to Layer Abo_ve"
msgstr ""
-#: ../src/verbs.cpp:2652
+#: ../src/verbs.cpp:2621
msgid "Move selection to the layer above the current"
msgstr ""
-#: ../src/verbs.cpp:2653
+#: ../src/verbs.cpp:2622
msgid "Move Selection to Layer Bel_ow"
msgstr ""
-#: ../src/verbs.cpp:2654
+#: ../src/verbs.cpp:2623
msgid "Move selection to the layer below the current"
msgstr ""
-#: ../src/verbs.cpp:2655
+#: ../src/verbs.cpp:2624
msgid "Move Selection to Layer..."
msgstr ""
-#: ../src/verbs.cpp:2657
+#: ../src/verbs.cpp:2626
msgid "Layer to _Top"
msgstr ""
-#: ../src/verbs.cpp:2658
+#: ../src/verbs.cpp:2627
msgid "Raise the current layer to the top"
msgstr ""
-#: ../src/verbs.cpp:2659
+#: ../src/verbs.cpp:2628
msgid "Layer to _Bottom"
msgstr ""
-#: ../src/verbs.cpp:2660
+#: ../src/verbs.cpp:2629
msgid "Lower the current layer to the bottom"
msgstr ""
-#: ../src/verbs.cpp:2661
+#: ../src/verbs.cpp:2630
msgid "_Raise Layer"
msgstr ""
-#: ../src/verbs.cpp:2662
+#: ../src/verbs.cpp:2631
msgid "Raise the current layer"
msgstr ""
-#: ../src/verbs.cpp:2663
+#: ../src/verbs.cpp:2632
msgid "_Lower Layer"
msgstr ""
-#: ../src/verbs.cpp:2664
+#: ../src/verbs.cpp:2633
msgid "Lower the current layer"
msgstr ""
-#: ../src/verbs.cpp:2665
+#: ../src/verbs.cpp:2634
msgid "D_uplicate Current Layer"
msgstr ""
-#: ../src/verbs.cpp:2666
+#: ../src/verbs.cpp:2635
msgid "Duplicate an existing layer"
msgstr ""
-#: ../src/verbs.cpp:2667
+#: ../src/verbs.cpp:2636
msgid "_Delete Current Layer"
msgstr ""
-#: ../src/verbs.cpp:2668
+#: ../src/verbs.cpp:2637
msgid "Delete the current layer"
msgstr ""
-#: ../src/verbs.cpp:2669
+#: ../src/verbs.cpp:2638
msgid "_Show/hide other layers"
msgstr ""
-#: ../src/verbs.cpp:2670
+#: ../src/verbs.cpp:2639
msgid "Solo the current layer"
msgstr ""
-#: ../src/verbs.cpp:2671
+#: ../src/verbs.cpp:2640
msgid "_Show all layers"
msgstr ""
-#: ../src/verbs.cpp:2672
+#: ../src/verbs.cpp:2641
msgid "Show all the layers"
msgstr ""
-#: ../src/verbs.cpp:2673
+#: ../src/verbs.cpp:2642
msgid "_Hide all layers"
msgstr ""
-#: ../src/verbs.cpp:2674
+#: ../src/verbs.cpp:2643
msgid "Hide all the layers"
msgstr ""
-#: ../src/verbs.cpp:2675
+#: ../src/verbs.cpp:2644
msgid "_Lock all layers"
msgstr ""
-#: ../src/verbs.cpp:2676
+#: ../src/verbs.cpp:2645
msgid "Lock all the layers"
msgstr ""
-#: ../src/verbs.cpp:2677
+#: ../src/verbs.cpp:2646
msgid "Lock/Unlock _other layers"
msgstr ""
-#: ../src/verbs.cpp:2678
+#: ../src/verbs.cpp:2647
msgid "Lock all the other layers"
msgstr ""
-#: ../src/verbs.cpp:2679
+#: ../src/verbs.cpp:2648
msgid "_Unlock all layers"
msgstr ""
-#: ../src/verbs.cpp:2680
+#: ../src/verbs.cpp:2649
msgid "Unlock all the layers"
msgstr ""
-#: ../src/verbs.cpp:2681
+#: ../src/verbs.cpp:2650
msgid "_Lock/Unlock Current Layer"
msgstr ""
-#: ../src/verbs.cpp:2682
+#: ../src/verbs.cpp:2651
msgid "Toggle lock on current layer"
msgstr ""
-#: ../src/verbs.cpp:2683
+#: ../src/verbs.cpp:2652
msgid "_Show/hide Current Layer"
msgstr ""
-#: ../src/verbs.cpp:2684
+#: ../src/verbs.cpp:2653
msgid "Toggle visibility of current layer"
msgstr ""
#. Object
-#: ../src/verbs.cpp:2687
+#: ../src/verbs.cpp:2656
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:2690
+#: ../src/verbs.cpp:2659
msgid "Rotate selection 90° clockwise"
msgstr ""
-#: ../src/verbs.cpp:2691
+#: ../src/verbs.cpp:2660
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:2694
+#: ../src/verbs.cpp:2663
msgid "Rotate selection 90° counter-clockwise"
msgstr ""
-#: ../src/verbs.cpp:2695
+#: ../src/verbs.cpp:2664
msgid "Remove _Transformations"
msgstr ""
-#: ../src/verbs.cpp:2696
+#: ../src/verbs.cpp:2665
msgid "Remove transformations from object"
msgstr ""
-#: ../src/verbs.cpp:2697
+#: ../src/verbs.cpp:2666
msgid "_Object to Path"
msgstr ""
-#: ../src/verbs.cpp:2698
+#: ../src/verbs.cpp:2667
msgid "Convert selected object to path"
msgstr ""
-#: ../src/verbs.cpp:2699
+#: ../src/verbs.cpp:2668
msgid "_Flow into Frame"
msgstr ""
-#: ../src/verbs.cpp:2700
+#: ../src/verbs.cpp:2669
msgid ""
"Put text into a frame (path or shape), creating a flowed text linked to the "
"frame object"
msgstr ""
-#: ../src/verbs.cpp:2701
+#: ../src/verbs.cpp:2670
msgid "_Unflow"
msgstr ""
-#: ../src/verbs.cpp:2702
+#: ../src/verbs.cpp:2671
msgid "Remove text from frame (creates a single-line text object)"
msgstr ""
-#: ../src/verbs.cpp:2703
+#: ../src/verbs.cpp:2672
msgid "_Convert to Text"
msgstr ""
-#: ../src/verbs.cpp:2704
+#: ../src/verbs.cpp:2673
msgid "Convert flowed text to regular text object (preserves appearance)"
msgstr ""
-#: ../src/verbs.cpp:2706
+#: ../src/verbs.cpp:2675
msgid "Flip _Horizontal"
msgstr ""
-#: ../src/verbs.cpp:2706
+#: ../src/verbs.cpp:2675
msgid "Flip selected objects horizontally"
msgstr ""
-#: ../src/verbs.cpp:2709
+#: ../src/verbs.cpp:2678
msgid "Flip _Vertical"
msgstr ""
-#: ../src/verbs.cpp:2709
+#: ../src/verbs.cpp:2678
msgid "Flip selected objects vertically"
msgstr ""
-#: ../src/verbs.cpp:2712
+#: ../src/verbs.cpp:2681
msgid "Apply mask to selection (using the topmost object as mask)"
msgstr ""
-#: ../src/verbs.cpp:2714
+#: ../src/verbs.cpp:2683
msgid "Edit mask"
msgstr ""
-#: ../src/verbs.cpp:2715 ../src/verbs.cpp:2723
+#: ../src/verbs.cpp:2684 ../src/verbs.cpp:2692
msgid "_Release"
msgstr ""
-#: ../src/verbs.cpp:2716
+#: ../src/verbs.cpp:2685
msgid "Remove mask from selection"
msgstr ""
-#: ../src/verbs.cpp:2718
+#: ../src/verbs.cpp:2687
msgid ""
"Apply clipping path to selection (using the topmost object as clipping path)"
msgstr ""
-#: ../src/verbs.cpp:2719
+#: ../src/verbs.cpp:2688
msgid "Create Cl_ip Group"
msgstr ""
-#: ../src/verbs.cpp:2720
+#: ../src/verbs.cpp:2689
msgid "Creates a clip group using the selected objects as a base"
msgstr ""
-#: ../src/verbs.cpp:2722
+#: ../src/verbs.cpp:2691
msgid "Edit clipping path"
msgstr ""
-#: ../src/verbs.cpp:2724
+#: ../src/verbs.cpp:2693
msgid "Remove clipping path from selection"
msgstr ""
#. Tools
-#: ../src/verbs.cpp:2729
+#: ../src/verbs.cpp:2698
msgctxt "ContextVerb"
msgid "Select"
msgstr ""
-#: ../src/verbs.cpp:2730
+#: ../src/verbs.cpp:2699
msgid "Select and transform objects"
msgstr ""
-#: ../src/verbs.cpp:2731
+#: ../src/verbs.cpp:2700
msgctxt "ContextVerb"
msgid "Node Edit"
msgstr ""
-#: ../src/verbs.cpp:2732
+#: ../src/verbs.cpp:2701
msgid "Edit paths by nodes"
msgstr ""
-#: ../src/verbs.cpp:2733
+#: ../src/verbs.cpp:2702
msgctxt "ContextVerb"
msgid "Tweak"
msgstr ""
-#: ../src/verbs.cpp:2734
+#: ../src/verbs.cpp:2703
msgid "Tweak objects by sculpting or painting"
msgstr ""
-#: ../src/verbs.cpp:2735
+#: ../src/verbs.cpp:2704
msgctxt "ContextVerb"
msgid "Spray"
msgstr ""
-#: ../src/verbs.cpp:2736
+#: ../src/verbs.cpp:2705
msgid "Spray objects by sculpting or painting"
msgstr ""
-#: ../src/verbs.cpp:2737
+#: ../src/verbs.cpp:2706
msgctxt "ContextVerb"
msgid "Rectangle"
msgstr ""
-#: ../src/verbs.cpp:2738
+#: ../src/verbs.cpp:2707
msgid "Create rectangles and squares"
msgstr ""
-#: ../src/verbs.cpp:2739
+#: ../src/verbs.cpp:2708
msgctxt "ContextVerb"
msgid "3D Box"
msgstr ""
-#: ../src/verbs.cpp:2740
+#: ../src/verbs.cpp:2709
msgid "Create 3D boxes"
msgstr ""
-#: ../src/verbs.cpp:2741
+#: ../src/verbs.cpp:2710
msgctxt "ContextVerb"
msgid "Ellipse"
msgstr ""
-#: ../src/verbs.cpp:2742
+#: ../src/verbs.cpp:2711
msgid "Create circles, ellipses, and arcs"
msgstr ""
-#: ../src/verbs.cpp:2743
+#: ../src/verbs.cpp:2712
msgctxt "ContextVerb"
msgid "Star"
msgstr ""
-#: ../src/verbs.cpp:2744
+#: ../src/verbs.cpp:2713
msgid "Create stars and polygons"
msgstr ""
-#: ../src/verbs.cpp:2745
+#: ../src/verbs.cpp:2714
msgctxt "ContextVerb"
msgid "Spiral"
msgstr ""
-#: ../src/verbs.cpp:2746
+#: ../src/verbs.cpp:2715
msgid "Create spirals"
msgstr ""
-#: ../src/verbs.cpp:2747
+#: ../src/verbs.cpp:2716
msgctxt "ContextVerb"
msgid "Pencil"
msgstr ""
-#: ../src/verbs.cpp:2748
+#: ../src/verbs.cpp:2717
msgid "Draw freehand lines"
msgstr ""
-#: ../src/verbs.cpp:2749
+#: ../src/verbs.cpp:2718
msgctxt "ContextVerb"
msgid "Pen"
msgstr ""
-#: ../src/verbs.cpp:2750
+#: ../src/verbs.cpp:2719
msgid "Draw Bezier curves and straight lines"
msgstr ""
-#: ../src/verbs.cpp:2751
+#: ../src/verbs.cpp:2720
msgctxt "ContextVerb"
msgid "Calligraphy"
msgstr ""
-#: ../src/verbs.cpp:2752
+#: ../src/verbs.cpp:2721
msgid "Draw calligraphic or brush strokes"
msgstr ""
-#: ../src/verbs.cpp:2754
+#: ../src/verbs.cpp:2723
msgid "Create and edit text objects"
msgstr ""
-#: ../src/verbs.cpp:2755
+#: ../src/verbs.cpp:2724
msgctxt "ContextVerb"
msgid "Gradient"
msgstr ""
-#: ../src/verbs.cpp:2756
+#: ../src/verbs.cpp:2725
msgid "Create and edit gradients"
msgstr ""
-#: ../src/verbs.cpp:2757
+#: ../src/verbs.cpp:2726
msgctxt "ContextVerb"
msgid "Mesh"
msgstr ""
-#: ../src/verbs.cpp:2758
+#: ../src/verbs.cpp:2727
msgid "Create and edit meshes"
msgstr ""
-#: ../src/verbs.cpp:2759
+#: ../src/verbs.cpp:2728
msgctxt "ContextVerb"
msgid "Zoom"
msgstr ""
-#: ../src/verbs.cpp:2760
+#: ../src/verbs.cpp:2729
msgid "Zoom in or out"
msgstr ""
-#: ../src/verbs.cpp:2762
+#: ../src/verbs.cpp:2731
msgid "Measurement tool"
msgstr ""
-#: ../src/verbs.cpp:2763
+#: ../src/verbs.cpp:2732
msgctxt "ContextVerb"
msgid "Dropper"
msgstr ""
-#: ../src/verbs.cpp:2764 ../src/widgets/sp-color-notebook.cpp:396
-msgid "Pick colors from image"
-msgstr ""
-
-#: ../src/verbs.cpp:2765
+#: ../src/verbs.cpp:2734
msgctxt "ContextVerb"
msgid "Connector"
msgstr ""
-#: ../src/verbs.cpp:2766
+#: ../src/verbs.cpp:2735
msgid "Create diagram connectors"
msgstr ""
-#: ../src/verbs.cpp:2767
+#: ../src/verbs.cpp:2736
msgctxt "ContextVerb"
msgid "Paint Bucket"
msgstr ""
-#: ../src/verbs.cpp:2768
+#: ../src/verbs.cpp:2737
msgid "Fill bounded areas"
msgstr ""
-#: ../src/verbs.cpp:2769
+#: ../src/verbs.cpp:2738
msgctxt "ContextVerb"
msgid "LPE Edit"
msgstr ""
-#: ../src/verbs.cpp:2770
+#: ../src/verbs.cpp:2739
msgid "Edit Path Effect parameters"
msgstr ""
-#: ../src/verbs.cpp:2771
+#: ../src/verbs.cpp:2740
msgctxt "ContextVerb"
msgid "Eraser"
msgstr ""
-#: ../src/verbs.cpp:2772
+#: ../src/verbs.cpp:2741
msgid "Erase existing paths"
msgstr ""
-#: ../src/verbs.cpp:2773
+#: ../src/verbs.cpp:2742
msgctxt "ContextVerb"
msgid "LPE Tool"
msgstr ""
-#: ../src/verbs.cpp:2774
+#: ../src/verbs.cpp:2743
msgid "Do geometric constructions"
msgstr ""
#. Tool prefs
-#: ../src/verbs.cpp:2776
+#: ../src/verbs.cpp:2745
msgid "Selector Preferences"
msgstr ""
-#: ../src/verbs.cpp:2777
+#: ../src/verbs.cpp:2746
msgid "Open Preferences for the Selector tool"
msgstr ""
-#: ../src/verbs.cpp:2778
+#: ../src/verbs.cpp:2747
msgid "Node Tool Preferences"
msgstr ""
-#: ../src/verbs.cpp:2779
+#: ../src/verbs.cpp:2748
msgid "Open Preferences for the Node tool"
msgstr ""
-#: ../src/verbs.cpp:2780
+#: ../src/verbs.cpp:2749
msgid "Tweak Tool Preferences"
msgstr ""
-#: ../src/verbs.cpp:2781
+#: ../src/verbs.cpp:2750
msgid "Open Preferences for the Tweak tool"
msgstr ""
-#: ../src/verbs.cpp:2782
+#: ../src/verbs.cpp:2751
msgid "Spray Tool Preferences"
msgstr ""
-#: ../src/verbs.cpp:2783
+#: ../src/verbs.cpp:2752
msgid "Open Preferences for the Spray tool"
msgstr ""
-#: ../src/verbs.cpp:2784
+#: ../src/verbs.cpp:2753
msgid "Rectangle Preferences"
msgstr ""
-#: ../src/verbs.cpp:2785
+#: ../src/verbs.cpp:2754
msgid "Open Preferences for the Rectangle tool"
msgstr ""
-#: ../src/verbs.cpp:2786
+#: ../src/verbs.cpp:2755
msgid "3D Box Preferences"
msgstr ""
-#: ../src/verbs.cpp:2787
+#: ../src/verbs.cpp:2756
msgid "Open Preferences for the 3D Box tool"
msgstr ""
-#: ../src/verbs.cpp:2788
+#: ../src/verbs.cpp:2757
msgid "Ellipse Preferences"
msgstr ""
-#: ../src/verbs.cpp:2789
+#: ../src/verbs.cpp:2758
msgid "Open Preferences for the Ellipse tool"
msgstr ""
-#: ../src/verbs.cpp:2790
+#: ../src/verbs.cpp:2759
msgid "Star Preferences"
msgstr ""
-#: ../src/verbs.cpp:2791
+#: ../src/verbs.cpp:2760
msgid "Open Preferences for the Star tool"
msgstr ""
-#: ../src/verbs.cpp:2792
+#: ../src/verbs.cpp:2761
msgid "Spiral Preferences"
msgstr ""
-#: ../src/verbs.cpp:2793
+#: ../src/verbs.cpp:2762
msgid "Open Preferences for the Spiral tool"
msgstr ""
-#: ../src/verbs.cpp:2794
+#: ../src/verbs.cpp:2763
msgid "Pencil Preferences"
msgstr ""
-#: ../src/verbs.cpp:2795
+#: ../src/verbs.cpp:2764
msgid "Open Preferences for the Pencil tool"
msgstr ""
-#: ../src/verbs.cpp:2796
+#: ../src/verbs.cpp:2765
msgid "Pen Preferences"
msgstr ""
-#: ../src/verbs.cpp:2797
+#: ../src/verbs.cpp:2766
msgid "Open Preferences for the Pen tool"
msgstr ""
-#: ../src/verbs.cpp:2798
+#: ../src/verbs.cpp:2767
msgid "Calligraphic Preferences"
msgstr ""
-#: ../src/verbs.cpp:2799
+#: ../src/verbs.cpp:2768
msgid "Open Preferences for the Calligraphy tool"
msgstr ""
-#: ../src/verbs.cpp:2800
+#: ../src/verbs.cpp:2769
msgid "Text Preferences"
msgstr ""
-#: ../src/verbs.cpp:2801
+#: ../src/verbs.cpp:2770
msgid "Open Preferences for the Text tool"
msgstr ""
-#: ../src/verbs.cpp:2802
+#: ../src/verbs.cpp:2771
msgid "Gradient Preferences"
msgstr ""
-#: ../src/verbs.cpp:2803
+#: ../src/verbs.cpp:2772
msgid "Open Preferences for the Gradient tool"
msgstr ""
-#: ../src/verbs.cpp:2804
+#: ../src/verbs.cpp:2773
msgid "Mesh Preferences"
msgstr ""
-#: ../src/verbs.cpp:2805
+#: ../src/verbs.cpp:2774
msgid "Open Preferences for the Mesh tool"
msgstr ""
-#: ../src/verbs.cpp:2806
+#: ../src/verbs.cpp:2775
msgid "Zoom Preferences"
msgstr ""
-#: ../src/verbs.cpp:2807
+#: ../src/verbs.cpp:2776
msgid "Open Preferences for the Zoom tool"
msgstr ""
-#: ../src/verbs.cpp:2808
+#: ../src/verbs.cpp:2777
msgid "Measure Preferences"
msgstr ""
-#: ../src/verbs.cpp:2809
+#: ../src/verbs.cpp:2778
msgid "Open Preferences for the Measure tool"
msgstr ""
-#: ../src/verbs.cpp:2810
+#: ../src/verbs.cpp:2779
msgid "Dropper Preferences"
msgstr ""
-#: ../src/verbs.cpp:2811
+#: ../src/verbs.cpp:2780
msgid "Open Preferences for the Dropper tool"
msgstr ""
-#: ../src/verbs.cpp:2812
+#: ../src/verbs.cpp:2781
msgid "Connector Preferences"
msgstr ""
-#: ../src/verbs.cpp:2813
+#: ../src/verbs.cpp:2782
msgid "Open Preferences for the Connector tool"
msgstr ""
-#: ../src/verbs.cpp:2814
+#: ../src/verbs.cpp:2783
msgid "Paint Bucket Preferences"
msgstr ""
-#: ../src/verbs.cpp:2815
+#: ../src/verbs.cpp:2784
msgid "Open Preferences for the Paint Bucket tool"
msgstr ""
-#: ../src/verbs.cpp:2816
+#: ../src/verbs.cpp:2785
msgid "Eraser Preferences"
msgstr ""
-#: ../src/verbs.cpp:2817
+#: ../src/verbs.cpp:2786
msgid "Open Preferences for the Eraser tool"
msgstr ""
-#: ../src/verbs.cpp:2818
+#: ../src/verbs.cpp:2787
msgid "LPE Tool Preferences"
msgstr ""
-#: ../src/verbs.cpp:2819
+#: ../src/verbs.cpp:2788
msgid "Open Preferences for the LPETool tool"
msgstr ""
#. Zoom/View
-#: ../src/verbs.cpp:2821
+#: ../src/verbs.cpp:2790
msgid "Zoom In"
msgstr ""
-#: ../src/verbs.cpp:2821
+#: ../src/verbs.cpp:2790
msgid "Zoom in"
msgstr ""
-#: ../src/verbs.cpp:2822
+#: ../src/verbs.cpp:2791
msgid "Zoom Out"
msgstr ""
-#: ../src/verbs.cpp:2822
+#: ../src/verbs.cpp:2791
msgid "Zoom out"
msgstr ""
-#: ../src/verbs.cpp:2823
+#: ../src/verbs.cpp:2792
msgid "_Rulers"
msgstr ""
-#: ../src/verbs.cpp:2823
+#: ../src/verbs.cpp:2792
msgid "Show or hide the canvas rulers"
msgstr ""
-#: ../src/verbs.cpp:2824
+#: ../src/verbs.cpp:2793
msgid "Scroll_bars"
msgstr ""
-#: ../src/verbs.cpp:2824
+#: ../src/verbs.cpp:2793
msgid "Show or hide the canvas scrollbars"
msgstr ""
-#: ../src/verbs.cpp:2825
+#: ../src/verbs.cpp:2794
msgid "Page _Grid"
msgstr ""
-#: ../src/verbs.cpp:2825
+#: ../src/verbs.cpp:2794
msgid "Show or hide the page grid"
msgstr ""
-#: ../src/verbs.cpp:2826
+#: ../src/verbs.cpp:2795
msgid "G_uides"
msgstr ""
-#: ../src/verbs.cpp:2826
+#: ../src/verbs.cpp:2795
msgid "Show or hide guides (drag from a ruler to create a guide)"
msgstr ""
-#: ../src/verbs.cpp:2827
+#: ../src/verbs.cpp:2796
msgid "Enable snapping"
msgstr ""
-#: ../src/verbs.cpp:2828
+#: ../src/verbs.cpp:2797
msgid "_Commands Bar"
msgstr ""
-#: ../src/verbs.cpp:2828
+#: ../src/verbs.cpp:2797
msgid "Show or hide the Commands bar (under the menu)"
msgstr ""
-#: ../src/verbs.cpp:2829
+#: ../src/verbs.cpp:2798
msgid "Sn_ap Controls Bar"
msgstr ""
-#: ../src/verbs.cpp:2829
+#: ../src/verbs.cpp:2798
msgid "Show or hide the snapping controls"
msgstr ""
-#: ../src/verbs.cpp:2830
+#: ../src/verbs.cpp:2799
msgid "T_ool Controls Bar"
msgstr ""
-#: ../src/verbs.cpp:2830
+#: ../src/verbs.cpp:2799
msgid "Show or hide the Tool Controls bar"
msgstr ""
-#: ../src/verbs.cpp:2831
+#: ../src/verbs.cpp:2800
msgid "_Toolbox"
msgstr ""
-#: ../src/verbs.cpp:2831
+#: ../src/verbs.cpp:2800
msgid "Show or hide the main toolbox (on the left)"
msgstr ""
-#: ../src/verbs.cpp:2832
+#: ../src/verbs.cpp:2801
msgid "_Palette"
msgstr ""
-#: ../src/verbs.cpp:2832
+#: ../src/verbs.cpp:2801
msgid "Show or hide the color palette"
msgstr ""
-#: ../src/verbs.cpp:2833
+#: ../src/verbs.cpp:2802
msgid "_Statusbar"
msgstr ""
-#: ../src/verbs.cpp:2833
+#: ../src/verbs.cpp:2802
msgid "Show or hide the statusbar (at the bottom of the window)"
msgstr ""
-#: ../src/verbs.cpp:2834
+#: ../src/verbs.cpp:2803
msgid "Nex_t Zoom"
msgstr ""
-#: ../src/verbs.cpp:2834
+#: ../src/verbs.cpp:2803
msgid "Next zoom (from the history of zooms)"
msgstr ""
-#: ../src/verbs.cpp:2836
+#: ../src/verbs.cpp:2805
msgid "Pre_vious Zoom"
msgstr ""
-#: ../src/verbs.cpp:2836
+#: ../src/verbs.cpp:2805
msgid "Previous zoom (from the history of zooms)"
msgstr ""
-#: ../src/verbs.cpp:2838
+#: ../src/verbs.cpp:2807
msgid "Zoom 1:_1"
msgstr ""
-#: ../src/verbs.cpp:2838
+#: ../src/verbs.cpp:2807
msgid "Zoom to 1:1"
msgstr ""
-#: ../src/verbs.cpp:2840
+#: ../src/verbs.cpp:2809
msgid "Zoom 1:_2"
msgstr ""
-#: ../src/verbs.cpp:2840
+#: ../src/verbs.cpp:2809
msgid "Zoom to 1:2"
msgstr ""
-#: ../src/verbs.cpp:2842
+#: ../src/verbs.cpp:2811
msgid "_Zoom 2:1"
msgstr ""
-#: ../src/verbs.cpp:2842
+#: ../src/verbs.cpp:2811
msgid "Zoom to 2:1"
msgstr ""
-#: ../src/verbs.cpp:2845
+#: ../src/verbs.cpp:2814
msgid "_Fullscreen"
msgstr ""
-#: ../src/verbs.cpp:2845 ../src/verbs.cpp:2847
+#: ../src/verbs.cpp:2814 ../src/verbs.cpp:2816
msgid "Stretch this document window to full screen"
msgstr ""
-#: ../src/verbs.cpp:2847
+#: ../src/verbs.cpp:2816
msgid "Fullscreen & Focus Mode"
msgstr ""
-#: ../src/verbs.cpp:2850
+#: ../src/verbs.cpp:2819
msgid "Toggle _Focus Mode"
msgstr ""
-#: ../src/verbs.cpp:2850
+#: ../src/verbs.cpp:2819
msgid "Remove excess toolbars to focus on drawing"
msgstr ""
-#: ../src/verbs.cpp:2852
+#: ../src/verbs.cpp:2821
msgid "Duplic_ate Window"
msgstr ""
-#: ../src/verbs.cpp:2852
+#: ../src/verbs.cpp:2821
msgid "Open a new window with the same document"
msgstr ""
-#: ../src/verbs.cpp:2854
+#: ../src/verbs.cpp:2823
msgid "_New View Preview"
msgstr ""
-#: ../src/verbs.cpp:2855
+#: ../src/verbs.cpp:2824
msgid "New View Preview"
msgstr ""
#. "view_new_preview"
-#: ../src/verbs.cpp:2857 ../src/verbs.cpp:2865
+#: ../src/verbs.cpp:2826 ../src/verbs.cpp:2834
msgid "_Normal"
msgstr ""
-#: ../src/verbs.cpp:2858
+#: ../src/verbs.cpp:2827
msgid "Switch to normal display mode"
msgstr ""
-#: ../src/verbs.cpp:2859
+#: ../src/verbs.cpp:2828
msgid "No _Filters"
msgstr ""
-#: ../src/verbs.cpp:2860
+#: ../src/verbs.cpp:2829
msgid "Switch to normal display without filters"
msgstr ""
-#: ../src/verbs.cpp:2861
+#: ../src/verbs.cpp:2830
msgid "_Outline"
msgstr ""
-#: ../src/verbs.cpp:2862
+#: ../src/verbs.cpp:2831
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:2863 ../src/verbs.cpp:2871
+#: ../src/verbs.cpp:2832 ../src/verbs.cpp:2840
msgid "_Toggle"
msgstr ""
-#: ../src/verbs.cpp:2864
+#: ../src/verbs.cpp:2833
msgid "Toggle between normal and outline display modes"
msgstr ""
-#: ../src/verbs.cpp:2866
+#: ../src/verbs.cpp:2835
msgid "Switch to normal color display mode"
msgstr ""
-#: ../src/verbs.cpp:2867
+#: ../src/verbs.cpp:2836
msgid "_Grayscale"
msgstr ""
-#: ../src/verbs.cpp:2868
+#: ../src/verbs.cpp:2837
msgid "Switch to grayscale display mode"
msgstr ""
-#: ../src/verbs.cpp:2872
+#: ../src/verbs.cpp:2841
msgid "Toggle between normal and grayscale color display modes"
msgstr ""
-#: ../src/verbs.cpp:2874
+#: ../src/verbs.cpp:2843
msgid "Color-managed view"
msgstr ""
-#: ../src/verbs.cpp:2875
+#: ../src/verbs.cpp:2844
msgid "Toggle color-managed display for this document window"
msgstr ""
-#: ../src/verbs.cpp:2877
+#: ../src/verbs.cpp:2846
msgid "Ico_n Preview..."
msgstr ""
-#: ../src/verbs.cpp:2878
+#: ../src/verbs.cpp:2847
msgid "Open a window to preview objects at different icon resolutions"
msgstr ""
-#: ../src/verbs.cpp:2880
+#: ../src/verbs.cpp:2849
msgid "Zoom to fit page in window"
msgstr ""
-#: ../src/verbs.cpp:2881
+#: ../src/verbs.cpp:2850
msgid "Page _Width"
msgstr ""
-#: ../src/verbs.cpp:2882
+#: ../src/verbs.cpp:2851
msgid "Zoom to fit page width in window"
msgstr ""
-#: ../src/verbs.cpp:2884
+#: ../src/verbs.cpp:2853
msgid "Zoom to fit drawing in window"
msgstr ""
-#: ../src/verbs.cpp:2886
+#: ../src/verbs.cpp:2855
msgid "Zoom to fit selection in window"
msgstr ""
#. Dialogs
-#: ../src/verbs.cpp:2889
+#: ../src/verbs.cpp:2858
msgid "P_references..."
msgstr ""
-#: ../src/verbs.cpp:2890
+#: ../src/verbs.cpp:2859
msgid "Edit global Inkscape preferences"
msgstr ""
-#: ../src/verbs.cpp:2891
+#: ../src/verbs.cpp:2860
msgid "_Document Properties..."
msgstr ""
-#: ../src/verbs.cpp:2892
+#: ../src/verbs.cpp:2861
msgid "Edit properties of this document (to be saved with the document)"
msgstr ""
-#: ../src/verbs.cpp:2893
+#: ../src/verbs.cpp:2862
msgid "Document _Metadata..."
msgstr ""
-#: ../src/verbs.cpp:2894
+#: ../src/verbs.cpp:2863
msgid "Edit document metadata (to be saved with the document)"
msgstr ""
-#: ../src/verbs.cpp:2896
+#: ../src/verbs.cpp:2865
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:2898
+#: ../src/verbs.cpp:2867
msgid "Gl_yphs..."
msgstr ""
-#: ../src/verbs.cpp:2899
+#: ../src/verbs.cpp:2868
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:2902
+#: ../src/verbs.cpp:2871
msgid "S_watches..."
msgstr ""
-#: ../src/verbs.cpp:2903
+#: ../src/verbs.cpp:2872
msgid "Select colors from a swatches palette"
msgstr ""
-#: ../src/verbs.cpp:2904
+#: ../src/verbs.cpp:2873
msgid "S_ymbols..."
msgstr ""
-#: ../src/verbs.cpp:2905
+#: ../src/verbs.cpp:2874
msgid "Select symbol from a symbols palette"
msgstr ""
-#: ../src/verbs.cpp:2906
+#: ../src/verbs.cpp:2875
msgid "Transfor_m..."
msgstr ""
-#: ../src/verbs.cpp:2907
+#: ../src/verbs.cpp:2876
msgid "Precisely control objects' transformations"
msgstr ""
-#: ../src/verbs.cpp:2908
+#: ../src/verbs.cpp:2877
msgid "_Align and Distribute..."
msgstr ""
-#: ../src/verbs.cpp:2909
+#: ../src/verbs.cpp:2878
msgid "Align and distribute objects"
msgstr ""
-#: ../src/verbs.cpp:2910
+#: ../src/verbs.cpp:2879
msgid "_Spray options..."
msgstr ""
-#: ../src/verbs.cpp:2911
+#: ../src/verbs.cpp:2880
msgid "Some options for the spray"
msgstr ""
-#: ../src/verbs.cpp:2912
+#: ../src/verbs.cpp:2881
msgid "Undo _History..."
msgstr ""
-#: ../src/verbs.cpp:2913
+#: ../src/verbs.cpp:2882
msgid "Undo History"
msgstr ""
-#: ../src/verbs.cpp:2915
+#: ../src/verbs.cpp:2884
msgid "View and select font family, font size and other text properties"
msgstr ""
-#: ../src/verbs.cpp:2916
+#: ../src/verbs.cpp:2885
msgid "_XML Editor..."
msgstr ""
-#: ../src/verbs.cpp:2917
+#: ../src/verbs.cpp:2886
msgid "View and edit the XML tree of the document"
msgstr ""
-#: ../src/verbs.cpp:2918
+#: ../src/verbs.cpp:2887
msgid "_Find/Replace..."
msgstr ""
-#: ../src/verbs.cpp:2919
+#: ../src/verbs.cpp:2888
msgid "Find objects in document"
msgstr ""
-#: ../src/verbs.cpp:2920
+#: ../src/verbs.cpp:2889
msgid "Find and _Replace Text..."
msgstr ""
-#: ../src/verbs.cpp:2921
+#: ../src/verbs.cpp:2890
msgid "Find and replace text in document"
msgstr ""
-#: ../src/verbs.cpp:2923
+#: ../src/verbs.cpp:2892
msgid "Check spelling of text in document"
msgstr ""
-#: ../src/verbs.cpp:2924
+#: ../src/verbs.cpp:2893
msgid "_Messages..."
msgstr ""
-#: ../src/verbs.cpp:2925
+#: ../src/verbs.cpp:2894
msgid "View debug messages"
msgstr ""
-#: ../src/verbs.cpp:2926
+#: ../src/verbs.cpp:2895
msgid "Show/Hide D_ialogs"
msgstr ""
-#: ../src/verbs.cpp:2927
+#: ../src/verbs.cpp:2896
msgid "Show or hide all open dialogs"
msgstr ""
-#: ../src/verbs.cpp:2928
+#: ../src/verbs.cpp:2897
msgid "Create Tiled Clones..."
msgstr ""
-#: ../src/verbs.cpp:2929
+#: ../src/verbs.cpp:2898
msgid ""
"Create multiple clones of selected object, arranging them into a pattern or "
"scattering"
msgstr ""
-#: ../src/verbs.cpp:2930
+#: ../src/verbs.cpp:2899
msgid "_Object attributes..."
msgstr ""
-#: ../src/verbs.cpp:2931
+#: ../src/verbs.cpp:2900
msgid "Edit the object attributes..."
msgstr ""
-#: ../src/verbs.cpp:2933
+#: ../src/verbs.cpp:2902
msgid "Edit the ID, locked and visible status, and other object properties"
msgstr ""
-#: ../src/verbs.cpp:2934
+#: ../src/verbs.cpp:2903
msgid "_Input Devices..."
msgstr ""
-#: ../src/verbs.cpp:2935
+#: ../src/verbs.cpp:2904
msgid "Configure extended input devices, such as a graphics tablet"
msgstr ""
-#: ../src/verbs.cpp:2936
+#: ../src/verbs.cpp:2905
msgid "_Extensions..."
msgstr ""
-#: ../src/verbs.cpp:2937
+#: ../src/verbs.cpp:2906
msgid "Query information about extensions"
msgstr ""
-#: ../src/verbs.cpp:2938
+#: ../src/verbs.cpp:2907
msgid "Layer_s..."
msgstr ""
-#: ../src/verbs.cpp:2939
+#: ../src/verbs.cpp:2908
msgid "View Layers"
msgstr ""
-#: ../src/verbs.cpp:2940
+#: ../src/verbs.cpp:2909
msgid "Object_s..."
msgstr ""
-#: ../src/verbs.cpp:2941
+#: ../src/verbs.cpp:2910
msgid "View Objects"
msgstr ""
-#: ../src/verbs.cpp:2942
+#: ../src/verbs.cpp:2911
msgid "Selection se_ts..."
msgstr ""
-#: ../src/verbs.cpp:2943
+#: ../src/verbs.cpp:2912
msgid "View Tags"
msgstr ""
-#: ../src/verbs.cpp:2944
+#: ../src/verbs.cpp:2913
msgid "Path E_ffects ..."
msgstr ""
-#: ../src/verbs.cpp:2945
+#: ../src/verbs.cpp:2914
msgid "Manage, edit, and apply path effects"
msgstr ""
-#: ../src/verbs.cpp:2946
+#: ../src/verbs.cpp:2915
msgid "Filter _Editor..."
msgstr ""
-#: ../src/verbs.cpp:2947
+#: ../src/verbs.cpp:2916
msgid "Manage, edit, and apply SVG filters"
msgstr ""
-#: ../src/verbs.cpp:2948
+#: ../src/verbs.cpp:2917
msgid "SVG Font Editor..."
msgstr ""
-#: ../src/verbs.cpp:2949
+#: ../src/verbs.cpp:2918
msgid "Edit SVG fonts"
msgstr ""
-#: ../src/verbs.cpp:2950
+#: ../src/verbs.cpp:2919
msgid "Print Colors..."
msgstr ""
-#: ../src/verbs.cpp:2951
+#: ../src/verbs.cpp:2920
msgid ""
"Select which color separations to render in Print Colors Preview rendermode"
msgstr ""
-#: ../src/verbs.cpp:2952
+#: ../src/verbs.cpp:2921
msgid "_Export PNG Image..."
msgstr ""
-#: ../src/verbs.cpp:2953
+#: ../src/verbs.cpp:2922
msgid "Export this document or a selection as a PNG image"
msgstr ""
#. Help
-#: ../src/verbs.cpp:2955
+#: ../src/verbs.cpp:2924
msgid "About E_xtensions"
msgstr ""
-#: ../src/verbs.cpp:2956
+#: ../src/verbs.cpp:2925
msgid "Information on Inkscape extensions"
msgstr ""
-#: ../src/verbs.cpp:2957
+#: ../src/verbs.cpp:2926
msgid "About _Memory"
msgstr ""
-#: ../src/verbs.cpp:2958
+#: ../src/verbs.cpp:2927
msgid "Memory usage information"
msgstr ""
-#: ../src/verbs.cpp:2959
+#: ../src/verbs.cpp:2928
msgid "_About Inkscape"
msgstr ""
-#: ../src/verbs.cpp:2960
+#: ../src/verbs.cpp:2929
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:2965
+#: ../src/verbs.cpp:2934
msgid "Inkscape: _Basic"
msgstr ""
-#: ../src/verbs.cpp:2966
+#: ../src/verbs.cpp:2935
msgid "Getting started with Inkscape"
msgstr ""
#. "tutorial_basic"
-#: ../src/verbs.cpp:2967
+#: ../src/verbs.cpp:2936
msgid "Inkscape: _Shapes"
msgstr ""
-#: ../src/verbs.cpp:2968
+#: ../src/verbs.cpp:2937
msgid "Using shape tools to create and edit shapes"
msgstr ""
-#: ../src/verbs.cpp:2969
+#: ../src/verbs.cpp:2938
msgid "Inkscape: _Advanced"
msgstr ""
-#: ../src/verbs.cpp:2970
+#: ../src/verbs.cpp:2939
msgid "Advanced Inkscape topics"
msgstr ""
#. "tutorial_advanced"
#. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize)
-#: ../src/verbs.cpp:2972
+#: ../src/verbs.cpp:2941
msgid "Inkscape: T_racing"
msgstr ""
-#: ../src/verbs.cpp:2973
+#: ../src/verbs.cpp:2942
msgid "Using bitmap tracing"
msgstr ""
#. "tutorial_tracing"
-#: ../src/verbs.cpp:2974
+#: ../src/verbs.cpp:2943
msgid "Inkscape: Tracing Pixel Art"
msgstr ""
-#: ../src/verbs.cpp:2975
+#: ../src/verbs.cpp:2944
msgid "Using Trace Pixel Art dialog"
msgstr ""
-#: ../src/verbs.cpp:2976
+#: ../src/verbs.cpp:2945
msgid "Inkscape: _Calligraphy"
msgstr ""
-#: ../src/verbs.cpp:2977
+#: ../src/verbs.cpp:2946
msgid "Using the Calligraphy pen tool"
msgstr ""
-#: ../src/verbs.cpp:2978
+#: ../src/verbs.cpp:2947
msgid "Inkscape: _Interpolate"
msgstr ""
-#: ../src/verbs.cpp:2979
+#: ../src/verbs.cpp:2948
msgid "Using the interpolate extension"
msgstr ""
#. "tutorial_interpolate"
-#: ../src/verbs.cpp:2980
+#: ../src/verbs.cpp:2949
msgid "_Elements of Design"
msgstr ""
-#: ../src/verbs.cpp:2981
+#: ../src/verbs.cpp:2950
msgid "Principles of design in the tutorial form"
msgstr ""
#. "tutorial_design"
-#: ../src/verbs.cpp:2982
+#: ../src/verbs.cpp:2951
msgid "_Tips and Tricks"
msgstr ""
-#: ../src/verbs.cpp:2983
+#: ../src/verbs.cpp:2952
msgid "Miscellaneous tips and tricks"
msgstr ""
#. "tutorial_tips"
#. Effect -- renamed Extension
-#: ../src/verbs.cpp:2986
+#: ../src/verbs.cpp:2955
msgid "Previous Exte_nsion"
msgstr ""
-#: ../src/verbs.cpp:2987
+#: ../src/verbs.cpp:2956
msgid "Repeat the last extension with the same settings"
msgstr ""
-#: ../src/verbs.cpp:2988
+#: ../src/verbs.cpp:2957
msgid "_Previous Extension Settings..."
msgstr ""
-#: ../src/verbs.cpp:2989
+#: ../src/verbs.cpp:2958
msgid "Repeat the last extension with new settings"
msgstr ""
-#: ../src/verbs.cpp:2993
+#: ../src/verbs.cpp:2962
msgid "Fit the page to the current selection"
msgstr ""
-#: ../src/verbs.cpp:2995
+#: ../src/verbs.cpp:2964
msgid "Fit the page to the drawing"
msgstr ""
-#: ../src/verbs.cpp:2997
+#: ../src/verbs.cpp:2966
msgid ""
"Fit the page to the current selection or the drawing if there is no selection"
msgstr ""
#. LockAndHide
-#: ../src/verbs.cpp:2999
+#: ../src/verbs.cpp:2968
msgid "Unlock All"
msgstr ""
-#: ../src/verbs.cpp:3001
+#: ../src/verbs.cpp:2970
msgid "Unlock All in All Layers"
msgstr ""
-#: ../src/verbs.cpp:3003
+#: ../src/verbs.cpp:2972
msgid "Unhide All"
msgstr ""
-#: ../src/verbs.cpp:3005
+#: ../src/verbs.cpp:2974
msgid "Unhide All in All Layers"
msgstr ""
-#: ../src/verbs.cpp:3009
+#: ../src/verbs.cpp:2978
msgid "Link an ICC color profile"
msgstr ""
-#: ../src/verbs.cpp:3010
+#: ../src/verbs.cpp:2979
msgid "Remove Color Profile"
msgstr ""
-#: ../src/verbs.cpp:3011
+#: ../src/verbs.cpp:2980
msgid "Remove a linked ICC color profile"
msgstr ""
-#: ../src/verbs.cpp:3014
+#: ../src/verbs.cpp:2983
msgid "Add External Script"
msgstr ""
-#: ../src/verbs.cpp:3014
+#: ../src/verbs.cpp:2983
msgid "Add an external script"
msgstr ""
-#: ../src/verbs.cpp:3016
+#: ../src/verbs.cpp:2985
msgid "Add Embedded Script"
msgstr ""
-#: ../src/verbs.cpp:3016
+#: ../src/verbs.cpp:2985
msgid "Add an embedded script"
msgstr ""
-#: ../src/verbs.cpp:3018
+#: ../src/verbs.cpp:2987
msgid "Edit Embedded Script"
msgstr ""
-#: ../src/verbs.cpp:3018
+#: ../src/verbs.cpp:2987
msgid "Edit an embedded script"
msgstr ""
-#: ../src/verbs.cpp:3020
+#: ../src/verbs.cpp:2989
msgid "Remove External Script"
msgstr ""
-#: ../src/verbs.cpp:3020
+#: ../src/verbs.cpp:2989
msgid "Remove an external script"
msgstr ""
-#: ../src/verbs.cpp:3022
+#: ../src/verbs.cpp:2991
msgid "Remove Embedded Script"
msgstr ""
-#: ../src/verbs.cpp:3022
+#: ../src/verbs.cpp:2991
msgid "Remove an embedded script"
msgstr ""
-#: ../src/verbs.cpp:3044 ../src/verbs.cpp:3045
+#: ../src/verbs.cpp:3013 ../src/verbs.cpp:3014
msgid "Center on horizontal and vertical axis"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:132
+#: ../src/widgets/arc-toolbar.cpp:129
msgid "Arc: Change start/end"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:198
+#: ../src/widgets/arc-toolbar.cpp:191
msgid "Arc: Change open/closed"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:289 ../src/widgets/arc-toolbar.cpp:319
+#: ../src/widgets/arc-toolbar.cpp:280 ../src/widgets/arc-toolbar.cpp:310
#: ../src/widgets/rect-toolbar.cpp:260 ../src/widgets/rect-toolbar.cpp:299
-#: ../src/widgets/spiral-toolbar.cpp:214 ../src/widgets/spiral-toolbar.cpp:238
-#: ../src/widgets/star-toolbar.cpp:384 ../src/widgets/star-toolbar.cpp:446
+#: ../src/widgets/spiral-toolbar.cpp:210 ../src/widgets/spiral-toolbar.cpp:234
+#: ../src/widgets/star-toolbar.cpp:382 ../src/widgets/star-toolbar.cpp:444
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:292 ../src/widgets/arc-toolbar.cpp:303
+#: ../src/widgets/arc-toolbar.cpp:283 ../src/widgets/arc-toolbar.cpp:294
#: ../src/widgets/rect-toolbar.cpp:268 ../src/widgets/rect-toolbar.cpp:286
-#: ../src/widgets/spiral-toolbar.cpp:216 ../src/widgets/spiral-toolbar.cpp:227
-#: ../src/widgets/star-toolbar.cpp:386
+#: ../src/widgets/spiral-toolbar.cpp:212 ../src/widgets/spiral-toolbar.cpp:223
+#: ../src/widgets/star-toolbar.cpp:384
msgid "<b>Change:</b>"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:328
+#: ../src/widgets/arc-toolbar.cpp:319
msgid "Start:"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:329
+#: ../src/widgets/arc-toolbar.cpp:320
msgid "The angle (in degrees) from the horizontal to the arc's start point"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:341
+#: ../src/widgets/arc-toolbar.cpp:332
msgid "End:"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:342
+#: ../src/widgets/arc-toolbar.cpp:333
msgid "The angle (in degrees) from the horizontal to the arc's end point"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:358
+#: ../src/widgets/arc-toolbar.cpp:349
msgid "Closed arc"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:359
+#: ../src/widgets/arc-toolbar.cpp:350
msgid "Switch to segment (closed shape with two radii)"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:365
+#: ../src/widgets/arc-toolbar.cpp:356
msgid "Open Arc"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:366
+#: ../src/widgets/arc-toolbar.cpp:357
msgid "Switch to arc (unclosed shape)"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:389
+#: ../src/widgets/arc-toolbar.cpp:380
msgid "Make whole"
msgstr ""
-#: ../src/widgets/arc-toolbar.cpp:390
+#: ../src/widgets/arc-toolbar.cpp:381
msgid "Make the shape a whole ellipse, not arc or segment"
msgstr ""
@@ -26503,87 +26759,87 @@ msgstr ""
msgid "Add or edit calligraphic profile"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:120
+#: ../src/widgets/connector-toolbar.cpp:118
msgid "Set connector type: orthogonal"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:120
+#: ../src/widgets/connector-toolbar.cpp:118
msgid "Set connector type: polyline"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:169
+#: ../src/widgets/connector-toolbar.cpp:165
msgid "Change connector curvature"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:220
+#: ../src/widgets/connector-toolbar.cpp:216
msgid "Change connector spacing"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:313
+#: ../src/widgets/connector-toolbar.cpp:309
msgid "Avoid"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:323
+#: ../src/widgets/connector-toolbar.cpp:319
msgid "Ignore"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:334
+#: ../src/widgets/connector-toolbar.cpp:330
msgid "Orthogonal"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:335
+#: ../src/widgets/connector-toolbar.cpp:331
msgid "Make connector orthogonal or polyline"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:349
+#: ../src/widgets/connector-toolbar.cpp:345
msgid "Connector Curvature"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:349
+#: ../src/widgets/connector-toolbar.cpp:345
msgid "Curvature:"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:350
+#: ../src/widgets/connector-toolbar.cpp:346
msgid "The amount of connectors curvature"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:360
+#: ../src/widgets/connector-toolbar.cpp:356
msgid "Connector Spacing"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:360
+#: ../src/widgets/connector-toolbar.cpp:356
msgid "Spacing:"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:361
+#: ../src/widgets/connector-toolbar.cpp:357
msgid "The amount of space left around objects by auto-routing connectors"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:372
+#: ../src/widgets/connector-toolbar.cpp:368
msgid "Graph"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:382
+#: ../src/widgets/connector-toolbar.cpp:378
msgid "Connector Length"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:382
+#: ../src/widgets/connector-toolbar.cpp:378
msgid "Length:"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:383
+#: ../src/widgets/connector-toolbar.cpp:379
msgid "Ideal length for connectors when layout is applied"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:395
+#: ../src/widgets/connector-toolbar.cpp:391
msgid "Downwards"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:396
+#: ../src/widgets/connector-toolbar.cpp:392
msgid "Make connectors with end-markers (arrows) point downwards"
msgstr ""
-#: ../src/widgets/connector-toolbar.cpp:412
+#: ../src/widgets/connector-toolbar.cpp:408
msgid "Do not allow overlapping shapes"
msgstr ""
@@ -26754,36 +27010,36 @@ msgstr ""
msgid "The width of the eraser pen (relative to the visible canvas area)"
msgstr ""
-#: ../src/widgets/fill-style.cpp:360
+#: ../src/widgets/fill-style.cpp:356
msgid "Change fill rule"
msgstr ""
-#: ../src/widgets/fill-style.cpp:445 ../src/widgets/fill-style.cpp:524
+#: ../src/widgets/fill-style.cpp:440 ../src/widgets/fill-style.cpp:518
msgid "Set fill color"
msgstr ""
-#: ../src/widgets/fill-style.cpp:445 ../src/widgets/fill-style.cpp:524
+#: ../src/widgets/fill-style.cpp:440 ../src/widgets/fill-style.cpp:518
msgid "Set stroke color"
msgstr ""
-#: ../src/widgets/fill-style.cpp:622
+#: ../src/widgets/fill-style.cpp:616
msgid "Set gradient on fill"
msgstr ""
-#: ../src/widgets/fill-style.cpp:622
+#: ../src/widgets/fill-style.cpp:616
msgid "Set gradient on stroke"
msgstr ""
-#: ../src/widgets/fill-style.cpp:682
+#: ../src/widgets/fill-style.cpp:676
msgid "Set pattern on fill"
msgstr ""
-#: ../src/widgets/fill-style.cpp:683
+#: ../src/widgets/fill-style.cpp:677
msgid "Set pattern on stroke"
msgstr ""
-#: ../src/widgets/font-selector.cpp:120 ../src/widgets/text-toolbar.cpp:947
-#: ../src/widgets/text-toolbar.cpp:1259
+#: ../src/widgets/font-selector.cpp:120 ../src/widgets/text-toolbar.cpp:953
+#: ../src/widgets/text-toolbar.cpp:1265
msgid "Font size"
msgstr ""
@@ -26806,129 +27062,133 @@ msgstr ""
msgid "Font size:"
msgstr ""
-#: ../src/widgets/gradient-selector.cpp:201
+#: ../src/widgets/gradient-selector.cpp:205
msgid "Create a duplicate gradient"
msgstr ""
-#: ../src/widgets/gradient-selector.cpp:212
+#: ../src/widgets/gradient-selector.cpp:216
msgid "Edit gradient"
msgstr ""
-#: ../src/widgets/gradient-selector.cpp:281
-#: ../src/widgets/paint-selector.cpp:236
+#: ../src/widgets/gradient-selector.cpp:285
+#: ../src/widgets/paint-selector.cpp:233
msgid "Swatch"
msgstr ""
-#: ../src/widgets/gradient-selector.cpp:331
+#: ../src/widgets/gradient-selector.cpp:335
msgid "Rename gradient"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:156
-#: ../src/widgets/gradient-toolbar.cpp:169
-#: ../src/widgets/gradient-toolbar.cpp:758
-#: ../src/widgets/gradient-toolbar.cpp:1097
+#: ../src/widgets/gradient-toolbar.cpp:157
+#: ../src/widgets/gradient-toolbar.cpp:170
+#: ../src/widgets/gradient-toolbar.cpp:761
+#: ../src/widgets/gradient-toolbar.cpp:1100
msgid "No gradient"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:176
+#: ../src/widgets/gradient-toolbar.cpp:177
msgid "Multiple gradients"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:678
+#: ../src/widgets/gradient-toolbar.cpp:681
msgid "Multiple stops"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:776
-#: ../src/widgets/gradient-vector.cpp:609
+#: ../src/widgets/gradient-toolbar.cpp:779
+#: ../src/widgets/gradient-vector.cpp:614
msgid "No stops in gradient"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:930
+#: ../src/widgets/gradient-toolbar.cpp:933
msgid "Assign gradient to object"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:952
+#: ../src/widgets/gradient-toolbar.cpp:955
msgid "Set gradient repeat"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:990
-#: ../src/widgets/gradient-vector.cpp:720
+#: ../src/widgets/gradient-toolbar.cpp:993
+#: ../src/widgets/gradient-vector.cpp:727
msgid "Change gradient stop offset"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1037
+#: ../src/widgets/gradient-toolbar.cpp:1040
msgid "linear"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1037
+#: ../src/widgets/gradient-toolbar.cpp:1040
msgid "Create linear gradient"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1041
+#: ../src/widgets/gradient-toolbar.cpp:1044
msgid "radial"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1041
+#: ../src/widgets/gradient-toolbar.cpp:1044
msgid "Create radial (elliptic or circular) gradient"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1044
-#: ../src/widgets/mesh-toolbar.cpp:341
+#: ../src/widgets/gradient-toolbar.cpp:1047
+#: ../src/widgets/mesh-toolbar.cpp:343
msgid "New:"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1067
-#: ../src/widgets/mesh-toolbar.cpp:364
+#: ../src/widgets/gradient-toolbar.cpp:1070
+#: ../src/widgets/mesh-toolbar.cpp:366
msgid "fill"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1067
-#: ../src/widgets/mesh-toolbar.cpp:364
+#: ../src/widgets/gradient-toolbar.cpp:1070
+#: ../src/widgets/mesh-toolbar.cpp:366
msgid "Create gradient in the fill"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1071
-#: ../src/widgets/mesh-toolbar.cpp:368
+#: ../src/widgets/gradient-toolbar.cpp:1074
+#: ../src/widgets/mesh-toolbar.cpp:370
msgid "stroke"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1071
-#: ../src/widgets/mesh-toolbar.cpp:368
+#: ../src/widgets/gradient-toolbar.cpp:1074
+#: ../src/widgets/mesh-toolbar.cpp:370
msgid "Create gradient in the stroke"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1074
-#: ../src/widgets/mesh-toolbar.cpp:371
+#: ../src/widgets/gradient-toolbar.cpp:1077
+#: ../src/widgets/mesh-toolbar.cpp:373
msgid "on:"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1099
+#: ../src/widgets/gradient-toolbar.cpp:1102
msgid "Select"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1099
+#: ../src/widgets/gradient-toolbar.cpp:1102
msgid "Choose a gradient"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1100
+#: ../src/widgets/gradient-toolbar.cpp:1103
msgid "Select:"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1115
+#: ../src/widgets/gradient-toolbar.cpp:1118
msgctxt "Gradient repeat type"
msgid "None"
msgstr ""
#: ../src/widgets/gradient-toolbar.cpp:1121
+msgid "Reflected"
+msgstr ""
+
+#: ../src/widgets/gradient-toolbar.cpp:1124
msgid "Direct"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1123
+#: ../src/widgets/gradient-toolbar.cpp:1126
msgid "Repeat"
msgstr ""
#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/pservers.html#LinearGradientSpreadMethodAttribute
-#: ../src/widgets/gradient-toolbar.cpp:1125
+#: ../src/widgets/gradient-toolbar.cpp:1128
msgid ""
"Whether to fill with flat color beyond the ends of the gradient vector "
"(spreadMethod=\"pad\"), or repeat the gradient in the same direction "
@@ -26936,97 +27196,97 @@ msgid ""
"directions (spreadMethod=\"reflect\")"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1130
+#: ../src/widgets/gradient-toolbar.cpp:1133
msgid "Repeat:"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1144
+#: ../src/widgets/gradient-toolbar.cpp:1147
msgid "No stops"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1146
+#: ../src/widgets/gradient-toolbar.cpp:1149
msgid "Stops"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1146
+#: ../src/widgets/gradient-toolbar.cpp:1149
msgid "Select a stop for the current gradient"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1147
+#: ../src/widgets/gradient-toolbar.cpp:1150
msgid "Stops:"
msgstr ""
#. Label
-#: ../src/widgets/gradient-toolbar.cpp:1159
-#: ../src/widgets/gradient-vector.cpp:906
+#: ../src/widgets/gradient-toolbar.cpp:1162
+#: ../src/widgets/gradient-vector.cpp:915
msgctxt "Gradient"
msgid "Offset:"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1159
+#: ../src/widgets/gradient-toolbar.cpp:1162
msgid "Offset of selected stop"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1177
-#: ../src/widgets/gradient-toolbar.cpp:1178
+#: ../src/widgets/gradient-toolbar.cpp:1180
+#: ../src/widgets/gradient-toolbar.cpp:1181
msgid "Insert new stop"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1191
-#: ../src/widgets/gradient-toolbar.cpp:1192
-#: ../src/widgets/gradient-vector.cpp:888
+#: ../src/widgets/gradient-toolbar.cpp:1194
+#: ../src/widgets/gradient-toolbar.cpp:1195
+#: ../src/widgets/gradient-vector.cpp:897
msgid "Delete stop"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1206
+#: ../src/widgets/gradient-toolbar.cpp:1209
msgid "Reverse the direction of the gradient"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1220
+#: ../src/widgets/gradient-toolbar.cpp:1223
msgid "Link gradients"
msgstr ""
-#: ../src/widgets/gradient-toolbar.cpp:1221
+#: ../src/widgets/gradient-toolbar.cpp:1224
msgid "Link gradients to change all related gradients"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:312
-#: ../src/widgets/paint-selector.cpp:947
+#: ../src/widgets/gradient-vector.cpp:317
+#: ../src/widgets/paint-selector.cpp:965
#: ../src/widgets/stroke-marker-selector.cpp:154
msgid "No document selected"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:316
+#: ../src/widgets/gradient-vector.cpp:321
msgid "No gradients in document"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:320
+#: ../src/widgets/gradient-vector.cpp:325
msgid "No gradient selected"
msgstr ""
#. TRANSLATORS: "Stop" means: a "phase" of a gradient
-#: ../src/widgets/gradient-vector.cpp:883
+#: ../src/widgets/gradient-vector.cpp:892
msgid "Add stop"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:886
+#: ../src/widgets/gradient-vector.cpp:895
msgid "Add another control stop to gradient"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:891
+#: ../src/widgets/gradient-vector.cpp:900
msgid "Delete current control stop from gradient"
msgstr ""
#. TRANSLATORS: "Stop" means: a "phase" of a gradient
-#: ../src/widgets/gradient-vector.cpp:959
+#: ../src/widgets/gradient-vector.cpp:968
msgid "Stop Color"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:987
+#: ../src/widgets/gradient-vector.cpp:1007
msgid "Gradient editor"
msgstr ""
-#: ../src/widgets/gradient-vector.cpp:1324
+#: ../src/widgets/gradient-vector.cpp:1359
msgid "Change gradient stop color"
msgstr ""
@@ -27086,7 +27346,7 @@ msgstr ""
#. Add the units menu.
#: ../src/widgets/lpe-toolbar.cpp:387 ../src/widgets/node-toolbar.cpp:613
-#: ../src/widgets/paintbucket-toolbar.cpp:168
+#: ../src/widgets/paintbucket-toolbar.cpp:167
#: ../src/widgets/rect-toolbar.cpp:378 ../src/widgets/select-toolbar.cpp:538
msgid "Units"
msgstr ""
@@ -27099,7 +27359,7 @@ msgstr ""
msgid "Open LPE dialog (to adapt parameters numerically)"
msgstr ""
-#: ../src/widgets/measure-toolbar.cpp:86 ../src/widgets/text-toolbar.cpp:1262
+#: ../src/widgets/measure-toolbar.cpp:86 ../src/widgets/text-toolbar.cpp:1268
msgid "Font Size"
msgstr ""
@@ -27116,99 +27376,99 @@ msgstr ""
msgid "The units to be used for the measurements"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:311
+#: ../src/widgets/mesh-toolbar.cpp:313
msgid "Set mesh type"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:334
+#: ../src/widgets/mesh-toolbar.cpp:336
msgid "normal"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:334
+#: ../src/widgets/mesh-toolbar.cpp:336
msgid "Create mesh gradient"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:338
+#: ../src/widgets/mesh-toolbar.cpp:340
msgid "conical"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:338
+#: ../src/widgets/mesh-toolbar.cpp:340
msgid "Create conical gradient"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:393
+#: ../src/widgets/mesh-toolbar.cpp:395
msgid "Rows"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:393
+#: ../src/widgets/mesh-toolbar.cpp:395
#: ../share/extensions/guides_creator.inx.h:5
#: ../share/extensions/layout_nup.inx.h:12
msgid "Rows:"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:393
+#: ../src/widgets/mesh-toolbar.cpp:395
msgid "Number of rows in new mesh"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:409
+#: ../src/widgets/mesh-toolbar.cpp:411
msgid "Columns"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:409
+#: ../src/widgets/mesh-toolbar.cpp:411
#: ../share/extensions/guides_creator.inx.h:4
msgid "Columns:"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:409
+#: ../src/widgets/mesh-toolbar.cpp:411
msgid "Number of columns in new mesh"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:423
+#: ../src/widgets/mesh-toolbar.cpp:425
msgid "Edit Fill"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:424
+#: ../src/widgets/mesh-toolbar.cpp:426
msgid "Edit fill mesh"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:435
+#: ../src/widgets/mesh-toolbar.cpp:437
msgid "Edit Stroke"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:436
+#: ../src/widgets/mesh-toolbar.cpp:438
msgid "Edit stroke mesh"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:447 ../src/widgets/node-toolbar.cpp:521
+#: ../src/widgets/mesh-toolbar.cpp:449 ../src/widgets/node-toolbar.cpp:521
msgid "Show Handles"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:448
+#: ../src/widgets/mesh-toolbar.cpp:450
msgid "Show side and tensor handles"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:463
+#: ../src/widgets/mesh-toolbar.cpp:465
msgid "WARNING: Mesh SVG Syntax Subject to Change"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:473
+#: ../src/widgets/mesh-toolbar.cpp:475
msgctxt "Type"
msgid "Coons"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:476
+#: ../src/widgets/mesh-toolbar.cpp:478
msgid "Bicubic"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:478
+#: ../src/widgets/mesh-toolbar.cpp:480
msgid "Coons"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:479
+#: ../src/widgets/mesh-toolbar.cpp:481
msgid "Coons: no smoothing. Bicubic: smoothing across patch boundaries."
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:481 ../src/widgets/pencil-toolbar.cpp:278
+#: ../src/widgets/mesh-toolbar.cpp:483 ../src/widgets/pencil-toolbar.cpp:278
msgid "Smoothing:"
msgstr ""
@@ -27404,137 +27664,137 @@ msgstr ""
msgid "Y coordinate of selected node(s)"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:222
+#: ../src/widgets/paint-selector.cpp:219
msgid "No paint"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:224
+#: ../src/widgets/paint-selector.cpp:221
msgid "Flat color"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:226
+#: ../src/widgets/paint-selector.cpp:223
msgid "Linear gradient"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:228
+#: ../src/widgets/paint-selector.cpp:225
msgid "Radial gradient"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:231
+#: ../src/widgets/paint-selector.cpp:228
msgid "Mesh gradient"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:238
+#: ../src/widgets/paint-selector.cpp:235
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:255
+#: ../src/widgets/paint-selector.cpp:252
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:266
+#: ../src/widgets/paint-selector.cpp:263
msgid ""
"Fill is solid unless a subpath is counterdirectional (fill-rule: nonzero)"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:600
+#: ../src/widgets/paint-selector.cpp:605
msgid "<b>No objects</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:611
+#: ../src/widgets/paint-selector.cpp:616
msgid "<b>Multiple styles</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:622
+#: ../src/widgets/paint-selector.cpp:627
msgid "<b>Paint is undefined</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:633
+#: ../src/widgets/paint-selector.cpp:638
msgid "<b>No paint</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:704
+#: ../src/widgets/paint-selector.cpp:722
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:773
+#: ../src/widgets/paint-selector.cpp:791
msgid "<b>Linear gradient</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:776
+#: ../src/widgets/paint-selector.cpp:794
msgid "<b>Radial gradient</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:781
+#: ../src/widgets/paint-selector.cpp:799
msgid "<b>Mesh gradient</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:1080
+#: ../src/widgets/paint-selector.cpp:1098
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:1093
+#: ../src/widgets/paint-selector.cpp:1111
msgid "<b>Pattern fill</b>"
msgstr ""
-#: ../src/widgets/paint-selector.cpp:1187
+#: ../src/widgets/paint-selector.cpp:1205
msgid "<b>Swatch fill</b>"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:135
+#: ../src/widgets/paintbucket-toolbar.cpp:134
msgid "Fill by"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:136
+#: ../src/widgets/paintbucket-toolbar.cpp:135
msgid "Fill by:"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:148
+#: ../src/widgets/paintbucket-toolbar.cpp:147
msgid "Fill Threshold"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:149
+#: ../src/widgets/paintbucket-toolbar.cpp:148
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:176
+#: ../src/widgets/paintbucket-toolbar.cpp:175
msgid "Grow/shrink by"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:176
+#: ../src/widgets/paintbucket-toolbar.cpp:175
msgid "Grow/shrink by:"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:177
+#: ../src/widgets/paintbucket-toolbar.cpp:176
msgid ""
"The amount to grow (positive) or shrink (negative) the created fill path"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:202
+#: ../src/widgets/paintbucket-toolbar.cpp:199
msgid "Close gaps"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:203
+#: ../src/widgets/paintbucket-toolbar.cpp:200
msgid "Close gaps:"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:214
-#: ../src/widgets/pencil-toolbar.cpp:299 ../src/widgets/spiral-toolbar.cpp:289
-#: ../src/widgets/star-toolbar.cpp:566
+#: ../src/widgets/paintbucket-toolbar.cpp:211
+#: ../src/widgets/pencil-toolbar.cpp:299 ../src/widgets/spiral-toolbar.cpp:285
+#: ../src/widgets/star-toolbar.cpp:564
msgid "Defaults"
msgstr ""
-#: ../src/widgets/paintbucket-toolbar.cpp:215
+#: ../src/widgets/paintbucket-toolbar.cpp:212
msgid ""
"Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools "
"to change defaults)"
@@ -27627,7 +27887,7 @@ msgid ""
"change defaults)"
msgstr ""
-#: ../src/widgets/rect-toolbar.cpp:124
+#: ../src/widgets/rect-toolbar.cpp:125
msgid "Change rectangle"
msgstr ""
@@ -27848,139 +28108,7 @@ msgstr ""
msgid "Set attribute"
msgstr ""
-#: ../src/widgets/sp-color-icc-selector.cpp:234
-msgid "CMS"
-msgstr ""
-
-#: ../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:331
-#: ../src/widgets/sp-color-scales.cpp:417
-msgid "_G:"
-msgstr ""
-
-#: ../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:334
-msgid "Gray"
-msgstr ""
-
-#. TYPE_GRAY_16
-#: ../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: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:341
-#: ../src/widgets/sp-color-scales.cpp:446
-msgid "_L:"
-msgstr ""
-
-#: ../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: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: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:347
-#: ../src/widgets/sp-color-scales.cpp:477
-msgid "_K:"
-msgstr ""
-
-#: ../src/widgets/sp-color-icc-selector.cpp:430
-msgid "Fix"
-msgstr ""
-
-#: ../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: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: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:370
-msgid "Color Managed"
-msgstr ""
-
-#: ../src/widgets/sp-color-notebook.cpp:377
-msgid "Out of gamut!"
-msgstr ""
-
-#: ../src/widgets/sp-color-notebook.cpp:384
-msgid "Too much ink!"
-msgstr ""
-
-#. Create RGBA entry and color preview
-#: ../src/widgets/sp-color-notebook.cpp:401
-msgid "RGBA_:"
-msgstr ""
-
-#: ../src/widgets/sp-color-notebook.cpp:409
-msgid "Hexadecimal RGBA value of the color"
-msgstr ""
-
-#: ../src/widgets/sp-color-scales.cpp:53
-msgid "RGB"
-msgstr ""
-
-#: ../src/widgets/sp-color-scales.cpp:53
-msgid "HSL"
-msgstr ""
-
-#: ../src/widgets/sp-color-scales.cpp:53
-msgid "CMYK"
-msgstr ""
-
-#: ../src/widgets/sp-color-selector.cpp:42
+#: ../src/widgets/sp-color-selector.cpp:47
msgid "Unnamed"
msgstr ""
@@ -27992,91 +28120,91 @@ msgstr ""
msgid "Type text in a text node"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:100
+#: ../src/widgets/spiral-toolbar.cpp:98
msgid "Change spiral"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:246
+#: ../src/widgets/spiral-toolbar.cpp:242
msgid "just a curve"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:246
+#: ../src/widgets/spiral-toolbar.cpp:242
msgid "one full revolution"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:249
+#: ../src/widgets/spiral-toolbar.cpp:245
msgid "Number of turns"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:249
+#: ../src/widgets/spiral-toolbar.cpp:245
msgid "Turns:"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:249
+#: ../src/widgets/spiral-toolbar.cpp:245
msgid "Number of revolutions"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "circle"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "edge is much denser"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "edge is denser"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "even"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "center is denser"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "center is much denser"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:263
+#: ../src/widgets/spiral-toolbar.cpp:259
msgid "Divergence"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:263
+#: ../src/widgets/spiral-toolbar.cpp:259
msgid "Divergence:"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:263
+#: ../src/widgets/spiral-toolbar.cpp:259
msgid "How much denser/sparser are outer revolutions; 1 = uniform"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:274
+#: ../src/widgets/spiral-toolbar.cpp:270
msgid "starts from center"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:274
+#: ../src/widgets/spiral-toolbar.cpp:270
msgid "starts mid-way"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:274
+#: ../src/widgets/spiral-toolbar.cpp:270
msgid "starts near edge"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:277
+#: ../src/widgets/spiral-toolbar.cpp:273
msgid "Inner radius"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:277
+#: ../src/widgets/spiral-toolbar.cpp:273
msgid "Inner radius:"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:277
+#: ../src/widgets/spiral-toolbar.cpp:273
msgid "Radius of the innermost revolution (relative to the spiral size)"
msgstr ""
-#: ../src/widgets/spiral-toolbar.cpp:290 ../src/widgets/star-toolbar.cpp:567
+#: ../src/widgets/spiral-toolbar.cpp:286 ../src/widgets/star-toolbar.cpp:565
msgid ""
"Reset shape parameters to defaults (use Inkscape Preferences > Tools to "
"change defaults)"
@@ -28240,149 +28368,149 @@ msgstr ""
msgid "Star: Change randomization"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:465
+#: ../src/widgets/star-toolbar.cpp:463
msgid "Regular polygon (with one handle) instead of a star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:472
+#: ../src/widgets/star-toolbar.cpp:470
msgid "Star instead of a regular polygon (with one handle)"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:493
+#: ../src/widgets/star-toolbar.cpp:491
msgid "triangle/tri-star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:493
+#: ../src/widgets/star-toolbar.cpp:491
msgid "square/quad-star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:493
+#: ../src/widgets/star-toolbar.cpp:491
msgid "pentagon/five-pointed star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:493
+#: ../src/widgets/star-toolbar.cpp:491
msgid "hexagon/six-pointed star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:496
+#: ../src/widgets/star-toolbar.cpp:494
msgid "Corners"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:496
+#: ../src/widgets/star-toolbar.cpp:494
msgid "Corners:"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:496
+#: ../src/widgets/star-toolbar.cpp:494
msgid "Number of corners of a polygon or star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "thin-ray star"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "pentagram"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "hexagram"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "heptagram"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "octagram"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "regular polygon"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:512
+#: ../src/widgets/star-toolbar.cpp:510
msgid "Spoke ratio"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:512
+#: ../src/widgets/star-toolbar.cpp:510
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:515
+#: ../src/widgets/star-toolbar.cpp:513
msgid "Base radius to tip radius ratio"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "stretched"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "twisted"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "slightly pinched"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "NOT rounded"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "slightly rounded"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "visibly rounded"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "well rounded"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "amply rounded"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:533 ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:531 ../src/widgets/star-toolbar.cpp:546
msgid "blown up"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:536
+#: ../src/widgets/star-toolbar.cpp:534
msgid "Rounded:"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:536
+#: ../src/widgets/star-toolbar.cpp:534
msgid "How much rounded are the corners (0 for sharp)"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:546
msgid "NOT randomized"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:546
msgid "slightly irregular"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:546
msgid "visibly randomized"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:546
msgid "strongly randomized"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:551
+#: ../src/widgets/star-toolbar.cpp:549
msgid "Randomized"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:551
+#: ../src/widgets/star-toolbar.cpp:549
msgid "Randomized:"
msgstr ""
-#: ../src/widgets/star-toolbar.cpp:551
+#: ../src/widgets/star-toolbar.cpp:549
msgid "Scatter randomly the corners and angles"
msgstr ""
@@ -28480,7 +28608,7 @@ msgstr ""
msgid "Set markers"
msgstr ""
-#: ../src/widgets/stroke-style.cpp:1030 ../src/widgets/stroke-style.cpp:1114
+#: ../src/widgets/stroke-style.cpp:1029 ../src/widgets/stroke-style.cpp:1113
msgid "Set stroke style"
msgstr ""
@@ -28488,414 +28616,414 @@ msgstr ""
msgid "Set marker color"
msgstr ""
-#: ../src/widgets/swatch-selector.cpp:137
+#: ../src/widgets/swatch-selector.cpp:127
msgid "Change swatch color"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:169
+#: ../src/widgets/text-toolbar.cpp:173
msgid "Text: Change font family"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:233
+#: ../src/widgets/text-toolbar.cpp:239
msgid "Text: Change font size"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:269
+#: ../src/widgets/text-toolbar.cpp:275
msgid "Text: Change font style"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:347
+#: ../src/widgets/text-toolbar.cpp:353
msgid "Text: Change superscript or subscript"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:489
+#: ../src/widgets/text-toolbar.cpp:496
msgid "Text: Change alignment"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:532
+#: ../src/widgets/text-toolbar.cpp:539
msgid "Text: Change line-height"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:580
+#: ../src/widgets/text-toolbar.cpp:587
msgid "Text: Change word-spacing"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:620
+#: ../src/widgets/text-toolbar.cpp:627
msgid "Text: Change letter-spacing"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:658
+#: ../src/widgets/text-toolbar.cpp:665
msgid "Text: Change dx (kern)"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:692
+#: ../src/widgets/text-toolbar.cpp:699
msgid "Text: Change dy"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:727
+#: ../src/widgets/text-toolbar.cpp:734
msgid "Text: Change rotate"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:774
+#: ../src/widgets/text-toolbar.cpp:781
msgid "Text: Change orientation"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:1210
+#: ../src/widgets/text-toolbar.cpp:1216
msgid "Font Family"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:1211
+#: ../src/widgets/text-toolbar.cpp:1217
msgid "Select Font Family (Alt-X to access)"
msgstr ""
#. Focus widget
#. Enable entry completion
-#: ../src/widgets/text-toolbar.cpp:1221
+#: ../src/widgets/text-toolbar.cpp:1227
msgid "Select all text with this font-family"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:1225
+#: ../src/widgets/text-toolbar.cpp:1231
msgid "Font not found on system"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:1284
+#: ../src/widgets/text-toolbar.cpp:1290
msgid "Font Style"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:1285
+#: ../src/widgets/text-toolbar.cpp:1291
msgid "Font style"
msgstr ""
#. Name
-#: ../src/widgets/text-toolbar.cpp:1302
+#: ../src/widgets/text-toolbar.cpp:1308
msgid "Toggle Superscript"
msgstr ""
#. Label
-#: ../src/widgets/text-toolbar.cpp:1303
+#: ../src/widgets/text-toolbar.cpp:1309
msgid "Toggle superscript"
msgstr ""
#. Name
-#: ../src/widgets/text-toolbar.cpp:1315
+#: ../src/widgets/text-toolbar.cpp:1321
msgid "Toggle Subscript"
msgstr ""
#. Label
-#: ../src/widgets/text-toolbar.cpp:1316
+#: ../src/widgets/text-toolbar.cpp:1322
msgid "Toggle subscript"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:1357
+#: ../src/widgets/text-toolbar.cpp:1363
msgid "Justify"
msgstr ""
#. Name
-#: ../src/widgets/text-toolbar.cpp:1364
+#: ../src/widgets/text-toolbar.cpp:1370
msgid "Alignment"
msgstr ""
#. Label
-#: ../src/widgets/text-toolbar.cpp:1365
+#: ../src/widgets/text-toolbar.cpp:1371
msgid "Text alignment"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:1392
+#: ../src/widgets/text-toolbar.cpp:1398
msgid "Horizontal"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:1399
+#: ../src/widgets/text-toolbar.cpp:1405
msgid "Vertical"
msgstr ""
#. Label
-#: ../src/widgets/text-toolbar.cpp:1406
+#: ../src/widgets/text-toolbar.cpp:1412
msgid "Text orientation"
msgstr ""
#. Drop down menu
-#: ../src/widgets/text-toolbar.cpp:1429
+#: ../src/widgets/text-toolbar.cpp:1435
msgid "Smaller spacing"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:1429 ../src/widgets/text-toolbar.cpp:1460
-#: ../src/widgets/text-toolbar.cpp:1491
+#: ../src/widgets/text-toolbar.cpp:1435 ../src/widgets/text-toolbar.cpp:1466
+#: ../src/widgets/text-toolbar.cpp:1497
msgctxt "Text tool"
msgid "Normal"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:1429
+#: ../src/widgets/text-toolbar.cpp:1435
msgid "Larger spacing"
msgstr ""
#. name
-#: ../src/widgets/text-toolbar.cpp:1434
+#: ../src/widgets/text-toolbar.cpp:1440
msgid "Line Height"
msgstr ""
#. label
-#: ../src/widgets/text-toolbar.cpp:1435
+#: ../src/widgets/text-toolbar.cpp:1441
msgid "Line:"
msgstr ""
#. short label
-#: ../src/widgets/text-toolbar.cpp:1436
+#: ../src/widgets/text-toolbar.cpp:1442
msgid "Spacing between lines (times font size)"
msgstr ""
#. Drop down menu
-#: ../src/widgets/text-toolbar.cpp:1460 ../src/widgets/text-toolbar.cpp:1491
+#: ../src/widgets/text-toolbar.cpp:1466 ../src/widgets/text-toolbar.cpp:1497
msgid "Negative spacing"
msgstr ""
-#: ../src/widgets/text-toolbar.cpp:1460 ../src/widgets/text-toolbar.cpp:1491
+#: ../src/widgets/text-toolbar.cpp:1466 ../src/widgets/text-toolbar.cpp:1497
msgid "Positive spacing"
msgstr ""
#. name
-#: ../src/widgets/text-toolbar.cpp:1465
+#: ../src/widgets/text-toolbar.cpp:1471
msgid "Word spacing"
msgstr ""
#. label
-#: ../src/widgets/text-toolbar.cpp:1466
+#: ../src/widgets/text-toolbar.cpp:1472
msgid "Word:"
msgstr ""
#. short label
-#: ../src/widgets/text-toolbar.cpp:1467
+#: ../src/widgets/text-toolbar.cpp:1473
msgid "Spacing between words (px)"
msgstr ""
#. name
-#: ../src/widgets/text-toolbar.cpp:1496
+#: ../src/widgets/text-toolbar.cpp:1502
msgid "Letter spacing"
msgstr ""
#. label
-#: ../src/widgets/text-toolbar.cpp:1497
+#: ../src/widgets/text-toolbar.cpp:1503
msgid "Letter:"
msgstr ""
#. short label
-#: ../src/widgets/text-toolbar.cpp:1498
+#: ../src/widgets/text-toolbar.cpp:1504
msgid "Spacing between letters (px)"
msgstr ""
#. name
-#: ../src/widgets/text-toolbar.cpp:1527
+#: ../src/widgets/text-toolbar.cpp:1533
msgid "Kerning"
msgstr ""
#. label
-#: ../src/widgets/text-toolbar.cpp:1528
+#: ../src/widgets/text-toolbar.cpp:1534
msgid "Kern:"
msgstr ""
#. short label
-#: ../src/widgets/text-toolbar.cpp:1529
+#: ../src/widgets/text-toolbar.cpp:1535
msgid "Horizontal kerning (px)"
msgstr ""
#. name
-#: ../src/widgets/text-toolbar.cpp:1558
+#: ../src/widgets/text-toolbar.cpp:1564
msgid "Vertical Shift"
msgstr ""
#. label
-#: ../src/widgets/text-toolbar.cpp:1559
+#: ../src/widgets/text-toolbar.cpp:1565
msgid "Vert:"
msgstr ""
#. short label
-#: ../src/widgets/text-toolbar.cpp:1560
+#: ../src/widgets/text-toolbar.cpp:1566
msgid "Vertical shift (px)"
msgstr ""
#. name
-#: ../src/widgets/text-toolbar.cpp:1589
+#: ../src/widgets/text-toolbar.cpp:1595
msgid "Letter rotation"
msgstr ""
#. label
-#: ../src/widgets/text-toolbar.cpp:1590
+#: ../src/widgets/text-toolbar.cpp:1596
msgid "Rot:"
msgstr ""
#. short label
-#: ../src/widgets/text-toolbar.cpp:1591
+#: ../src/widgets/text-toolbar.cpp:1597
msgid "Character rotation (degrees)"
msgstr ""
-#: ../src/widgets/toolbox.cpp:181
+#: ../src/widgets/toolbox.cpp:177
msgid "Color/opacity used for color tweaking"
msgstr ""
-#: ../src/widgets/toolbox.cpp:189
+#: ../src/widgets/toolbox.cpp:185
msgid "Style of new stars"
msgstr ""
-#: ../src/widgets/toolbox.cpp:191
+#: ../src/widgets/toolbox.cpp:187
msgid "Style of new rectangles"
msgstr ""
-#: ../src/widgets/toolbox.cpp:193
+#: ../src/widgets/toolbox.cpp:189
msgid "Style of new 3D boxes"
msgstr ""
-#: ../src/widgets/toolbox.cpp:195
+#: ../src/widgets/toolbox.cpp:191
msgid "Style of new ellipses"
msgstr ""
-#: ../src/widgets/toolbox.cpp:197
+#: ../src/widgets/toolbox.cpp:193
msgid "Style of new spirals"
msgstr ""
-#: ../src/widgets/toolbox.cpp:199
+#: ../src/widgets/toolbox.cpp:195
msgid "Style of new paths created by Pencil"
msgstr ""
-#: ../src/widgets/toolbox.cpp:201
+#: ../src/widgets/toolbox.cpp:197
msgid "Style of new paths created by Pen"
msgstr ""
-#: ../src/widgets/toolbox.cpp:203
+#: ../src/widgets/toolbox.cpp:199
msgid "Style of new calligraphic strokes"
msgstr ""
-#: ../src/widgets/toolbox.cpp:205 ../src/widgets/toolbox.cpp:207
+#: ../src/widgets/toolbox.cpp:201 ../src/widgets/toolbox.cpp:203
msgid "TBD"
msgstr ""
-#: ../src/widgets/toolbox.cpp:219
+#: ../src/widgets/toolbox.cpp:215
msgid "Style of Paint Bucket fill objects"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1683
+#: ../src/widgets/toolbox.cpp:1679
msgid "Bounding box"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1683
+#: ../src/widgets/toolbox.cpp:1679
msgid "Snap bounding boxes"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1692
+#: ../src/widgets/toolbox.cpp:1688
msgid "Bounding box edges"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1692
+#: ../src/widgets/toolbox.cpp:1688
msgid "Snap to edges of a bounding box"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1701
+#: ../src/widgets/toolbox.cpp:1697
msgid "Bounding box corners"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1701
+#: ../src/widgets/toolbox.cpp:1697
msgid "Snap bounding box corners"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1710
+#: ../src/widgets/toolbox.cpp:1706
msgid "BBox Edge Midpoints"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1710
+#: ../src/widgets/toolbox.cpp:1706
msgid "Snap midpoints of bounding box edges"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1720
+#: ../src/widgets/toolbox.cpp:1716
msgid "BBox Centers"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1720
+#: ../src/widgets/toolbox.cpp:1716
msgid "Snapping centers of bounding boxes"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1729
+#: ../src/widgets/toolbox.cpp:1725
msgid "Snap nodes, paths, and handles"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1737
+#: ../src/widgets/toolbox.cpp:1733
msgid "Snap to paths"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1746
+#: ../src/widgets/toolbox.cpp:1742
msgid "Path intersections"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1746
+#: ../src/widgets/toolbox.cpp:1742
msgid "Snap to path intersections"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1755
+#: ../src/widgets/toolbox.cpp:1751
msgid "To nodes"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1755
+#: ../src/widgets/toolbox.cpp:1751
msgid "Snap cusp nodes, incl. rectangle corners"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1764
+#: ../src/widgets/toolbox.cpp:1760
msgid "Smooth nodes"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1764
+#: ../src/widgets/toolbox.cpp:1760
msgid "Snap smooth nodes, incl. quadrant points of ellipses"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1773
+#: ../src/widgets/toolbox.cpp:1769
msgid "Line Midpoints"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1773
+#: ../src/widgets/toolbox.cpp:1769
msgid "Snap midpoints of line segments"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1782
+#: ../src/widgets/toolbox.cpp:1778
msgid "Others"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1782
+#: ../src/widgets/toolbox.cpp:1778
msgid "Snap other points (centers, guide origins, gradient handles, etc.)"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1790
+#: ../src/widgets/toolbox.cpp:1786
msgid "Object Centers"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1790
+#: ../src/widgets/toolbox.cpp:1786
msgid "Snap centers of objects"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1799
+#: ../src/widgets/toolbox.cpp:1795
msgid "Rotation Centers"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1799
+#: ../src/widgets/toolbox.cpp:1795
msgid "Snap an item's rotation center"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1808
+#: ../src/widgets/toolbox.cpp:1804
msgid "Text baseline"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1808
+#: ../src/widgets/toolbox.cpp:1804
msgid "Snap text anchors and baselines"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1818
+#: ../src/widgets/toolbox.cpp:1814
msgid "Page border"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1818
+#: ../src/widgets/toolbox.cpp:1814
msgid "Snap to the page border"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1827
+#: ../src/widgets/toolbox.cpp:1823
msgid "Snap to grids"
msgstr ""
-#: ../src/widgets/toolbox.cpp:1836
+#: ../src/widgets/toolbox.cpp:1832
msgid "Snap guides"
msgstr ""
@@ -29554,6 +29682,7 @@ msgid ""
msgstr ""
#: ../share/extensions/jessyInk_autoTexts.py:54
+#, python-brace-format
msgid ""
"Node with id '{0}' is not a suitable text node and was therefore ignored.\n"
"\n"
@@ -29580,6 +29709,7 @@ msgid ""
msgstr ""
#: ../share/extensions/jessyInk_summary.py:69
+#, python-brace-format
msgid "JessyInk script version {0} installed."
msgstr ""
@@ -29600,6 +29730,7 @@ msgid ""
msgstr ""
#: ../share/extensions/jessyInk_summary.py:94
+#, python-brace-format
msgid "{0}Layer name: {1}"
msgstr ""
@@ -29608,6 +29739,7 @@ msgid "{0}Transition in: {1} ({2!s} s)"
msgstr ""
#: ../share/extensions/jessyInk_summary.py:104
+#, python-brace-format
msgid "{0}Transition in: {1}"
msgstr ""
@@ -29616,20 +29748,24 @@ msgid "{0}Transition out: {1} ({2!s} s)"
msgstr ""
#: ../share/extensions/jessyInk_summary.py:113
+#, python-brace-format
msgid "{0}Transition out: {1}"
msgstr ""
#: ../share/extensions/jessyInk_summary.py:120
+#, python-brace-format
msgid ""
"\n"
"{0}Auto-texts:"
msgstr ""
#: ../share/extensions/jessyInk_summary.py:123
+#, python-brace-format
msgid "{0}\t\"{1}\" (object id \"{2}\") will be replaced by \"{3}\"."
msgstr ""
#: ../share/extensions/jessyInk_summary.py:168
+#, python-brace-format
msgid ""
"\n"
"{0}Initial effect (order number {1}):"
@@ -29642,10 +29778,12 @@ msgid ""
msgstr ""
#: ../share/extensions/jessyInk_summary.py:174
+#, python-brace-format
msgid "{0}\tView will be set according to object \"{1}\""
msgstr ""
#: ../share/extensions/jessyInk_summary.py:176
+#, python-brace-format
msgid "{0}\tObject \"{1}\""
msgstr ""
@@ -29658,6 +29796,7 @@ msgid " will disappear"
msgstr ""
#: ../share/extensions/jessyInk_summary.py:184
+#, python-brace-format
msgid " using effect \"{0}\""
msgstr ""
@@ -29782,16 +29921,23 @@ msgid ""
msgstr ""
#. issue error if no paths found
-#: ../share/extensions/plotter.py:67
+#: ../share/extensions/plotter.py:70
msgid ""
"No paths where found. Please convert all objects you want to plot into paths."
msgstr ""
-#: ../share/extensions/plotter.py:144
-msgid "pySerial is not installed."
+#: ../share/extensions/plotter.py:148
+msgid ""
+"pySerial is not installed.\n"
+"\n"
+"1. Download pySerial here (not the \".exe\"!): http://pypi.python.org/pypi/"
+"pyserial\n"
+"2. Extract the \"serial\" subfolder from the zip to the following folder: C:"
+"\\[Program files]\\inkscape\\python\\Lib\\\n"
+"3. Restart Inkscape."
msgstr ""
-#: ../share/extensions/plotter.py:164
+#: ../share/extensions/plotter.py:200
msgid ""
"Could not open port. Please check that your plotter is running, connected "
"and the settings are correct."
@@ -29917,7 +30063,12 @@ msgstr ""
#: ../share/extensions/uniconv-ext.py:56
#: ../share/extensions/uniconv_output.py:122
-msgid "You need to install the UniConvertor software.\n"
+msgid ""
+"You need to install the UniConvertor software.\n"
+"For GNU/Linux: install the package python-uniconvertor.\n"
+"For Windows: download it from\n"
+"http://sk1project.org/modules.php?name=Products&product=uniconvertor\n"
+"and install into your Inkscape's Python location\n"
msgstr ""
#: ../share/extensions/voronoi2svg.py:215
@@ -32295,13 +32446,13 @@ msgstr ""
#: ../share/extensions/hpgl_input.inx.h:3
#: ../share/extensions/hpgl_output.inx.h:4
-#: ../share/extensions/plotter.inx.h:25
+#: ../share/extensions/plotter.inx.h:34
msgid "Resolution X (dpi):"
msgstr ""
#: ../share/extensions/hpgl_input.inx.h:4
#: ../share/extensions/hpgl_output.inx.h:5
-#: ../share/extensions/plotter.inx.h:26
+#: ../share/extensions/plotter.inx.h:35
msgid ""
"The amount of steps the plotter moves if it moves for 1 inch on the X axis "
"(Default: 1016.0)"
@@ -32309,13 +32460,13 @@ msgstr ""
#: ../share/extensions/hpgl_input.inx.h:5
#: ../share/extensions/hpgl_output.inx.h:6
-#: ../share/extensions/plotter.inx.h:27
+#: ../share/extensions/plotter.inx.h:36
msgid "Resolution Y (dpi):"
msgstr ""
#: ../share/extensions/hpgl_input.inx.h:6
#: ../share/extensions/hpgl_output.inx.h:7
-#: ../share/extensions/plotter.inx.h:28
+#: ../share/extensions/plotter.inx.h:37
msgid ""
"The amount of steps the plotter moves if it moves for 1 inch on the Y axis "
"(Default: 1016.0)"
@@ -32330,7 +32481,7 @@ msgid "Check this to show movements between paths (Default: Unchecked)"
msgstr ""
#: ../share/extensions/hpgl_input.inx.h:9
-#: ../share/extensions/hpgl_output.inx.h:34
+#: ../share/extensions/hpgl_output.inx.h:35
msgid "HP Graphics Language file (*.hpgl)"
msgstr ""
@@ -32350,34 +32501,34 @@ msgid ""
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:3
-#: ../share/extensions/plotter.inx.h:24
+#: ../share/extensions/plotter.inx.h:33
msgid "Plotter Settings "
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:8
-#: ../share/extensions/plotter.inx.h:29
+#: ../share/extensions/plotter.inx.h:38
msgid "Pen number:"
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:9
-#: ../share/extensions/plotter.inx.h:30
+#: ../share/extensions/plotter.inx.h:39
msgid "The number of the pen (tool) to use (Standard: '1')"
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:10
-#: ../share/extensions/plotter.inx.h:31
+#: ../share/extensions/plotter.inx.h:40
msgid "Pen force (g):"
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:11
-#: ../share/extensions/plotter.inx.h:32
+#: ../share/extensions/plotter.inx.h:41
msgid ""
"The amount of force pushing down the pen in grams, set to 0 to omit command; "
"most plotters ignore this command (Default: 0)"
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:12
-#: ../share/extensions/plotter.inx.h:33
+#: ../share/extensions/plotter.inx.h:42
msgid "Pen speed (cm/s or mm/s):"
msgstr ""
@@ -32393,115 +32544,123 @@ msgid "Rotation (°, Clockwise):"
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:15
-#: ../share/extensions/plotter.inx.h:36
+#: ../share/extensions/plotter.inx.h:45
msgid "Rotation of the drawing (Default: 0°)"
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:16
-#: ../share/extensions/plotter.inx.h:37
+#: ../share/extensions/plotter.inx.h:46
msgid "Mirror X axis"
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:17
-#: ../share/extensions/plotter.inx.h:38
+#: ../share/extensions/plotter.inx.h:47
msgid "Check this to mirror the X axis (Default: Unchecked)"
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:18
-#: ../share/extensions/plotter.inx.h:39
+#: ../share/extensions/plotter.inx.h:48
msgid "Mirror Y axis"
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:19
-#: ../share/extensions/plotter.inx.h:40
+#: ../share/extensions/plotter.inx.h:49
msgid "Check this to mirror the Y axis (Default: Unchecked)"
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:20
-#: ../share/extensions/plotter.inx.h:41
+#: ../share/extensions/plotter.inx.h:50
msgid "Center zero point"
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:21
-#: ../share/extensions/plotter.inx.h:42
+#: ../share/extensions/plotter.inx.h:51
msgid ""
"Check this if your plotter uses a centered zero point (Default: Unchecked)"
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:22
-#: ../share/extensions/plotter.inx.h:43
-msgid "Plot Features "
+#: ../share/extensions/plotter.inx.h:52
+msgid ""
+"If you want to use multiple pens on your pen plotter create one layer for "
+"each pen, name the layers \"Pen 1\", \"Pen 2\", etc., and put your drawings "
+"in the corresponding layers. This overrules the pen number option above."
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:23
-#: ../share/extensions/plotter.inx.h:44
-msgid "Overcut (mm):"
+#: ../share/extensions/plotter.inx.h:53
+msgid "Plot Features "
msgstr ""
#: ../share/extensions/hpgl_output.inx.h:24
-#: ../share/extensions/plotter.inx.h:45
+#: ../share/extensions/plotter.inx.h:54
+msgid "Overcut (mm):"
+msgstr ""
+
+#: ../share/extensions/hpgl_output.inx.h:25
+#: ../share/extensions/plotter.inx.h:55
msgid ""
"The distance in mm that will be cut over the starting point of the path to "
"prevent open paths, set to 0.0 to omit command (Default: 1.00)"
msgstr ""
-#: ../share/extensions/hpgl_output.inx.h:25
-#: ../share/extensions/plotter.inx.h:46
+#: ../share/extensions/hpgl_output.inx.h:26
+#: ../share/extensions/plotter.inx.h:56
msgid "Tool offset (mm):"
msgstr ""
-#: ../share/extensions/hpgl_output.inx.h:26
-#: ../share/extensions/plotter.inx.h:47
+#: ../share/extensions/hpgl_output.inx.h:27
+#: ../share/extensions/plotter.inx.h:57
msgid ""
"The offset from the tool tip to the tool axis in mm, set to 0.0 to omit "
"command (Default: 0.25)"
msgstr ""
-#: ../share/extensions/hpgl_output.inx.h:27
-#: ../share/extensions/plotter.inx.h:48
+#: ../share/extensions/hpgl_output.inx.h:28
+#: ../share/extensions/plotter.inx.h:58
msgid "Use precut"
msgstr ""
-#: ../share/extensions/hpgl_output.inx.h:28
-#: ../share/extensions/plotter.inx.h:49
+#: ../share/extensions/hpgl_output.inx.h:29
+#: ../share/extensions/plotter.inx.h:59
msgid ""
"Check this to cut a small line before the real drawing starts to correctly "
"align the tool orientation. (Default: Checked)"
msgstr ""
-#: ../share/extensions/hpgl_output.inx.h:29
-#: ../share/extensions/plotter.inx.h:50
+#: ../share/extensions/hpgl_output.inx.h:30
+#: ../share/extensions/plotter.inx.h:60
msgid "Curve flatness:"
msgstr ""
-#: ../share/extensions/hpgl_output.inx.h:30
-#: ../share/extensions/plotter.inx.h:51
+#: ../share/extensions/hpgl_output.inx.h:31
+#: ../share/extensions/plotter.inx.h:61
msgid ""
"Curves are divided into lines, this number controls how fine the curves will "
"be reproduced, the smaller the finer (Default: '1.2')"
msgstr ""
-#: ../share/extensions/hpgl_output.inx.h:31
-#: ../share/extensions/plotter.inx.h:52
+#: ../share/extensions/hpgl_output.inx.h:32
+#: ../share/extensions/plotter.inx.h:62
msgid "Auto align"
msgstr ""
-#: ../share/extensions/hpgl_output.inx.h:32
-#: ../share/extensions/plotter.inx.h:53
+#: ../share/extensions/hpgl_output.inx.h:33
+#: ../share/extensions/plotter.inx.h:63
msgid ""
"Check this to auto align the drawing to the zero point (Plus the tool offset "
"if used). If unchecked you have to make sure that all parts of your drawing "
"are within the document border! (Default: Checked)"
msgstr ""
-#: ../share/extensions/hpgl_output.inx.h:33
-#: ../share/extensions/plotter.inx.h:56
+#: ../share/extensions/hpgl_output.inx.h:34
+#: ../share/extensions/plotter.inx.h:66
msgid ""
"All these settings depend on the plotter you use, for more information "
"please consult the manual or homepage for your plotter."
msgstr ""
-#: ../share/extensions/hpgl_output.inx.h:35
+#: ../share/extensions/hpgl_output.inx.h:36
msgid "Export an HP Graphics Language file"
msgstr ""
@@ -33772,94 +33931,127 @@ msgid "The Baud rate of your serial connection (Default: 9600)"
msgstr ""
#: ../share/extensions/plotter.inx.h:8
-msgid "Flow control:"
+msgid "Serial byte size:"
+msgstr ""
+
+#: ../share/extensions/plotter.inx.h:10
+#, no-c-format
+msgid ""
+"The Byte size of your serial connection, 99% of all plotters use the default "
+"setting (Default: 8 Bits)"
+msgstr ""
+
+#: ../share/extensions/plotter.inx.h:11
+msgid "Serial stop bits:"
+msgstr ""
+
+#: ../share/extensions/plotter.inx.h:13
+#, no-c-format
+msgid ""
+"The Stop bits of your serial connection, 99% of all plotters use the default "
+"setting (Default: 1 Bit)"
+msgstr ""
+
+#: ../share/extensions/plotter.inx.h:14
+msgid "Serial parity:"
+msgstr ""
+
+#: ../share/extensions/plotter.inx.h:16
+#, no-c-format
+msgid ""
+"The Parity of your serial connection, 99% of all plotters use the default "
+"setting (Default: None)"
msgstr ""
-#: ../share/extensions/plotter.inx.h:9
+#: ../share/extensions/plotter.inx.h:17
+msgid "Serial flow control:"
+msgstr ""
+
+#: ../share/extensions/plotter.inx.h:18
msgid ""
"The Software / Hardware flow control of your serial connection (Default: "
"Software)"
msgstr ""
-#: ../share/extensions/plotter.inx.h:10
+#: ../share/extensions/plotter.inx.h:19
msgid "Command language:"
msgstr ""
-#: ../share/extensions/plotter.inx.h:11
+#: ../share/extensions/plotter.inx.h:20
msgid "The command language to use (Default: HPGL)"
msgstr ""
-#: ../share/extensions/plotter.inx.h:12
+#: ../share/extensions/plotter.inx.h:21
msgid "Initialization commands:"
msgstr ""
-#: ../share/extensions/plotter.inx.h:13
+#: ../share/extensions/plotter.inx.h:22
msgid ""
"Commands that will be sent to the plotter before the main data stream, only "
"use this if you know what you are doing! (Default: Empty)"
msgstr ""
-#: ../share/extensions/plotter.inx.h:14
+#: ../share/extensions/plotter.inx.h:23
msgid "Software (XON/XOFF)"
msgstr ""
-#: ../share/extensions/plotter.inx.h:15
+#: ../share/extensions/plotter.inx.h:24
msgid "Hardware (RTS/CTS)"
msgstr ""
-#: ../share/extensions/plotter.inx.h:16
+#: ../share/extensions/plotter.inx.h:25
msgid "Hardware (DSR/DTR + RTS/CTS)"
msgstr ""
-#: ../share/extensions/plotter.inx.h:17
+#: ../share/extensions/plotter.inx.h:26
msgctxt "Flow control"
msgid "None"
msgstr ""
-#: ../share/extensions/plotter.inx.h:18
+#: ../share/extensions/plotter.inx.h:27
msgid "HPGL"
msgstr ""
-#: ../share/extensions/plotter.inx.h:19
+#: ../share/extensions/plotter.inx.h:28
msgid "DMPL"
msgstr ""
-#: ../share/extensions/plotter.inx.h:20
+#: ../share/extensions/plotter.inx.h:29
msgid "KNK Plotter (HPGL variant)"
msgstr ""
-#: ../share/extensions/plotter.inx.h:21
+#: ../share/extensions/plotter.inx.h:30
msgid ""
"Using wrong settings can under certain circumstances cause Inkscape to "
"freeze. Always save your work before plotting!"
msgstr ""
-#: ../share/extensions/plotter.inx.h:22
+#: ../share/extensions/plotter.inx.h:31
msgid ""
"This can be a physical serial connection or a USB-to-Serial bridge. Ask your "
"plotter manufacturer for drivers if needed."
msgstr ""
-#: ../share/extensions/plotter.inx.h:23
+#: ../share/extensions/plotter.inx.h:32
msgid "Parallel (LPT) connections are not supported."
msgstr ""
-#: ../share/extensions/plotter.inx.h:34
+#: ../share/extensions/plotter.inx.h:43
msgid ""
"The speed the pen will move with in centimeters or millimeters per second "
"(depending on your plotter model), set to 0 to omit command. Most plotters "
"ignore this command. (Default: 0)"
msgstr ""
-#: ../share/extensions/plotter.inx.h:35
+#: ../share/extensions/plotter.inx.h:44
msgid "Rotation (°, clockwise):"
msgstr ""
-#: ../share/extensions/plotter.inx.h:54
+#: ../share/extensions/plotter.inx.h:64
msgid "Show debug information"
msgstr ""
-#: ../share/extensions/plotter.inx.h:55
+#: ../share/extensions/plotter.inx.h:65
msgid ""
"Check this to get verbose information about the plot without actually "
"sending something to the plotter (A.k.a. data dump) (Default: Unchecked)"
diff --git a/po/lv.po b/po/lv.po
index 8d6e1e11c..29bbc1ed5 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Inkscape\n"
"Report-Msgid-Bugs-To: inkscape-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-03-10 09:10+0100\n"
-"PO-Revision-Date: 2015-03-22 14:04+0200\n"
+"POT-Creation-Date: 2015-05-11 18:05+0200\n"
+"PO-Revision-Date: 2015-05-17 17:29+0200\n"
"Last-Translator: JÄnis Eisaks <je@dv.lv>\n"
"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
"Language: lv\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
-"X-Generator: Poedit 1.7.4\n"
+"X-Generator: Poedit 1.7.6\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: ../inkscape.desktop.in.h:1
@@ -3580,10 +3580,9 @@ msgstr "Izmantojot tÄlruni"
#. Symbols: ./BalloonSymbols.svg
#: ../share/symbols/symbols.h:139
-#, fuzzy
msgctxt "Symbol"
msgid "Hip Balloon"
-msgstr "Hip-Hop"
+msgstr "Jautrie baloni"
#. Symbols: ./BalloonSymbols.svg
#: ../share/symbols/symbols.h:140
@@ -3703,7 +3702,7 @@ msgstr "TieÅ¡saistes krÄtuve"
#: ../share/symbols/symbols.h:159
msgctxt "Symbol"
msgid "Keying"
-msgstr ""
+msgstr "Kejošana"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:160
@@ -3725,10 +3724,9 @@ msgstr "Ä€rpuslapas savienotÄjs"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:163
-#, fuzzy
msgctxt "Symbol"
msgid "Transmittal Tape"
-msgstr "LenÅ¡u iekÄrta"
+msgstr "PÄrneses lenta"
#. Symbols: ./FlowSymbols.svg
#: ../share/symbols/symbols.h:164
@@ -3900,10 +3898,9 @@ msgstr "Velosipēdu celiņš"
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:195 ../share/symbols/symbols.h:196
-#, fuzzy
msgctxt "Symbol"
msgid "Boat Launch"
-msgstr "Palaist (A)"
+msgstr "Laivu ielaišana"
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:197 ../share/symbols/symbols.h:198
@@ -3933,7 +3930,7 @@ msgstr "Nometnes vieta"
#: ../share/symbols/symbols.h:205 ../share/symbols/symbols.h:206
msgctxt "Symbol"
msgid "CanoeAccess"
-msgstr ""
+msgstr "Laivu pietuvieta"
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:207 ../share/symbols/symbols.h:208
@@ -4011,7 +4008,7 @@ msgstr "Atkritumu tvertne"
#: ../share/symbols/symbols.h:235 ../share/symbols/symbols.h:236
msgctxt "Symbol"
msgid "Lodging"
-msgstr ""
+msgstr "Gultasvieta"
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:237 ../share/symbols/symbols.h:238
@@ -4063,10 +4060,9 @@ msgstr "KÄrtÄ«bnieka birojs"
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:255 ../share/symbols/symbols.h:256
-#, fuzzy
msgctxt "Symbol"
msgid "RV Campground"
-msgstr "Galu noapaļošana"
+msgstr "Kempings kemperiem"
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:257 ../share/symbols/symbols.h:258
@@ -4082,10 +4078,9 @@ msgstr "BurÄÅ¡ana"
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:261 ../share/symbols/symbols.h:262
-#, fuzzy
msgctxt "Symbol"
msgid "Sanitary Disposal Station"
-msgstr "NoklusÄ“tÄ kadru izmeÅ¡ana:"
+msgstr "SanitÄrais pukts"
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:263 ../share/symbols/symbols.h:264
@@ -4095,10 +4090,9 @@ msgstr "Niršana"
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:265 ../share/symbols/symbols.h:266
-#, fuzzy
msgctxt "Symbol"
msgid "Self Guided Trail"
-msgstr "Aste:"
+msgstr "Taka uz paša atbildību"
#. Symbols: ./MapSymbolsNPS.svg
#: ../share/symbols/symbols.h:267 ../share/symbols/symbols.h:268
@@ -4272,135 +4266,135 @@ msgstr "Nav iepriekšējÄs tÄlummaiņas."
msgid "No next zoom."
msgstr "Nav nÄkoÅ¡Äs tÄlummaiņas."
-#: ../src/display/canvas-axonomgrid.cpp:361 ../src/display/canvas-grid.cpp:701
+#: ../src/display/canvas-axonomgrid.cpp:357 ../src/display/canvas-grid.cpp:697
msgid "Grid _units:"
msgstr "Tīkla _vienības"
-#: ../src/display/canvas-axonomgrid.cpp:363 ../src/display/canvas-grid.cpp:703
+#: ../src/display/canvas-axonomgrid.cpp:359 ../src/display/canvas-grid.cpp:699
msgid "_Origin X:"
msgstr "SÄ_kums X:"
-#: ../src/display/canvas-axonomgrid.cpp:363 ../src/display/canvas-grid.cpp:703 ../src/ui/dialog/inkscape-preferences.cpp:746 ../src/ui/dialog/inkscape-preferences.cpp:771
+#: ../src/display/canvas-axonomgrid.cpp:359 ../src/display/canvas-grid.cpp:699 ../src/ui/dialog/inkscape-preferences.cpp:746 ../src/ui/dialog/inkscape-preferences.cpp:771
msgid "X coordinate of grid origin"
msgstr "Režģa sÄkuma X koordinÄte"
-#: ../src/display/canvas-axonomgrid.cpp:366 ../src/display/canvas-grid.cpp:706
+#: ../src/display/canvas-axonomgrid.cpp:362 ../src/display/canvas-grid.cpp:702
msgid "O_rigin Y:"
msgstr "SÄku_ms Y:"
-#: ../src/display/canvas-axonomgrid.cpp:366 ../src/display/canvas-grid.cpp:706 ../src/ui/dialog/inkscape-preferences.cpp:747 ../src/ui/dialog/inkscape-preferences.cpp:772
+#: ../src/display/canvas-axonomgrid.cpp:362 ../src/display/canvas-grid.cpp:702 ../src/ui/dialog/inkscape-preferences.cpp:747 ../src/ui/dialog/inkscape-preferences.cpp:772
msgid "Y coordinate of grid origin"
msgstr "Režģa sÄkuma Y koordinÄte"
-#: ../src/display/canvas-axonomgrid.cpp:369 ../src/display/canvas-grid.cpp:712
+#: ../src/display/canvas-axonomgrid.cpp:365 ../src/display/canvas-grid.cpp:708
msgid "Spacing _Y:"
msgstr "Atstarpe _Y:"
-#: ../src/display/canvas-axonomgrid.cpp:369 ../src/ui/dialog/inkscape-preferences.cpp:775
+#: ../src/display/canvas-axonomgrid.cpp:365 ../src/ui/dialog/inkscape-preferences.cpp:775
msgid "Base length of z-axis"
msgstr "Z ass bÄzes garums"
-#: ../src/display/canvas-axonomgrid.cpp:372 ../src/ui/dialog/inkscape-preferences.cpp:778 ../src/widgets/box3d-toolbar.cpp:302
+#: ../src/display/canvas-axonomgrid.cpp:368 ../src/ui/dialog/inkscape-preferences.cpp:778 ../src/widgets/box3d-toolbar.cpp:302
msgid "Angle X:"
msgstr "Leņķis X:"
-#: ../src/display/canvas-axonomgrid.cpp:372 ../src/ui/dialog/inkscape-preferences.cpp:778
+#: ../src/display/canvas-axonomgrid.cpp:368 ../src/ui/dialog/inkscape-preferences.cpp:778
msgid "Angle of x-axis"
msgstr "X ass leņķis"
-#: ../src/display/canvas-axonomgrid.cpp:374 ../src/ui/dialog/inkscape-preferences.cpp:779 ../src/widgets/box3d-toolbar.cpp:381
+#: ../src/display/canvas-axonomgrid.cpp:370 ../src/ui/dialog/inkscape-preferences.cpp:779 ../src/widgets/box3d-toolbar.cpp:381
msgid "Angle Z:"
msgstr "Leņķis Z:"
-#: ../src/display/canvas-axonomgrid.cpp:374 ../src/ui/dialog/inkscape-preferences.cpp:779
+#: ../src/display/canvas-axonomgrid.cpp:370 ../src/ui/dialog/inkscape-preferences.cpp:779
msgid "Angle of z-axis"
msgstr "Z ass leņķis"
-#: ../src/display/canvas-axonomgrid.cpp:378 ../src/display/canvas-grid.cpp:717
+#: ../src/display/canvas-axonomgrid.cpp:374 ../src/display/canvas-grid.cpp:713
msgid "Minor grid line _color:"
msgstr "Režģa palÄ«glÄ«niju _krÄsa:"
-#: ../src/display/canvas-axonomgrid.cpp:378 ../src/display/canvas-grid.cpp:717 ../src/ui/dialog/inkscape-preferences.cpp:730
+#: ../src/display/canvas-axonomgrid.cpp:374 ../src/display/canvas-grid.cpp:713 ../src/ui/dialog/inkscape-preferences.cpp:730
msgid "Minor grid line color"
msgstr "Režģa palÄ«glÄ«niju krÄsa"
-#: ../src/display/canvas-axonomgrid.cpp:378 ../src/display/canvas-grid.cpp:717
+#: ../src/display/canvas-axonomgrid.cpp:374 ../src/display/canvas-grid.cpp:713
msgid "Color of the minor grid lines"
msgstr "Režģa palÄ«glÄ«niju krÄsa"
-#: ../src/display/canvas-axonomgrid.cpp:383 ../src/display/canvas-grid.cpp:722
+#: ../src/display/canvas-axonomgrid.cpp:379 ../src/display/canvas-grid.cpp:718
msgid "Ma_jor grid line color:"
msgstr "_Galveno režģa lÄ«niju krÄsa:"
-#: ../src/display/canvas-axonomgrid.cpp:383 ../src/display/canvas-grid.cpp:722 ../src/ui/dialog/inkscape-preferences.cpp:732
+#: ../src/display/canvas-axonomgrid.cpp:379 ../src/display/canvas-grid.cpp:718 ../src/ui/dialog/inkscape-preferences.cpp:732
msgid "Major grid line color"
msgstr "Režģa pamatlÄ«niju krÄsa"
-#: ../src/display/canvas-axonomgrid.cpp:384 ../src/display/canvas-grid.cpp:723
+#: ../src/display/canvas-axonomgrid.cpp:380 ../src/display/canvas-grid.cpp:719
msgid "Color of the major (highlighted) grid lines"
msgstr "Režģa pamatlÄ«niju (izcelto) krÄsa"
-#: ../src/display/canvas-axonomgrid.cpp:388 ../src/display/canvas-grid.cpp:727
+#: ../src/display/canvas-axonomgrid.cpp:384 ../src/display/canvas-grid.cpp:723
msgid "_Major grid line every:"
msgstr "Režģa pa_matlīnija ik pēc:"
-#: ../src/display/canvas-axonomgrid.cpp:388 ../src/display/canvas-grid.cpp:727
+#: ../src/display/canvas-axonomgrid.cpp:384 ../src/display/canvas-grid.cpp:723
msgid "lines"
msgstr "rindas"
-#: ../src/display/canvas-grid.cpp:64
+#: ../src/display/canvas-grid.cpp:60
msgid "Rectangular grid"
msgstr "Taisnstūrveida režģis"
-#: ../src/display/canvas-grid.cpp:65
+#: ../src/display/canvas-grid.cpp:61
msgid "Axonometric grid"
msgstr "Aksonometriskais režģis"
-#: ../src/display/canvas-grid.cpp:250
+#: ../src/display/canvas-grid.cpp:246
msgid "Create new grid"
msgstr "Izveidot jaunu režģi"
-#: ../src/display/canvas-grid.cpp:316
+#: ../src/display/canvas-grid.cpp:312
msgid "_Enabled"
msgstr "_Aktivēts"
-#: ../src/display/canvas-grid.cpp:317
+#: ../src/display/canvas-grid.cpp:313
msgid "Determines whether to snap to this grid or not. Can be 'on' for invisible grids."
msgstr "Nosaka, vai pievilkt šim režģim vai nē. Var būt ieslēgts arī neredzamiem režģiem."
-#: ../src/display/canvas-grid.cpp:321
+#: ../src/display/canvas-grid.cpp:317
msgid "Snap to visible _grid lines only"
msgstr "Pievilkt tikai red_zamÄm režģa lÄ«nijÄm"
-#: ../src/display/canvas-grid.cpp:322
+#: ../src/display/canvas-grid.cpp:318
msgid "When zoomed out, not all grid lines will be displayed. Only the visible ones will be snapped to"
msgstr "TÄlinÄtÄ skatÄ visas režģa lÄ«nijas nebÅ«s redzamas. Piesaiste tiks veikta tikai redzamÄm lÄ«nijÄm"
-#: ../src/display/canvas-grid.cpp:326
+#: ../src/display/canvas-grid.cpp:322
msgid "_Visible"
msgstr "_Redzams"
-#: ../src/display/canvas-grid.cpp:327
+#: ../src/display/canvas-grid.cpp:323
msgid "Determines whether the grid is displayed or not. Objects are still snapped to invisible grids."
msgstr "Nosaka, vai režģis tiek rÄdÄ«ts vai nÄ“. Objekti joprojÄm tiks piesaistÄ«ti neredzamajam režģim."
-#: ../src/display/canvas-grid.cpp:709
+#: ../src/display/canvas-grid.cpp:705
msgid "Spacing _X:"
msgstr "Atstarpe _X:"
-#: ../src/display/canvas-grid.cpp:709 ../src/ui/dialog/inkscape-preferences.cpp:752
+#: ../src/display/canvas-grid.cpp:705 ../src/ui/dialog/inkscape-preferences.cpp:752
msgid "Distance between vertical grid lines"
msgstr "AttÄlums starp vertikÄlÄm režģa lÄ«nijÄm."
-#: ../src/display/canvas-grid.cpp:712 ../src/ui/dialog/inkscape-preferences.cpp:753
+#: ../src/display/canvas-grid.cpp:708 ../src/ui/dialog/inkscape-preferences.cpp:753
msgid "Distance between horizontal grid lines"
msgstr "AttÄlums starp horizontÄlÄm režģa lÄ«nijÄm."
-#: ../src/display/canvas-grid.cpp:744
+#: ../src/display/canvas-grid.cpp:740
msgid "_Show dots instead of lines"
msgstr "_LÄ«niju vietÄ rÄdÄ«t punktus "
-#: ../src/display/canvas-grid.cpp:745
+#: ../src/display/canvas-grid.cpp:741
msgid "If set, displays dots at gridpoints instead of gridlines"
msgstr "Ja iestatÄ«ts, režģa krustpunktos lÄ«niju vietÄ tiks rÄdÄ«ti punkti"
@@ -4549,11 +4543,11 @@ msgstr "RobežrÄmja viduspunkts"
msgid "Bounding box side midpoint"
msgstr "RobežrÄmja malas viduspunkts"
-#: ../src/display/snap-indicator.cpp:196 ../src/ui/tool/node.cpp:1505
+#: ../src/display/snap-indicator.cpp:196 ../src/ui/tool/node.cpp:1506
msgid "Smooth node"
msgstr "Gludais mezgls"
-#: ../src/display/snap-indicator.cpp:199 ../src/ui/tool/node.cpp:1504
+#: ../src/display/snap-indicator.cpp:199 ../src/ui/tool/node.cpp:1505
msgid "Cusp node"
msgstr "Asais mezgls"
@@ -4623,7 +4617,7 @@ msgstr "Atmiņas dokuments %d"
msgid "Memory document %1"
msgstr "Atmiņas dokuments %1"
-#: ../src/document.cpp:855
+#: ../src/document.cpp:886
#, c-format
msgid "Unnamed document %d"
msgstr "Nenosaukts dokuments %d"
@@ -4633,11 +4627,11 @@ msgid "[Unchanged]"
msgstr "[Nemainīts]"
#. Edit
-#: ../src/event-log.cpp:371 ../src/event-log.cpp:374 ../src/verbs.cpp:2465
+#: ../src/event-log.cpp:371 ../src/event-log.cpp:374 ../src/verbs.cpp:2434
msgid "_Undo"
msgstr "_Atcelt"
-#: ../src/event-log.cpp:381 ../src/event-log.cpp:385 ../src/verbs.cpp:2467
+#: ../src/event-log.cpp:381 ../src/event-log.cpp:385 ../src/verbs.cpp:2436
msgid "_Redo"
msgstr "At_kÄrtot"
@@ -4665,7 +4659,7 @@ msgstr " apraksts: "
msgid " (No preferences)"
msgstr " (Nav iestatījumu)"
-#: ../src/extension/effect.h:70 ../src/verbs.cpp:2239
+#: ../src/extension/effect.h:70 ../src/verbs.cpp:2208
msgid "Extensions"
msgstr "PaplaÅ¡inÄjumi"
@@ -4685,84 +4679,84 @@ msgstr ""
msgid "Show dialog on startup"
msgstr "RÄdÄ«t dialogu starta laikÄ"
-#: ../src/extension/execution-env.cpp:144
+#: ../src/extension/execution-env.cpp:138
#, c-format
msgid "'%s' working, please wait..."
msgstr "'%s' darbojas, lūdzu, uzgaidiet..."
#. static int i = 0;
#. std::cout << "Checking module[" << i++ << "]: " << name << std::endl;
-#: ../src/extension/extension.cpp:271
+#: ../src/extension/extension.cpp:267
msgid " This is caused by an improper .inx file for this extension. An improper .inx file could have been caused by a faulty installation of Inkscape."
msgstr " TÄ cÄ“lonis ir nederÄ«ga datne ar paplaÅ¡inÄjumu .inx. NederÄ«ga .inx datne varÄ“tu bÅ«t kļūdainais Inkscape uzstÄdīšanas rezultÄts."
-#: ../src/extension/extension.cpp:281
+#: ../src/extension/extension.cpp:277
msgid "the extension is designed for Windows only."
msgstr "paplaÅ¡inÄjums ir izstrÄdÄts tikai lietoÅ¡anai Windows vidÄ“."
-#: ../src/extension/extension.cpp:286
+#: ../src/extension/extension.cpp:282
msgid "an ID was not defined for it."
msgstr "tam nav definēts ID."
-#: ../src/extension/extension.cpp:290
+#: ../src/extension/extension.cpp:286
msgid "there was no name defined for it."
msgstr "tam nav definēts nosaukums."
-#: ../src/extension/extension.cpp:294
+#: ../src/extension/extension.cpp:290
msgid "the XML description of it got lost."
msgstr "tÄ XML apraksts ir zudis."
-#: ../src/extension/extension.cpp:298
+#: ../src/extension/extension.cpp:294
msgid "no implementation was defined for the extension."
msgstr "paplaÅ¡inÄjumam nav noteikts pielietojums."
#. std::cout << "Failed: " << *(_deps[i]) << std::endl;
-#: ../src/extension/extension.cpp:305
+#: ../src/extension/extension.cpp:301
msgid "a dependency was not met."
msgstr "nav izpildīta atkarības prasība."
-#: ../src/extension/extension.cpp:325
+#: ../src/extension/extension.cpp:321
msgid "Extension \""
msgstr "PaplaÅ¡inÄjums \""
-#: ../src/extension/extension.cpp:325
+#: ../src/extension/extension.cpp:321
msgid "\" failed to load because "
msgstr "\" neizdevÄs ielÄdÄ“t, jo "
-#: ../src/extension/extension.cpp:674
+#: ../src/extension/extension.cpp:670
#, c-format
msgid "Could not create extension error log file '%s'"
msgstr "Nav iespÄ“jams izveidot paplaÅ¡inÄjuma kļūdu žurnÄla datni '%s'"
-#: ../src/extension/extension.cpp:782 ../share/extensions/webslicer_create_rect.inx.h:2
+#: ../src/extension/extension.cpp:778 ../share/extensions/webslicer_create_rect.inx.h:2
msgid "Name:"
msgstr "Nosaukums:"
-#: ../src/extension/extension.cpp:783
+#: ../src/extension/extension.cpp:779
msgid "ID:"
msgstr "ID:"
-#: ../src/extension/extension.cpp:784
+#: ../src/extension/extension.cpp:780
msgid "State:"
msgstr "StÄvoklis:"
-#: ../src/extension/extension.cpp:784
+#: ../src/extension/extension.cpp:780
msgid "Loaded"
msgstr "IelÄdÄ“ts"
-#: ../src/extension/extension.cpp:784
+#: ../src/extension/extension.cpp:780
msgid "Unloaded"
msgstr "AizvÄkts no atmiņas"
-#: ../src/extension/extension.cpp:784
+#: ../src/extension/extension.cpp:780
msgid "Deactivated"
msgstr "Deaktivēts"
-#: ../src/extension/extension.cpp:824
+#: ../src/extension/extension.cpp:820
msgid "Currently there is no help available for this Extension. Please look on the Inkscape website or ask on the mailing lists if you have questions regarding this extension."
msgstr "Å obrÄ«d palÄ«dzÄ«ba par Å¡o paplaÅ¡inÄjumu nav pieejama. ApmeklÄ“jiet Inkscape mÄjas lapu vai jautÄjiet vÄ“stuļu kopÄs, ja Jums ir jautÄjumi par Å¡o paplaÅ¡inÄjumu."
-#: ../src/extension/implementation/script.cpp:1057
+#: ../src/extension/implementation/script.cpp:1063
msgid "Inkscape has received additional data from the script executed. The script did not return an error, but this may indicate the results will not be as expected."
msgstr "Inkscape ir saņēmusi papildu datus no izpildÄ«tÄ skripta. Skripts nav nodevis kļūdas paziņojumu, taÄu tas var nozÄ«mÄ“t, ka rezultÄti var nebÅ«t gaidÄ«tie."
@@ -4779,14 +4773,14 @@ msgstr "Moduļu mape (%s) nav pieejama. Ārējie moduļi no šī mapes netiks i
msgid "Adaptive Threshold"
msgstr "PielÄgojamais slieksnis"
-#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:41 ../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 ../src/widgets/eraser-toolbar.cpp:128
-#: ../src/widgets/spray-toolbar.cpp:116 ../src/widgets/tweak-toolbar.cpp:128 ../share/extensions/foldablebox.inx.h:2
+#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:41 ../src/extension/internal/bitmap/raise.cpp:42 ../src/extension/internal/bitmap/sample.cpp:41 ../src/extension/internal/bluredge.cpp:136
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:59 ../src/ui/dialog/object-attributes.cpp:68 ../src/ui/dialog/object-attributes.cpp:77 ../src/ui/widget/page-sizer.cpp:249 ../src/widgets/calligraphy-toolbar.cpp:430
+#: ../src/widgets/eraser-toolbar.cpp:128 ../src/widgets/spray-toolbar.cpp:116 ../src/widgets/tweak-toolbar.cpp:128 ../share/extensions/foldablebox.inx.h:2
msgid "Width:"
msgstr "Platums:"
#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:42 ../src/extension/internal/bitmap/raise.cpp:43 ../src/extension/internal/bitmap/sample.cpp:42 ../src/ui/dialog/object-attributes.cpp:69 ../src/ui/dialog/object-attributes.cpp:78
-#: ../share/extensions/foldablebox.inx.h:3
+#: ../src/ui/widget/page-sizer.cpp:250 ../share/extensions/foldablebox.inx.h:3
msgid "Height:"
msgstr "Augstums:"
@@ -4816,7 +4810,7 @@ msgstr "Pievienot troksni"
#. _settings->add_checkbutton(false, SP_ATTR_STITCHTILES, _("Stitch Tiles"), "stitch", "noStitch");
#: ../src/extension/internal/bitmap/addNoise.cpp:47 ../src/extension/internal/filter/color.h:501 ../src/extension/internal/filter/color.h:1572 ../src/extension/internal/filter/color.h:1660 ../src/extension/internal/filter/distort.h:69
-#: ../src/extension/internal/filter/morphology.h:60 ../src/rdf.cpp:244 ../src/ui/dialog/filter-effects-dialog.cpp:2842 ../src/ui/dialog/filter-effects-dialog.cpp:2916 ../src/ui/dialog/object-attributes.cpp:49
+#: ../src/extension/internal/filter/morphology.h:60 ../src/rdf.cpp:244 ../src/ui/dialog/filter-effects-dialog.cpp:2858 ../src/ui/dialog/filter-effects-dialog.cpp:2932 ../src/ui/dialog/object-attributes.cpp:49
#: ../share/extensions/jessyInk_effects.inx.h:5 ../share/extensions/jessyInk_export.inx.h:3 ../share/extensions/jessyInk_transitions.inx.h:5 ../share/extensions/webslicer_create_rect.inx.h:14
msgid "Type:"
msgstr "Tips:"
@@ -4854,7 +4848,7 @@ msgid "Blur"
msgstr "Aizmiglošana"
#: ../src/extension/internal/bitmap/blur.cpp:40 ../src/extension/internal/bitmap/charcoal.cpp:40 ../src/extension/internal/bitmap/edge.cpp:39 ../src/extension/internal/bitmap/emboss.cpp:40 ../src/extension/internal/bitmap/medianFilter.cpp:39
-#: ../src/extension/internal/bitmap/oilPaint.cpp:39 ../src/extension/internal/bitmap/sharpen.cpp:40 ../src/extension/internal/bitmap/unsharpmask.cpp:43 ../src/ui/dialog/filter-effects-dialog.cpp:2894
+#: ../src/extension/internal/bitmap/oilPaint.cpp:39 ../src/extension/internal/bitmap/sharpen.cpp:40 ../src/extension/internal/bitmap/unsharpmask.cpp:43 ../src/ui/dialog/filter-effects-dialog.cpp:2910
msgid "Radius:"
msgstr "RÄdiuss:"
@@ -5128,7 +5122,7 @@ msgstr "StilizÄ“t atlasÄ«to(-Äs) bitkarti(-es), lai tÄs izskatÄ«tos kÄ glezno
msgid "Opacity"
msgstr "Necaurspīdība"
-#: ../src/extension/internal/bitmap/opacity.cpp:40 ../src/ui/dialog/filter-effects-dialog.cpp:2884 ../src/ui/dialog/objects.cpp:1619 ../src/widgets/dropper-toolbar.cpp:83
+#: ../src/extension/internal/bitmap/opacity.cpp:40 ../src/ui/dialog/filter-effects-dialog.cpp:2900 ../src/ui/dialog/objects.cpp:1619 ../src/widgets/dropper-toolbar.cpp:83
msgid "Opacity:"
msgstr "Necaurspīdība:"
@@ -5221,7 +5215,7 @@ msgstr "Savirpuļot atlasÄ«to(-Äs) bitkarti(-es) ap centru"
msgid "Threshold"
msgstr "Slieksnis"
-#: ../src/extension/internal/bitmap/threshold.cpp:40 ../src/extension/internal/bitmap/unsharpmask.cpp:46 ../src/widgets/paintbucket-toolbar.cpp:148
+#: ../src/extension/internal/bitmap/threshold.cpp:40 ../src/extension/internal/bitmap/unsharpmask.cpp:46 ../src/widgets/paintbucket-toolbar.cpp:147
msgid "Threshold:"
msgstr "Slieksnis:"
@@ -5253,23 +5247,23 @@ msgstr "Viļņa garums:"
msgid "Alter selected bitmap(s) along sine wave"
msgstr "SinusoidÄli mainÄ«t atlasÄ«to(-Äs) bitkarti(-es) "
-#: ../src/extension/internal/bluredge.cpp:136
+#: ../src/extension/internal/bluredge.cpp:134
msgid "Inset/Outset Halo"
msgstr "PalielinÄt/samazinÄt oreolu"
-#: ../src/extension/internal/bluredge.cpp:138
+#: ../src/extension/internal/bluredge.cpp:136
msgid "Width in px of the halo"
msgstr "Oreola platums pikseļos"
-#: ../src/extension/internal/bluredge.cpp:139
+#: ../src/extension/internal/bluredge.cpp:137
msgid "Number of steps:"
msgstr "Soļu skaits:"
-#: ../src/extension/internal/bluredge.cpp:139
+#: ../src/extension/internal/bluredge.cpp:137
msgid "Number of inset/outset copies of the object to make"
msgstr "Izveidojamais objekta saÄ«sinÄto/pagarinÄto kopiju skaits"
-#: ../src/extension/internal/bluredge.cpp:143 ../share/extensions/extrude.inx.h:5 ../share/extensions/generate_voronoi.inx.h:9 ../share/extensions/interp.inx.h:7 ../share/extensions/motion.inx.h:4 ../share/extensions/pathalongpath.inx.h:18
+#: ../src/extension/internal/bluredge.cpp:141 ../share/extensions/extrude.inx.h:5 ../share/extensions/generate_voronoi.inx.h:9 ../share/extensions/interp.inx.h:7 ../share/extensions/motion.inx.h:4 ../share/extensions/pathalongpath.inx.h:18
#: ../share/extensions/pathscatter.inx.h:20 ../share/extensions/voronoi2svg.inx.h:13
msgid "Generate from Path"
msgstr "Veidot no ceļa"
@@ -5291,9 +5285,8 @@ msgid "PostScript level 2"
msgstr "PostScript level 2"
#: ../src/extension/internal/cairo-ps-out.cpp:333 ../src/extension/internal/cairo-ps-out.cpp:375 ../src/extension/internal/cairo-renderer-pdf-out.cpp:250
-#, fuzzy
msgid "Text output options:"
-msgstr "Teksta izvades opcijas:"
+msgstr "Teksta izvades papildiespējas:"
#: ../src/extension/internal/cairo-ps-out.cpp:334 ../src/extension/internal/cairo-ps-out.cpp:376 ../src/extension/internal/cairo-renderer-pdf-out.cpp:251
msgid "Embed fonts"
@@ -5437,71 +5430,71 @@ msgstr "Corel DRAW Presentation Exchange datnes (.cmx)"
msgid "Open presentation exchange files saved in Corel DRAW"
msgstr "Atver Corel DRAW saglabÄtos Presentation Exchange datnes"
-#: ../src/extension/internal/emf-inout.cpp:3562
+#: ../src/extension/internal/emf-inout.cpp:3584
msgid "EMF Input"
msgstr "EMF ievade"
-#: ../src/extension/internal/emf-inout.cpp:3567
+#: ../src/extension/internal/emf-inout.cpp:3589
msgid "Enhanced Metafiles (*.emf)"
msgstr "Enhanced Metafile (*.emf)"
-#: ../src/extension/internal/emf-inout.cpp:3568
+#: ../src/extension/internal/emf-inout.cpp:3590
msgid "Enhanced Metafiles"
msgstr "Enhanced metafaili"
-#: ../src/extension/internal/emf-inout.cpp:3576
+#: ../src/extension/internal/emf-inout.cpp:3598
msgid "EMF Output"
msgstr "EMF izvade"
-#: ../src/extension/internal/emf-inout.cpp:3578 ../src/extension/internal/wmf-inout.cpp:3152
+#: ../src/extension/internal/emf-inout.cpp:3600 ../src/extension/internal/wmf-inout.cpp:3174
msgid "Convert texts to paths"
msgstr "PÄrvÄ“rst tekstus par ceļiem"
-#: ../src/extension/internal/emf-inout.cpp:3579 ../src/extension/internal/wmf-inout.cpp:3153
+#: ../src/extension/internal/emf-inout.cpp:3601 ../src/extension/internal/wmf-inout.cpp:3175
msgid "Map Unicode to Symbol font"
msgstr "Kartēt Unicode pret Symbol fontu"
-#: ../src/extension/internal/emf-inout.cpp:3580 ../src/extension/internal/wmf-inout.cpp:3154
+#: ../src/extension/internal/emf-inout.cpp:3602 ../src/extension/internal/wmf-inout.cpp:3176
msgid "Map Unicode to Wingdings"
msgstr "Kartēt Unicode pret Wingdings"
-#: ../src/extension/internal/emf-inout.cpp:3581 ../src/extension/internal/wmf-inout.cpp:3155
+#: ../src/extension/internal/emf-inout.cpp:3603 ../src/extension/internal/wmf-inout.cpp:3177
msgid "Map Unicode to Zapf Dingbats"
msgstr "Kartēt Unicode pret Zapf Dingbats"
-#: ../src/extension/internal/emf-inout.cpp:3582 ../src/extension/internal/wmf-inout.cpp:3156
+#: ../src/extension/internal/emf-inout.cpp:3604 ../src/extension/internal/wmf-inout.cpp:3178
msgid "Use MS Unicode PUA (0xF020-0xF0FF) for converted characters"
msgstr "Lietot MS Unicode PUA (0xF020-0xF0FF) pÄrvÄ“rstajÄm rakstzÄ«mÄ“m"
-#: ../src/extension/internal/emf-inout.cpp:3583 ../src/extension/internal/wmf-inout.cpp:3157
+#: ../src/extension/internal/emf-inout.cpp:3605 ../src/extension/internal/wmf-inout.cpp:3179
msgid "Compensate for PPT font bug"
msgstr "Kompensēt PPT fontu kļūdu"
-#: ../src/extension/internal/emf-inout.cpp:3584 ../src/extension/internal/wmf-inout.cpp:3158
+#: ../src/extension/internal/emf-inout.cpp:3606 ../src/extension/internal/wmf-inout.cpp:3180
msgid "Convert dashed/dotted lines to single lines"
msgstr "PÄrvÄ“st raustÄ«tas/punktÄ“tas lÄ«nijas par atsevišķÄm lÄ«nijam"
-#: ../src/extension/internal/emf-inout.cpp:3585 ../src/extension/internal/wmf-inout.cpp:3159
+#: ../src/extension/internal/emf-inout.cpp:3607 ../src/extension/internal/wmf-inout.cpp:3181
msgid "Convert gradients to colored polygon series"
msgstr "PÄrvÄ“rst krÄsu pÄrejas krÄsas izkrÄsotu daudzstÅ«ru rindÄs"
-#: ../src/extension/internal/emf-inout.cpp:3586
+#: ../src/extension/internal/emf-inout.cpp:3608
msgid "Use native rectangular linear gradients"
msgstr "Izmantot iebÅ«vÄ“tÄs taisnstÅ«rainas lineÄrÄs krÄsu pÄrejas"
-#: ../src/extension/internal/emf-inout.cpp:3587
+#: ../src/extension/internal/emf-inout.cpp:3609
msgid "Map all fill patterns to standard EMF hatches"
msgstr "Kartēt visas aizpildījuma faktūras pret standarta EMF iesvītrojumiem"
-#: ../src/extension/internal/emf-inout.cpp:3588
+#: ../src/extension/internal/emf-inout.cpp:3610
msgid "Ignore image rotations"
msgstr "Neņemt vÄ“rÄ attÄ“la grieÅ¡anu"
-#: ../src/extension/internal/emf-inout.cpp:3592
+#: ../src/extension/internal/emf-inout.cpp:3614
msgid "Enhanced Metafile (*.emf)"
msgstr "Enhanced Metafile (*.emf)"
-#: ../src/extension/internal/emf-inout.cpp:3593
+#: ../src/extension/internal/emf-inout.cpp:3615
msgid "Enhanced Metafile"
msgstr "Enhanced metafails"
@@ -5531,7 +5524,7 @@ msgstr "Gaismas krÄsa"
#: ../src/extension/internal/filter/color.h:511 ../src/extension/internal/filter/color.h:606 ../src/extension/internal/filter/color.h:728 ../src/extension/internal/filter/color.h:825 ../src/extension/internal/filter/color.h:904
#: ../src/extension/internal/filter/color.h:995 ../src/extension/internal/filter/color.h:1123 ../src/extension/internal/filter/color.h:1193 ../src/extension/internal/filter/color.h:1286 ../src/extension/internal/filter/color.h:1398
#: ../src/extension/internal/filter/color.h:1503 ../src/extension/internal/filter/color.h:1579 ../src/extension/internal/filter/color.h:1690 ../src/extension/internal/filter/distort.h:95 ../src/extension/internal/filter/distort.h:204
-#: ../src/extension/internal/filter/filter-file.cpp:151 ../src/extension/internal/filter/filter.cpp:214 ../src/extension/internal/filter/image.h:61 ../src/extension/internal/filter/morphology.h:75
+#: ../src/extension/internal/filter/filter-file.cpp:151 ../src/extension/internal/filter/filter.cpp:212 ../src/extension/internal/filter/image.h:61 ../src/extension/internal/filter/morphology.h:75
#: ../src/extension/internal/filter/morphology.h:202 ../src/extension/internal/filter/overlays.h:79 ../src/extension/internal/filter/paint.h:112 ../src/extension/internal/filter/paint.h:243 ../src/extension/internal/filter/paint.h:362
#: ../src/extension/internal/filter/paint.h:506 ../src/extension/internal/filter/paint.h:601 ../src/extension/internal/filter/paint.h:724 ../src/extension/internal/filter/paint.h:876 ../src/extension/internal/filter/paint.h:980
#: ../src/extension/internal/filter/protrusions.h:54 ../src/extension/internal/filter/shadows.h:80 ../src/extension/internal/filter/textures.h:90 ../src/extension/internal/filter/transparency.h:69
@@ -5690,17 +5683,17 @@ msgid "Bump source"
msgstr "Reljefa avots"
#: ../src/extension/internal/filter/bumps.h:88 ../src/extension/internal/filter/bumps.h:317 ../src/extension/internal/filter/color.h:158 ../src/extension/internal/filter/color.h:712 ../src/extension/internal/filter/color.h:896
-#: ../src/extension/internal/filter/transparency.h:132 ../src/filter-enums.cpp:128 ../src/ui/tools/flood-tool.cpp:183 ../src/widgets/sp-color-icc-selector.cpp:330 ../src/widgets/sp-color-scales.cpp:415 ../src/widgets/sp-color-scales.cpp:416
+#: ../src/extension/internal/filter/transparency.h:132 ../src/filter-enums.cpp:128 ../src/ui/tools/flood-tool.cpp:91 ../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 "Sarkans"
#: ../src/extension/internal/filter/bumps.h:89 ../src/extension/internal/filter/bumps.h:318 ../src/extension/internal/filter/color.h:159 ../src/extension/internal/filter/color.h:713 ../src/extension/internal/filter/color.h:897
-#: ../src/extension/internal/filter/transparency.h:133 ../src/filter-enums.cpp:129 ../src/ui/tools/flood-tool.cpp:184 ../src/widgets/sp-color-icc-selector.cpp:331 ../src/widgets/sp-color-scales.cpp:418 ../src/widgets/sp-color-scales.cpp:419
+#: ../src/extension/internal/filter/transparency.h:133 ../src/filter-enums.cpp:129 ../src/ui/tools/flood-tool.cpp:92 ../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 "Zaļš"
#: ../src/extension/internal/filter/bumps.h:90 ../src/extension/internal/filter/bumps.h:319 ../src/extension/internal/filter/color.h:160 ../src/extension/internal/filter/color.h:714 ../src/extension/internal/filter/color.h:898
-#: ../src/extension/internal/filter/transparency.h:134 ../src/filter-enums.cpp:130 ../src/ui/tools/flood-tool.cpp:185 ../src/widgets/sp-color-icc-selector.cpp:332 ../src/widgets/sp-color-scales.cpp:421 ../src/widgets/sp-color-scales.cpp:422
+#: ../src/extension/internal/filter/transparency.h:134 ../src/filter-enums.cpp:130 ../src/ui/tools/flood-tool.cpp:93 ../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 "Zils"
@@ -5720,12 +5713,13 @@ msgstr "Atspīdums"
msgid "Diffuse"
msgstr "Izkliedēt"
-#: ../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:334 ../share/extensions/interp_att_g.inx.h:11
+#: ../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/ui/widget/page-sizer.cpp:250 ../src/widgets/rect-toolbar.cpp:334
+#: ../share/extensions/interp_att_g.inx.h:11
msgid "Height"
msgstr "Augstums"
#: ../src/extension/internal/filter/bumps.h:99 ../src/extension/internal/filter/bumps.h:330 ../src/extension/internal/filter/color.h:77 ../src/extension/internal/filter/color.h:899 ../src/extension/internal/filter/color.h:1188
-#: ../src/extension/internal/filter/paint.h:86 ../src/extension/internal/filter/paint.h:592 ../src/extension/internal/filter/paint.h:707 ../src/ui/tools/flood-tool.cpp:188 ../src/widgets/sp-color-icc-selector.cpp:341
+#: ../src/extension/internal/filter/paint.h:86 ../src/extension/internal/filter/paint.h:592 ../src/extension/internal/filter/paint.h:707 ../src/ui/tools/flood-tool.cpp:96 ../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 "Gaišums"
@@ -5758,11 +5752,11 @@ msgstr "Vieta"
msgid "Distant light options"
msgstr "AttÄla gaismas avota papildiespÄ“jas"
-#: ../src/extension/internal/filter/bumps.h:110 ../src/extension/internal/filter/bumps.h:332 ../src/ui/dialog/filter-effects-dialog.cpp:1195
+#: ../src/extension/internal/filter/bumps.h:110 ../src/extension/internal/filter/bumps.h:332 ../src/ui/dialog/filter-effects-dialog.cpp:1196
msgid "Azimuth"
msgstr "Azimuts"
-#: ../src/extension/internal/filter/bumps.h:111 ../src/extension/internal/filter/bumps.h:333 ../src/ui/dialog/filter-effects-dialog.cpp:1196
+#: ../src/extension/internal/filter/bumps.h:111 ../src/extension/internal/filter/bumps.h:333 ../src/ui/dialog/filter-effects-dialog.cpp:1197
msgid "Elevation"
msgstr "Pacēlums"
@@ -5896,12 +5890,12 @@ msgid "Channel Painting"
msgstr "KanÄlu krÄsosana"
#: ../src/extension/internal/filter/color.h:157 ../src/extension/internal/filter/color.h:332 ../src/extension/internal/filter/paint.h:87 ../src/filter-enums.cpp:66 ../src/ui/dialog/inkscape-preferences.cpp:952
-#: ../src/ui/tools/flood-tool.cpp:187 ../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
+#: ../src/ui/tools/flood-tool.cpp:95 ../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 "PiesÄtinÄjums"
-#: ../src/extension/internal/filter/color.h:161 ../src/extension/internal/filter/transparency.h:135 ../src/filter-enums.cpp:131 ../src/ui/tools/flood-tool.cpp:189
+#: ../src/extension/internal/filter/color.h:161 ../src/extension/internal/filter/transparency.h:135 ../src/filter-enums.cpp:131 ../src/ui/tools/flood-tool.cpp:97
msgid "Alpha"
msgstr "Alfa"
@@ -5911,43 +5905,43 @@ msgstr "Aizvietot RGB ar jebkuru krÄsu"
#: ../src/extension/internal/filter/color.h:254
msgid "Color Blindness"
-msgstr ""
+msgstr "KrÄsu aklums"
#: ../src/extension/internal/filter/color.h:258
msgid "Blindness type:"
-msgstr ""
+msgstr "Akluma tips:"
#: ../src/extension/internal/filter/color.h:259
msgid "Rod monochromacy (atypical achromatopsia)"
-msgstr ""
+msgstr "NÅ«jiņu monohromÄzija (atipiskÄ ahromatopsija)"
#: ../src/extension/internal/filter/color.h:260
msgid "Cone monochromacy (typical achromatopsia)"
-msgstr ""
+msgstr "VÄlīšu monohromÄzija (tipiskÄ ahromatopsija)"
#: ../src/extension/internal/filter/color.h:261
-msgid "Geen weak (deuteranomaly)"
-msgstr ""
+msgid "Green weak (deuteranomaly)"
+msgstr "ZaÄ¼Ä pavÄjinÄjums (deiteranomÄlija)"
#: ../src/extension/internal/filter/color.h:262
msgid "Green blind (deuteranopia)"
-msgstr ""
+msgstr "ZaÄ¼Ä aklums (deiteranopija)"
#: ../src/extension/internal/filter/color.h:263
msgid "Red weak (protanomaly)"
-msgstr ""
+msgstr "SarkanÄ pavÄjinÄjums (protanomÄlija)"
#: ../src/extension/internal/filter/color.h:264
msgid "Red blind (protanopia)"
-msgstr ""
+msgstr "SarkanÄ aklums (protanopija)"
#: ../src/extension/internal/filter/color.h:265
msgid "Blue weak (tritanomaly)"
-msgstr ""
+msgstr "ZilÄ pavÄjinÄjums (tritanomÄlija)"
#: ../src/extension/internal/filter/color.h:266
msgid "Blue blind (tritanopia)"
-msgstr ""
+msgstr "ZilÄ aklums (tritanopija)"
#: ../src/extension/internal/filter/color.h:286
msgid "Simulate color blindness"
@@ -5997,11 +5991,11 @@ msgstr "SastÄvdaļu pÄrnese"
msgid "Identity"
msgstr "IdentitÄte"
-#: ../src/extension/internal/filter/color.h:503 ../src/extension/internal/filter/paint.h:498 ../src/filter-enums.cpp:111 ../src/ui/dialog/filter-effects-dialog.cpp:1050
+#: ../src/extension/internal/filter/color.h:503 ../src/extension/internal/filter/paint.h:498 ../src/filter-enums.cpp:111 ../src/ui/dialog/filter-effects-dialog.cpp:1051
msgid "Table"
msgstr "Tabula"
-#: ../src/extension/internal/filter/color.h:504 ../src/extension/internal/filter/paint.h:499 ../src/filter-enums.cpp:112 ../src/ui/dialog/filter-effects-dialog.cpp:1053
+#: ../src/extension/internal/filter/color.h:504 ../src/extension/internal/filter/paint.h:499 ../src/filter-enums.cpp:112 ../src/ui/dialog/filter-effects-dialog.cpp:1054
msgid "Discrete"
msgstr "Atsevišķs"
@@ -6169,8 +6163,8 @@ msgstr "Gaismas"
msgid "Shadows"
msgstr "Ä’nas"
-#: ../src/extension/internal/filter/color.h:1119 ../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:1159
+#: ../src/extension/internal/filter/color.h:1119 ../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:1048
+#: ../src/widgets/gradient-toolbar.cpp:1162
msgid "Offset"
msgstr "Nobīde"
@@ -6195,12 +6189,12 @@ msgid "Red offset"
msgstr "SarkanÄ nobÄ«de"
#: ../src/extension/internal/filter/color.h:1270 ../src/extension/internal/filter/color.h:1273 ../src/extension/internal/filter/color.h:1276 ../src/extension/internal/filter/color.h:1382 ../src/extension/internal/filter/color.h:1385
-#: ../src/extension/internal/filter/color.h:1388 ../src/ui/dialog/input.cpp:1616 ../src/ui/dialog/layers.cpp:917
+#: ../src/extension/internal/filter/color.h:1388 ../src/ui/dialog/input.cpp:1616 ../src/ui/dialog/layers.cpp:925 ../src/ui/widget/page-sizer.cpp:247
msgid "X"
msgstr "X"
#: ../src/extension/internal/filter/color.h:1271 ../src/extension/internal/filter/color.h:1274 ../src/extension/internal/filter/color.h:1277 ../src/extension/internal/filter/color.h:1383 ../src/extension/internal/filter/color.h:1386
-#: ../src/extension/internal/filter/color.h:1389 ../src/ui/dialog/input.cpp:1616
+#: ../src/extension/internal/filter/color.h:1389 ../src/ui/dialog/input.cpp:1616 ../src/ui/widget/page-sizer.cpp:248
msgid "Y"
msgstr "Y"
@@ -6441,8 +6435,8 @@ msgstr "Ārējs"
msgid "Open"
msgstr "Atvērt"
-#: ../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:317 ../src/widgets/spray-toolbar.cpp:116 ../src/widgets/tweak-toolbar.cpp:128
-#: ../share/extensions/interp_att_g.inx.h:10
+#: ../src/extension/internal/filter/morphology.h:65 ../src/libgdl/gdl-dock-placeholder.c:167 ../src/libgdl/gdl-dock.c:191 ../src/ui/widget/page-sizer.cpp:249 ../src/widgets/rect-toolbar.cpp:317 ../src/widgets/spray-toolbar.cpp:116
+#: ../src/widgets/tweak-toolbar.cpp:128 ../share/extensions/interp_att_g.inx.h:10
msgid "Width"
msgstr "Platums"
@@ -6482,7 +6476,7 @@ msgstr "PÄri"
msgid "XOR"
msgstr "XOR"
-#: ../src/extension/internal/filter/morphology.h:179 ../src/ui/dialog/layer-properties.cpp:185 ../src/ui/dialog/lpe-powerstroke-properties.cpp:59
+#: ../src/extension/internal/filter/morphology.h:179 ../src/ui/dialog/layer-properties.cpp:185 ../src/ui/dialog/lpe-powerstroke-properties.cpp:55
msgid "Position:"
msgstr "Pozīcija:"
@@ -6639,13 +6633,13 @@ msgstr "Garums"
msgid "Convert image to an engraving made of vertical and horizontal lines"
msgstr "PÄrvÄ“rst attÄ“lu par gravÄ«ru, kas sastÄv no vertikÄlÄm un horizontÄlÄm lÄ«nijÄm"
-#: ../src/extension/internal/filter/paint.h:331 ../src/ui/dialog/align-and-distribute.cpp:1003 ../src/widgets/desktop-widget.cpp:1996
+#: ../src/extension/internal/filter/paint.h:331 ../src/ui/dialog/align-and-distribute.cpp:999 ../src/widgets/desktop-widget.cpp:1998
msgid "Drawing"
msgstr "Zīmējums"
#. 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/live_effects/effect.cpp:151
-#: ../src/splivarot.cpp:2212
+#: ../src/splivarot.cpp:2201
msgid "Simplify"
msgstr "VienkÄrÅ¡ot"
@@ -6913,7 +6907,7 @@ msgstr "Avots:"
msgid "Background"
msgstr "Fons"
-#: ../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:132
+#: ../src/extension/internal/filter/transparency.h:59 ../src/ui/dialog/filter-effects-dialog.cpp:2855 ../src/ui/dialog/input.cpp:1088 ../src/widgets/eraser-toolbar.cpp:106 ../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:"
msgstr "Režīms:"
@@ -7035,31 +7029,31 @@ msgstr "GIMP krÄsu pÄreja (*.ggr)"
msgid "Gradients used in GIMP"
msgstr "GIMP izmantotÄs krÄsu pÄrejas"
-#: ../src/extension/internal/grid.cpp:212 ../src/ui/widget/panel.cpp:118
+#: ../src/extension/internal/grid.cpp:205 ../src/ui/widget/panel.cpp:114
msgid "Grid"
msgstr "Režģis"
-#: ../src/extension/internal/grid.cpp:214
+#: ../src/extension/internal/grid.cpp:207
msgid "Line Width:"
msgstr "Līnijas platums:"
-#: ../src/extension/internal/grid.cpp:215
+#: ../src/extension/internal/grid.cpp:208
msgid "Horizontal Spacing:"
msgstr "HorizontÄlais attÄlums:"
-#: ../src/extension/internal/grid.cpp:216
+#: ../src/extension/internal/grid.cpp:209
msgid "Vertical Spacing:"
msgstr "VertikÄlais attÄlums:"
-#: ../src/extension/internal/grid.cpp:217
+#: ../src/extension/internal/grid.cpp:210
msgid "Horizontal Offset:"
msgstr "HorizontÄlÄ nobÄ«de"
-#: ../src/extension/internal/grid.cpp:218
+#: ../src/extension/internal/grid.cpp:211
msgid "Vertical Offset:"
msgstr "VertikÄlÄ nobÄ«de:"
-#: ../src/extension/internal/grid.cpp:222 ../src/ui/dialog/inkscape-preferences.cpp:1477 ../share/extensions/draw_from_triangle.inx.h:58 ../share/extensions/eqtexsvg.inx.h:4 ../share/extensions/foldablebox.inx.h:9
+#: ../src/extension/internal/grid.cpp:215 ../src/ui/dialog/inkscape-preferences.cpp:1477 ../share/extensions/draw_from_triangle.inx.h:58 ../share/extensions/eqtexsvg.inx.h:4 ../share/extensions/foldablebox.inx.h:9
#: ../share/extensions/funcplot.inx.h:38 ../share/extensions/grid_cartesian.inx.h:23 ../share/extensions/grid_isometric.inx.h:11 ../share/extensions/grid_polar.inx.h:22 ../share/extensions/guides_creator.inx.h:25
#: ../share/extensions/hershey.inx.h:52 ../share/extensions/layout_nup.inx.h:35 ../share/extensions/lindenmayer.inx.h:34 ../share/extensions/param_curves.inx.h:30 ../share/extensions/perfectboundcover.inx.h:19
#: ../share/extensions/polyhedron_3d.inx.h:56 ../share/extensions/printing_marks.inx.h:20 ../share/extensions/render_alphabetsoup.inx.h:5 ../share/extensions/render_barcode.inx.h:5 ../share/extensions/render_barcode_datamatrix.inx.h:5
@@ -7068,11 +7062,11 @@ msgstr "VertikÄlÄ nobÄ«de:"
msgid "Render"
msgstr "Renderēt"
-#: ../src/extension/internal/grid.cpp:223 ../src/ui/dialog/document-properties.cpp:162 ../src/ui/dialog/inkscape-preferences.cpp:787 ../src/widgets/toolbox.cpp:1827
+#: ../src/extension/internal/grid.cpp:216 ../src/ui/dialog/document-properties.cpp:162 ../src/ui/dialog/inkscape-preferences.cpp:787 ../src/widgets/toolbox.cpp:1823
msgid "Grids"
msgstr "Režģi"
-#: ../src/extension/internal/grid.cpp:226
+#: ../src/extension/internal/grid.cpp:219
msgid "Draw a path which is a grid"
msgstr "Zīmēt ceļu, kas ir režģis"
@@ -7352,31 +7346,31 @@ msgstr "VSDX ievade"
msgid "Microsoft Visio 2013 drawing (*.vsdx)"
msgstr "Microsoft Visio 2013 zīmējums (*.vsdx)"
-#: ../src/extension/internal/wmf-inout.cpp:3136
+#: ../src/extension/internal/wmf-inout.cpp:3158
msgid "WMF Input"
msgstr "WMF ievade"
-#: ../src/extension/internal/wmf-inout.cpp:3141
+#: ../src/extension/internal/wmf-inout.cpp:3163
msgid "Windows Metafiles (*.wmf)"
msgstr "Windows Metafile (*.wmf)"
-#: ../src/extension/internal/wmf-inout.cpp:3142
+#: ../src/extension/internal/wmf-inout.cpp:3164
msgid "Windows Metafiles"
msgstr "Windows metafaili"
-#: ../src/extension/internal/wmf-inout.cpp:3150
+#: ../src/extension/internal/wmf-inout.cpp:3172
msgid "WMF Output"
msgstr "WMF izvade"
-#: ../src/extension/internal/wmf-inout.cpp:3160
+#: ../src/extension/internal/wmf-inout.cpp:3182
msgid "Map all fill patterns to standard WMF hatches"
msgstr "Kartēt visas aizpildījuma faktūras pret standarta WMF iesvītrojumiem"
-#: ../src/extension/internal/wmf-inout.cpp:3164 ../share/extensions/wmf_input.inx.h:2 ../share/extensions/wmf_output.inx.h:2
+#: ../src/extension/internal/wmf-inout.cpp:3186 ../share/extensions/wmf_input.inx.h:2 ../share/extensions/wmf_output.inx.h:2
msgid "Windows Metafile (*.wmf)"
msgstr "Windows Metafile (*.wmf)"
-#: ../src/extension/internal/wmf-inout.cpp:3165
+#: ../src/extension/internal/wmf-inout.cpp:3187
msgid "Windows Metafile"
msgstr "Windows metafails"
@@ -7412,7 +7406,7 @@ msgstr "default.svg"
msgid "Broken links have been changed to point to existing files."
msgstr "NederÄ«gÄs saites ir izlabotas un norÄda uz pastÄvoÅ¡Äm datnÄ“m."
-#: ../src/file.cpp:339 ../src/file.cpp:1255
+#: ../src/file.cpp:339 ../src/file.cpp:1252
#, c-format
msgid "Failed to load the requested file %s"
msgstr "NeizdevÄs ielÄdÄ“t pieprasÄ«to datni %s"
@@ -7477,7 +7471,7 @@ msgid "Document saved."
msgstr "Dokuments saglabÄts"
#. We are saving for the first time; create a unique default filename
-#: ../src/file.cpp:866 ../src/file.cpp:1414
+#: ../src/file.cpp:866 ../src/file.cpp:1411
msgid "drawing"
msgstr "zīmējums"
@@ -7501,19 +7495,19 @@ msgstr "Nav izmaiņu, kuras vajadzÄ“tu saglabÄt."
msgid "Saving document..."
msgstr "SaglabÄ dokumentu..."
-#: ../src/file.cpp:1252 ../src/ui/dialog/inkscape-preferences.cpp:1450 ../src/ui/dialog/ocaldialogs.cpp:1244
+#: ../src/file.cpp:1249 ../src/ui/dialog/inkscape-preferences.cpp:1450 ../src/ui/dialog/ocaldialogs.cpp:1244
msgid "Import"
msgstr "Importēt"
-#: ../src/file.cpp:1302
+#: ../src/file.cpp:1299
msgid "Select file to import"
msgstr "Izvēlieties importējamo datni"
-#: ../src/file.cpp:1435
+#: ../src/file.cpp:1432
msgid "Select file to export to"
msgstr "Izvēlieties datni, uz kuru eksportēt"
-#: ../src/file.cpp:1688
+#: ../src/file.cpp:1685
msgid "Import Clip Art"
msgstr "Importēt attēlu galeriju"
@@ -7606,7 +7600,7 @@ msgstr "Atšķirība"
msgid "Exclusion"
msgstr "Izslēgšana"
-#: ../src/filter-enums.cpp:65 ../src/ui/tools/flood-tool.cpp:186 ../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/filter-enums.cpp:65 ../src/ui/tools/flood-tool.cpp:94 ../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 "Tonis"
@@ -7672,7 +7666,7 @@ msgstr "PadarÄ«t gaiÅ¡Äku"
msgid "Arithmetic"
msgstr "Aritmētisks"
-#: ../src/filter-enums.cpp:120 ../src/selection-chemistry.cpp:546
+#: ../src/filter-enums.cpp:120 ../src/selection-chemistry.cpp:545
msgid "Duplicate"
msgstr "Dublēt"
@@ -7709,15 +7703,15 @@ msgstr "Punkta gaisma"
msgid "Spot Light"
msgstr "Starmetis"
-#: ../src/gradient-chemistry.cpp:1579
+#: ../src/gradient-chemistry.cpp:1580
msgid "Invert gradient colors"
msgstr "InvertÄ“t krÄsu pÄrejas krÄsas"
-#: ../src/gradient-chemistry.cpp:1605
+#: ../src/gradient-chemistry.cpp:1607
msgid "Reverse gradient"
msgstr "Apgriezt krÄsu pÄreju otrÄdi"
-#: ../src/gradient-chemistry.cpp:1619 ../src/widgets/gradient-selector.cpp:222
+#: ../src/gradient-chemistry.cpp:1621 ../src/widgets/gradient-selector.cpp:222
msgid "Delete swatch"
msgstr "Dzēst paleti"
@@ -7776,7 +7770,7 @@ msgstr "Apvienot krÄsu pÄrejas turus"
msgid "Move gradient handle"
msgstr "PÄrvietot krÄsu pÄrejas turi"
-#: ../src/gradient-drag.cpp:1164 ../src/widgets/gradient-vector.cpp:827
+#: ../src/gradient-drag.cpp:1164 ../src/widgets/gradient-vector.cpp:828
msgid "Delete gradient stop"
msgstr "DzÄ“st krÄsu pÄrejas pieturpunktu"
@@ -7806,57 +7800,57 @@ msgstr[0] "KrÄsu pÄrejas punkts ir kopÄ“js <b>%d</b> krÄsu pÄrejai; lai atda
msgstr[1] "KrÄsu pÄrejas punkts ir kopÄ“js <b>%d</b> krÄsu pÄrejÄm; lai atdalÄ«tu, velciet ar nospiestu <b>Shift</b>"
msgstr[2] "KrÄsu pÄrejas punkts ir kopÄ“js <b>%d</b> krÄsu pÄrejÄm; lai atdalÄ«tu, velciet ar nospiestu <b>Shift</b>"
-#: ../src/gradient-drag.cpp:2378
+#: ../src/gradient-drag.cpp:2379
msgid "Move gradient handle(s)"
msgstr "PÄrvietot krÄsu pÄrejas turi(-us)"
-#: ../src/gradient-drag.cpp:2414
+#: ../src/gradient-drag.cpp:2415
msgid "Move gradient mid stop(s)"
msgstr "PÄrvietot krÄsu pÄrejas viduspunktu(s)"
-#: ../src/gradient-drag.cpp:2703
+#: ../src/gradient-drag.cpp:2704
msgid "Delete gradient stop(s)"
msgstr "DzÄ“st krÄsu pÄrejas pieturpunktu(s)"
-#: ../src/inkscape.cpp:246
+#: ../src/inkscape.cpp:242
msgid "Autosave failed! Cannot create directory %1."
msgstr "AutomÄtiskÄs saglabÄÅ¡anas kļūda! Nevar izveidot mapi %1."
-#: ../src/inkscape.cpp:255
+#: ../src/inkscape.cpp:251
msgid "Autosave failed! Cannot open directory %1."
msgstr "AutomÄtiskÄs saglabÄÅ¡anas kļūda! Nevar atvÄ“rt mapi %1."
-#: ../src/inkscape.cpp:271
+#: ../src/inkscape.cpp:267
msgid "Autosaving documents..."
msgstr "AutomÄtiski saglabÄju dokumentus"
-#: ../src/inkscape.cpp:339
+#: ../src/inkscape.cpp:335
msgid "Autosave failed! Could not find inkscape extension to save document."
msgstr "NeizdevÄs automÄtiski saglabÄt! Nav iespÄ“jams atrast dokumenta saglabÄÅ¡anai nepiecieÅ¡amo Inkscape paplaÅ¡inÄjumu."
-#: ../src/inkscape.cpp:342 ../src/inkscape.cpp:349
+#: ../src/inkscape.cpp:338 ../src/inkscape.cpp:345
#, c-format
msgid "Autosave failed! File %s could not be saved."
msgstr "AutomÄtiskÄ saglabÄÅ¡ana neizdevÄs! Datni %s neizdevÄs saglabÄt."
-#: ../src/inkscape.cpp:364
+#: ../src/inkscape.cpp:360
msgid "Autosave complete."
msgstr "AutomÄtiskÄ saglabÄÅ¡ana pabeigta."
-#: ../src/inkscape.cpp:622
+#: ../src/inkscape.cpp:618
msgid "Untitled document"
msgstr "Nenosaukts dokuments"
#. Show nice dialog box
-#: ../src/inkscape.cpp:654
+#: ../src/inkscape.cpp:650
msgid "Inkscape encountered an internal error and will close now.\n"
msgstr "Inkscape radÄs iekšēja kļūda un tagad tiks aizvÄ“rta.\n"
-#: ../src/inkscape.cpp:655
+#: ../src/inkscape.cpp:651
msgid "Automatic backups of unsaved documents were done to the following locations:\n"
msgstr "NesaglabÄto dokumentu automÄtiskÄs rezerves kopijas tika saglabÄtas sekojoÅ¡Äs mapÄ“s:\n"
-#: ../src/inkscape.cpp:656
+#: ../src/inkscape.cpp:652
msgid "Automatic backup of the following documents failed:\n"
msgstr "SekojoÅ¡u dokumentu automÄtiskÄ rezerves kopēšana neizdevÄs:\n"
@@ -7864,24 +7858,24 @@ msgstr "SekojoÅ¡u dokumentu automÄtiskÄ rezerves kopēšana neizdevÄs:\n"
msgid "Node or handle drag canceled."
msgstr "Mezgla vai tura vilkšana atcelta."
-#: ../src/knotholder.cpp:170
+#: ../src/knotholder.cpp:171
msgid "Change handle"
msgstr "Mainīt turi"
-#: ../src/knotholder.cpp:257
+#: ../src/knotholder.cpp:258
msgid "Move handle"
msgstr "PÄrvietot turi"
#. TRANSLATORS: This refers to the pattern that's inside the object
-#: ../src/knotholder.cpp:276 ../src/knotholder.cpp:298
+#: ../src/knotholder.cpp:277 ../src/knotholder.cpp:299
msgid "<b>Move</b> the pattern fill inside the object"
msgstr "<b>PÄrvietot</b> faktÅ«ras aizpildÄ«jumu objekta iekÅ¡pusÄ“"
-#: ../src/knotholder.cpp:280 ../src/knotholder.cpp:302
+#: ../src/knotholder.cpp:281 ../src/knotholder.cpp:303
msgid "<b>Scale</b> the pattern fill; uniformly if with <b>Ctrl</b>"
msgstr "<b>MÄ“rogot</b> faktÅ«ras aizpildÄ«jumu; vienÄdÄ mÄ“rÄ - ar <b>Ctrl</b>"
-#: ../src/knotholder.cpp:284 ../src/knotholder.cpp:306
+#: ../src/knotholder.cpp:285 ../src/knotholder.cpp:307
msgid "<b>Rotate</b> the pattern fill; with <b>Ctrl</b> to snap angle"
msgstr "<b>Griezt</b> faktūras aizpildījumu; ar <b>Ctrl</b> - pievilkt leņķim"
@@ -7918,7 +7912,7 @@ msgid "Dockitem which 'owns' this grip"
msgstr "Dokojamais elements, kam 'pieder' šis turis"
#. Name
-#: ../src/libgdl/gdl-dock-item.c:298 ../src/widgets/ruler.cpp:192 ../src/widgets/text-toolbar.cpp:1405 ../share/extensions/gcodetools_graffiti.inx.h:9 ../share/extensions/gcodetools_orientation_points.inx.h:2
+#: ../src/libgdl/gdl-dock-item.c:298 ../src/widgets/ruler.cpp:192 ../src/widgets/text-toolbar.cpp:1411 ../share/extensions/gcodetools_graffiti.inx.h:9 ../share/extensions/gcodetools_orientation_points.inx.h:2
msgid "Orientation"
msgstr "OrientÄcija"
@@ -8031,7 +8025,7 @@ msgstr "pamatdoks %p: objektu %p[%s] nav iespējams pievienot hešam. Tas jau sa
msgid "The new dock controller %p is automatic. Only manual dock objects should be named controller."
msgstr "JaunÄ doka vadÄ«kla %p ir automÄtiska. Tikai ar roku dokojami objekti bÅ«tu saucami par vadÄ«klÄm."
-#: ../src/libgdl/gdl-dock-notebook.c:132 ../src/ui/dialog/align-and-distribute.cpp:1002 ../src/ui/dialog/document-properties.cpp:160 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1537 ../src/widgets/desktop-widget.cpp:1992
+#: ../src/libgdl/gdl-dock-notebook.c:132 ../src/ui/dialog/align-and-distribute.cpp:998 ../src/ui/dialog/document-properties.cpp:160 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1537 ../src/widgets/desktop-widget.cpp:1994
#: ../share/extensions/empty_page.inx.h:1 ../share/extensions/voronoi2svg.inx.h:9
msgid "Page"
msgstr "Lapa"
@@ -8040,7 +8034,7 @@ msgstr "Lapa"
msgid "The index of the current page"
msgstr "PaÅ¡reizÄ“jÄs lapas indekss"
-#: ../src/libgdl/gdl-dock-object.c:125 ../src/live_effects/parameter/originalpatharray.cpp:86 ../src/ui/dialog/inkscape-preferences.cpp:1511 ../src/ui/widget/page-sizer.cpp:258 ../src/widgets/gradient-selector.cpp:150
+#: ../src/libgdl/gdl-dock-object.c:125 ../src/live_effects/parameter/originalpatharray.cpp:82 ../src/ui/dialog/inkscape-preferences.cpp:1511 ../src/ui/widget/page-sizer.cpp:283 ../src/widgets/gradient-selector.cpp:150
#: ../src/widgets/sp-xmlview-attr-list.cpp:49
msgid "Name"
msgstr "Nosaukums"
@@ -8393,7 +8387,7 @@ msgstr "PiestiprinÄt ceļu"
msgid "Fill between strokes"
msgstr "Aizpildīt starp apmalēm"
-#: ../src/live_effects/effect.cpp:147 ../src/selection-chemistry.cpp:2916
+#: ../src/live_effects/effect.cpp:147 ../src/selection-chemistry.cpp:2871
msgid "Fill between many"
msgstr "AizpildÄ«t starp vairÄjiem"
@@ -8429,21 +8423,21 @@ msgstr "Redzams?"
msgid "If unchecked, the effect remains applied to the object but is temporarily disabled on canvas"
msgstr "Ja nav atÄ·eksÄ“ts, efekts paliek pielietots objektam, taÄu uz laiku ir atslÄ“gts uz audekla"
-#: ../src/live_effects/effect.cpp:384
+#: ../src/live_effects/effect.cpp:387
msgid "No effect"
msgstr "Bez efektiem"
-#: ../src/live_effects/effect.cpp:492
+#: ../src/live_effects/effect.cpp:495
#, c-format
msgid "Please specify a parameter path for the LPE '%s' with %d mouse clicks"
msgstr "LÅ«dzu, norÄdiet parametru ceļu LPE '%s' ar %d peles klikšķiem"
-#: ../src/live_effects/effect.cpp:759
+#: ../src/live_effects/effect.cpp:762
#, c-format
msgid "Editing parameter <b>%s</b>."
msgstr "Parametra <b>%s</b> labošana."
-#: ../src/live_effects/effect.cpp:764
+#: ../src/live_effects/effect.cpp:767
msgid "None of the applied path effect's parameters can be edited on-canvas."
msgstr "Neviens no pielietotÄ ceļa efekta parametriem nav labojams \"uz audekla\"."
@@ -8514,7 +8508,7 @@ msgstr "Liekt ceļu:"
msgid "Path along which to bend the original path"
msgstr "Ceļš, gar kuru liekt sÄkotnÄ“jo ceļu"
-#: ../src/live_effects/lpe-bendpath.cpp:54 ../src/live_effects/lpe-patternalongpath.cpp:62 ../src/ui/dialog/export.cpp:289 ../src/ui/dialog/transformation.cpp:78 ../src/ui/widget/page-sizer.cpp:236
+#: ../src/live_effects/lpe-bendpath.cpp:54 ../src/live_effects/lpe-patternalongpath.cpp:62 ../src/ui/dialog/export.cpp:285 ../src/ui/dialog/transformation.cpp:74 ../src/ui/widget/page-sizer.cpp:237
msgid "_Width:"
msgstr "_Platums:"
@@ -8554,52 +8548,49 @@ msgstr "VizuÄlÄs robežas"
msgid "Uses the visual bounding box"
msgstr "Izmanto vizuÄlo robežrÄmi"
-#: ../src/live_effects/lpe-bspline.cpp:57
+#: ../src/live_effects/lpe-bspline.cpp:25
msgid "Steps with CTRL:"
msgstr "Soļi ar CTRL:"
-#: ../src/live_effects/lpe-bspline.cpp:57
+#: ../src/live_effects/lpe-bspline.cpp:25
msgid "Change number of steps with CTRL pressed"
msgstr "Mainiet soļu skaitu, turot nospiestu CTRL"
-#: ../src/live_effects/lpe-bspline.cpp:58 ../src/live_effects/lpe-simplify.cpp:33
+#: ../src/live_effects/lpe-bspline.cpp:26 ../src/live_effects/lpe-simplify.cpp:33
#, fuzzy
msgid "Helper size:"
msgstr "Subversion palīgprogramma"
-#: ../src/live_effects/lpe-bspline.cpp:58 ../src/live_effects/lpe-simplify.cpp:33
+#: ../src/live_effects/lpe-bspline.cpp:26 ../src/live_effects/lpe-simplify.cpp:33
#, fuzzy
msgid "Helper size"
msgstr "Subversion palīgprogramma"
-#: ../src/live_effects/lpe-bspline.cpp:59
+#: ../src/live_effects/lpe-bspline.cpp:27
msgid "Ignore cusp nodes"
msgstr "Neņemt vÄ“rÄ asos mezglus"
-#: ../src/live_effects/lpe-bspline.cpp:59
+#: ../src/live_effects/lpe-bspline.cpp:27
msgid "Change ignoring cusp nodes"
msgstr "MainÄ«t, neņemot vÄ“rÄ asos mezglus"
-#: ../src/live_effects/lpe-bspline.cpp:60 ../src/live_effects/lpe-fillet-chamfer.cpp:57
+#: ../src/live_effects/lpe-bspline.cpp:28 ../src/live_effects/lpe-fillet-chamfer.cpp:56
msgid "Change only selected nodes"
msgstr "Mainīt tikai atlasītos mezglus"
-#: ../src/live_effects/lpe-bspline.cpp:61
-#, fuzzy
+#: ../src/live_effects/lpe-bspline.cpp:29
msgid "Change weight:"
-msgstr "Svars"
+msgstr "MainÄ«t intensitÄti:"
-#: ../src/live_effects/lpe-bspline.cpp:61
-#, fuzzy
+#: ../src/live_effects/lpe-bspline.cpp:29
msgid "Change weight of the effect"
-msgstr "Filtra efektu apgabala augstums"
+msgstr "MainÄ«t efekta intensitÄti"
-#: ../src/live_effects/lpe-bspline.cpp:290
-#, fuzzy
+#: ../src/live_effects/lpe-bspline.cpp:260
msgid "Default weight"
-msgstr "Noklusētais virsraksts"
+msgstr "NoklusÄ“tÄ intensitÄte"
-#: ../src/live_effects/lpe-bspline.cpp:295
+#: ../src/live_effects/lpe-bspline.cpp:265
msgid "Make cusp"
msgstr "PÄrvÄ“rst par aso"
@@ -8769,99 +8760,88 @@ msgstr "Ot_rÄdi"
msgid "Reverses the second path order"
msgstr "Pagriezt krÄsu pÄrejas virzienu uz pretÄ“jo pusi"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:42 ../share/extensions/render_barcode_qrcode.inx.h:5
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:41 ../share/extensions/render_barcode_qrcode.inx.h:5
msgid "Auto"
msgstr "Auto"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:43
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:42
#, fuzzy
msgid "Force arc"
-msgstr "ar šo loku"
+msgstr "Spēks"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:44
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:43
#, fuzzy
msgid "Force bezier"
msgstr "Bezjē"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:54
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:53
msgid "Fillet point"
msgstr "Apciļņa punkts"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:55
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:54
msgid "Hide knots"
msgstr "Slēpt mezglus"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:56
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:55
msgid "Ignore 0 radius knots"
msgstr "Neņemt vÄ“rÄ mezglus ar rÄdiusu = 0"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:58
-#, fuzzy
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:57
msgid "Flexible radius size (%)"
-msgstr "Iesatīt elastīgu izmēru"
+msgstr "ElastÄ«gÄ rÄdiusa lielums (%)"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:59
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:58
msgid "Use knots distance instead radius"
msgstr "RÄdiusa vietÄ izmantot attÄlumu starp mezgliem"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:60 ../src/live_effects/lpe-ruler.cpp:42 ../share/extensions/foldablebox.inx.h:7 ../share/extensions/interp_att_g.inx.h:9 ../share/extensions/layout_nup.inx.h:3
-#: ../share/extensions/printing_marks.inx.h:11
-msgid "Unit:"
-msgstr "Vienība:"
-
-#. 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:202
-msgid "Unit"
-msgstr "Vienība"
-
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:59
msgid "Method:"
msgstr "Metode:"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:59
msgid "Fillets methods"
msgstr "Apciļņu metodes"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:62
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:60
msgid "Radius (unit or %):"
msgstr "RÄdiuss (vienÄ«bas vai %):"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:62
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:60
msgid "Radius, in unit or %"
msgstr "RÄdiuss, vienÄ«bÄs vai %"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
msgid "Chamfer steps:"
msgstr "NokÄpes fazÄ«tes soļi:"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
msgid "Chamfer steps"
msgstr "NokÄpes fazÄ«tes soļi"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:65
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
#, fuzzy
msgid "Helper size with direction:"
msgstr "Režģa izmÄ“rs X virzienÄ."
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:65
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
#, fuzzy
msgid "Helper size with direction"
msgstr "Režģa izmÄ“rs X virzienÄ."
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:157 ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:76
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:154 ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:71
msgid "Fillet"
msgstr "Apcilnis"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:161 ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:78
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:158 ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:73
msgid "Inverse fillet"
msgstr "OtrÄdais apcilnis"
# http://termini.lza.lv/term.php?term=chamfer&list=&lang=&h=
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:166 ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:80
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:163 ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:75
msgid "Chamfer"
msgstr "NokÄpes fazÄ«te"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:170 ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:82
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:167 ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:77
msgid "Inverse chamfer"
msgstr "OtrÄdÄ nokÄpes fazÄ«te"
@@ -8918,9 +8898,8 @@ msgid "SpiroInterpolator"
msgstr "Spiro interpolators"
#: ../src/live_effects/lpe-interpolate_points.cpp:29 ../src/live_effects/lpe-powerstroke.cpp:198
-#, fuzzy
msgid "Centripetal Catmull-Rom"
-msgstr "CD-ROM/DVD-ROM"
+msgstr "Centrtiecošs Ketmula-Roma splains"
#: ../src/live_effects/lpe-interpolate_points.cpp:37 ../src/live_effects/lpe-powerstroke.cpp:240
msgid "Interpolator type:"
@@ -8930,11 +8909,11 @@ msgstr "Interpolēšanas tips:"
msgid "Determines which kind of interpolator will be used to interpolate between stroke width along the path"
msgstr "Nosaka interpolatora veidu, kas tiks izmantots apmales platuma interpolÄcijai gar ceļu"
-#: ../src/live_effects/lpe-jointype.cpp:31 ../src/live_effects/lpe-powerstroke.cpp:227 ../src/live_effects/lpe-taperstroke.cpp:63
+#: ../src/live_effects/lpe-jointype.cpp:31 ../src/live_effects/lpe-powerstroke.cpp:227 ../src/live_effects/lpe-taperstroke.cpp:64
msgid "Beveled"
msgstr "Nošķelts"
-#: ../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
+#: ../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:65 ../src/widgets/star-toolbar.cpp:534
msgid "Rounded"
msgstr "Noapaļots"
@@ -8942,9 +8921,10 @@ msgstr "Noapaļots"
msgid "Miter"
msgstr "Salaidums"
-#: ../src/live_effects/lpe-jointype.cpp:34 ../src/live_effects/lpe-taperstroke.cpp:65 ../src/widgets/gradient-toolbar.cpp:1118
-msgid "Reflected"
-msgstr "Atspoguļots"
+#: ../src/live_effects/lpe-jointype.cpp:34
+#, fuzzy
+msgid "Miter Clip"
+msgstr "Šķautņu asums:"
#. {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
@@ -8963,11 +8943,6 @@ msgstr "KvadrÄtisks"
msgid "Peak"
msgstr "Virsotne"
-#: ../src/live_effects/lpe-jointype.cpp:43
-#, fuzzy
-msgid "Leaned"
-msgstr "Leaned"
-
#: ../src/live_effects/lpe-jointype.cpp:51
msgid "Thickness of the stroke"
msgstr "Apmales biezums"
@@ -8991,16 +8966,8 @@ msgstr "Savienojums:"
msgid "Determines the shape of the path's corners"
msgstr "Nosaka ceļa stūru formu"
-#: ../src/live_effects/lpe-jointype.cpp:54
-#, fuzzy
-msgid "Start path lean"
-msgstr "Nosaka ceļa sÄkuma formu"
-
-#: ../src/live_effects/lpe-jointype.cpp:55
-#, fuzzy
-msgid "End path lean"
-msgstr "ceļam jÄbeidzas ar ':/'"
-
+#. start_lean(_("Start path lean"), _("Start path lean"), "start_lean", &wr, this, 0.),
+#. end_lean(_("End path lean"), _("End path lean"), "end_lean", &wr, this, 0.),
#: ../src/live_effects/lpe-jointype.cpp:56 ../src/live_effects/lpe-powerstroke.cpp:244 ../src/live_effects/lpe-taperstroke.cpp:79
msgid "Miter limit:"
msgstr "Salaiduma ierobežojums"
@@ -9078,212 +9045,227 @@ msgstr "Velciet, lai atlasītu krustojumu, nomainiet tipu ar klikšķi"
msgid "Change knot crossing"
msgstr "Mainīt mezglu šķērsošanu"
-#. initialise your parameters here:
-#: ../src/live_effects/lpe-lattice2.cpp:47
-msgid "Control handle 0:"
-msgstr "Vadības turis 0:"
-
-#: ../src/live_effects/lpe-lattice2.cpp:47
-msgid "Control handle 0 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+#: ../src/live_effects/lpe-lattice2.cpp:47 ../src/live_effects/lpe-perspective-envelope.cpp:43
+msgid "Mirror movements in horizontal"
+msgstr "Spoguļot pÄrvietojumus pa horizontÄli"
-#: ../src/live_effects/lpe-lattice2.cpp:48
-msgid "Control handle 1:"
-msgstr "Vadības turis 1:"
-
-#: ../src/live_effects/lpe-lattice2.cpp:48
-msgid "Control handle 1 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+#: ../src/live_effects/lpe-lattice2.cpp:48 ../src/live_effects/lpe-perspective-envelope.cpp:44
+msgid "Mirror movements in vertical"
+msgstr "Spoguļot pÄrvietojumus pa vertikÄli"
#: ../src/live_effects/lpe-lattice2.cpp:49
-msgid "Control handle 2:"
-msgstr "Vadības turis 2:"
+msgid "Control 0:"
+msgstr "Vadības turis 0:"
#: ../src/live_effects/lpe-lattice2.cpp:49
-msgid "Control handle 2 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 0 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 0 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:50
-msgid "Control handle 3:"
-msgstr "Vadības turis 3:"
+msgid "Control 1:"
+msgstr "Vadības turis 1:"
#: ../src/live_effects/lpe-lattice2.cpp:50
-msgid "Control handle 3 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 1 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 1 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:51
-msgid "Control handle 4:"
-msgstr "Vadības turis 4:"
+msgid "Control 2:"
+msgstr "Vadības turis 2:"
#: ../src/live_effects/lpe-lattice2.cpp:51
-msgid "Control handle 4 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 2 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 2 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:52
-msgid "Control handle 5:"
-msgstr "Vadības turis 5:"
+msgid "Control 3:"
+msgstr "Vadības turis 3:"
#: ../src/live_effects/lpe-lattice2.cpp:52
-msgid "Control handle 5 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 3 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 3 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:53
-msgid "Control handle 6:"
-msgstr "Vadības turis 6:"
+msgid "Control 4:"
+msgstr "Vadības turis 4:"
#: ../src/live_effects/lpe-lattice2.cpp:53
-msgid "Control handle 6 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 4 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 4 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:54
-msgid "Control handle 7:"
-msgstr "Vadības turis 7:"
+msgid "Control 5:"
+msgstr "Vadības turis 5:"
#: ../src/live_effects/lpe-lattice2.cpp:54
-msgid "Control handle 7 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 5 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 5 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:55
-msgid "Control handle 8x9:"
-msgstr "Vadības turis 8x9:"
+msgid "Control 6:"
+msgstr "Vadības turis 6:"
#: ../src/live_effects/lpe-lattice2.cpp:55
-msgid "Control handle 8x9 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 6 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 6 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:56
-msgid "Control handle 10x11:"
-msgstr "Vadības turis 10x11:"
+msgid "Control 7:"
+msgstr "Vadības turis 7:"
#: ../src/live_effects/lpe-lattice2.cpp:56
-msgid "Control handle 10x11 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 7 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 7 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:57
-msgid "Control handle 12:"
-msgstr "Vadības turis 12:"
+msgid "Control 8x9:"
+msgstr "Vadības turis 8x9:"
#: ../src/live_effects/lpe-lattice2.cpp:57
-msgid "Control handle 12 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 8x9 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 8x9 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:58
-msgid "Control handle 13:"
-msgstr "Vadības turis 13:"
+msgid "Control 10x11:"
+msgstr "Vadības turis 10x11:"
#: ../src/live_effects/lpe-lattice2.cpp:58
-msgid "Control handle 13 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 10x11 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 10x11 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:59
-msgid "Control handle 14:"
-msgstr "Vadības turis 14:"
+msgid "Control 12:"
+msgstr "Vadības turis 12:"
#: ../src/live_effects/lpe-lattice2.cpp:59
-msgid "Control handle 14 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 12 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 12 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:60
-msgid "Control handle 15:"
-msgstr "Vadības turis 15:"
+msgid "Control 13:"
+msgstr "Vadības turis 13:"
#: ../src/live_effects/lpe-lattice2.cpp:60
-msgid "Control handle 15 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 13 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 13 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:61
-msgid "Control handle 16:"
-msgstr "Vadības turis 16:"
+msgid "Control 14:"
+msgstr "Vadības turis 14:"
#: ../src/live_effects/lpe-lattice2.cpp:61
-msgid "Control handle 16 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 14 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 14 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:62
-msgid "Control handle 17:"
-msgstr "Vadības turis 17:"
+msgid "Control 15:"
+msgstr "Vadības turis 15:"
#: ../src/live_effects/lpe-lattice2.cpp:62
-msgid "Control handle 17 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 15 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 15 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:63
-msgid "Control handle 18:"
-msgstr "Vadības turis 18:"
+msgid "Control 16:"
+msgstr "Vadības turis 16:"
#: ../src/live_effects/lpe-lattice2.cpp:63
-msgid "Control handle 18 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 16 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 16 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:64
-msgid "Control handle 19:"
-msgstr "Vadības turis 19:"
+msgid "Control 17:"
+msgstr "Vadības turis 17:"
#: ../src/live_effects/lpe-lattice2.cpp:64
-msgid "Control handle 19 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 17 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 17 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:65
-msgid "Control handle 20x21:"
-msgstr "Vadības turis 20x21:"
+msgid "Control 18:"
+msgstr "Vadības turis 18:"
#: ../src/live_effects/lpe-lattice2.cpp:65
-msgid "Control handle 20x21 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 18 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 18 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:66
-msgid "Control handle 22x23:"
-msgstr "Vadības turis 22x23:"
+msgid "Control 19:"
+msgstr "Vadības turis 19:"
#: ../src/live_effects/lpe-lattice2.cpp:66
-msgid "Control handle 22x23 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 19 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 19 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:67
-msgid "Control handle 24x26:"
-msgstr "Vadības turis 24x26:"
+msgid "Control 20x21:"
+msgstr "Vadības turis 20x21:"
#: ../src/live_effects/lpe-lattice2.cpp:67
-msgid "Control handle 24x26 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 20x21 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 20x21 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:68
-msgid "Control handle 25x27:"
-msgstr "Vadības turis 25x27:"
+msgid "Control 22x23:"
+msgstr "Vadības turis 22x23:"
#: ../src/live_effects/lpe-lattice2.cpp:68
-msgid "Control handle 25x27 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 22x23 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 22x23 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:69
-msgid "Control handle 28x30:"
-msgstr "Vadības turis 28x30:"
+msgid "Control 24x26:"
+msgstr "Vadības turis 24x26:"
#: ../src/live_effects/lpe-lattice2.cpp:69
-msgid "Control handle 28x30 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 24x26 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 24x26 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:70
-msgid "Control handle 29x31:"
-msgstr "Vadības turis 29x31:"
+msgid "Control 25x27:"
+msgstr "Vadības turis 25x27:"
#: ../src/live_effects/lpe-lattice2.cpp:70
-msgid "Control handle 29x31 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 25x27 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 25x27 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
#: ../src/live_effects/lpe-lattice2.cpp:71
-msgid "Control handle 32x33x34x35:"
-msgstr "Vadības turis 32x33x34x35:"
+msgid "Control 28x30:"
+msgstr "Vadības turis 28x30:"
#: ../src/live_effects/lpe-lattice2.cpp:71
-msgid "Control handle 32x33x34x35 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgid "Control 28x30 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 28x30 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
+
+#: ../src/live_effects/lpe-lattice2.cpp:72
+msgid "Control 29x31:"
+msgstr "Vadības turis 29x31:"
+
+#: ../src/live_effects/lpe-lattice2.cpp:72
+msgid "Control 29x31 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 29x31 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
+
+#: ../src/live_effects/lpe-lattice2.cpp:73
+msgid "Control 32x33x34x35:"
+msgstr "Vadības turis 32x33x34x35:"
-#: ../src/live_effects/lpe-lattice2.cpp:224
+#: ../src/live_effects/lpe-lattice2.cpp:73
+msgid "Control 32x33x34x35 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr "VadÄ«bas turis 32x33x34x35 - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
+
+#: ../src/live_effects/lpe-lattice2.cpp:236
#, fuzzy
msgid "Reset grid"
msgstr "Atstatīt"
+#: ../src/live_effects/lpe-lattice2.cpp:268 ../src/live_effects/lpe-lattice2.cpp:283
+msgid "Show Points"
+msgstr "RÄdÄ«t punktus"
+
+#: ../src/live_effects/lpe-lattice2.cpp:281
+msgid "Hide Points"
+msgstr "Slēpt punktus"
+
#: ../src/live_effects/lpe-patternalongpath.cpp:50 ../share/extensions/pathalongpath.inx.h:10
msgid "Single"
msgstr "Viens"
@@ -9369,56 +9351,55 @@ msgstr "Sakausēt blakus esošos galus:"
msgid "Fuse ends closer than this number. 0 means don't fuse."
msgstr "SakausÄ“t blakus esoÅ¡os galus, kas ir tuvÄki par norÄdÄ«to lielumu. 0 - nesakausÄ“t."
-#: ../src/live_effects/lpe-perspective-envelope.cpp:37 ../share/extensions/perspective.inx.h:1
+#: ../src/live_effects/lpe-perspective-envelope.cpp:35 ../share/extensions/perspective.inx.h:1
msgid "Perspective"
msgstr "Perspektīva"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:38
+#: ../src/live_effects/lpe-perspective-envelope.cpp:36
msgid "Envelope deformation"
msgstr "Aploksnes deformÄcija"
-#. initialise your parameters here:
-#: ../src/live_effects/lpe-perspective-envelope.cpp:46
+#: ../src/live_effects/lpe-perspective-envelope.cpp:45
msgid "Type"
msgstr "Tips"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:46
+#: ../src/live_effects/lpe-perspective-envelope.cpp:45
msgid "Select the type of deformation"
msgstr "IzvÄ“lieties deformÄcijas tipu"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:47
+#: ../src/live_effects/lpe-perspective-envelope.cpp:46
msgid "Top Left"
msgstr "Augšējais kreisais"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:47
+#: ../src/live_effects/lpe-perspective-envelope.cpp:46
msgid "Top Left - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgstr "Augšējais kreisais - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:48
+#: ../src/live_effects/lpe-perspective-envelope.cpp:47
msgid "Top Right"
msgstr "Augšējais labais"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:48
+#: ../src/live_effects/lpe-perspective-envelope.cpp:47
msgid "Top Right - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgstr "Augšējais labais - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:49
+#: ../src/live_effects/lpe-perspective-envelope.cpp:48
msgid "Down Left"
msgstr "Apakšējais kreisais"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:49
+#: ../src/live_effects/lpe-perspective-envelope.cpp:48
msgid "Down Left - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgstr "Apakšējais kreisais - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:50
+#: ../src/live_effects/lpe-perspective-envelope.cpp:49
msgid "Down Right"
msgstr "Apakšējais labais"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:50
+#: ../src/live_effects/lpe-perspective-envelope.cpp:49
msgid "Down Right - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
+msgstr "Apakšējais labais - <b>Ctrl+Alt+Click</b>: atiestatÄ«t, <b>Ctrl</b>: pÄrvietot gar asÄ«m"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:257
+#: ../src/live_effects/lpe-perspective-envelope.cpp:268
msgid "Handles:"
msgstr "Turi:"
@@ -9634,67 +9615,61 @@ msgstr "VispÄrÄ“jÄ liekÅ¡ana"
msgid "Relative position to a reference point defines global bending direction and amount"
msgstr "RelatÄ«vais novietojums pret atskaites punktu nosaka globÄlo liekuma virzienu un apjomu"
-#: ../src/live_effects/lpe-roughen.cpp:30 ../share/extensions/addnodes.inx.h:4
+#: ../src/live_effects/lpe-roughen.cpp:29 ../share/extensions/addnodes.inx.h:4
msgid "By number of segments"
msgstr "Pēc posmu skaita"
-#: ../src/live_effects/lpe-roughen.cpp:31
+#: ../src/live_effects/lpe-roughen.cpp:30
msgid "By max. segment size"
msgstr "Pēc maks. segmenta izmēra"
-#: ../src/live_effects/lpe-roughen.cpp:40
+#. initialise your parameters here:
+#: ../src/live_effects/lpe-roughen.cpp:38
msgid "Method"
msgstr "Metode"
-#: ../src/live_effects/lpe-roughen.cpp:40
+#: ../src/live_effects/lpe-roughen.cpp:38
msgid "Division method"
msgstr "Dalīšanas metode"
-#: ../src/live_effects/lpe-roughen.cpp:42
+#: ../src/live_effects/lpe-roughen.cpp:40
msgid "Max. segment size"
msgstr "Maks. segmenta izmērs"
-#: ../src/live_effects/lpe-roughen.cpp:44
+#: ../src/live_effects/lpe-roughen.cpp:42
msgid "Number of segments"
msgstr "Segmentu skaits"
-#: ../src/live_effects/lpe-roughen.cpp:46
-#, fuzzy
+#: ../src/live_effects/lpe-roughen.cpp:44
msgid "Max. displacement in X"
-msgstr "_X pÄrvietojums"
+msgstr "Maks. pÄrvietojums gar X"
-#: ../src/live_effects/lpe-roughen.cpp:48
-#, fuzzy
+#: ../src/live_effects/lpe-roughen.cpp:46
msgid "Max. displacement in Y"
-msgstr "_Y pÄrvietojums:"
+msgstr "Maks. pÄrvietojums gar Y"
-#: ../src/live_effects/lpe-roughen.cpp:50
+#: ../src/live_effects/lpe-roughen.cpp:48
#, fuzzy
msgid "Global randomize"
msgstr "_Sajaukt"
-#: ../src/live_effects/lpe-roughen.cpp:52 ../share/extensions/radiusrand.inx.h:5
+#: ../src/live_effects/lpe-roughen.cpp:50 ../share/extensions/radiusrand.inx.h:5
msgid "Shift nodes"
msgstr "PÄrbÄ«dÄ«t mezglus"
-#: ../src/live_effects/lpe-roughen.cpp:54 ../share/extensions/radiusrand.inx.h:6
+#: ../src/live_effects/lpe-roughen.cpp:52 ../share/extensions/radiusrand.inx.h:6
msgid "Shift node handles"
msgstr "PÄrbÄ«dÄ«t mezglu turus"
-#: ../src/live_effects/lpe-roughen.cpp:103
-msgid "<b>Roughen unit</b>"
-msgstr "<b>Raupjošanas vienība</b>"
-
-#: ../src/live_effects/lpe-roughen.cpp:111
+#: ../src/live_effects/lpe-roughen.cpp:100
msgid "<b>Add nodes</b> Subdivide each segment"
msgstr "<b>Pievienot mezglus</b> sadalÄ«t katru posmu sÄ«kÄk"
-#: ../src/live_effects/lpe-roughen.cpp:120
-#, fuzzy
+#: ../src/live_effects/lpe-roughen.cpp:109
msgid "<b>Jitter nodes</b> Move nodes/handles"
-msgstr "<b>Jitter nodes</b> Move nodes/handles"
+msgstr "<b>TricinÄt mezglus</b> PÄrvietot mezglus/turus"
-#: ../src/live_effects/lpe-roughen.cpp:129
+#: ../src/live_effects/lpe-roughen.cpp:118
msgid "<b>Extra roughen</b> Add a extra layer of rough"
msgstr "<b>PastiprinÄt raupjumu</b> Pievienot papildu raupjuma slÄni"
@@ -9715,11 +9690,11 @@ msgctxt "Border mark"
msgid "None"
msgstr "Neviena"
-#: ../src/live_effects/lpe-ruler.cpp:33 ../src/widgets/arc-toolbar.cpp:328
+#: ../src/live_effects/lpe-ruler.cpp:33 ../src/widgets/arc-toolbar.cpp:319
msgid "Start"
msgstr "SÄkt"
-#: ../src/live_effects/lpe-ruler.cpp:34 ../src/widgets/arc-toolbar.cpp:341
+#: ../src/live_effects/lpe-ruler.cpp:34 ../src/widgets/arc-toolbar.cpp:332
msgid "End"
msgstr "End"
@@ -9731,6 +9706,14 @@ msgstr "IezÄ«mes attÄlu_ms:"
msgid "Distance between successive ruler marks"
msgstr "AttÄlums starp blakus esoÅ¡Äm mÄ“rjoslas aizzÄ«mÄ“m"
+#: ../src/live_effects/lpe-ruler.cpp:42 ../share/extensions/foldablebox.inx.h:7 ../share/extensions/interp_att_g.inx.h:9 ../share/extensions/layout_nup.inx.h:3 ../share/extensions/printing_marks.inx.h:11
+msgid "Unit:"
+msgstr "Vienība:"
+
+#: ../src/live_effects/lpe-ruler.cpp:42 ../src/widgets/ruler.cpp:202
+msgid "Unit"
+msgstr "Vienība"
+
#: ../src/live_effects/lpe-ruler.cpp:43
msgid "Ma_jor length:"
msgstr "Gal_venais garums:"
@@ -9818,11 +9801,11 @@ msgstr "NorÄdiet vienkÄrÅ¡oÅ¡anas soļu skaitu"
#: ../src/live_effects/lpe-simplify.cpp:31
#, fuzzy
msgid "Roughly threshold:"
-msgstr "S_lieksnis..."
+msgstr "Apmēram iezīmējiet izvelkamo objektu"
#: ../src/live_effects/lpe-simplify.cpp:32
msgid "Smooth angles:"
-msgstr ""
+msgstr "NogludinÄt leņķus:"
#: ../src/live_effects/lpe-simplify.cpp:32
msgid "Max degree difference on handles to preform a smooth"
@@ -9830,39 +9813,19 @@ msgstr ""
#: ../src/live_effects/lpe-simplify.cpp:34
#, fuzzy
-msgid "Helper nodes"
-msgstr "Subversion palīgprogramma"
-
-#: ../src/live_effects/lpe-simplify.cpp:34
-#, fuzzy
-msgid "Show helper nodes"
-msgstr "RÄdÄ«t pÄrveidoÅ¡anas turus atsevišķiem mezgliem"
-
-#: ../src/live_effects/lpe-simplify.cpp:36
-#, fuzzy
-msgid "Helper handles"
-msgstr "Subversion palīgprogramma"
-
-#: ../src/live_effects/lpe-simplify.cpp:36
-#, fuzzy
-msgid "Show helper handles"
-msgstr "RÄdÄ«t turus"
-
-#: ../src/live_effects/lpe-simplify.cpp:38
-#, fuzzy
msgid "Paths separately"
-msgstr "VienkÄrÅ¡o ceļus (atsevišķi):"
+msgstr "VienkÄrÅ¡o ceļus (atsevišķi)"
-#: ../src/live_effects/lpe-simplify.cpp:38
+#: ../src/live_effects/lpe-simplify.cpp:34
msgid "Simplifying paths (separately)"
msgstr "VienkÄrÅ¡o ceļus (atsevišķi)"
-#: ../src/live_effects/lpe-simplify.cpp:40
+#: ../src/live_effects/lpe-simplify.cpp:36
#, fuzzy
msgid "Just coalesce"
msgstr "Tikai tagad..."
-#: ../src/live_effects/lpe-simplify.cpp:40
+#: ../src/live_effects/lpe-simplify.cpp:36
#, fuzzy
msgid "Simplify just coalesce"
msgstr "VienkÄrÅ¡ot:"
@@ -9949,7 +9912,7 @@ msgstr "Palīglīnijas:"
msgid "How many construction lines (tangents) to draw"
msgstr "Cik daudz palīglīniju (tangenšu) zīmēt"
-#: ../src/live_effects/lpe-sketch.cpp:58 ../src/ui/dialog/filter-effects-dialog.cpp:2878 ../share/extensions/render_alphabetsoup.inx.h:3
+#: ../src/live_effects/lpe-sketch.cpp:58 ../src/ui/dialog/filter-effects-dialog.cpp:2894 ../share/extensions/render_alphabetsoup.inx.h:3
msgid "Scale:"
msgstr "Mērogs:"
@@ -10006,9 +9969,8 @@ msgid "Stroke width:"
msgstr "Apmales platums:"
#: ../src/live_effects/lpe-taperstroke.cpp:74
-#, fuzzy
msgid "The (non-tapered) width of the path"
-msgstr "Ceļa platums"
+msgstr "Ceļa (nesmailinÄta) platums"
#: ../src/live_effects/lpe-taperstroke.cpp:75
msgid "Start offset:"
@@ -10023,19 +9985,16 @@ msgid "End offset:"
msgstr "Beigu nobīde:"
#: ../src/live_effects/lpe-taperstroke.cpp:76
-#, fuzzy
msgid "The ending position of the taper"
-msgstr "PÄrsteidzoÅ¡Äs beigas"
+msgstr "SmailinÄjuma gala pozÄ«cija"
#: ../src/live_effects/lpe-taperstroke.cpp:77
-#, fuzzy
msgid "Taper smoothing:"
-msgstr "GludinÄÅ¡ana:"
+msgstr "SmailinÄjuma gludinÄjums:"
#: ../src/live_effects/lpe-taperstroke.cpp:77
-#, fuzzy
msgid "Amount of smoothing to apply to the tapers"
-msgstr "NorÄda, kÄdu gofrēšanas apjomu veikt attÄ“lam (procentos)"
+msgstr "Smailinajuma gludinÄjuma lielums"
#: ../src/live_effects/lpe-taperstroke.cpp:78
#, fuzzy
@@ -10052,15 +10011,13 @@ msgstr "Auto-gludais mezgls"
msgid "Limit for miter joins"
msgstr "Šķautņu asums:"
-#: ../src/live_effects/lpe-taperstroke.cpp:536
-#, fuzzy
+#: ../src/live_effects/lpe-taperstroke.cpp:448
msgid "Start point of the taper"
-msgstr "SÄkt tranportu no šī lÄ«knes punkta"
+msgstr "SmailinÄjuma sÄkumpunkts"
-#: ../src/live_effects/lpe-taperstroke.cpp:540
-#, fuzzy
+#: ../src/live_effects/lpe-taperstroke.cpp:452
msgid "End point of the taper"
-msgstr "Beigu punkts"
+msgstr "SmailinÄjuma beigu punkts"
#: ../src/live_effects/lpe-vonkoch.cpp:46
msgid "N_r of generations:"
@@ -10123,59 +10080,59 @@ msgstr "Mainīt Bula parametru"
msgid "Change enumeration parameter"
msgstr "Mainīt numurēšanas parametru"
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:782 ../src/live_effects/parameter/filletchamferpointarray.cpp:843
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:771 ../src/live_effects/parameter/filletchamferpointarray.cpp:832
msgid "<b>Chamfer</b>: <b>Ctrl+Click</b> toggle type, <b>Shift+Click</b> open dialog, <b>Ctrl+Alt+Click</b> reset"
msgstr "<b>NokÄpes fazÄ«te</b>: <b>Ctrl+Click</b> pÄrslÄ“gt tipu, <b>Shift+Click</b> atvÄ“rt dialoglodziņu, <b>Ctrl+Alt+Click</b> atstatÄ«t"
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:786 ../src/live_effects/parameter/filletchamferpointarray.cpp:847
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:775 ../src/live_effects/parameter/filletchamferpointarray.cpp:836
msgid "<b>Inverse Chamfer</b>: <b>Ctrl+Click</b> toggle type, <b>Shift+Click</b> open dialog, <b>Ctrl+Alt+Click</b> reset"
msgstr "<b>OtrÄdÄ nokÄpes fazÄ«te</b>: <b>Ctrl+Click</b> pÄrslÄ“gt tipu, <b>Shift+Click</b> atvÄ“rt dialoglodziņu, <b>Ctrl+Alt+Click</b> atstatÄ«t"
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:790 ../src/live_effects/parameter/filletchamferpointarray.cpp:851
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:779 ../src/live_effects/parameter/filletchamferpointarray.cpp:840
msgid "<b>Inverse Fillet</b>: <b>Ctrl+Click</b> toggle type, <b>Shift+Click</b> open dialog, <b>Ctrl+Alt+Click</b> reset"
msgstr "<b>OtrÄdais apcilnis</b>: <b>Ctrl+Click</b> pÄrslÄ“gt tipu, <b>Shift+Click</b> atvÄ“rt dialoglodziņu, <b>Ctrl+Alt+Click</b> atstatÄ«t"
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:794 ../src/live_effects/parameter/filletchamferpointarray.cpp:855
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:783 ../src/live_effects/parameter/filletchamferpointarray.cpp:844
msgid "<b>Fillet</b>: <b>Ctrl+Click</b> toggle type, <b>Shift+Click</b> open dialog, <b>Ctrl+Alt+Click</b> reset"
msgstr "<b>Apcilnis</b>: <b>Ctrl+Click</b> pÄrslÄ“gt tipu, <b>Shift+Click</b> atvÄ“rt dialoglodziņu, <b>Ctrl+Alt+Click</b> atstatÄ«t"
-#: ../src/live_effects/parameter/originalpath.cpp:71 ../src/live_effects/parameter/originalpatharray.cpp:159
+#: ../src/live_effects/parameter/originalpath.cpp:67 ../src/live_effects/parameter/originalpatharray.cpp:155
msgid "Link to path"
msgstr "Piesaistīt ceļam"
-#: ../src/live_effects/parameter/originalpath.cpp:83
+#: ../src/live_effects/parameter/originalpath.cpp:79
msgid "Select original"
msgstr "AtlasÄ«t oriÄ£inÄlu"
-#: ../src/live_effects/parameter/originalpatharray.cpp:94 ../src/widgets/gradient-toolbar.cpp:1205
+#: ../src/live_effects/parameter/originalpatharray.cpp:90 ../src/widgets/gradient-toolbar.cpp:1208
msgid "Reverse"
msgstr "Apgriezt"
-#: ../src/live_effects/parameter/originalpatharray.cpp:134 ../src/live_effects/parameter/originalpatharray.cpp:319 ../src/live_effects/parameter/path.cpp:475
+#: ../src/live_effects/parameter/originalpatharray.cpp:130 ../src/live_effects/parameter/originalpatharray.cpp:315 ../src/live_effects/parameter/path.cpp:481
msgid "Link path parameter to path"
msgstr "Piesaistīt ceļa parametru ceļam"
-#: ../src/live_effects/parameter/originalpatharray.cpp:171
+#: ../src/live_effects/parameter/originalpatharray.cpp:167
msgid "Remove Path"
msgstr "AizvÄkt ceļu"
-#: ../src/live_effects/parameter/originalpatharray.cpp:183 ../src/ui/dialog/objects.cpp:1823
+#: ../src/live_effects/parameter/originalpatharray.cpp:179 ../src/ui/dialog/objects.cpp:1823
msgid "Move Down"
msgstr "PÄrvietot lejup"
-#: ../src/live_effects/parameter/originalpatharray.cpp:195 ../src/ui/dialog/objects.cpp:1831
+#: ../src/live_effects/parameter/originalpatharray.cpp:191 ../src/ui/dialog/objects.cpp:1831
msgid "Move Up"
msgstr "PÄrvietot augÅ¡up"
-#: ../src/live_effects/parameter/originalpatharray.cpp:235
+#: ../src/live_effects/parameter/originalpatharray.cpp:231
msgid "Move path up"
msgstr "PÄrvietot ceļu augÅ¡up"
-#: ../src/live_effects/parameter/originalpatharray.cpp:265
+#: ../src/live_effects/parameter/originalpatharray.cpp:261
msgid "Move path down"
msgstr "PÄrvietot ceļu lejup"
-#: ../src/live_effects/parameter/originalpatharray.cpp:283
+#: ../src/live_effects/parameter/originalpatharray.cpp:279
msgid "Remove path"
msgstr "AizvÄkt ceļu"
@@ -10199,11 +10156,11 @@ msgstr "Ielīmēt ceļu"
msgid "Link to path on clipboard"
msgstr "Piesaistīt ceļam starpliktuvē"
-#: ../src/live_effects/parameter/path.cpp:443
+#: ../src/live_effects/parameter/path.cpp:449
msgid "Paste path parameter"
msgstr "Ielīmēt ceļa parametru"
-#: ../src/live_effects/parameter/point.cpp:103
+#: ../src/live_effects/parameter/point.cpp:124
msgid "Change point parameter"
msgstr "Mainīt punkta parametru"
@@ -10478,7 +10435,7 @@ msgstr "OBJEKTA ID"
msgid "Start Inkscape in interactive shell mode."
msgstr "Palaist Inkscape interaktÄ«vÄs Äaulas režīmÄ"
-#: ../src/main.cpp:871 ../src/main.cpp:1283
+#: ../src/main.cpp:871 ../src/main.cpp:1280
msgid ""
"[OPTIONS...] [FILE...]\n"
"\n"
@@ -10489,17 +10446,17 @@ msgstr ""
"PieejamÄs papildiespÄ“jas:"
#. ## Add a menu for clear()
-#: ../src/menus-skeleton.h:16 ../src/ui/dialog/debug.cpp:83
+#: ../src/menus-skeleton.h:16 ../src/ui/dialog/debug.cpp:79
msgid "_File"
msgstr "_Datne"
#. " <verb verb-id=\"FileExportToOCAL\" />\n"
#. " <verb verb-id=\"DialogMetadata\" />\n"
-#: ../src/menus-skeleton.h:41 ../src/verbs.cpp:2713 ../src/verbs.cpp:2721
+#: ../src/menus-skeleton.h:41 ../src/verbs.cpp:2682 ../src/verbs.cpp:2690
msgid "_Edit"
msgstr "Labot"
-#: ../src/menus-skeleton.h:51 ../src/verbs.cpp:2477
+#: ../src/menus-skeleton.h:51 ../src/verbs.cpp:2446
msgid "Paste Si_ze"
msgstr "Ielīmēt i_wzmēru"
@@ -10583,27 +10540,27 @@ msgstr "_Palīgs"
msgid "Tutorials"
msgstr "PamÄcÄ«bas"
-#: ../src/path-chemistry.cpp:54
+#: ../src/path-chemistry.cpp:63
msgid "Select <b>object(s)</b> to combine."
msgstr "Atlasiet apvienojamo(s) <b>objektu(s)</b>."
-#: ../src/path-chemistry.cpp:58
+#: ../src/path-chemistry.cpp:67
msgid "Combining paths..."
msgstr "Apvieno ceļus..."
-#: ../src/path-chemistry.cpp:174
+#: ../src/path-chemistry.cpp:177
msgid "Combine"
msgstr "Kombinēt"
-#: ../src/path-chemistry.cpp:181
+#: ../src/path-chemistry.cpp:184
msgid "<b>No path(s)</b> to combine in the selection."
msgstr "AtlasÄ«tajÄ nav apvienojamu <b>ceļu</b>."
-#: ../src/path-chemistry.cpp:193
+#: ../src/path-chemistry.cpp:196
msgid "Select <b>path(s)</b> to break apart."
msgstr "Atlasiet sašķeļamo(s) <b>ceļu(s)</b>."
-#: ../src/path-chemistry.cpp:197
+#: ../src/path-chemistry.cpp:200
msgid "Breaking apart paths..."
msgstr "Sašķeļ ceļus..."
@@ -10623,27 +10580,27 @@ msgstr "Atlasiet par ceļu pÄrvÄ“rÅ¡amu(s) <b>objektu(s)</b>."
msgid "Converting objects to paths..."
msgstr "PÄrvÄ“rÅ¡ objektus par ceļiem..."
-#: ../src/path-chemistry.cpp:327
+#: ../src/path-chemistry.cpp:324
msgid "Object to path"
msgstr "Objekts par ceļu"
-#: ../src/path-chemistry.cpp:329
+#: ../src/path-chemistry.cpp:326
msgid "<b>No objects</b> to convert to path in the selection."
msgstr "AtlasÄ«tajÄ <b>nav</b> par ceļu pÄrvÄ“rÅ¡amu <b>objektu</b>."
-#: ../src/path-chemistry.cpp:618
+#: ../src/path-chemistry.cpp:613
msgid "Select <b>path(s)</b> to reverse."
msgstr "Atlasiet otrÄdi apgriežamo(s) <b>ceļu(s)</b>."
-#: ../src/path-chemistry.cpp:627
+#: ../src/path-chemistry.cpp:622
msgid "Reversing paths..."
msgstr "Apgriež ceļu otrÄdi..."
-#: ../src/path-chemistry.cpp:662
+#: ../src/path-chemistry.cpp:657
msgid "Reverse path"
msgstr "Apgriezt ceļu otrÄdi"
-#: ../src/path-chemistry.cpp:664
+#: ../src/path-chemistry.cpp:659
msgid "<b>No paths</b> to reverse in the selection."
msgstr "AtlasÄ«tajÄ nav otrÄdi apgriežamu <b>ceļu</b>."
@@ -10765,7 +10722,7 @@ msgstr "Open Font licence"
#. Create the Title label and edit control
#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkTitleAttribute
-#: ../src/rdf.cpp:235 ../src/ui/dialog/filedialogimpl-win32.cpp:1952 ../src/ui/dialog/object-attributes.cpp:57
+#: ../src/rdf.cpp:235 ../src/ui/dialog/filedialogimpl-win32.cpp:1960 ../src/ui/dialog/object-attributes.cpp:57
msgid "Title:"
msgstr "Nosaukums:"
@@ -10903,45 +10860,50 @@ msgstr "XML fragments RDF 'License' sadaļai"
msgid "Fixup broken links"
msgstr "Labot nederÄ«gÄs saites"
-#: ../src/selection-chemistry.cpp:406
+#: ../src/selection-chemistry.cpp:401
msgid "Delete text"
msgstr "Dzēst tekstu"
-#: ../src/selection-chemistry.cpp:414
+#: ../src/selection-chemistry.cpp:409
msgid "<b>Nothing</b> was deleted."
msgstr "<b>Nekas</b> nav izdzēst."
-#: ../src/selection-chemistry.cpp:433 ../src/ui/dialog/calligraphic-profile-rename.cpp:75 ../src/ui/dialog/swatches.cpp:277 ../src/ui/tools/text-tool.cpp:965 ../src/widgets/eraser-toolbar.cpp:93 ../src/widgets/gradient-toolbar.cpp:1181
-#: ../src/widgets/gradient-toolbar.cpp:1195 ../src/widgets/gradient-toolbar.cpp:1209 ../src/widgets/node-toolbar.cpp:401
+#: ../src/selection-chemistry.cpp:426 ../src/ui/dialog/calligraphic-profile-rename.cpp:75 ../src/ui/dialog/swatches.cpp:277 ../src/ui/tools/text-tool.cpp:965 ../src/widgets/eraser-toolbar.cpp:93 ../src/widgets/gradient-toolbar.cpp:1184
+#: ../src/widgets/gradient-toolbar.cpp:1198 ../src/widgets/gradient-toolbar.cpp:1212 ../src/widgets/node-toolbar.cpp:401
msgid "Delete"
msgstr "Dzēst"
-#: ../src/selection-chemistry.cpp:461
+#: ../src/selection-chemistry.cpp:454
msgid "Select <b>object(s)</b> to duplicate."
msgstr "Atlasiet dublējamo(s) <b>objektu(s)</b>."
-#: ../src/selection-chemistry.cpp:572
+#: ../src/selection-chemistry.cpp:551
+#, c-format
+msgid "%s copy"
+msgstr "%s kopēt"
+
+#: ../src/selection-chemistry.cpp:574
msgid "Delete all"
msgstr "Dzēst visu"
-#: ../src/selection-chemistry.cpp:763
+#: ../src/selection-chemistry.cpp:762
msgid "Select <b>some objects</b> to group."
msgstr "Atlasiet <b>dažus objektus</b> grupēšanai."
-#: ../src/selection-chemistry.cpp:778
+#: ../src/selection-chemistry.cpp:775
msgctxt "Verb"
msgid "Group"
msgstr "Grupēt"
-#: ../src/selection-chemistry.cpp:801
+#: ../src/selection-chemistry.cpp:798
msgid "Select a <b>group</b> to ungroup."
msgstr "Atlasiet atgrupējamo <b>grupu</b>."
-#: ../src/selection-chemistry.cpp:816
+#: ../src/selection-chemistry.cpp:813
msgid "<b>No groups</b> to ungroup in the selection."
msgstr "Atlasē <b>nav</b> atgrupējamu grupu."
-#: ../src/selection-chemistry.cpp:874 ../src/sp-item-group.cpp:575
+#: ../src/selection-chemistry.cpp:869 ../src/sp-item-group.cpp:554
msgid "Ungroup"
msgstr "Atgrupēt"
@@ -10949,344 +10911,344 @@ msgstr "Atgrupēt"
msgid "Select <b>object(s)</b> to raise."
msgstr "Atlasiet <b>objektu(s)</b>, kurus pacelt augstÄk."
-#: ../src/selection-chemistry.cpp:962 ../src/selection-chemistry.cpp:1019 ../src/selection-chemistry.cpp:1047 ../src/selection-chemistry.cpp:1109
+#: ../src/selection-chemistry.cpp:962 ../src/selection-chemistry.cpp:1015 ../src/selection-chemistry.cpp:1041 ../src/selection-chemistry.cpp:1099
msgid "You cannot raise/lower objects from <b>different groups</b> or <b>layers</b>."
msgstr "JÅ«s nevarat pacelt/nolaist objektus no <b>dažÄdÄm grupÄm</b> vai <b>slÄņiem</b>."
#. TRANSLATORS: "Raise" means "to raise an object" in the undo history
-#: ../src/selection-chemistry.cpp:1003
+#: ../src/selection-chemistry.cpp:999
msgctxt "Undo action"
msgid "Raise"
msgstr "Pacelt"
-#: ../src/selection-chemistry.cpp:1011
+#: ../src/selection-chemistry.cpp:1007
msgid "Select <b>object(s)</b> to raise to top."
msgstr "Atlasiet <b>objektu(s)</b>, kurus pacelt paÅ¡Ä augÅ¡Ä."
-#: ../src/selection-chemistry.cpp:1034
+#: ../src/selection-chemistry.cpp:1028
msgid "Raise to top"
msgstr "Pacelt paÅ¡Ä augÅ¡Ä"
-#: ../src/selection-chemistry.cpp:1041
+#: ../src/selection-chemistry.cpp:1035
msgid "Select <b>object(s)</b> to lower."
msgstr "Atlasiet <b>objektu(s)</b>, kurus nolaist zemÄk."
#. TRANSLATORS: "Lower" means "to lower an object" in the undo history
-#: ../src/selection-chemistry.cpp:1093
+#: ../src/selection-chemistry.cpp:1083
msgctxt "Undo action"
msgid "Lower"
msgstr "Nolaist zemÄk"
-#: ../src/selection-chemistry.cpp:1101
+#: ../src/selection-chemistry.cpp:1091
msgid "Select <b>object(s)</b> to lower to bottom."
msgstr "Atlasiet <b>objektu(s)</b>, kurus nolaist paÅ¡Ä apakÅ¡Ä."
-#: ../src/selection-chemistry.cpp:1136
+#: ../src/selection-chemistry.cpp:1122
msgid "Lower to bottom"
msgstr "Nolaist paÅ¡Ä augÅ¡Ä"
-#: ../src/selection-chemistry.cpp:1146
+#: ../src/selection-chemistry.cpp:1132
msgid "Nothing to undo."
msgstr "Nav ko atcelt."
-#: ../src/selection-chemistry.cpp:1157
+#: ../src/selection-chemistry.cpp:1143
msgid "Nothing to redo."
msgstr "Nav ko atkÄrtot."
-#: ../src/selection-chemistry.cpp:1229
+#: ../src/selection-chemistry.cpp:1215
msgid "Paste"
msgstr "Ielīmēt"
-#: ../src/selection-chemistry.cpp:1237
+#: ../src/selection-chemistry.cpp:1223
msgid "Paste style"
msgstr "Ielīmēt stilu"
-#: ../src/selection-chemistry.cpp:1247
+#: ../src/selection-chemistry.cpp:1233
msgid "Paste live path effect"
msgstr "Ielīmēt ceļa (LPE) efektu"
-#: ../src/selection-chemistry.cpp:1269
+#: ../src/selection-chemistry.cpp:1255
msgid "Select <b>object(s)</b> to remove live path effects from."
msgstr "Atlasiet <b>objektu(s)</b>, no kuriem jÄaizvÄc ceļa (LPE) efekti."
-#: ../src/selection-chemistry.cpp:1281
+#: ../src/selection-chemistry.cpp:1267
msgid "Remove live path effect"
msgstr "AizvÄkt ceļa (LPE) efektu"
-#: ../src/selection-chemistry.cpp:1292
+#: ../src/selection-chemistry.cpp:1278
msgid "Select <b>object(s)</b> to remove filters from."
msgstr "Atlasiet <b>objektu(s)</b>, no kuriem jÄaizvÄc filtri."
-#: ../src/selection-chemistry.cpp:1302 ../src/ui/dialog/filter-effects-dialog.cpp:1678
+#: ../src/selection-chemistry.cpp:1288 ../src/ui/dialog/filter-effects-dialog.cpp:1693
msgid "Remove filter"
msgstr "AizvÄkt filtru"
-#: ../src/selection-chemistry.cpp:1311
+#: ../src/selection-chemistry.cpp:1297
msgid "Paste size"
msgstr "Ielīmēt izmērus"
-#: ../src/selection-chemistry.cpp:1320
+#: ../src/selection-chemistry.cpp:1306
msgid "Paste size separately"
msgstr "Ielīmēt izmērus atsevišķi"
-#: ../src/selection-chemistry.cpp:1349
+#: ../src/selection-chemistry.cpp:1335
msgid "Select <b>object(s)</b> to move to the layer above."
msgstr "Atlasiet <b>objektu(s)</b>, ko pÄrvietot uz slÄni virs paÅ¡reizÄ“jÄ."
-#: ../src/selection-chemistry.cpp:1376
+#: ../src/selection-chemistry.cpp:1360
msgid "Raise to next layer"
msgstr "Pacelt uz nÄkoÅ¡o slÄni"
-#: ../src/selection-chemistry.cpp:1383
+#: ../src/selection-chemistry.cpp:1367
msgid "No more layers above."
msgstr "Nav augstÄka slÄņa par Å¡o."
-#: ../src/selection-chemistry.cpp:1395
+#: ../src/selection-chemistry.cpp:1378
msgid "Select <b>object(s)</b> to move to the layer below."
msgstr "Atlasiet <b>objektu(s)</b>, ko pÄrvietot uz slÄni zem paÅ¡reizÄ“jÄ."
-#: ../src/selection-chemistry.cpp:1422
+#: ../src/selection-chemistry.cpp:1403
msgid "Lower to previous layer"
msgstr "Nolaist uz iepriekšējo slÄni"
-#: ../src/selection-chemistry.cpp:1429
+#: ../src/selection-chemistry.cpp:1410
msgid "No more layers below."
msgstr "Nav zemÄka slÄņa par Å¡o."
-#: ../src/selection-chemistry.cpp:1441
+#: ../src/selection-chemistry.cpp:1420
msgid "Select <b>object(s)</b> to move."
msgstr "Atlasiet pÄrvietojamo(s) <b>objektu(s)</b>."
-#: ../src/selection-chemistry.cpp:1459 ../src/verbs.cpp:2656
+#: ../src/selection-chemistry.cpp:1437 ../src/verbs.cpp:2625
msgid "Move selection to layer"
msgstr "PÄrvietot atlasÄ«to uz slÄni"
#. 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:1549 ../src/seltrans.cpp:388
+#: ../src/selection-chemistry.cpp:1526 ../src/seltrans.cpp:390
msgid "Cannot transform an embedded SVG."
msgstr "Nav iespÄ“jams pÄrveidot iegulto SVG."
-#: ../src/selection-chemistry.cpp:1720
+#: ../src/selection-chemistry.cpp:1696
msgid "Remove transform"
msgstr "AizvÄkt pÄrveidojumu"
-#: ../src/selection-chemistry.cpp:1827
+#: ../src/selection-chemistry.cpp:1803
msgid "Rotate 90° CCW"
msgstr "Pagriezt par 90° CCW"
-#: ../src/selection-chemistry.cpp:1827
+#: ../src/selection-chemistry.cpp:1803
msgid "Rotate 90° CW"
msgstr "Pagriezt par 90° CW"
-#: ../src/selection-chemistry.cpp:1848 ../src/seltrans.cpp:483 ../src/ui/dialog/transformation.cpp:893
+#: ../src/selection-chemistry.cpp:1824 ../src/seltrans.cpp:483 ../src/ui/dialog/transformation.cpp:891
msgid "Rotate"
msgstr "Pagriezt"
-#: ../src/selection-chemistry.cpp:2204
+#: ../src/selection-chemistry.cpp:2173
msgid "Rotate by pixels"
msgstr "Pagriezt pa pikseļiem"
-#: ../src/selection-chemistry.cpp:2234 ../src/seltrans.cpp:480 ../src/ui/dialog/transformation.cpp:868 ../share/extensions/interp_att_g.inx.h:12
+#: ../src/selection-chemistry.cpp:2203 ../src/seltrans.cpp:480 ../src/ui/dialog/transformation.cpp:865 ../src/ui/widget/page-sizer.cpp:448 ../share/extensions/interp_att_g.inx.h:12
msgid "Scale"
msgstr "Mērogot"
-#: ../src/selection-chemistry.cpp:2259
+#: ../src/selection-chemistry.cpp:2228
msgid "Scale by whole factor"
msgstr "Mērogot veselu skaitu reižu"
-#: ../src/selection-chemistry.cpp:2274
+#: ../src/selection-chemistry.cpp:2243
msgid "Move vertically"
msgstr "PÄrvietot vertikÄli"
-#: ../src/selection-chemistry.cpp:2277
+#: ../src/selection-chemistry.cpp:2246
msgid "Move horizontally"
msgstr "PÄrvietot horizontÄli"
-#: ../src/selection-chemistry.cpp:2280 ../src/selection-chemistry.cpp:2306 ../src/seltrans.cpp:477 ../src/ui/dialog/transformation.cpp:806
+#: ../src/selection-chemistry.cpp:2249 ../src/selection-chemistry.cpp:2275 ../src/seltrans.cpp:477 ../src/ui/dialog/transformation.cpp:802
msgid "Move"
msgstr "PÄrvietot"
-#: ../src/selection-chemistry.cpp:2300
+#: ../src/selection-chemistry.cpp:2269
msgid "Move vertically by pixels"
msgstr "PÄrvietot vertikÄli pa pikseļiem"
-#: ../src/selection-chemistry.cpp:2303
+#: ../src/selection-chemistry.cpp:2272
msgid "Move horizontally by pixels"
msgstr "PÄrvietot horizontÄli pa pikseļiem"
-#: ../src/selection-chemistry.cpp:2435
+#: ../src/selection-chemistry.cpp:2475
msgid "The selection has no applied path effect."
msgstr "Atlasītajam nav pielietots neviens ceļa efekts."
-#: ../src/selection-chemistry.cpp:2607 ../src/ui/dialog/clonetiler.cpp:2223
+#: ../src/selection-chemistry.cpp:2567 ../src/ui/dialog/clonetiler.cpp:2221
msgid "Select an <b>object</b> to clone."
msgstr "Atlasiet klonējamo <b>objektu</b>."
-#: ../src/selection-chemistry.cpp:2643
+#: ../src/selection-chemistry.cpp:2602
msgctxt "Action"
msgid "Clone"
msgstr "Klonēt"
-#: ../src/selection-chemistry.cpp:2659
+#: ../src/selection-chemistry.cpp:2616
msgid "Select <b>clones</b> to relink."
msgstr "Atlasiet <b>klonus</b>, kuriem jÄatjauno piesaiste."
-#: ../src/selection-chemistry.cpp:2666
+#: ../src/selection-chemistry.cpp:2623
msgid "Copy an <b>object</b> to clipboard to relink clones to."
msgstr "NokopÄ“jiet uz starpliktuvi <b>objektu</b>, kuram jÄatjauno klonu saites."
-#: ../src/selection-chemistry.cpp:2689
+#: ../src/selection-chemistry.cpp:2644
msgid "<b>No clones to relink</b> in the selection."
msgstr "AtlasÄ«tajÄ <b>nav klonu ar atjaunojamu piesaisti</b>."
-#: ../src/selection-chemistry.cpp:2692
+#: ../src/selection-chemistry.cpp:2647
msgid "Relink clone"
msgstr "Atjaunot klona piesaisti"
-#: ../src/selection-chemistry.cpp:2706
+#: ../src/selection-chemistry.cpp:2661
msgid "Select <b>clones</b> to unlink."
msgstr "Atlasiet atsaistÄmos <b>klonus</b>."
-#: ../src/selection-chemistry.cpp:2762
+#: ../src/selection-chemistry.cpp:2714
msgid "<b>No clones to unlink</b> in the selection."
msgstr "AtlasÄ«tajÄ <b>nav atsaistÄmu klonu</b>."
-#: ../src/selection-chemistry.cpp:2766
+#: ../src/selection-chemistry.cpp:2718
msgid "Unlink clone"
msgstr "Atsaistīt klonu"
-#: ../src/selection-chemistry.cpp:2779
+#: ../src/selection-chemistry.cpp:2731
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 ""
"Atlasiet <b>klonu</b>, lai pÄrietu pie tÄ oriÄ£inÄla. Atlasiet <b>saistÄ«to nobÄ«di</b>, lai pÄrietu pie tÄs sÄkumpunkta. Atlasiet <b>tekstu gar ceļu</b>, lai pÄrietu pie ceļa. Atlasiet <b>aizpildoÅ¡o tekstu</b>, lai pÄrietu pie tÄ rÄmja."
-#: ../src/selection-chemistry.cpp:2827
+#: ../src/selection-chemistry.cpp:2781
msgid "<b>Cannot find</b> the object to select (orphaned clone, offset, textpath, flowed text?)"
msgstr "<b>Nevar atrast</b> atlasÄmo objektu (pamests klons, nobÄ«de, teksta ceļš, teksta aizpildÄ«jums?)"
-#: ../src/selection-chemistry.cpp:2833
+#: ../src/selection-chemistry.cpp:2787
msgid "The object you're trying to select is <b>not visible</b> (it is in &lt;defs&gt;)"
msgstr "Objekts, ko mēģinÄt atlasÄ«t, <b>nav redzams</b> (tas atrodas &lt;defs&gt;)"
-#: ../src/selection-chemistry.cpp:2922
+#: ../src/selection-chemistry.cpp:2877
msgid "Select path(s) to fill."
msgstr "Atlasiet aizpildÄmo(s) ceļu(s)."
-#: ../src/selection-chemistry.cpp:2940
+#: ../src/selection-chemistry.cpp:2895
msgid "Select <b>object(s)</b> to convert to marker."
msgstr "Atlasiet <b>objektu(s)</b>, kurus vÄ“laties pÄrvÄ“rst par marÄ·ieriem."
-#: ../src/selection-chemistry.cpp:3015
+#: ../src/selection-chemistry.cpp:2969
msgid "Objects to marker"
msgstr "Objektus par marÄ·ieriem"
-#: ../src/selection-chemistry.cpp:3040
+#: ../src/selection-chemistry.cpp:2995
msgid "Select <b>object(s)</b> to convert to guides."
msgstr "Atlasiet <b>objektu(s)</b>, kurus vÄ“laties pÄrvÄ“rst par palÄ«glÄ«nijÄm."
-#: ../src/selection-chemistry.cpp:3063
+#: ../src/selection-chemistry.cpp:3016
msgid "Objects to guides"
msgstr "Objektus par palīglīnijam"
-#: ../src/selection-chemistry.cpp:3099
+#: ../src/selection-chemistry.cpp:3052
msgid "Select <b>objects</b> to convert to symbol."
msgstr "Atlasiet <b>objektus</b>, kurus vÄ“laties pÄrvÄ“rst par simbolu."
-#: ../src/selection-chemistry.cpp:3202
+#: ../src/selection-chemistry.cpp:3153
msgid "Group to symbol"
msgstr "GrupÄ“t simbola virzienÄ"
-#: ../src/selection-chemistry.cpp:3221
+#: ../src/selection-chemistry.cpp:3172
msgid "Select a <b>symbol</b> to extract objects from."
msgstr "Atlasiet <b>simbolu</b>, no kura ekstraģēt objektus."
-#: ../src/selection-chemistry.cpp:3230
+#: ../src/selection-chemistry.cpp:3181
msgid "Select only one <b>symbol</b> in Symbol dialog to convert to group."
msgstr "IzvÄ“lieties tikai vienu<b>simbolu</b> no Simbolu dialoglodziņa,lai to pÄrvÄ“rstu par grupu."
-#: ../src/selection-chemistry.cpp:3288
+#: ../src/selection-chemistry.cpp:3237
msgid "Group from symbol"
msgstr "GrupÄ“t virzienÄ no simbola"
-#: ../src/selection-chemistry.cpp:3306
+#: ../src/selection-chemistry.cpp:3255
msgid "Select <b>object(s)</b> to convert to pattern."
msgstr "Atlasiet <b>objektu(s)</b>, kurus vÄ“laties pÄrvÄ“rst par faktÅ«ru."
-#: ../src/selection-chemistry.cpp:3405
+#: ../src/selection-chemistry.cpp:3351
msgid "Objects to pattern"
msgstr "Objektus par faktūru"
-#: ../src/selection-chemistry.cpp:3421
+#: ../src/selection-chemistry.cpp:3367
msgid "Select an <b>object with pattern fill</b> to extract objects from."
msgstr "Atlasiet <b>objektu ar faktūras aizpildījumu</b>, no kura ekstraģēt objektus."
-#: ../src/selection-chemistry.cpp:3482
+#: ../src/selection-chemistry.cpp:3426
msgid "<b>No pattern fills</b> in the selection."
msgstr "AtlasÄ«tajÄ nav objektu ar <b>faktÅ«ras aizpildÄ«jumu</b>."
-#: ../src/selection-chemistry.cpp:3485
+#: ../src/selection-chemistry.cpp:3429
msgid "Pattern to objects"
msgstr "Faktūru par objektiem"
-#: ../src/selection-chemistry.cpp:3576
+#: ../src/selection-chemistry.cpp:3516
msgid "Select <b>object(s)</b> to make a bitmap copy."
msgstr "Atlasiet <b>objektu(s)</b> bitkartes kopijas izveidošanai."
-#: ../src/selection-chemistry.cpp:3580
+#: ../src/selection-chemistry.cpp:3520
msgid "Rendering bitmap..."
msgstr "Renderē bitkarti..."
-#: ../src/selection-chemistry.cpp:3767
+#: ../src/selection-chemistry.cpp:3705
msgid "Create bitmap"
msgstr "Izveidot bitkarti"
-#: ../src/selection-chemistry.cpp:3792 ../src/selection-chemistry.cpp:3911
+#: ../src/selection-chemistry.cpp:3730 ../src/selection-chemistry.cpp:3842
msgid "Select <b>object(s)</b> to create clippath or mask from."
msgstr "Atlasiet <b>objektu(s)</b> izgriešanas ceļa vai maskas izveidošanai."
-#: ../src/selection-chemistry.cpp:3885
+#: ../src/selection-chemistry.cpp:3816
msgid "Create Clip Group"
msgstr "Izveidot klipu grupu"
-#: ../src/selection-chemistry.cpp:3914
+#: ../src/selection-chemistry.cpp:3845
msgid "Select mask object and <b>object(s)</b> to apply clippath or mask to."
msgstr "Atlasiet maskas objektu un <b>objektu(s)</b>izgriešanas ceļa vai maskas pielietošanai."
-#: ../src/selection-chemistry.cpp:4095
+#: ../src/selection-chemistry.cpp:3992
msgid "Set clipping path"
msgstr "Iestatiet izgriešanas ceļu"
-#: ../src/selection-chemistry.cpp:4097
+#: ../src/selection-chemistry.cpp:3994
msgid "Set mask"
msgstr "Iestatīt masku"
-#: ../src/selection-chemistry.cpp:4112
+#: ../src/selection-chemistry.cpp:4009
msgid "Select <b>object(s)</b> to remove clippath or mask from."
msgstr "Atlasiet <b>objektu(s)</b>, kuram(-iem) noņemt izgriešanas ceļu vai masku."
-#: ../src/selection-chemistry.cpp:4232
+#: ../src/selection-chemistry.cpp:4125
msgid "Release clipping path"
msgstr "Atbrīvot izgriešanas ceļu"
-#: ../src/selection-chemistry.cpp:4234
+#: ../src/selection-chemistry.cpp:4127
msgid "Release mask"
msgstr "Atbrīvot masku"
-#: ../src/selection-chemistry.cpp:4253
+#: ../src/selection-chemistry.cpp:4146
msgid "Select <b>object(s)</b> to fit canvas to."
msgstr "Atlasiet <b>objektu(s)</b>, kuriem pielÄgot audekla izmÄ“ru."
#. Fit Page
-#: ../src/selection-chemistry.cpp:4273 ../src/verbs.cpp:2992
+#: ../src/selection-chemistry.cpp:4166 ../src/verbs.cpp:2961
msgid "Fit Page to Selection"
msgstr "PielÄgot lapu atlasÄ«tajam"
-#: ../src/selection-chemistry.cpp:4302 ../src/verbs.cpp:2994
+#: ../src/selection-chemistry.cpp:4195 ../src/verbs.cpp:2963
msgid "Fit Page to Drawing"
msgstr "PielÄgot lapu zÄ«mÄ“jumam"
-#: ../src/selection-chemistry.cpp:4323 ../src/verbs.cpp:2996
+#: ../src/selection-chemistry.cpp:4216 ../src/verbs.cpp:2965
msgid "Fit Page to Selection or Drawing"
msgstr "PielÄgojiet lapu atlasÄ«tajam vai zÄ«mÄ“jumam"
@@ -11372,9 +11334,9 @@ msgstr "Izmantojiet <b>Shift+D</b>, lai sameklÄ“tu rÄmi"
#, c-format
msgid "<b>%1$i</b> objects selected of type %2$s"
msgid_plural "<b>%1$i</b> objects selected of types %2$s"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Atlasīts <b>%1$i</b> %2$s tipa objekts"
+msgstr[1] "Atlasīti <b>%1$i</b> %2$s tipa objekti"
+msgstr[2] "Atlasīti <b>%1$i</b> %2$s tipa objekti"
#: ../src/selection-describer.cpp:246
#, c-format
@@ -11404,47 +11366,47 @@ msgstr "<b>Griezt</b> atlasīto; ar <b>Ctrl</b> - pievilkt leņķim; ar <b>Shift
msgid "<b>Center</b> of rotation and skewing: drag to reposition; scaling with Shift also uses this center"
msgstr "Griešanas un šķiebšanas <b>centrs</b>: velciet, lai manītu novietojumu; mērogošana ar Shift arī lieto šo centru"
-#: ../src/seltrans.cpp:486 ../src/ui/dialog/transformation.cpp:981
+#: ../src/seltrans.cpp:486 ../src/ui/dialog/transformation.cpp:980
msgid "Skew"
msgstr "Sašķiebt"
-#: ../src/seltrans.cpp:499
+#: ../src/seltrans.cpp:500
msgid "Set center"
msgstr "Iestatīt centru"
-#: ../src/seltrans.cpp:574
+#: ../src/seltrans.cpp:573
msgid "Stamp"
msgstr "Zīmogs"
-#: ../src/seltrans.cpp:723
+#: ../src/seltrans.cpp:722
msgid "Reset center"
msgstr "Atiestatīt centru"
-#: ../src/seltrans.cpp:955 ../src/seltrans.cpp:1060
+#: ../src/seltrans.cpp:954 ../src/seltrans.cpp:1059
#, c-format
msgid "<b>Scale</b>: %0.2f%% x %0.2f%%; with <b>Ctrl</b> to lock ratio"
msgstr "<b>Mērogot</b>: %0.2f%% x %0.2f%%; ar <b>Ctrl</b> - slēgt attiecību"
#. TRANSLATORS: don't modify the first ";"
#. (it will NOT be displayed as ";" - only the second one will be)
-#: ../src/seltrans.cpp:1199
+#: ../src/seltrans.cpp:1198
#, c-format
msgid "<b>Skew</b>: %0.2f&#176;; with <b>Ctrl</b> to snap angle"
msgstr "<b>Šķiebt</b>: %0.2f&#176;; ar <b>Ctrl</b> - pievilkt leņķim"
#. TRANSLATORS: don't modify the first ";"
#. (it will NOT be displayed as ";" - only the second one will be)
-#: ../src/seltrans.cpp:1274
+#: ../src/seltrans.cpp:1273
#, c-format
msgid "<b>Rotate</b>: %0.2f&#176;; with <b>Ctrl</b> to snap angle"
msgstr "<b>Griezt</b>: %0.2f&#176;; ar <b>Ctrl</b> - pievilkt leņķim"
-#: ../src/seltrans.cpp:1311
+#: ../src/seltrans.cpp:1310
#, c-format
msgid "Move <b>center</b> to %s, %s"
msgstr "PÄrvietot <b>centru</b> uz %s, %s"
-#: ../src/seltrans.cpp:1465
+#: ../src/seltrans.cpp:1464
#, c-format
msgid "<b>Move</b> by %s, %s; with <b>Ctrl</b> to restrict to horizontal/vertical; with <b>Shift</b> to disable snapping"
msgstr "<b>PÄrvietot</b> par %s, %s; ar <b>Ctrl</b> - lai ierobežotu horizontÄli/vertikÄli; ar <b>Shift</b> - atslÄ“gt piesaisti"
@@ -11454,7 +11416,7 @@ msgstr "<b>PÄrvietot</b> par %s, %s; ar <b>Ctrl</b> - lai ierobežotu horizontÄ
msgid "Keyboard directory (%s) is unavailable."
msgstr "Klaviatūras mape (%s) nav pieejama."
-#: ../src/shortcuts.cpp:337 ../src/ui/dialog/export.cpp:1298 ../src/ui/dialog/export.cpp:1332
+#: ../src/shortcuts.cpp:337 ../src/ui/dialog/export.cpp:1296 ../src/ui/dialog/export.cpp:1330
msgid "Select a filename for exporting"
msgstr "IzvÄ“lieties eksportÄ“jamÄs datnes nosaukumu"
@@ -11471,20 +11433,20 @@ msgstr "līdz %s"
msgid "without URI"
msgstr "bez URI"
-#: ../src/sp-ellipse.cpp:344
+#: ../src/sp-ellipse.cpp:361
msgid "Segment"
msgstr "Segments"
-#: ../src/sp-ellipse.cpp:346
+#: ../src/sp-ellipse.cpp:363
msgid "Arc"
msgstr "Loks"
#. Ellipse
-#: ../src/sp-ellipse.cpp:349 ../src/sp-ellipse.cpp:356 ../src/ui/dialog/inkscape-preferences.cpp:412 ../src/widgets/pencil-toolbar.cpp:163
+#: ../src/sp-ellipse.cpp:366 ../src/sp-ellipse.cpp:373 ../src/ui/dialog/inkscape-preferences.cpp:412 ../src/widgets/pencil-toolbar.cpp:163
msgid "Ellipse"
msgstr "Elipse"
-#: ../src/sp-ellipse.cpp:353
+#: ../src/sp-ellipse.cpp:370
msgid "Circle"
msgstr "Aplis"
@@ -11509,7 +11471,7 @@ msgstr "Teksta aizpildījums"
msgid "Linked Flowed Text"
msgstr "Saistītais teksta aizpildījums"
-#: ../src/sp-flowtext.cpp:288 ../src/sp-text.cpp:367 ../src/ui/tools/text-tool.cpp:1557
+#: ../src/sp-flowtext.cpp:288 ../src/sp-text.cpp:367 ../src/ui/tools/text-tool.cpp:1556
msgid " [truncated]"
msgstr " [nogriezts]"
@@ -11525,7 +11487,7 @@ msgstr[2] "(%d rakstzīmes%s)"
msgid "Create Guides Around the Page"
msgstr "Izveidot palÄ«glÄ«nijas apkÄrt lapai"
-#: ../src/sp-guide.cpp:258 ../src/verbs.cpp:2549
+#: ../src/sp-guide.cpp:258 ../src/verbs.cpp:2518
msgid "Delete All Guides"
msgstr "Dzēst visas palīglīnijas"
@@ -11567,40 +11529,40 @@ msgstr "[nederīga atsauce]: %s"
msgid "%d &#215; %d: %s"
msgstr "%d &#215; %d: %s"
-#: ../src/sp-item-group.cpp:322
+#: ../src/sp-item-group.cpp:307
msgid "Group"
msgstr "Grupa"
-#: ../src/sp-item-group.cpp:328 ../src/sp-switch.cpp:68
+#: ../src/sp-item-group.cpp:313 ../src/sp-switch.cpp:69
#, c-format
msgid "of <b>%d</b> object"
msgstr "no <b>%d</b> objekta"
-#: ../src/sp-item-group.cpp:328 ../src/sp-switch.cpp:68
+#: ../src/sp-item-group.cpp:313 ../src/sp-switch.cpp:69
#, c-format
msgid "of <b>%d</b> objects"
msgstr "no <b>%d</b> objektiem"
-#: ../src/sp-item.cpp:1051 ../src/verbs.cpp:214
+#: ../src/sp-item.cpp:1030 ../src/verbs.cpp:213
msgid "Object"
msgstr "Objekts"
-#: ../src/sp-item.cpp:1063
+#: ../src/sp-item.cpp:1042
#, c-format
msgid "%s; <i>clipped</i>"
msgstr "%s; <i>izgriezts</i>"
-#: ../src/sp-item.cpp:1069
+#: ../src/sp-item.cpp:1048
#, c-format
msgid "%s; <i>masked</i>"
msgstr "%s; <i>maskēts</i>"
-#: ../src/sp-item.cpp:1079
+#: ../src/sp-item.cpp:1058
#, c-format
msgid "%s; <i>filtered (%s)</i>"
msgstr "%s; <i>filtrēts (%s)</i>"
-#: ../src/sp-item.cpp:1081
+#: ../src/sp-item.cpp:1060
#, c-format
msgid "%s; <i>filtered</i>"
msgstr "%s; <i>filtrēts</i>"
@@ -11663,7 +11625,7 @@ msgid "<b>Polyline</b>"
msgstr "<b>Lauzta līnija</b>"
#. Rectangle
-#: ../src/sp-rect.cpp:153 ../src/ui/dialog/inkscape-preferences.cpp:402
+#: ../src/sp-rect.cpp:161 ../src/ui/dialog/inkscape-preferences.cpp:402
msgid "Rectangle"
msgstr "Taisnstūris"
@@ -11680,11 +11642,11 @@ msgid "with %3f turns"
msgstr "ar %3f vijumiem"
#. Star
-#: ../src/sp-star.cpp:246 ../src/ui/dialog/inkscape-preferences.cpp:416 ../src/widgets/star-toolbar.cpp:471
+#: ../src/sp-star.cpp:246 ../src/ui/dialog/inkscape-preferences.cpp:416 ../src/widgets/star-toolbar.cpp:469
msgid "Star"
msgstr "Zvaigzne"
-#: ../src/sp-star.cpp:247 ../src/widgets/star-toolbar.cpp:464
+#: ../src/sp-star.cpp:247 ../src/widgets/star-toolbar.cpp:462
msgid "Polygon"
msgstr "Daudzstūris"
@@ -11701,11 +11663,11 @@ msgstr "ar %d virsotni"
msgid "with %d vertices"
msgstr "ar %d virsotnēm"
-#: ../src/sp-switch.cpp:62
+#: ../src/sp-switch.cpp:63
msgid "Conditional Group"
msgstr "Grupēšana pēc nosacījuma"
-#: ../src/sp-text.cpp:351 ../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
+#: ../src/sp-text.cpp:351 ../src/verbs.cpp:347 ../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
#: ../share/extensions/text_extract.inx.h:14 ../share/extensions/text_flipcase.inx.h:2 ../share/extensions/text_lowercase.inx.h:2 ../share/extensions/text_merge.inx.h:16 ../share/extensions/text_randomcase.inx.h:2
#: ../share/extensions/text_sentencecase.inx.h:2 ../share/extensions/text_titlecase.inx.h:2 ../share/extensions/text_uppercase.inx.h:2
msgid "Text"
@@ -11729,7 +11691,7 @@ msgstr "KlonÄ“tÄs rakstzÄ«mes dati"
msgid " from "
msgstr " no "
-#: ../src/sp-tref.cpp:240 ../src/sp-use.cpp:269
+#: ../src/sp-tref.cpp:240 ../src/sp-use.cpp:271
msgid "[orphaned]"
msgstr "[bÄrenis]"
@@ -11737,30 +11699,30 @@ msgstr "[bÄrenis]"
msgid "Text Span"
msgstr "Teksta platums"
-#: ../src/sp-use.cpp:232
+#: ../src/sp-use.cpp:234
msgid "Symbol"
msgstr "Simbols"
-#: ../src/sp-use.cpp:234
+#: ../src/sp-use.cpp:236
msgid "Clone"
msgstr "Klonēt"
-#: ../src/sp-use.cpp:242 ../src/sp-use.cpp:244 ../src/sp-use.cpp:246
+#: ../src/sp-use.cpp:244 ../src/sp-use.cpp:246 ../src/sp-use.cpp:248
#, c-format
msgid "called %s"
msgstr "izsauca %s"
-#: ../src/sp-use.cpp:246
+#: ../src/sp-use.cpp:248
msgid "Unnamed Symbol"
msgstr "Nenosaukts simbols"
#. TRANSLATORS: Used for statusbar description for long <use> chains:
#. * "Clone of: Clone of: ... in Layer 1".
-#: ../src/sp-use.cpp:255
+#: ../src/sp-use.cpp:257
msgid "..."
msgstr "..."
-#: ../src/sp-use.cpp:264
+#: ../src/sp-use.cpp:266
#, c-format
msgid "of: %s"
msgstr "no: %s"
@@ -11797,147 +11759,147 @@ msgstr "Atlasiet <b>tieši 2 ceļus</b>, lai veiktu atņemsanu, dalīšanu vai c
msgid "Unable to determine the <b>z-order</b> of the objects selected for difference, XOR, division, or path cut."
msgstr "Nav iespÄ“jams noteikt kÄrtÄ«bu uz <b>z-ass</b> objektiem, kas atlasÄ«ti atņemÅ¡anai, XOR, dalīšanai vai ceļa grieÅ¡anai."
-#: ../src/splivarot.cpp:407
+#: ../src/splivarot.cpp:406
msgid "One of the objects is <b>not a path</b>, cannot perform boolean operation."
msgstr "Viens no objektiem <b>nav ceļš</b>, nav iespējams izpildīt Bula darbību."
-#: ../src/splivarot.cpp:1157
+#: ../src/splivarot.cpp:1150
msgid "Select <b>stroked path(s)</b> to convert stroke to path."
msgstr "Atlasiet <b>apmales ceļu(s)</b>, lai pÄrveidotu apmali par ceļu."
-#: ../src/splivarot.cpp:1516
+#: ../src/splivarot.cpp:1506
msgid "Convert stroke to path"
msgstr "PÄrvÄ“rst apmali par ceļu"
#. TRANSLATORS: "to outline" means "to convert stroke to path"
-#: ../src/splivarot.cpp:1519
+#: ../src/splivarot.cpp:1509
msgid "<b>No stroked paths</b> in the selection."
msgstr "AtlasÄ«tajÄ nav <b>vilktu ceļu</b>."
-#: ../src/splivarot.cpp:1590
+#: ../src/splivarot.cpp:1580
msgid "Selected object is <b>not a path</b>, cannot inset/outset."
msgstr "AtlasÄ«tais objekts <b>nav ceļs</b>, nav iespÄ“jams saÄ«sinÄt/pagarinÄt."
-#: ../src/splivarot.cpp:1681 ../src/splivarot.cpp:1746
+#: ../src/splivarot.cpp:1671 ../src/splivarot.cpp:1738
msgid "Create linked offset"
msgstr "Izveidot saistīto nobīdi"
-#: ../src/splivarot.cpp:1682 ../src/splivarot.cpp:1747
+#: ../src/splivarot.cpp:1672 ../src/splivarot.cpp:1739
msgid "Create dynamic offset"
msgstr "Izveidot dinamisko nobīdi"
-#: ../src/splivarot.cpp:1772
+#: ../src/splivarot.cpp:1764
msgid "Select <b>path(s)</b> to inset/outset."
msgstr "Atlasiet saÄ«sinÄmo(s)/pagarinÄmo(s) <b>ceļus</b>."
-#: ../src/splivarot.cpp:1968
+#: ../src/splivarot.cpp:1957
msgid "Outset path"
msgstr "PagarinÄt ceļu"
-#: ../src/splivarot.cpp:1968
+#: ../src/splivarot.cpp:1957
msgid "Inset path"
msgstr "SaÄ«sinÄt ceļu"
-#: ../src/splivarot.cpp:1970
+#: ../src/splivarot.cpp:1959
msgid "<b>No paths</b> to inset/outset in the selection."
msgstr "AtlasÄ«tajÄ <b>nav</b> saÄ«sinÄmu/pagarinÄmu <b>ceļu</b>."
-#: ../src/splivarot.cpp:2132
+#: ../src/splivarot.cpp:2121
msgid "Simplifying paths (separately):"
msgstr "VienkÄrÅ¡o ceļus (atsevišķi):"
-#: ../src/splivarot.cpp:2134
+#: ../src/splivarot.cpp:2123
msgid "Simplifying paths:"
msgstr "VienkÄrÅ¡o ceļus:"
-#: ../src/splivarot.cpp:2171
+#: ../src/splivarot.cpp:2160
#, c-format
msgid "%s <b>%d</b> of <b>%d</b> paths simplified..."
msgstr "%s <b>%d</b> no <b>%d</b> ceļiem vienkÄrÅ¡oti..."
-#: ../src/splivarot.cpp:2184
+#: ../src/splivarot.cpp:2173
#, c-format
msgid "<b>%d</b> paths simplified."
msgstr "<b>%d</b> ceļi vienkÄrÅ¡oti."
-#: ../src/splivarot.cpp:2198
+#: ../src/splivarot.cpp:2187
msgid "Select <b>path(s)</b> to simplify."
msgstr "Atlasiet vienkÄrÅ¡ojamo(s) <b>ceļu(s)</b>."
-#: ../src/splivarot.cpp:2214
+#: ../src/splivarot.cpp:2203
msgid "<b>No paths</b> to simplify in the selection."
msgstr "AtlasÄ«tajÄ <b>nav vienkÄrÅ¡ojamu ceļu</b>."
-#: ../src/text-chemistry.cpp:94
+#: ../src/text-chemistry.cpp:91
msgid "Select <b>a text and a path</b> to put text on path."
msgstr "Atlasiet <b>tekstu un ceļu</b>, lai izkÄrtotu tekstu gar ceļu."
-#: ../src/text-chemistry.cpp:99
+#: ../src/text-chemistry.cpp:96
msgid "This text object is <b>already put on a path</b>. Remove it from the path first. Use <b>Shift+D</b> to look up its path."
msgstr "Å is teksta objekts <b>jau ir izkÄrtots gar ceļu</b>, aizvÄciet to no ceļa vispirms. Izmantojiet <b>Shift+D</b>, lai sameklÄ“tu tÄ ceļu."
#. rect is the only SPShape which is not <path> yet, and thus SVG forbids us from putting text on it
-#: ../src/text-chemistry.cpp:105
+#: ../src/text-chemistry.cpp:102
msgid "You cannot put text on a rectangle in this version. Convert rectangle to path first."
msgstr "JÅ«s nevarat izkÄrtot tekstu gar taisnstÅ«ri Å¡ajÄ versijÄ. Vispirms pÄrveidojiet taisnstÅ«ri par ceļu."
-#: ../src/text-chemistry.cpp:115
+#: ../src/text-chemistry.cpp:112
msgid "The flowed text(s) must be <b>visible</b> in order to be put on a path."
msgstr "Lai novietotu uz ceļa, teksta aizpildÄ«jumam(-iem) jÄbÅ«t <b>redzamam (-iem)</b>."
-#: ../src/text-chemistry.cpp:185 ../src/verbs.cpp:2571
+#: ../src/text-chemistry.cpp:182 ../src/verbs.cpp:2540
msgid "Put text on path"
msgstr "IzkÄrtot tekstu gar ceļu"
-#: ../src/text-chemistry.cpp:197
+#: ../src/text-chemistry.cpp:194
msgid "Select <b>a text on path</b> to remove it from path."
msgstr "Atlasiet <b>gar ceļu izkÄrtotu tekstu</b>, lai aizvÄktu to no ceļa."
-#: ../src/text-chemistry.cpp:218
+#: ../src/text-chemistry.cpp:213
msgid "<b>No texts-on-paths</b> in the selection."
msgstr "AtlasÄ«tajÄ <b>nav teksta gar ceļu</b>."
-#: ../src/text-chemistry.cpp:221 ../src/verbs.cpp:2573
+#: ../src/text-chemistry.cpp:216 ../src/verbs.cpp:2542
msgid "Remove text from path"
msgstr "AizvÄkt tekstu no ceļa"
-#: ../src/text-chemistry.cpp:262 ../src/text-chemistry.cpp:283
+#: ../src/text-chemistry.cpp:257 ../src/text-chemistry.cpp:277
msgid "Select <b>text(s)</b> to remove kerns from."
msgstr "Atlasiet<b>tekstu(s)</b>, no kuriem jÄaizvÄc rakstsavirze."
-#: ../src/text-chemistry.cpp:286
+#: ../src/text-chemistry.cpp:280
msgid "Remove manual kerns"
msgstr "AizvÄkt rokas rakstsavirzi"
-#: ../src/text-chemistry.cpp:306
+#: ../src/text-chemistry.cpp:300
msgid "Select <b>a text</b> and one or more <b>paths or shapes</b> to flow text into frame."
msgstr "Atlasiet <b>tekstu</b> un vienu vai vairÄkus <b>ceļus vai figÅ«ras</b>, lai aizpildÄ«tu rÄmi ar tekstu."
-#: ../src/text-chemistry.cpp:376
+#: ../src/text-chemistry.cpp:369
msgid "Flow text into shape"
msgstr "Aizpildīt figūru ar tekstu"
-#: ../src/text-chemistry.cpp:398
+#: ../src/text-chemistry.cpp:391
msgid "Select <b>a flowed text</b> to unflow it."
msgstr "Atlasiet <b>aizpildoÅ¡o tekstu</b>, lai aizvÄktu to no objekta."
-#: ../src/text-chemistry.cpp:472
+#: ../src/text-chemistry.cpp:464
msgid "Unflow flowed text"
msgstr "AizvÄkt teksta aizpildÄ«jumu"
-#: ../src/text-chemistry.cpp:484
+#: ../src/text-chemistry.cpp:476
msgid "Select <b>flowed text(s)</b> to convert."
msgstr "Atlasiet pÄrvÄ“rÅ¡amo <b>teksta aizpildÄ«jumu</b>."
-#: ../src/text-chemistry.cpp:502
+#: ../src/text-chemistry.cpp:494
msgid "The flowed text(s) must be <b>visible</b> in order to be converted."
msgstr "Lai pÄrvÄ“rstu, teksta aizpildÄ«jumam(-iem) jÄbÅ«t <b>redzamam (-iem)</b>."
-#: ../src/text-chemistry.cpp:530
+#: ../src/text-chemistry.cpp:521
msgid "Convert flowed text to text"
msgstr "PÄrvÄ“rst teksta aizpildÄ«jumu par tekstu"
-#: ../src/text-chemistry.cpp:535
+#: ../src/text-chemistry.cpp:526
msgid "<b>No flowed text(s)</b> to convert in the selection."
msgstr "AtlasÄ«tajÄ <b>nav</b> pÄrvÄ“rÅ¡ama(-u) <b>aizpildoÅ¡Ä(-o) teksta(-u)</b>."
@@ -11996,7 +11958,7 @@ msgstr "Vektorizēšana: pabeigta. Izveidoti %ld mezgli"
msgid "Nothing was copied."
msgstr "Nekas nav nokopēts."
-#: ../src/ui/clipboard.cpp:393 ../src/ui/clipboard.cpp:605 ../src/ui/clipboard.cpp:634
+#: ../src/ui/clipboard.cpp:393 ../src/ui/clipboard.cpp:607 ../src/ui/clipboard.cpp:636
msgid "Nothing on the clipboard."
msgstr "StarpliktuvÄ“ nav nekÄ."
@@ -12016,16 +11978,16 @@ msgstr "Atlasiet <b>objektu(s)</b>, kuriem pielietot izmēru no starpliktuves."
msgid "No size on the clipboard."
msgstr "Izmērs nav atrodams starpliktuvē."
-#: ../src/ui/clipboard.cpp:567
+#: ../src/ui/clipboard.cpp:568
msgid "Select <b>object(s)</b> to paste live path effect to."
msgstr "Atlasiet <b>objektu(s)</b>, kuriem jÄielÄ«mÄ“ ceļa (LPE) efekts."
#. no_effect:
-#: ../src/ui/clipboard.cpp:592
+#: ../src/ui/clipboard.cpp:594
msgid "No effect on the clipboard."
msgstr "Starpliktuvē nav neviena efekta."
-#: ../src/ui/clipboard.cpp:611 ../src/ui/clipboard.cpp:648
+#: ../src/ui/clipboard.cpp:613 ../src/ui/clipboard.cpp:650
msgid "Clipboard does not contain a path."
msgstr "Ceļš nav atrodams starpliktuvē."
@@ -12073,229 +12035,229 @@ msgstr "about.svg"
msgid "translator-credits"
msgstr "TulkotÄji"
-#: ../src/ui/dialog/align-and-distribute.cpp:171 ../src/ui/dialog/align-and-distribute.cpp:851
+#: ../src/ui/dialog/align-and-distribute.cpp:170 ../src/ui/dialog/align-and-distribute.cpp:847
msgid "Align"
msgstr "LÄ«dzinÄt"
-#: ../src/ui/dialog/align-and-distribute.cpp:341 ../src/ui/dialog/align-and-distribute.cpp:852
+#: ../src/ui/dialog/align-and-distribute.cpp:338 ../src/ui/dialog/align-and-distribute.cpp:848
msgid "Distribute"
msgstr "IzkÄrtot"
-#: ../src/ui/dialog/align-and-distribute.cpp:420
+#: ../src/ui/dialog/align-and-distribute.cpp:417
msgid "Minimum horizontal gap (in px units) between bounding boxes"
msgstr "MinimÄlais horizontÄlais atstatums (px vienÄ«bÄs) starp robežrÄmjiem"
#. TRANSLATORS: "H:" stands for horizontal gap
-#: ../src/ui/dialog/align-and-distribute.cpp:422
+#: ../src/ui/dialog/align-and-distribute.cpp:419
msgctxt "Gap"
msgid "_H:"
msgstr "_H"
-#: ../src/ui/dialog/align-and-distribute.cpp:430
+#: ../src/ui/dialog/align-and-distribute.cpp:427
msgid "Minimum vertical gap (in px units) between bounding boxes"
msgstr "MinimÄlais vertikÄlais atstatums (px vienÄ«bÄs) starp robežrÄmjiem"
#. TRANSLATORS: Vertical gap
-#: ../src/ui/dialog/align-and-distribute.cpp:432
+#: ../src/ui/dialog/align-and-distribute.cpp:429
msgctxt "Gap"
msgid "_V:"
msgstr "_V:"
-#: ../src/ui/dialog/align-and-distribute.cpp:467 ../src/ui/dialog/align-and-distribute.cpp:854 ../src/widgets/connector-toolbar.cpp:411
+#: ../src/ui/dialog/align-and-distribute.cpp:464 ../src/ui/dialog/align-and-distribute.cpp:850 ../src/widgets/connector-toolbar.cpp:407
msgid "Remove overlaps"
msgstr "AizvÄkt pÄrklÄÅ¡anos"
-#: ../src/ui/dialog/align-and-distribute.cpp:498 ../src/widgets/connector-toolbar.cpp:240
+#: ../src/ui/dialog/align-and-distribute.cpp:495 ../src/widgets/connector-toolbar.cpp:236
msgid "Arrange connector network"
msgstr "SakÄrtot savienotÄju tÄ«klu"
-#: ../src/ui/dialog/align-and-distribute.cpp:591
+#: ../src/ui/dialog/align-and-distribute.cpp:588
msgid "Exchange Positions"
msgstr "SamainÄ«t atraÅ¡anÄs vietas"
-#: ../src/ui/dialog/align-and-distribute.cpp:625
+#: ../src/ui/dialog/align-and-distribute.cpp:622
msgid "Unclump"
msgstr "IzretinÄt"
-#: ../src/ui/dialog/align-and-distribute.cpp:697
+#: ../src/ui/dialog/align-and-distribute.cpp:693
msgid "Randomize positions"
msgstr "DažÄdot atraÅ¡anÄs vietas"
-#: ../src/ui/dialog/align-and-distribute.cpp:800
+#: ../src/ui/dialog/align-and-distribute.cpp:795
msgid "Distribute text baselines"
msgstr "IzkliedÄ“t teksta bÄzes lÄ«nijas"
-#: ../src/ui/dialog/align-and-distribute.cpp:823
+#: ../src/ui/dialog/align-and-distribute.cpp:819
msgid "Align text baselines"
msgstr "LÄ«dzinÄt teksta bÄzes lÄ«nijas"
-#: ../src/ui/dialog/align-and-distribute.cpp:853
+#: ../src/ui/dialog/align-and-distribute.cpp:849
msgid "Rearrange"
msgstr "PÄrkÄrtot"
-#: ../src/ui/dialog/align-and-distribute.cpp:855 ../src/widgets/toolbox.cpp:1729
+#: ../src/ui/dialog/align-and-distribute.cpp:851 ../src/widgets/toolbox.cpp:1725
msgid "Nodes"
msgstr "Mezgli"
-#: ../src/ui/dialog/align-and-distribute.cpp:869
+#: ../src/ui/dialog/align-and-distribute.cpp:865
msgid "Relative to: "
msgstr "AttiecÄ«bÄ pret:"
-#: ../src/ui/dialog/align-and-distribute.cpp:870
+#: ../src/ui/dialog/align-and-distribute.cpp:866
msgid "_Treat selection as group: "
msgstr "Iz_turÄ“ties pret atlasÄ«to kÄ pret grupu"
#. Align
-#: ../src/ui/dialog/align-and-distribute.cpp:876 ../src/verbs.cpp:3024 ../src/verbs.cpp:3025
+#: ../src/ui/dialog/align-and-distribute.cpp:872 ../src/verbs.cpp:2993 ../src/verbs.cpp:2994
msgid "Align right edges of objects to the left edge of the anchor"
msgstr "SakÄrtot objektu labÄs malas gar enkura kreiso malu"
-#: ../src/ui/dialog/align-and-distribute.cpp:879 ../src/verbs.cpp:3026 ../src/verbs.cpp:3027
+#: ../src/ui/dialog/align-and-distribute.cpp:875 ../src/verbs.cpp:2995 ../src/verbs.cpp:2996
msgid "Align left edges"
msgstr "LÄ«dzinÄt kreisÄs malas"
-#: ../src/ui/dialog/align-and-distribute.cpp:882 ../src/verbs.cpp:3028 ../src/verbs.cpp:3029
+#: ../src/ui/dialog/align-and-distribute.cpp:878 ../src/verbs.cpp:2997 ../src/verbs.cpp:2998
msgid "Center on vertical axis"
msgstr "CentrÄ“t uz vertikÄlÄs ass"
-#: ../src/ui/dialog/align-and-distribute.cpp:885 ../src/verbs.cpp:3030 ../src/verbs.cpp:3031
+#: ../src/ui/dialog/align-and-distribute.cpp:881 ../src/verbs.cpp:2999 ../src/verbs.cpp:3000
msgid "Align right sides"
msgstr "LÄ«dzinÄt labÄs malas"
-#: ../src/ui/dialog/align-and-distribute.cpp:888 ../src/verbs.cpp:3032 ../src/verbs.cpp:3033
+#: ../src/ui/dialog/align-and-distribute.cpp:884 ../src/verbs.cpp:3001 ../src/verbs.cpp:3002
msgid "Align left edges of objects to the right edge of the anchor"
msgstr "SakÄrtot objektu kreisÄs malas gar enkura labo malu"
-#: ../src/ui/dialog/align-and-distribute.cpp:891 ../src/verbs.cpp:3034 ../src/verbs.cpp:3035
+#: ../src/ui/dialog/align-and-distribute.cpp:887 ../src/verbs.cpp:3003 ../src/verbs.cpp:3004
msgid "Align bottom edges of objects to the top edge of the anchor"
msgstr "SakÄrtot objektu apakšējÄs malas gar enkura augšējo malu"
-#: ../src/ui/dialog/align-and-distribute.cpp:894 ../src/verbs.cpp:3036 ../src/verbs.cpp:3037
+#: ../src/ui/dialog/align-and-distribute.cpp:890 ../src/verbs.cpp:3005 ../src/verbs.cpp:3006
msgid "Align top edges"
msgstr "LÄ«dzinÄt augšējÄs malas"
-#: ../src/ui/dialog/align-and-distribute.cpp:897 ../src/verbs.cpp:3038 ../src/verbs.cpp:3039
+#: ../src/ui/dialog/align-and-distribute.cpp:893 ../src/verbs.cpp:3007 ../src/verbs.cpp:3008
msgid "Center on horizontal axis"
msgstr "CentrÄ“t uz horizontÄlÄs ass"
-#: ../src/ui/dialog/align-and-distribute.cpp:900 ../src/verbs.cpp:3040 ../src/verbs.cpp:3041
+#: ../src/ui/dialog/align-and-distribute.cpp:896 ../src/verbs.cpp:3009 ../src/verbs.cpp:3010
msgid "Align bottom edges"
msgstr "LÄ«dzinÄt apakšējÄs malas"
-#: ../src/ui/dialog/align-and-distribute.cpp:903 ../src/verbs.cpp:3042 ../src/verbs.cpp:3043
+#: ../src/ui/dialog/align-and-distribute.cpp:899 ../src/verbs.cpp:3011 ../src/verbs.cpp:3012
msgid "Align top edges of objects to the bottom edge of the anchor"
msgstr "SakÄrtot objektu augšējÄs malas gar enkura apakšējo malu"
-#: ../src/ui/dialog/align-and-distribute.cpp:908
+#: ../src/ui/dialog/align-and-distribute.cpp:904
msgid "Align baseline anchors of texts horizontally"
msgstr "LÄ«dzinÄt teksta bÄzes lÄ«nijas enkurus horizontÄli"
-#: ../src/ui/dialog/align-and-distribute.cpp:911
+#: ../src/ui/dialog/align-and-distribute.cpp:907
msgid "Align baselines of texts"
msgstr "LÄ«dzinÄt tekstu bÄzes lÄ«nijas"
-#: ../src/ui/dialog/align-and-distribute.cpp:916
+#: ../src/ui/dialog/align-and-distribute.cpp:912
msgid "Make horizontal gaps between objects equal"
msgstr "VienÄdot horizontÄlÄs atstarpes starp objektiem"
-#: ../src/ui/dialog/align-and-distribute.cpp:920
+#: ../src/ui/dialog/align-and-distribute.cpp:916
msgid "Distribute left edges equidistantly"
msgstr "IzkliedÄ“t kreisÄs malas vienÄdos attÄlumos"
-#: ../src/ui/dialog/align-and-distribute.cpp:923
+#: ../src/ui/dialog/align-and-distribute.cpp:919
msgid "Distribute centers equidistantly horizontally"
msgstr "IzkliedÄ“t centrus vienÄdos attÄlumos horizontÄli"
-#: ../src/ui/dialog/align-and-distribute.cpp:926
+#: ../src/ui/dialog/align-and-distribute.cpp:922
msgid "Distribute right edges equidistantly"
msgstr "IzkliedÄ“t labÄs malas vienÄdos attÄlumos"
-#: ../src/ui/dialog/align-and-distribute.cpp:930
+#: ../src/ui/dialog/align-and-distribute.cpp:926
msgid "Make vertical gaps between objects equal"
msgstr "VienÄdot vertikÄlÄs atstarpes starp objektiem"
-#: ../src/ui/dialog/align-and-distribute.cpp:934
+#: ../src/ui/dialog/align-and-distribute.cpp:930
msgid "Distribute top edges equidistantly"
msgstr "IzkliedÄ“t augšējÄs malas vienÄdos attÄlumos"
-#: ../src/ui/dialog/align-and-distribute.cpp:937
+#: ../src/ui/dialog/align-and-distribute.cpp:933
msgid "Distribute centers equidistantly vertically"
msgstr "IzkliedÄ“t centrus vienÄdos attÄlumos vertikÄli"
-#: ../src/ui/dialog/align-and-distribute.cpp:940
+#: ../src/ui/dialog/align-and-distribute.cpp:936
msgid "Distribute bottom edges equidistantly"
msgstr "IzkliedÄ“t apakšējÄs malas vienÄdos attÄlumos"
-#: ../src/ui/dialog/align-and-distribute.cpp:945
+#: ../src/ui/dialog/align-and-distribute.cpp:941
msgid "Distribute baseline anchors of texts horizontally"
msgstr "IzklÄ«dinÄt teksta bÄzes lÄ«nijas enkurus horizontÄli"
-#: ../src/ui/dialog/align-and-distribute.cpp:948
+#: ../src/ui/dialog/align-and-distribute.cpp:944
msgid "Distribute baselines of texts vertically"
msgstr "IzkliedÄ“t tekstu bÄzes lÄ«nijas vertikÄli"
-#: ../src/ui/dialog/align-and-distribute.cpp:954 ../src/widgets/connector-toolbar.cpp:373
+#: ../src/ui/dialog/align-and-distribute.cpp:950 ../src/widgets/connector-toolbar.cpp:369
msgid "Nicely arrange selected connector network"
msgstr "GlÄ«ti sakÄrtot atlasÄ«to savienotÄju tÄ«klu"
-#: ../src/ui/dialog/align-and-distribute.cpp:957
+#: ../src/ui/dialog/align-and-distribute.cpp:953
msgid "Exchange positions of selected objects - selection order"
msgstr "MainÄ«t atlasÄ«to objektu pozÄ«cijas - atlases secÄ«bÄ"
-#: ../src/ui/dialog/align-and-distribute.cpp:960
+#: ../src/ui/dialog/align-and-distribute.cpp:956
msgid "Exchange positions of selected objects - stacking order"
msgstr "MainÄ«t atlasÄ«to objektu pozÄ«cijas - krÄvuma secÄ«bÄ"
-#: ../src/ui/dialog/align-and-distribute.cpp:963
+#: ../src/ui/dialog/align-and-distribute.cpp:959
msgid "Exchange positions of selected objects - clockwise rotate"
msgstr "Mainīt atlasīto objektu pozīcijas - mainīt uz riņki"
-#: ../src/ui/dialog/align-and-distribute.cpp:968
+#: ../src/ui/dialog/align-and-distribute.cpp:964
msgid "Randomize centers in both dimensions"
msgstr "DažÄdot centrus abÄs dimensijÄs"
-#: ../src/ui/dialog/align-and-distribute.cpp:971
+#: ../src/ui/dialog/align-and-distribute.cpp:967
msgid "Unclump objects: try to equalize edge-to-edge distances"
msgstr "IzretinÄt objektus: censties vienÄdot attÄlumu starp malÄm"
-#: ../src/ui/dialog/align-and-distribute.cpp:976
+#: ../src/ui/dialog/align-and-distribute.cpp:972
msgid "Move objects as little as possible so that their bounding boxes do not overlap"
msgstr "PÄrvietot objektus cik maz vien iespÄ“jams, lai to robežrÄmji nepÄrklÄtos"
-#: ../src/ui/dialog/align-and-distribute.cpp:984
+#: ../src/ui/dialog/align-and-distribute.cpp:980
msgid "Align selected nodes to a common horizontal line"
msgstr "SakÄrtot atlasÄ«tos mezglus gar kopÄ“ju horizontÄlu lÄ«niju"
-#: ../src/ui/dialog/align-and-distribute.cpp:987
+#: ../src/ui/dialog/align-and-distribute.cpp:983
msgid "Align selected nodes to a common vertical line"
msgstr "SakÄrtot atlasÄ«tos mezglus gar kopÄ“ju vertikÄlu lÄ«niju"
-#: ../src/ui/dialog/align-and-distribute.cpp:990
+#: ../src/ui/dialog/align-and-distribute.cpp:986
msgid "Distribute selected nodes horizontally"
msgstr "IzkliedÄ“t atlasÄ«tos mezglus horizontÄli"
-#: ../src/ui/dialog/align-and-distribute.cpp:993
+#: ../src/ui/dialog/align-and-distribute.cpp:989
msgid "Distribute selected nodes vertically"
msgstr "IzkliedÄ“t atlasÄ«tos mezglus vertikÄli"
#. Rest of the widgetry
-#: ../src/ui/dialog/align-and-distribute.cpp:998
+#: ../src/ui/dialog/align-and-distribute.cpp:994
msgid "Last selected"
msgstr "Pēdējais atlasītais"
-#: ../src/ui/dialog/align-and-distribute.cpp:999
+#: ../src/ui/dialog/align-and-distribute.cpp:995
msgid "First selected"
msgstr "Pirmais atlasītais"
-#: ../src/ui/dialog/align-and-distribute.cpp:1000
+#: ../src/ui/dialog/align-and-distribute.cpp:996
msgid "Biggest object"
msgstr "LielÄkais objekts"
-#: ../src/ui/dialog/align-and-distribute.cpp:1001
+#: ../src/ui/dialog/align-and-distribute.cpp:997
msgid "Smallest object"
msgstr "MazÄkais objekts"
-#: ../src/ui/dialog/align-and-distribute.cpp:1004
+#: ../src/ui/dialog/align-and-distribute.cpp:1000
msgid "Selection Area"
msgstr "Atlasītais laukums"
@@ -12953,88 +12915,88 @@ msgstr "<small>Objekts nesatur klonētus raksta elementus.</small>"
msgid "Select <b>one object</b> whose tiled clones to unclump."
msgstr "Atlasiet <b>vienu objektu</b>, kura klonu raksta elementus izretinÄt."
-#: ../src/ui/dialog/clonetiler.cpp:2122
+#: ../src/ui/dialog/clonetiler.cpp:2120
msgid "Unclump tiled clones"
msgstr "IzretinÄt klonÄ“tos raksta elementus"
-#: ../src/ui/dialog/clonetiler.cpp:2151
+#: ../src/ui/dialog/clonetiler.cpp:2149
msgid "Select <b>one object</b> whose tiled clones to remove."
msgstr "Atlasiet <b>vienu objektu</b>, kura klonÄ“tos raksta elementus vÄ“laties aizvÄkt."
-#: ../src/ui/dialog/clonetiler.cpp:2176
+#: ../src/ui/dialog/clonetiler.cpp:2174
msgid "Delete tiled clones"
msgstr "Dzēst klonētos raksta elementus"
-#: ../src/ui/dialog/clonetiler.cpp:2229
+#: ../src/ui/dialog/clonetiler.cpp:2227
msgid "If you want to clone several objects, <b>group</b> them and <b>clone the group</b>."
msgstr "Ja vÄ“laties klonÄ“t vairÄkus objektus, <b>sagrupÄ“jiet</b> tos un <b>klonÄ“jiet grupu</b>."
-#: ../src/ui/dialog/clonetiler.cpp:2238
+#: ../src/ui/dialog/clonetiler.cpp:2236
msgid "<small>Creating tiled clones...</small>"
msgstr "<small>Veido klonētus raksta elementus...</small>"
-#: ../src/ui/dialog/clonetiler.cpp:2654
+#: ../src/ui/dialog/clonetiler.cpp:2652
msgid "Create tiled clones"
msgstr "Izveidot klonētos raksta elementus"
-#: ../src/ui/dialog/clonetiler.cpp:2887
+#: ../src/ui/dialog/clonetiler.cpp:2885
msgid "<small>Per row:</small>"
msgstr "<small>VienÄ rindÄ:</small>"
-#: ../src/ui/dialog/clonetiler.cpp:2905
+#: ../src/ui/dialog/clonetiler.cpp:2903
msgid "<small>Per column:</small>"
msgstr "<small>VienÄ slejÄ:</small>"
-#: ../src/ui/dialog/clonetiler.cpp:2913
+#: ../src/ui/dialog/clonetiler.cpp:2911
msgid "<small>Randomize:</small>"
msgstr "<small>DažÄdot:</small>"
-#: ../src/ui/dialog/color-item.cpp:131
+#: ../src/ui/dialog/color-item.cpp:127
#, c-format
msgid "Color: <b>%s</b>; <b>Click</b> to set fill, <b>Shift+click</b> to set stroke"
msgstr "KrÄsa: <b>%s</b>; <b>Uzklikšķiniet</b>, lai iestatÄ«tu aizpildÄ«jumu, <b>Shift+klikšķis</b> - lai iestatÄ«tu apmali"
-#: ../src/ui/dialog/color-item.cpp:509
+#: ../src/ui/dialog/color-item.cpp:505
msgid "Change color definition"
msgstr "Mainiet krÄsas definÄ«ciju"
-#: ../src/ui/dialog/color-item.cpp:679
+#: ../src/ui/dialog/color-item.cpp:675
msgid "Remove stroke color"
msgstr "AizvÄkt apmales krÄsu"
-#: ../src/ui/dialog/color-item.cpp:679
+#: ../src/ui/dialog/color-item.cpp:675
msgid "Remove fill color"
msgstr "AizvÄkt aizpildÄ«juma krÄsu"
-#: ../src/ui/dialog/color-item.cpp:684
+#: ../src/ui/dialog/color-item.cpp:680
msgid "Set stroke color to none"
msgstr "IestatÄ«t apmales krÄsu par nekÄdu"
-#: ../src/ui/dialog/color-item.cpp:684
+#: ../src/ui/dialog/color-item.cpp:680
msgid "Set fill color to none"
msgstr "IestatÄ«t aizpildÄ«juma krÄsu par nekÄdu"
-#: ../src/ui/dialog/color-item.cpp:702
+#: ../src/ui/dialog/color-item.cpp:698
msgid "Set stroke color from swatch"
msgstr "Iestatiet apmales krÄsu no paletes"
-#: ../src/ui/dialog/color-item.cpp:702
+#: ../src/ui/dialog/color-item.cpp:698
msgid "Set fill color from swatch"
msgstr "Iestatiet aizpildÄ«juma krÄsu no paletes"
-#: ../src/ui/dialog/debug.cpp:73
+#: ../src/ui/dialog/debug.cpp:69
msgid "Messages"
msgstr "Vēstules"
-#: ../src/ui/dialog/debug.cpp:87 ../src/ui/dialog/messages.cpp:47
+#: ../src/ui/dialog/debug.cpp:83 ../src/ui/dialog/messages.cpp:47
msgid "_Clear"
msgstr "_Attīrīt"
-#: ../src/ui/dialog/debug.cpp:91 ../src/ui/dialog/messages.cpp:48
+#: ../src/ui/dialog/debug.cpp:87 ../src/ui/dialog/messages.cpp:48
msgid "Capture log messages"
msgstr "PÄrtvert žurnÄla ierakstus"
-#: ../src/ui/dialog/debug.cpp:95
+#: ../src/ui/dialog/debug.cpp:91
msgid "Release log messages"
msgstr "AtbrÄ«vot žurnÄla ierakstus"
@@ -13263,11 +13225,11 @@ msgstr "_AizvÄkt"
msgid "Remove selected grid."
msgstr "AizvÄkt izvÄ“lÄ“to režģi."
-#: ../src/ui/dialog/document-properties.cpp:161 ../src/widgets/toolbox.cpp:1836
+#: ../src/ui/dialog/document-properties.cpp:161 ../src/widgets/toolbox.cpp:1832
msgid "Guides"
msgstr "Palīglīnijas"
-#: ../src/ui/dialog/document-properties.cpp:163 ../src/verbs.cpp:2827
+#: ../src/ui/dialog/document-properties.cpp:163 ../src/verbs.cpp:2796
msgid "Snap"
msgstr "Pievilkt"
@@ -13311,7 +13273,7 @@ msgstr "<b>DažÄdi</b>"
#. Inkscape::GC::release(defsRepr);
#. inform the document, so we can undo
#. Color Management
-#: ../src/ui/dialog/document-properties.cpp:505 ../src/verbs.cpp:3008
+#: ../src/ui/dialog/document-properties.cpp:505 ../src/verbs.cpp:2977
msgid "Link Color Profile"
msgstr "PiesaistÄ«t krÄsu profilu"
@@ -13433,123 +13395,123 @@ msgstr "<b>Izveidošana</b>"
msgid "<b>Defined grids</b>"
msgstr "<b>Definētie režģi</b>"
-#: ../src/ui/dialog/document-properties.cpp:1653
+#: ../src/ui/dialog/document-properties.cpp:1654
msgid "Remove grid"
msgstr "AizvÄkt režģi"
-#: ../src/ui/dialog/document-properties.cpp:1741
+#: ../src/ui/dialog/document-properties.cpp:1746
msgid "Changed default display unit"
msgstr "MainÄ«tas noklusÄ“tÄs ekrÄna vienÄ«bas"
-#: ../src/ui/dialog/export.cpp:151 ../src/verbs.cpp:2879
+#: ../src/ui/dialog/export.cpp:147 ../src/verbs.cpp:2848
msgid "_Page"
msgstr "La_pa"
-#: ../src/ui/dialog/export.cpp:151 ../src/verbs.cpp:2883
+#: ../src/ui/dialog/export.cpp:147 ../src/verbs.cpp:2852
msgid "_Drawing"
msgstr "_Zīmējums"
-#: ../src/ui/dialog/export.cpp:151 ../src/verbs.cpp:2885
+#: ../src/ui/dialog/export.cpp:147 ../src/verbs.cpp:2854
msgid "_Selection"
msgstr "Atla_sītais"
-#: ../src/ui/dialog/export.cpp:151
+#: ../src/ui/dialog/export.cpp:147
msgid "_Custom"
msgstr "Izvēles"
-#: ../src/ui/dialog/export.cpp:169 ../src/widgets/measure-toolbar.cpp:99 ../src/widgets/measure-toolbar.cpp:107 ../share/extensions/render_gears.inx.h:6
+#: ../src/ui/dialog/export.cpp:165 ../src/widgets/measure-toolbar.cpp:99 ../src/widgets/measure-toolbar.cpp:107 ../share/extensions/render_gears.inx.h:6
msgid "Units:"
msgstr "Vienības:"
-#: ../src/ui/dialog/export.cpp:171
+#: ../src/ui/dialog/export.cpp:167
msgid "_Export As..."
msgstr "_EksportÄ“t kÄ..."
-#: ../src/ui/dialog/export.cpp:174
+#: ../src/ui/dialog/export.cpp:170
msgid "B_atch export all selected objects"
msgstr "Visu _atlasīto objektu secīgs eksports"
-#: ../src/ui/dialog/export.cpp:174
+#: ../src/ui/dialog/export.cpp:170
msgid "Export each selected object into its own PNG file, using export hints if any (caution, overwrites without asking!)"
msgstr "EksportÄ“t katru atlasÄ«to objektu atseviÅ¡Ä·Ä PNG datnÄ“, izmantojot eksport padomus, ja tÄdi ir (UzmanÄ«bu: datnes tiek pÄrrakstÄ«tas bez jautÄÅ¡anas!)"
-#: ../src/ui/dialog/export.cpp:176
+#: ../src/ui/dialog/export.cpp:172
msgid "Hide a_ll except selected"
msgstr "Slēpt _visus, izņemot atlasītos"
-#: ../src/ui/dialog/export.cpp:176
+#: ../src/ui/dialog/export.cpp:172
msgid "In the exported image, hide all objects except those that are selected"
msgstr "EksportÄ“tajÄ attÄ“la slÄ“pt visus neatlasÄ«tos objektus"
-#: ../src/ui/dialog/export.cpp:177
+#: ../src/ui/dialog/export.cpp:173
msgid "Close when complete"
msgstr "Aizvērt pēc pabeigšanas"
-#: ../src/ui/dialog/export.cpp:177
+#: ../src/ui/dialog/export.cpp:173
msgid "Once the export completes, close this dialog"
msgstr "Pēc eksportēšanas pabeigšanas aizvērt šo dialoglodziņu."
-#: ../src/ui/dialog/export.cpp:179
+#: ../src/ui/dialog/export.cpp:175
msgid "_Export"
msgstr "_Eksportēt"
-#: ../src/ui/dialog/export.cpp:197
+#: ../src/ui/dialog/export.cpp:193
msgid "<b>Export area</b>"
msgstr "<b>Eksportējamais apgabals</b>"
-#: ../src/ui/dialog/export.cpp:236
+#: ../src/ui/dialog/export.cpp:232
msgid "_x0:"
msgstr "_x0:"
-#: ../src/ui/dialog/export.cpp:240
+#: ../src/ui/dialog/export.cpp:236
msgid "x_1:"
msgstr "x_1:"
-#: ../src/ui/dialog/export.cpp:244
+#: ../src/ui/dialog/export.cpp:240
msgid "Wid_th:"
msgstr "Pla_tums:"
-#: ../src/ui/dialog/export.cpp:248
+#: ../src/ui/dialog/export.cpp:244
msgid "_y0:"
msgstr "_y0:"
-#: ../src/ui/dialog/export.cpp:252
+#: ../src/ui/dialog/export.cpp:248
msgid "y_1:"
msgstr "y_1:"
-#: ../src/ui/dialog/export.cpp:256
+#: ../src/ui/dialog/export.cpp:252
msgid "Hei_ght:"
msgstr "Au_gstums:"
-#: ../src/ui/dialog/export.cpp:271
+#: ../src/ui/dialog/export.cpp:267
msgid "<b>Image size</b>"
msgstr "<b>Attēla izmērs</b>"
-#: ../src/ui/dialog/export.cpp:289 ../src/ui/dialog/export.cpp:300
+#: ../src/ui/dialog/export.cpp:285 ../src/ui/dialog/export.cpp:296
msgid "pixels at"
msgstr "pikseļi ar"
-#: ../src/ui/dialog/export.cpp:295
+#: ../src/ui/dialog/export.cpp:291
msgid "dp_i"
msgstr "dp_i"
-#: ../src/ui/dialog/export.cpp:300 ../src/ui/dialog/transformation.cpp:80 ../src/ui/widget/page-sizer.cpp:237
+#: ../src/ui/dialog/export.cpp:296 ../src/ui/dialog/transformation.cpp:76 ../src/ui/widget/page-sizer.cpp:238
msgid "_Height:"
msgstr "_Augstums:"
-#: ../src/ui/dialog/export.cpp:308 ../src/ui/dialog/inkscape-preferences.cpp:1443 ../src/ui/dialog/inkscape-preferences.cpp:1447 ../src/ui/dialog/inkscape-preferences.cpp:1471
+#: ../src/ui/dialog/export.cpp:304 ../src/ui/dialog/inkscape-preferences.cpp:1443 ../src/ui/dialog/inkscape-preferences.cpp:1447 ../src/ui/dialog/inkscape-preferences.cpp:1471
msgid "dpi"
msgstr "dpi"
-#: ../src/ui/dialog/export.cpp:316
+#: ../src/ui/dialog/export.cpp:312
msgid "<b>_Filename</b>"
msgstr "<b>_Datnes nosaukums</b>"
-#: ../src/ui/dialog/export.cpp:358
+#: ../src/ui/dialog/export.cpp:354
msgid "Export the bitmap file with these settings"
msgstr "Eksportēt bitkartes attēlu ar šiem iestatījumiem"
-#: ../src/ui/dialog/export.cpp:611
+#: ../src/ui/dialog/export.cpp:607
#, c-format
msgid "B_atch export %d selected object"
msgid_plural "B_atch export %d selected objects"
@@ -13557,78 +13519,78 @@ msgstr[0] "SecÄ«gs %d atlasÄ«tÄ objekta eksports"
msgstr[1] "Secīgs %d atlasīto objektu eksports"
msgstr[2] "Secīgs %d atlasīto objektu eksports"
-#: ../src/ui/dialog/export.cpp:927
+#: ../src/ui/dialog/export.cpp:923
msgid "Export in progress"
msgstr "Notiek eksports"
-#: ../src/ui/dialog/export.cpp:1017
+#: ../src/ui/dialog/export.cpp:1013
msgid "No items selected."
msgstr "Nav atlasītu objektu."
-#: ../src/ui/dialog/export.cpp:1021 ../src/ui/dialog/export.cpp:1023
+#: ../src/ui/dialog/export.cpp:1017 ../src/ui/dialog/export.cpp:1019
msgid "Exporting %1 files"
msgstr "Eksportē %1 datnes"
-#: ../src/ui/dialog/export.cpp:1063 ../src/ui/dialog/export.cpp:1065
+#: ../src/ui/dialog/export.cpp:1060 ../src/ui/dialog/export.cpp:1062
#, c-format
msgid "Exporting file <b>%s</b>..."
msgstr "Eksportē datni <b>%s</b>..."
-#: ../src/ui/dialog/export.cpp:1074 ../src/ui/dialog/export.cpp:1165
+#: ../src/ui/dialog/export.cpp:1071 ../src/ui/dialog/export.cpp:1163
#, c-format
msgid "Could not export to filename %s.\n"
msgstr "Nav iespējams eksportēt uz datni ar nosaukumu %s.\n"
-#: ../src/ui/dialog/export.cpp:1077
+#: ../src/ui/dialog/export.cpp:1074
#, c-format
msgid "Could not export to filename <b>%s</b>."
msgstr "Nav iespējams eksportēt uz datni ar nosaukumu <b>%s</b>."
-#: ../src/ui/dialog/export.cpp:1092
+#: ../src/ui/dialog/export.cpp:1089
#, c-format
msgid "Successfully exported <b>%d</b> files from <b>%d</b> selected items."
msgstr "Veiksmīgi eksportētas <b>%d</b> datnes no <b>%d</b> atlasītajiem objektiem."
-#: ../src/ui/dialog/export.cpp:1103
+#: ../src/ui/dialog/export.cpp:1100
msgid "You have to enter a filename."
msgstr "Jums jÄievada datnes nosaukums."
-#: ../src/ui/dialog/export.cpp:1104
+#: ../src/ui/dialog/export.cpp:1101
msgid "You have to enter a filename"
msgstr "Jums jÄievada datnes nosaukums"
-#: ../src/ui/dialog/export.cpp:1118
+#: ../src/ui/dialog/export.cpp:1115
msgid "The chosen area to be exported is invalid."
msgstr "Eksportēšanai izvēlētais apgabals nav derīgs."
-#: ../src/ui/dialog/export.cpp:1119
+#: ../src/ui/dialog/export.cpp:1116
msgid "The chosen area to be exported is invalid"
msgstr "Eksportēšanai izvēlētais apgabals nav derīgs"
-#: ../src/ui/dialog/export.cpp:1134
+#: ../src/ui/dialog/export.cpp:1131
#, c-format
msgid "Directory %s does not exist or is not a directory.\n"
msgstr "Mape%s nepastÄv vai arÄ« nemaz nav mape.\n"
#. TRANSLATORS: %1 will be the filename, %2 the width, and %3 the height of the image
-#: ../src/ui/dialog/export.cpp:1148 ../src/ui/dialog/export.cpp:1150
+#: ../src/ui/dialog/export.cpp:1145 ../src/ui/dialog/export.cpp:1147
msgid "Exporting %1 (%2 x %3)"
msgstr "Eksportē %1 (%2 x %3)"
-#: ../src/ui/dialog/export.cpp:1176
+#: ../src/ui/dialog/export.cpp:1174
#, c-format
msgid "Drawing exported to <b>%s</b>."
msgstr "Attēls eksportēts uz <b>%s</b>."
-#: ../src/ui/dialog/export.cpp:1180
+#: ../src/ui/dialog/export.cpp:1178
msgid "Export aborted."
msgstr "Eksportēšana pÄrtraukta."
-#: ../src/ui/dialog/export.cpp:1301 ../src/ui/interface.cpp:1392 ../src/widgets/desktop-widget.cpp:1122 ../src/widgets/desktop-widget.cpp:1184
+#: ../src/ui/dialog/export.cpp:1299 ../src/ui/interface.cpp:1392 ../src/widgets/desktop-widget.cpp:1122 ../src/widgets/desktop-widget.cpp:1184
msgid "_Cancel"
msgstr "At_celt"
-#: ../src/ui/dialog/export.cpp:1302 ../src/ui/dialog/input.cpp:1082 ../src/verbs.cpp:2437 ../src/widgets/desktop-widget.cpp:1123
+#: ../src/ui/dialog/export.cpp:1300 ../src/ui/dialog/input.cpp:1082 ../src/verbs.cpp:2406 ../src/widgets/desktop-widget.cpp:1123
msgid "_Save"
msgstr "_SaglabÄt"
@@ -13636,7 +13598,7 @@ msgstr "_SaglabÄt"
msgid "Information"
msgstr "InformÄcija"
-#: ../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
+#: ../src/ui/dialog/extension-editor.cpp:82 ../src/verbs.cpp:309 ../src/verbs.cpp:328 ../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 ../share/extensions/draw_from_triangle.inx.h:35 ../share/extensions/dxf_input.inx.h:10 ../share/extensions/dxf_outlines.inx.h:24 ../share/extensions/gcodetools_about.inx.h:3
#: ../share/extensions/gcodetools_area.inx.h:53 ../share/extensions/gcodetools_check_for_updates.inx.h:3 ../share/extensions/gcodetools_dxf_points.inx.h:25 ../share/extensions/gcodetools_engraving.inx.h:31
#: ../share/extensions/gcodetools_graffiti.inx.h:42 ../share/extensions/gcodetools_lathe.inx.h:46 ../share/extensions/gcodetools_orientation_points.inx.h:14 ../share/extensions/gcodetools_path_to_gcode.inx.h:35
@@ -13668,23 +13630,23 @@ msgid "Enable preview"
msgstr "Atļaut priekšskatījumu"
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:755 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:768 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:772 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:775 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:783
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:799 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:814 ../src/ui/dialog/filedialogimpl-win32.cpp:282 ../src/ui/dialog/filedialogimpl-win32.cpp:413
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:799 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:814 ../src/ui/dialog/filedialogimpl-win32.cpp:286 ../src/ui/dialog/filedialogimpl-win32.cpp:417
msgid "All Files"
msgstr "Visas datnes"
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:780 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:796 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:811 ../src/ui/dialog/filedialogimpl-win32.cpp:283
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:780 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:796 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:811 ../src/ui/dialog/filedialogimpl-win32.cpp:287
msgid "All Inkscape Files"
msgstr "Visas Inkscape datnes"
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:787 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:803 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:817 ../src/ui/dialog/filedialogimpl-win32.cpp:284
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:787 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:803 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:817 ../src/ui/dialog/filedialogimpl-win32.cpp:288
msgid "All Images"
msgstr "Visi attēli"
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:790 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:806 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:820 ../src/ui/dialog/filedialogimpl-win32.cpp:285
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:790 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:806 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:820 ../src/ui/dialog/filedialogimpl-win32.cpp:289
msgid "All Vectors"
msgstr "Visi vektori"
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:793 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:809 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:823 ../src/ui/dialog/filedialogimpl-win32.cpp:286
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:793 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:809 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:823 ../src/ui/dialog/filedialogimpl-win32.cpp:290
msgid "All Bitmaps"
msgstr "Visas bitkartes"
@@ -13742,7 +13704,7 @@ msgstr "Izšķirtspēja (punktos uz collu)"
msgid "Document"
msgstr "Dokuments"
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1541 ../src/verbs.cpp:176 ../src/widgets/desktop-widget.cpp:2000 ../share/extensions/printing_marks.inx.h:18
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1541 ../src/verbs.cpp:175 ../src/widgets/desktop-widget.cpp:2002 ../share/extensions/printing_marks.inx.h:18
msgid "Selection"
msgstr "Atlasītais"
@@ -13763,15 +13725,15 @@ msgstr "Kaira"
msgid "Antialias"
msgstr "Kropļojumnovērse"
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:414
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:418
msgid "All Executable Files"
msgstr "Visas izpildÄmÄs datnes"
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:606
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:610
msgid "Show Preview"
msgstr "RÄdÄ«t priekÅ¡skatÄ«jumu"
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:744
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:748
msgid "No file selected"
msgstr "Nav izvēlēta neviena datne"
@@ -13788,7 +13750,7 @@ msgid "Stroke st_yle"
msgstr "Apmales st_ils"
#. TRANSLATORS: this dialog is accessible via menu Filters - Filter editor
-#: ../src/ui/dialog/filter-effects-dialog.cpp:546
+#: ../src/ui/dialog/filter-effects-dialog.cpp:547
msgid ""
"This matrix determines a linear transform on color space. Each line affects one of the color components. Each column determines how much of each color component from the input is passed to the output. The last column does not depend on "
"input colors, so can be used to adjust a constant component value."
@@ -13796,290 +13758,290 @@ msgstr ""
"Å Ä« matrica nosaka krÄsu telpas lineÄro pÄrveidojumu. Katra rinda ietekmÄ“ vienu no krÄsas komponentiem. Katra sleja nosaka krÄsas daudzumu, kas no sÄkotnÄ“jÄ objekta pÄries uz rezultÄtu. PÄ“dÄ“jÄ sleja nav atkarÄ«ga un sÄkotnÄ“jÄm krÄsÄm un ir "
"izmantojama konstanto komponentu vērtību pieskaņošanai."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:549 ../share/extensions/grid_polar.inx.h:4
+#: ../src/ui/dialog/filter-effects-dialog.cpp:550 ../share/extensions/grid_polar.inx.h:4
msgctxt "Label"
msgid "None"
msgstr "Neviena"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:656
+#: ../src/ui/dialog/filter-effects-dialog.cpp:657
msgid "Image File"
msgstr "Attēla datne"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:659
+#: ../src/ui/dialog/filter-effects-dialog.cpp:660
msgid "Selected SVG Element"
msgstr "Izvēlētais SVG elements"
#. TODO: any image, not just svg
-#: ../src/ui/dialog/filter-effects-dialog.cpp:729
+#: ../src/ui/dialog/filter-effects-dialog.cpp:730
msgid "Select an image to be used as feImage input"
msgstr "Izvēlieties attēlu, ko izmantot feImage ievadei"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:821
+#: ../src/ui/dialog/filter-effects-dialog.cpp:822
msgid "This SVG filter effect does not require any parameters."
msgstr "Šim SVG efektam nav vajadzīgi parametri."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:827
+#: ../src/ui/dialog/filter-effects-dialog.cpp:828
msgid "This SVG filter effect is not yet implemented in Inkscape."
msgstr "Šis SVG efekts vēl nav ieviests Inkscape."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1041
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1042
msgid "Slope"
msgstr "Slīpums"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1042
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1043
msgid "Intercept"
msgstr "PÄrtvert"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1045
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1046
msgid "Amplitude"
msgstr "Amplitūda"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1046
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1047
msgid "Exponent"
msgstr "Eksponente"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1143
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1144
msgid "New transfer function type"
msgstr "Jauns pÄrneses funkcijas tips"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1178
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1179
msgid "Light Source:"
msgstr "Gaismas avots:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1195
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1196
msgid "Direction angle for the light source on the XY plane, in degrees"
msgstr "KrÄ«toÅ¡Äs gaismas leņķis XY plaknÄ“, grÄdos"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1196
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1197
msgid "Direction angle for the light source on the YZ plane, in degrees"
msgstr "KrÄ«toÅ¡Äs gaismas leņķis YZ plaknÄ“, grÄdos"
#. default x:
#. default y:
#. default z:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1199 ../src/ui/dialog/filter-effects-dialog.cpp:1202
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1200 ../src/ui/dialog/filter-effects-dialog.cpp:1203
msgid "Location:"
msgstr "Izvietojums:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1199 ../src/ui/dialog/filter-effects-dialog.cpp:1202 ../src/ui/dialog/filter-effects-dialog.cpp:1205
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1200 ../src/ui/dialog/filter-effects-dialog.cpp:1203 ../src/ui/dialog/filter-effects-dialog.cpp:1206
msgid "X coordinate"
msgstr "X koordinÄte"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1199 ../src/ui/dialog/filter-effects-dialog.cpp:1202 ../src/ui/dialog/filter-effects-dialog.cpp:1205
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1200 ../src/ui/dialog/filter-effects-dialog.cpp:1203 ../src/ui/dialog/filter-effects-dialog.cpp:1206
msgid "Y coordinate"
msgstr "Y koordinÄte"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1199 ../src/ui/dialog/filter-effects-dialog.cpp:1202 ../src/ui/dialog/filter-effects-dialog.cpp:1205
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1200 ../src/ui/dialog/filter-effects-dialog.cpp:1203 ../src/ui/dialog/filter-effects-dialog.cpp:1206
msgid "Z coordinate"
msgstr "X koordinÄte"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1205
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
msgid "Points At"
msgstr "NorÄda uz"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1207
msgid "Specular Exponent"
msgstr "AtstaroÅ¡anas pakÄpe"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1207
msgid "Exponent value controlling the focus for the light source"
msgstr "Gaismas avota fokusu kontrolÄ“joÅ¡ais eksponenciÄlais lielums"
#. TODO: here I have used 100 degrees as default value. But spec says that if not specified, no limiting cone is applied. So, there should be a way for the user to set a "no limiting cone" option.
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1208
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1209
msgid "Cone Angle"
msgstr "Konusa leņķis"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1208
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1209
msgid "This is the angle between the spot light axis (i.e. the axis between the light source and the point to which it is pointing at) and the spot light cone. No light is projected outside this cone."
msgstr "Å is ir leņķis starp prožektora gaismas asi (t.i. ass starp gaismas avotu un punktu, uz ko tÄ norÄda) un gaismas konusu. Ä€rpus šī konusa gaisma netiek izstarota."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1274
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1275
msgid "New light source"
msgstr "Jauns gaismas avots"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1325
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1326
msgid "_Duplicate"
msgstr "_Dublēt"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1359
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1360
msgid "_Filter"
msgstr "_Filtrs"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1379
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1387
msgid "R_ename"
msgstr "PÄr_dÄ“vÄ“t"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1512
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1521
msgid "Rename filter"
msgstr "PÄrdÄ“vÄ“t filtru"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1565
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1573
msgid "Apply filter"
msgstr "Pielietot filtru"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1635
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1652
msgid "filter"
msgstr "filtrs"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1642
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1659
msgid "Add filter"
msgstr "Pievienot filtru"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1694
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1709
msgid "Duplicate filter"
msgstr "Dublēt filtru"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1793
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1808
msgid "_Effect"
msgstr "_Efekts"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1803
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1818
msgid "Connections"
msgstr "Savienojumi"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1941
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1956
msgid "Remove filter primitive"
msgstr "AizvÄkt filtra primitÄ«vu"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2529
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2543
msgid "Remove merge node"
msgstr "AizvÄkt apvienoÅ¡anas mezglu"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2649
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2663
msgid "Reorder filter primitive"
msgstr "PÄrkÄrtot filtra primitÄ«vu"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2729
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2743
msgid "Add Effect:"
msgstr "Pievienot efektu:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2730
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2744
msgid "No effect selected"
msgstr "Nav izvēlēts neviens efekts"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2731
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2745
msgid "No filter selected"
msgstr "Nav izvēlēts neviens filtrs"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2776
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2792
msgid "Effect parameters"
msgstr "Efekta parametri"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2777
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2793
msgid "Filter General Settings"
msgstr "Filtra vispÄrÄ“jie iestatÄ«jumi"
#. default x:
#. default y:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2835
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2851
msgid "Coordinates:"
msgstr "KoordinÄtes:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2835
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2851
msgid "X coordinate of the left corners of filter effects region"
msgstr "Filtra efekta apgabala kreiso stÅ«ru X koordinÄte"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2835
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2851
msgid "Y coordinate of the upper corners of filter effects region"
msgstr "Filtra efekta apgabala augšējo stÅ«ru Y koordinÄte"
#. default width:
#. default height:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2836
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2852
msgid "Dimensions:"
msgstr "Izmēri:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2836
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2852
msgid "Width of filter effects region"
msgstr "Filtra efektu apgabala platums"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2836
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2852
msgid "Height of filter effects region"
msgstr "Filtra efektu apgabala augstums"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2842
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2858
msgid ""
"Indicates the type of matrix operation. The keyword 'matrix' indicates that a full 5x4 matrix of values will be provided. The other keywords represent convenience shortcuts to allow commonly used color operations to be performed without "
"specifying a complete matrix."
msgstr "NorÄda uz matricu darbÄ«bas tipu. AtslÄ“gvÄrds 'matrica' nozÄ«mÄ“, ka tiek izmantota pilna, 5x4 vÄ“rtÄ«bu matrica. Citi atslÄ“gvÄrdi kalpo par saÄ«snÄ“m, kas ļauj veikt biežÄk lietotÄs darbÄ«bas ar krÄsÄm nenorÄdot pilnu matricu."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2843
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2859
msgid "Value(s):"
msgstr "Vērtība(s):"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2847
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2863
msgid "R:"
msgstr "R:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2848 ../src/widgets/sp-color-icc-selector.cpp:334
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2864 ../src/widgets/sp-color-icc-selector.cpp:334
msgid "G:"
msgstr "G:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2849
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2865
msgid "B:"
msgstr "B:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2850
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2866
msgid "A:"
msgstr "A:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2853 ../src/ui/dialog/filter-effects-dialog.cpp:2893
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2869 ../src/ui/dialog/filter-effects-dialog.cpp:2909
msgid "Operator:"
msgstr "Operators:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2854
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2870
msgid "K1:"
msgstr "K1:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2854 ../src/ui/dialog/filter-effects-dialog.cpp:2855 ../src/ui/dialog/filter-effects-dialog.cpp:2856 ../src/ui/dialog/filter-effects-dialog.cpp:2857
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2870 ../src/ui/dialog/filter-effects-dialog.cpp:2871 ../src/ui/dialog/filter-effects-dialog.cpp:2872 ../src/ui/dialog/filter-effects-dialog.cpp:2873
msgid "If the arithmetic operation is chosen, each result pixel is computed using the formula k1*i1*i2 + k2*i1 + k3*i2 + k4 where i1 and i2 are the pixel values of the first and second inputs respectively."
msgstr "Ja ir izvÄ“lÄ“ta matemÄtiskÄ darbÄ«ba, katrs pikselis tiek aprēķinÄts saskaÅ†Ä ar formulu k1*i1*i2 + k2*i1 + k3*i2 + k4, kur i1 un i2 ir pikseļu vÄ“rtÄ«bas, attiecÄ«gi, pirmajos un otrajos izejas datos."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2855
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2871
msgid "K2:"
msgstr "K2:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2856
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2872
msgid "K3:"
msgstr "K3:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2857
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2873
msgid "K4:"
msgstr "K4:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2860
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2876
msgid "Size:"
msgstr "Izmērs:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2860
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2876
msgid "width of the convolve matrix"
msgstr "konvolūcijas matricas platums"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2860
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2876
msgid "height of the convolve matrix"
msgstr "konvolūcijas matricas augstums"
#. default x:
#. default y:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2861 ../src/ui/dialog/object-attributes.cpp:48
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2877 ../src/ui/dialog/object-attributes.cpp:48
msgid "Target:"
msgstr "Mērķis:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2861
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2877
msgid "X coordinate of the target point in the convolve matrix. The convolution is applied to pixels around this point."
msgstr "MÄ“rÄ·a punkta X koordinÄte konvolÅ«cijas matricÄ. KonvolÅ«cija tiks izpildÄ«ta pikseļiem ap Å¡o punktu."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2861
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2877
msgid "Y coordinate of the target point in the convolve matrix. The convolution is applied to pixels around this point."
msgstr "MÄ“rÄ·a punkta Y koordinÄte konvolÅ«cijas matricÄ. KonvolÅ«cija tiks izpildÄ«ta pikseļiem ap Å¡o punktu."
#. TRANSLATORS: for info on "Kernel", see http://en.wikipedia.org/wiki/Kernel_(matrix)
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2863
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2879
msgid "Kernel:"
msgstr "Kodols:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2863
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2879
msgid ""
"This matrix describes the convolve operation that is applied to the input image in order to calculate the pixel colors at the output. Different arrangements of values in this matrix result in various possible visual effects. An identity "
"matrix would lead to a motion blur effect (parallel to the matrix diagonal) while a matrix filled with a constant non-zero value would lead to a common blur effect."
@@ -14087,11 +14049,11 @@ msgstr ""
"Å Ä« matrica apraksta konvolÅ«cijas darbÄ«bu, kas tiek pielietota attÄ“lam ar nolÅ«ku noskaidrot rezultÄtÄ iegÅ«tÄ pikseļa krÄsa. DažÄdi vÄ“rtÄ«bu izkÄrtojumi Å¡ajÄ matricÄ rada atšķirÄ«gus vizuÄlos efektus. VienÄ«bas matrica rezultÄtÄ radÄ«s kustÄ«bas "
"izplÅ«duma efektu (paralÄ“li matricas diagonÄlei), turpretÄ« ar konstantÄm, par nulli lielÄkÄm vÄ“rtÄ«bÄm aizpildÄ«ta matrica rezultÄtÄ radÄ«s vienkÄrÅ¡a izplÅ«duma efektu."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2865
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2881
msgid "Divisor:"
msgstr "DalÄ«tÄjs:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2865
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2881
msgid ""
"After applying the kernelMatrix to the input image to yield a number, that number is divided by divisor to yield the final destination color value. A divisor that is the sum of all the matrix values tends to have an evening effect on the "
"overall color intensity of the result."
@@ -14099,97 +14061,97 @@ msgstr ""
"PÄ“c kernelMatrix pielietoÅ¡anas sÄkotnÄ“jam attÄ“lam iegÅ«tais skaitlis tiek dalÄ«ts ar dalÄ«tÄju gala krÄsas vÄ“rtÄ«bas iegūšanai. DalÄ«tÄjam, kas ir visu matricas vÄ“rtÄ«bu summa, piemÄ«t vispÄrÄ“jÄs krÄsu intensitÄtes izlÄ«dzinÄtÄja efekts gala "
"attÄ“lÄ. "
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2866
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2882
msgid "Bias:"
msgstr "Nobīde:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2866
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2882
msgid "This value is added to each component. This is useful to define a constant value as the zero response of the filter."
msgstr "Å Ä« vÄ“rtÄ«ba tiek pievienota katram komponentam. Ir lietderÄ«gi noteikt nemainÄ«gu vÄ“rtÄ«bu kÄ filtra 'nulles' atbildi."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2867
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2883
msgid "Edge Mode:"
msgstr "Malu režīms:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2867
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2883
msgid "Determines how to extend the input image as necessary with color values so that the matrix operations can be applied when the kernel is positioned at or near the edge of the input image."
msgstr "Nosaka veidu, kÄdÄ pÄ“c nepiecieÅ¡amÄ«bas paplaÅ¡inÄt sÄkotnÄ“jo attÄ“lu ar krÄsu vÄ“rtÄ«bÄm, lai matricu darbÄ«bas varÄ“tu izmantot gadÄ«jumos, kuros kodols ir novietots uz vai blakus sÄkotnÄ“jÄ attÄ“la malai."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2868
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2884
msgid "Preserve Alpha"
msgstr "SaglabÄt alfa"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2868
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2884
msgid "If set, the alpha channel won't be altered by this filter primitive."
msgstr "Ja iestatÄ«ts, šī filtra primitÄ«vs nemainÄ«s alfa kanÄlu."
#. default: white
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2871
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2887
msgid "Diffuse Color:"
msgstr "DifÅ«zijas krÄsa:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2871 ../src/ui/dialog/filter-effects-dialog.cpp:2904
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2887 ../src/ui/dialog/filter-effects-dialog.cpp:2920
msgid "Defines the color of the light source"
msgstr "Nosaka gaismas avota krÄsu"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2872 ../src/ui/dialog/filter-effects-dialog.cpp:2905
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2888 ../src/ui/dialog/filter-effects-dialog.cpp:2921
msgid "Surface Scale:"
msgstr "Virsmas mērogs:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2872 ../src/ui/dialog/filter-effects-dialog.cpp:2905
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2888 ../src/ui/dialog/filter-effects-dialog.cpp:2921
msgid "This value amplifies the heights of the bump map defined by the input alpha channel"
msgstr "Å Ä« vÄ“rtÄ«ba pastiprina pumpu kartes augstumu, ko nosaka sÄkotnÄ“jais alfa kanÄls"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2873 ../src/ui/dialog/filter-effects-dialog.cpp:2906
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2889 ../src/ui/dialog/filter-effects-dialog.cpp:2922
msgid "Constant:"
msgstr "Konstantes:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2873 ../src/ui/dialog/filter-effects-dialog.cpp:2906
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2889 ../src/ui/dialog/filter-effects-dialog.cpp:2922
msgid "This constant affects the Phong lighting model."
msgstr "Šī konstante ietekmē Fonga apgaismojuma modeli"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2874 ../src/ui/dialog/filter-effects-dialog.cpp:2908
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2890 ../src/ui/dialog/filter-effects-dialog.cpp:2924
msgid "Kernel Unit Length:"
msgstr "Kodola vienības garums:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2878
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2894
msgid "This defines the intensity of the displacement effect."
msgstr "Tas nosaka pÄrvietojuma efekta intensitÄti."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2879
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2895
msgid "X displacement:"
msgstr "X nobīde:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2879
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2895
msgid "Color component that controls the displacement in the X direction"
msgstr "KrÄsas komponents, kas nosaka pÄrvietojumu X virzienÄ"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2880
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2896
msgid "Y displacement:"
msgstr "Y nobīde:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2880
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2896
msgid "Color component that controls the displacement in the Y direction"
msgstr "KrÄsas komponents, kas nosaka pÄrvietojumu Y virzienÄ"
#. default: black
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2883
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2899
msgid "Flood Color:"
msgstr "PludinÄÅ¡anas krÄsa:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2883
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2899
msgid "The whole filter region will be filled with this color."
msgstr "Viss filtra apgabals tiks aizpildÄ«ts ar Å¡o krÄsu."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2887
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2903
msgid "Standard Deviation:"
msgstr "Standarta novirze:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2887
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2903
msgid "The standard deviation for the blur operation."
msgstr "Standarta novirze aizmiglošanas darbībai."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2893
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2909
msgid ""
"Erode: performs \"thinning\" of input image.\n"
"Dilate: performs \"fattenning\" of input image."
@@ -14197,74 +14159,74 @@ msgstr ""
"Erozija: padara sÄkotnÄ“jo attÄ“lu \"plÄnÄku\".\n"
"IzpleÅ¡ana: padara sÄkotnÄ“jo attÄ“lu \"biezÄku\"."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2897
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2913
msgid "Source of Image:"
msgstr "Attēla avots:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2900
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2916
msgid "Delta X:"
msgstr "Delta X:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2900
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2916
msgid "This is how far the input image gets shifted to the right"
msgstr "Cik tÄlu sÄkotnÄ“jais attÄ“ls tiks pÄrbÄ«dÄ«ts pa labi"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2901
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2917
msgid "Delta Y:"
msgstr "Delta Y:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2901
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2917
msgid "This is how far the input image gets shifted downwards"
msgstr "Cik tÄlu sÄkotnÄ“jais attÄ“ls tiks pÄrbÄ«dÄ«ts lejup"
#. default: white
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2904
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2920
msgid "Specular Color:"
msgstr "AtspÄ«duma krÄsa:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2907 ../share/extensions/interp.inx.h:2
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2923 ../share/extensions/interp.inx.h:2
msgid "Exponent:"
msgstr "KÄpinÄtÄjs:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2907
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2923
msgid "Exponent for specular term, larger is more \"shiny\"."
msgstr "AtstaroÅ¡anas pakÄpe, lielÄks skaitlis nozÄ«mÄ“ vairÄk \"spÄ«dÄ«gu\"."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2916
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2932
msgid "Indicates whether the filter primitive should perform a noise or turbulence function."
msgstr "Atspoguļo, vai filtra primitÄ«vam jÄveic trokšņa vai nekÄrtÄ«bas funkcija."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2917
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2933
msgid "Base Frequency:"
msgstr "Pamata biežums:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2918
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2934
msgid "Octaves:"
msgstr "OktÄvas:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2919
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2935
msgid "Seed:"
msgstr "Gadījuma vērtība:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2919
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2935
msgid "The starting number for the pseudo random number generator."
msgstr "SÄkuma skaitlis pseidogadÄ«juma skaitļu Ä£eneratoram."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2931
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2947
msgid "Add filter primitive"
msgstr "Pievienot filtra primitīvu"
# http://www.w3.org/TR/SVG/intro.html#TermFilterPrimitiveElement
# A filter primitive element is one that can be used as a child of a ‘filter’ element to specify a node in the filter graph.
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2948
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2964
msgid "The <b>feBlend</b> filter primitive provides 4 image blending modes: screen, multiply, darken and lighten."
msgstr "<b>feBlend</b> filtra primitÄ«vs nodroÅ¡ina 4 attÄ“lu sajaukÅ¡anas veidus: uz ekrÄna, pavairot, padarÄ«t tumÅ¡Äku un padarÄ«t gaiÅ¡Äku."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2952
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2968
msgid "The <b>feColorMatrix</b> filter primitive applies a matrix transformation to color of each rendered pixel. This allows for effects like turning object to grayscale, modifying color saturation and changing color hue."
msgstr "<b>feColorMatrix</b> filtra primitÄ«vs pielieto matricas pÄrveidojumu katra renderÄ“tÄ pikseļa krÄsai. Tas padara iespÄ“jamus tÄdus efektus, kÄ pÄrvÄ“rÅ¡anu par pelÄ“ktoņu attÄ“lu, krÄsu piesÄtinÄjuma un nokrÄsas maiņu."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2956
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2972
msgid ""
"The <b>feComponentTransfer</b> filter primitive manipulates the input's color components (red, green, blue, and alpha) according to particular transfer functions, allowing operations like brightness and contrast adjustment, color balance, "
"and thresholding."
@@ -14272,7 +14234,7 @@ msgstr ""
"<b>feComponentTransfer</b> filtra primitÄ«vs darbojas ar sÄkotnÄ“jo krÄsu komponentÄ“m (sarkano, zaļo, zilo un alfa) saskaÅ†Ä ar Ä«paÅ¡Äm pÄrneses funkcijÄm, nodroÅ¡inot tÄdas darbÄ«bas kÄ spilgtuma un kontrasta maiņu, krÄsu balansēšanu un krÄsu "
"sliekšņu iestatīšanu."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2960
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2976
msgid ""
"The <b>feComposite</b> filter primitive composites two images using one of the Porter-Duff blending modes or the arithmetic mode described in SVG standard. Porter-Duff blending modes are essentially logical operations between the "
"corresponding pixel values of the images."
@@ -14282,7 +14244,7 @@ msgstr ""
# http://www.w3.org/TR/SVG/intro.html#TermFilterPrimitiveElement
# A filter primitive element is one that can be used as a child of a ‘filter’ element to specify a node in the filter graph.
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2964
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2980
msgid ""
"The <b>feConvolveMatrix</b> lets you specify a Convolution to be applied on the image. Common effects created using convolution matrices are blur, sharpening, embossing and edge detection. Note that while gaussian blur can be created using "
"this filter primitive, the special gaussian blur primitive is faster and resolution-independent."
@@ -14290,7 +14252,7 @@ msgstr ""
"<b>feConvolveMatrix</b> ļauj norÄdÄ«t attÄ“lam pielietojamo konvolÅ«ciju. Efekti, kurus iegÅ«st ar konvolÅ«cijas matricas palÄ«dzÄ«bu, ir aizmigloÅ¡ana, saasinÄÅ¡ana, ciļņoÅ¡ana un malas noteikÅ¡ana. Å…emiet vÄ“rÄ, ka lai arÄ« Gausa aizmigloÅ¡ana ar Å¡o "
"filtra primitÄ«vu arÄ« ir iespÄ“jama, Ä«paÅ¡ais Gausa aizmigloÅ¡anas primitÄ«vs ir ÄtrÄks un nav atkarÄ«gs no izšķirtspÄ“jas."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2968
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2984
msgid ""
"The <b>feDiffuseLighting</b> and feSpecularLighting filter primitives create \"embossed\" shadings. The input's alpha channel is used to provide depth information: higher opacity areas are raised toward the viewer and lower opacity areas "
"recede away from the viewer."
@@ -14298,23 +14260,23 @@ msgstr ""
"<b>feDiffuseLighting</b> un <b>feSpecularLighting</b> filtru primitÄ«vi rada \"ciļņotu \" Ä“nojumu. SÄkotnÄ“jÄ attÄ“la alfa kanÄls tiks izmantots dziļuma informÄcijai: necaurspÄ«dÄ«gÄki laukumi tiek tuvinÄti skatÄ«tÄjam, caurspÄ«dÄ«gÄki - "
"attÄlinÄnti."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2972
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2988
msgid "The <b>feDisplacementMap</b> filter primitive displaces the pixels in the first input using the second input as a displacement map, that shows from how far the pixel should come from. Classical examples are whirl and pinch effects."
msgstr "<b>feDisplacementMap</b> filtra primitÄ«vs nobÄ«da pikseļus pirmajÄ attÄ“lÄ izmantojot otro attÄ“lu kÄ nobīžu karti, kas norÄda no kÄda attÄlumu pikseļiem jÄnÄk. Klasiski piemÄ“ri ir virpuļa un knaibīšanas efekti."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2976
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2992
msgid "The <b>feFlood</b> filter primitive fills the region with a given color and opacity. It is usually used as an input to other filters to apply color to a graphic."
msgstr "<b>feFlood</b> filtra primitÄ«vs aizpilda laukumu ar norÄdÄ«to krÄsu un necaurspÄ«dÄ«bu. To parasti izmanto kÄ ievadi citiem filtriem, lai grafikai piešķirtu krÄsas."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2980
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2996
msgid "The <b>feGaussianBlur</b> filter primitive uniformly blurs its input. It is commonly used together with feOffset to create a drop shadow effect."
msgstr "<b>feGaussianBlur</b> filtrs vienÄdÄ mÄ“rÄ aizmiglo sÄkotnÄ“jo objektu. VisbiežÄk to lieto kopÄ ar feOffset, lai izvedotu krÄ«toÅ¡as Ä“nas efektu."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2984
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3000
msgid "The <b>feImage</b> filter primitive fills the region with an external image or another part of the document."
msgstr "<b>feImage</b> filtra primitÄ«vs aizpilda apgabalu ar ÄrÄ“jÄ attÄ“la vai citu dokumenta daļu kopijÄm."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2988
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3004
msgid ""
"The <b>feMerge</b> filter primitive composites several temporary images inside the filter primitive to a single image. It uses normal alpha compositing for this. This is equivalent to using several feBlend primitives in 'normal' mode or "
"several feComposite primitives in 'over' mode."
@@ -14322,15 +14284,15 @@ msgstr ""
"<b>feMerge</b> filtra primitÄ«vs apvieno vairÄkus filtra primitÄ«vÄ esoÅ¡us pagaidu attÄ“lus vienÄ. Å ai darbÄ«bai tiek izmantota vienkÄrÅ¡a alfa salikÅ¡ana. Tas ir lÄ«dzÄ«gs dažu feBlend filtru primitÄ«vu izmantoÅ¡anai 'parastÄ' (normal) režīmÄ vai "
"dažu feComposite filtru primitÄ«vu - 'pÄri' (over) režīmÄ."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2992
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3008
msgid "The <b>feMorphology</b> filter primitive provides erode and dilate effects. For single-color objects erode makes the object thinner and dilate makes it thicker."
msgstr "<b>feMorphology</b> filtra primitÄ«vs nodroÅ¡ina erozijas un izpleÅ¡anas efektus. Vienas krÄsas objektu gadÄ«jumÄ erozija padara objektu plÄnÄku, izpleÅ¡ana - biezÄku."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2996
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3012
msgid "The <b>feOffset</b> filter primitive offsets the image by an user-defined amount. For example, this is useful for drop shadows, where the shadow is in a slightly different position than the actual object."
msgstr "<b>feOffset</b> filtra primitÄ«vs nobÄ«da attÄ“lu par lietotÄja noteiktu lielumu. PiemÄ“ram, tas ir noderÄ«gs Ä“nu veidoÅ¡anai, kurÄs Ä“na atrodas nedaudz citÄ stÄvoklÄ« nekÄ pats objekts."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3000
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3016
msgid ""
"The <b>feDiffuseLighting</b> and <b>feSpecularLighting</b> filter primitives create \"embossed\" shadings. The input's alpha channel is used to provide depth information: higher opacity areas are raised toward the viewer and lower opacity "
"areas recede away from the viewer."
@@ -14338,19 +14300,19 @@ msgstr ""
"<b>feDiffuseLighting</b> un <b>feSpecularLighting</b> filtru primitÄ«vi rada \"ciļņotu \" Ä“nojumu. SÄkotnÄ“jÄ attÄ“la alfa kanÄls tiks izmantots dziļuma informÄcijai: necaurspÄ«dÄ«gÄki laukumi tiek tuvinÄti skatÄ«tÄjam, caurspÄ«dÄ«gÄki - "
"attÄlinÄnti."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3004
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3020
msgid "The <b>feTile</b> filter primitive tiles a region with its input graphic"
msgstr "<b>feTile</b> filtra primitÄ«vs aizpilda apgabalu ar ievadÄ«tÄs grafikas kopijÄm."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3008
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3024
msgid "The <b>feTurbulence</b> filter primitive renders Perlin noise. This kind of noise is useful in simulating several nature phenomena like clouds, fire and smoke and in generating complex textures like marble or granite."
msgstr "<b>feTurbulence</b> filtra primitÄ«vs renderÄ“ Perlina troksni. Å is trokšņa veids ir noderÄ«gs dažÄdu dabas parÄdÄ«bu atainoÅ¡anai, piemÄ“ram - mÄkoņu, uguns un dÅ«mu un tÄdu sarežģītu tekstÅ«ru veidoÅ¡anai kÄ marmors vai granÄ«ts."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3027
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3043
msgid "Duplicate filter primitive"
msgstr "Kopēt filtra primitīvu"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3080
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3096
msgid "Set filter primitive attribute"
msgstr "Iestatīt filtra primitīva atribūtu"
@@ -14534,7 +14496,7 @@ msgstr "SpirÄles"
msgid "Search spirals"
msgstr "MeklÄ“t spirÄles"
-#: ../src/ui/dialog/find.cpp:103 ../src/widgets/toolbox.cpp:1737
+#: ../src/ui/dialog/find.cpp:103 ../src/widgets/toolbox.cpp:1733
msgid "Paths"
msgstr "Ceļi"
@@ -14661,7 +14623,7 @@ msgstr "Izvēlieties objekta tipu"
msgid "Select a property"
msgstr "Izvēlieties īpašību"
-#: ../src/ui/dialog/font-substitution.cpp:87
+#: ../src/ui/dialog/font-substitution.cpp:79
msgid ""
"\n"
"Some fonts are not available and have been substituted."
@@ -14669,19 +14631,19 @@ msgstr ""
"\n"
"Daži fonti nav pieejami un ir aizvietoti."
-#: ../src/ui/dialog/font-substitution.cpp:90
+#: ../src/ui/dialog/font-substitution.cpp:82
msgid "Font substitution"
msgstr "Fontu aizvietojums"
-#: ../src/ui/dialog/font-substitution.cpp:109
+#: ../src/ui/dialog/font-substitution.cpp:101
msgid "Select all the affected items"
msgstr "Atlasīt visus ietekmētos objektus"
-#: ../src/ui/dialog/font-substitution.cpp:114
+#: ../src/ui/dialog/font-substitution.cpp:106
msgid "Don't show this warning again"
msgstr "NerÄdÄ«t atkÄrtoti Å¡o brÄ«dinÄjumu"
-#: ../src/ui/dialog/font-substitution.cpp:255
+#: ../src/ui/dialog/font-substitution.cpp:245
msgid "Font '%1' substituted with '%2'"
msgstr "Fonts '%1' aizvietots ar '%2'"
@@ -15406,7 +15368,7 @@ msgstr "Apgabals:"
msgid "Append"
msgstr "Pievienot"
-#: ../src/ui/dialog/glyphs.cpp:618
+#: ../src/ui/dialog/glyphs.cpp:619
msgid "Append text"
msgstr "Pievienot tekstu"
@@ -15414,66 +15376,66 @@ msgstr "Pievienot tekstu"
msgid "Arrange in a grid"
msgstr "IzkÄrtot režģī"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:578 ../src/ui/dialog/object-attributes.cpp:66 ../src/ui/dialog/object-attributes.cpp:75 ../src/widgets/desktop-widget.cpp:666 ../src/widgets/node-toolbar.cpp:581
+#: ../src/ui/dialog/grid-arrange-tab.cpp:577 ../src/ui/dialog/object-attributes.cpp:66 ../src/ui/dialog/object-attributes.cpp:75 ../src/ui/widget/page-sizer.cpp:247 ../src/widgets/desktop-widget.cpp:666 ../src/widgets/node-toolbar.cpp:581
msgid "X:"
msgstr "X:"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:578
+#: ../src/ui/dialog/grid-arrange-tab.cpp:577
msgid "Horizontal spacing between columns."
msgstr "HorizontÄlÄ atstarpe starp slejÄm."
-#: ../src/ui/dialog/grid-arrange-tab.cpp:579 ../src/ui/dialog/object-attributes.cpp:67 ../src/ui/dialog/object-attributes.cpp:76 ../src/widgets/desktop-widget.cpp:676 ../src/widgets/node-toolbar.cpp:599
+#: ../src/ui/dialog/grid-arrange-tab.cpp:578 ../src/ui/dialog/object-attributes.cpp:67 ../src/ui/dialog/object-attributes.cpp:76 ../src/ui/widget/page-sizer.cpp:248 ../src/widgets/desktop-widget.cpp:676 ../src/widgets/node-toolbar.cpp:599
msgid "Y:"
msgstr "Y:"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:579
+#: ../src/ui/dialog/grid-arrange-tab.cpp:578
msgid "Vertical spacing between rows."
msgstr "VertikÄlÄ atstarpe starp rindÄm."
-#: ../src/ui/dialog/grid-arrange-tab.cpp:626
+#: ../src/ui/dialog/grid-arrange-tab.cpp:624
msgid "_Rows:"
msgstr "_Rindas:"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:635
+#: ../src/ui/dialog/grid-arrange-tab.cpp:633
msgid "Number of rows"
msgstr "Rindu skaits"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:639
+#: ../src/ui/dialog/grid-arrange-tab.cpp:637
msgid "Equal _height"
msgstr "VienÄda _augstuma:"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:650
+#: ../src/ui/dialog/grid-arrange-tab.cpp:648
msgid "If not set, each row has the height of the tallest object in it"
msgstr "Ja nav norÄdÄ«ts, katras rindas augstums atbilst augstÄkajam objektam tajÄ"
#. #### Number of columns ####
-#: ../src/ui/dialog/grid-arrange-tab.cpp:666
+#: ../src/ui/dialog/grid-arrange-tab.cpp:664
msgid "_Columns:"
msgstr "_Slejas:"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:675
+#: ../src/ui/dialog/grid-arrange-tab.cpp:673
msgid "Number of columns"
msgstr "Sleju skaits"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:679
+#: ../src/ui/dialog/grid-arrange-tab.cpp:677
msgid "Equal _width"
msgstr "VienÄda platuma:"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:689
+#: ../src/ui/dialog/grid-arrange-tab.cpp:687
msgid "If not set, each column has the width of the widest object in it"
msgstr "Ja nav norÄdÄ«ts, katras slejas platums atbilst platÄkajam objektam tajÄ"
#. Anchor selection widget
-#: ../src/ui/dialog/grid-arrange-tab.cpp:700
+#: ../src/ui/dialog/grid-arrange-tab.cpp:698
msgid "Alignment:"
msgstr "IzlÄ«dzinÄjums"
#. #### Radio buttons to control spacing manually or to fit selection bbox ####
-#: ../src/ui/dialog/grid-arrange-tab.cpp:709
+#: ../src/ui/dialog/grid-arrange-tab.cpp:707
msgid "_Fit into selection box"
msgstr "IetilpinÄt atlasīšanas rÄmÄ«"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:716
+#: ../src/ui/dialog/grid-arrange-tab.cpp:714
msgid "_Set spacing:"
msgstr "Ie_statīt atstarpes:"
@@ -15525,25 +15487,25 @@ msgstr "Palīglīnijas ID: %s"
msgid "Current: %s"
msgstr "Pašreizējais: %s"
-#: ../src/ui/dialog/icon-preview.cpp:159
+#: ../src/ui/dialog/icon-preview.cpp:155
#, c-format
msgid "%d x %d"
msgstr "%d x %d"
-#: ../src/ui/dialog/icon-preview.cpp:171
+#: ../src/ui/dialog/icon-preview.cpp:167
msgid "Magnified:"
msgstr "PalielinÄts:"
-#: ../src/ui/dialog/icon-preview.cpp:240
+#: ../src/ui/dialog/icon-preview.cpp:236
msgid "Actual Size:"
msgstr "Patiesais izmērs:"
-#: ../src/ui/dialog/icon-preview.cpp:245
+#: ../src/ui/dialog/icon-preview.cpp:241
msgctxt "Icon preview window"
msgid "Sele_ction"
msgstr "At_lasītais"
-#: ../src/ui/dialog/icon-preview.cpp:247
+#: ../src/ui/dialog/icon-preview.cpp:243
msgid "Selection only or whole document"
msgstr "Tikai iezīmēto vai visu dokumentu."
@@ -15846,7 +15808,7 @@ msgid "Zoom"
msgstr "TÄlummaiņa"
#. Measure
-#: ../src/ui/dialog/inkscape-preferences.cpp:390 ../src/verbs.cpp:2761
+#: ../src/ui/dialog/inkscape-preferences.cpp:390 ../src/verbs.cpp:2730
msgctxt "ContextVerb"
msgid "Measure"
msgstr "Mērīt"
@@ -15891,7 +15853,7 @@ msgid "If on, each newly created object will be selected (deselecting previous s
msgstr "Ja ieslēgts, tiks atlasīts katrs jaunizveidotais objekts (atceļot iepriekšējo atlasi)"
#. Text
-#: ../src/ui/dialog/inkscape-preferences.cpp:448 ../src/verbs.cpp:2753
+#: ../src/ui/dialog/inkscape-preferences.cpp:448 ../src/verbs.cpp:2722
msgctxt "ContextVerb"
msgid "Text"
msgstr "Teksts"
@@ -17661,7 +17623,7 @@ msgid "Rendering"
msgstr "Renderēšana"
#. Note: /options/bitmapoversample removed with Cairo renderer
-#: ../src/ui/dialog/inkscape-preferences.cpp:1434 ../src/verbs.cpp:157 ../src/widgets/calligraphy-toolbar.cpp:626
+#: ../src/ui/dialog/inkscape-preferences.cpp:1434 ../src/verbs.cpp:156 ../src/widgets/calligraphy-toolbar.cpp:626
msgid "Edit"
msgstr "Labot"
@@ -17677,7 +17639,7 @@ msgstr "AutomÄtiski pÄrlÄdÄ“t saistÄ«tos attÄ“lus, ja datne uz diska ir mainÄ
msgid "_Bitmap editor:"
msgstr "_Bitkartes redaktors:"
-#: ../src/ui/dialog/inkscape-preferences.cpp:1441 ../share/extensions/guillotine.inx.h:5 ../share/extensions/plotter.inx.h:57 ../share/extensions/print_win32_vector.inx.h:2
+#: ../src/ui/dialog/inkscape-preferences.cpp:1441 ../share/extensions/guillotine.inx.h:5 ../share/extensions/plotter.inx.h:67 ../share/extensions/print_win32_vector.inx.h:2
msgid "Export"
msgstr "Eksportēt"
@@ -17762,11 +17724,11 @@ msgstr "Meklēt:"
msgid "Shortcut"
msgstr "Saīsne"
-#: ../src/ui/dialog/inkscape-preferences.cpp:1513 ../src/ui/widget/page-sizer.cpp:260
+#: ../src/ui/dialog/inkscape-preferences.cpp:1513 ../src/ui/widget/page-sizer.cpp:285
msgid "Description"
msgstr "Apraksts"
-#: ../src/ui/dialog/inkscape-preferences.cpp:1568 ../src/ui/dialog/pixelartdialog.cpp:296 ../src/ui/dialog/svg-fonts-dialog.cpp:699 ../src/ui/dialog/tracedialog.cpp:813 ../src/ui/widget/preferences-widget.cpp:749
+#: ../src/ui/dialog/inkscape-preferences.cpp:1568 ../src/ui/dialog/pixelartdialog.cpp:296 ../src/ui/dialog/svg-fonts-dialog.cpp:699 ../src/ui/dialog/tracedialog.cpp:813 ../src/ui/widget/preferences-widget.cpp:745
msgid "Reset"
msgstr "Atiestatīt"
@@ -18059,7 +18021,7 @@ msgid "Rename Layer"
msgstr "PÄrdÄ“vÄ“t slÄni"
#. 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:195 ../src/verbs.cpp:2368
+#: ../src/ui/dialog/layer-properties.cpp:354 ../src/ui/dialog/layer-properties.cpp:410 ../src/verbs.cpp:194 ../src/verbs.cpp:2337
msgid "Layer"
msgstr "SlÄnis"
@@ -18067,7 +18029,7 @@ msgstr "SlÄnis"
msgid "_Rename"
msgstr "_PÄrdÄ“vÄ“t"
-#: ../src/ui/dialog/layer-properties.cpp:368 ../src/ui/dialog/layers.cpp:750
+#: ../src/ui/dialog/layer-properties.cpp:368 ../src/ui/dialog/layers.cpp:758
msgid "Rename layer"
msgstr "PÄrdÄ“vÄ“t slÄni"
@@ -18092,7 +18054,7 @@ msgstr "Izveidots jauns slÄnis."
msgid "Move to Layer"
msgstr "PÄrvietot uz slÄni"
-#: ../src/ui/dialog/layer-properties.cpp:411 ../src/ui/dialog/lpe-powerstroke-properties.cpp:120 ../src/ui/dialog/transformation.cpp:112
+#: ../src/ui/dialog/layer-properties.cpp:411 ../src/ui/dialog/lpe-powerstroke-properties.cpp:116 ../src/ui/dialog/transformation.cpp:108
msgid "_Move"
msgstr "PÄr_vietot"
@@ -18112,39 +18074,39 @@ msgstr "SlÄ“gt slÄni"
msgid "Unlock layer"
msgstr "AtslÄ“gt slÄni"
-#: ../src/ui/dialog/layers.cpp:624 ../src/ui/dialog/objects.cpp:843 ../src/verbs.cpp:1438
+#: ../src/ui/dialog/layers.cpp:624 ../src/ui/dialog/objects.cpp:843 ../src/verbs.cpp:1407
msgid "Toggle layer solo"
msgstr "PÄrslÄ“gt tikai Å¡o slÄni"
-#: ../src/ui/dialog/layers.cpp:627 ../src/ui/dialog/objects.cpp:846 ../src/verbs.cpp:1462
+#: ../src/ui/dialog/layers.cpp:627 ../src/ui/dialog/objects.cpp:846 ../src/verbs.cpp:1431
msgid "Lock other layers"
msgstr "SlÄ“dz citus slÄņus"
-#: ../src/ui/dialog/layers.cpp:721
+#: ../src/ui/dialog/layers.cpp:730
msgid "Moved layer"
msgstr "PÄrvietotais slÄnis"
-#: ../src/ui/dialog/layers.cpp:884
+#: ../src/ui/dialog/layers.cpp:892
msgctxt "Layers"
msgid "New"
msgstr "Jauns"
-#: ../src/ui/dialog/layers.cpp:889
+#: ../src/ui/dialog/layers.cpp:897
msgctxt "Layers"
msgid "Bot"
msgstr "Apakša"
-#: ../src/ui/dialog/layers.cpp:895
+#: ../src/ui/dialog/layers.cpp:903
msgctxt "Layers"
msgid "Dn"
msgstr "Dn"
-#: ../src/ui/dialog/layers.cpp:901
+#: ../src/ui/dialog/layers.cpp:909
msgctxt "Layers"
msgid "Up"
msgstr "Uz augšu"
-#: ../src/ui/dialog/layers.cpp:907
+#: ../src/ui/dialog/layers.cpp:915
msgctxt "Layers"
msgid "Top"
msgstr "Augša"
@@ -18221,43 +18183,43 @@ msgstr "Ieslēgt ceļa efektu"
msgid "Deactivate path effect"
msgstr "Atslēgt ceļa efektu"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:57
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:52
msgid "Radius (pixels):"
msgstr "RÄdiuss (pikseļos):"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:69
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:64
msgid "Chamfer subdivisions:"
msgstr "NokÄpes fazÄ«tes apakÅ¡iedaļas:"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:144
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:135
msgid "Modify Fillet-Chamfer"
msgstr "MainÄ«t nokÄpi/apcilni"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:145
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:136
msgid "_Modify"
msgstr "_Mainīt"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:210
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:200
msgid "Radius"
msgstr "RÄdiuss"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:212
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:202
msgid "Radius approximated"
msgstr "RÄdiuss aproksimÄ“ts"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:215
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:205
msgid "Knot distance"
msgstr "Mezgla attÄlums"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:222
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:212
msgid "Position (%):"
msgstr "Pozīcija (%):"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:225
-msgid "%1 (%2):"
-msgstr "%1 (%2):"
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:215
+msgid "%1:"
+msgstr "%1:"
-#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:119
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:115
msgid "Modify Node Position"
msgstr "Mainīt mezgla pozīciju"
@@ -18409,7 +18371,7 @@ msgid "Check to make the object insensitive (not selectable by mouse)"
msgstr "AtzÄ«mÄ“jiet, lai padarÄ«tu objektu nejÅ«tÄ«gu (neatlasÄmu ar peli)"
#. Button for setting the object's id, label, title and description.
-#: ../src/ui/dialog/object-properties.cpp:325 ../src/verbs.cpp:2711 ../src/verbs.cpp:2717
+#: ../src/ui/dialog/object-properties.cpp:325 ../src/verbs.cpp:2680 ../src/verbs.cpp:2686
msgid "_Set"
msgstr "Ie_statīt"
@@ -18446,19 +18408,23 @@ msgstr "Iestatīt objekta nosaukumu"
msgid "Set object description"
msgstr "Iestatīt objekta aprakstu"
-#: ../src/ui/dialog/object-properties.cpp:552
+#: ../src/ui/dialog/object-properties.cpp:535
+msgid "Set image rendering option"
+msgstr "Iestatiet attēla renderēšanas papildiespēju"
+
+#: ../src/ui/dialog/object-properties.cpp:554
msgid "Lock object"
msgstr "Slēgt objektu"
-#: ../src/ui/dialog/object-properties.cpp:552
+#: ../src/ui/dialog/object-properties.cpp:554
msgid "Unlock object"
msgstr "Atslēgt objektu"
-#: ../src/ui/dialog/object-properties.cpp:568
+#: ../src/ui/dialog/object-properties.cpp:570
msgid "Hide object"
msgstr "Paslēpt objektu"
-#: ../src/ui/dialog/object-properties.cpp:568
+#: ../src/ui/dialog/object-properties.cpp:570
msgid "Unhide object"
msgstr "RÄdÄ«t objektu"
@@ -18490,7 +18456,7 @@ msgstr "Grupu par slÄni"
msgid "Moved objects"
msgstr "PÄrvietotie objekti"
-#: ../src/ui/dialog/objects.cpp:1352 ../src/ui/dialog/tags.cpp:856 ../src/ui/dialog/tags.cpp:863
+#: ../src/ui/dialog/objects.cpp:1352 ../src/ui/dialog/tags.cpp:857 ../src/ui/dialog/tags.cpp:864
msgid "Rename object"
msgstr "PÄrdÄ“vÄ“t objektu"
@@ -18769,11 +18735,11 @@ msgstr "Leņķis X/Y:"
msgid "Rotate objects"
msgstr "Pagriezt objektus"
-#: ../src/ui/dialog/polar-arrange-tab.cpp:338
+#: ../src/ui/dialog/polar-arrange-tab.cpp:336
msgid "Couldn't find an ellipse in selection"
msgstr "AtlasÄ«tajÄ nav atrasta elipse."
-#: ../src/ui/dialog/polar-arrange-tab.cpp:403
+#: ../src/ui/dialog/polar-arrange-tab.cpp:399
msgid "Arrange on ellipse"
msgstr "IzkÄrtot gar elipsi"
@@ -19031,7 +18997,7 @@ msgstr "Parauga teksts"
msgid "Preview Text:"
msgstr "Teksta priekšskatījums:"
-#: ../src/ui/dialog/swatches.cpp:202 ../src/ui/tools/gradient-tool.cpp:360 ../src/ui/tools/gradient-tool.cpp:458 ../src/widgets/gradient-vector.cpp:794
+#: ../src/ui/dialog/swatches.cpp:202 ../src/ui/tools/gradient-tool.cpp:360 ../src/ui/tools/gradient-tool.cpp:458 ../src/widgets/gradient-vector.cpp:795
msgid "Add gradient stop"
msgstr "Pievienot krÄsu pÄrejas pieturpunktu"
@@ -19059,76 +19025,70 @@ msgid "Palettes directory (%s) is unavailable."
msgstr "Palešu mape (%s) nav pieejama."
#. ******************* Symbol Sets ************************
-#: ../src/ui/dialog/symbols.cpp:139
+#: ../src/ui/dialog/symbols.cpp:135
msgid "Symbol set: "
msgstr "Simbolu kopa:"
#. Fill in later
-#: ../src/ui/dialog/symbols.cpp:148 ../src/ui/dialog/symbols.cpp:149
+#: ../src/ui/dialog/symbols.cpp:144 ../src/ui/dialog/symbols.cpp:145
msgid "Current Document"
msgstr "Pašreizējais dokuments"
-#: ../src/ui/dialog/symbols.cpp:216
+#: ../src/ui/dialog/symbols.cpp:212
msgid "Add Symbol from the current document."
msgstr "Pievienot simbolu no paÅ¡reizÄ“jÄ dokumenta."
-#: ../src/ui/dialog/symbols.cpp:225
+#: ../src/ui/dialog/symbols.cpp:221
msgid "Remove Symbol from the current document."
msgstr "AizvÄklt simbolu no paÅ¡reizÄ“jÄ dokumenta."
-#: ../src/ui/dialog/symbols.cpp:239
+#: ../src/ui/dialog/symbols.cpp:235
msgid "Display more icons in row."
msgstr "RÄdÄ«t vairÄk ikonu vienÄ rindÄ."
-#: ../src/ui/dialog/symbols.cpp:248
+#: ../src/ui/dialog/symbols.cpp:244
msgid "Display fewer icons in row."
msgstr "RÄdÄ«t mazÄk ikonu vienÄ rindÄ."
-#: ../src/ui/dialog/symbols.cpp:258
+#: ../src/ui/dialog/symbols.cpp:254
msgid "Toggle 'fit' symbols in icon space."
msgstr "IeslÄ“dziet simbolu \"ietilpinÄÅ¡anu\" ikonu laukÄ. "
-#: ../src/ui/dialog/symbols.cpp:270
+#: ../src/ui/dialog/symbols.cpp:266
msgid "Make symbols smaller by zooming out."
msgstr "Samaziniet simbolus tÄlinot."
-#: ../src/ui/dialog/symbols.cpp:280
+#: ../src/ui/dialog/symbols.cpp:276
msgid "Make symbols bigger by zooming in."
msgstr "Palieliniet simbolus tuvinot."
-#: ../src/ui/dialog/symbols.cpp:641
+#: ../src/ui/dialog/symbols.cpp:637
msgid "Unnamed Symbols"
msgstr "Nenosaukti simboli"
-#: ../src/ui/dialog/tags.cpp:274 ../src/ui/dialog/tags.cpp:572 ../src/ui/dialog/tags.cpp:686
-#, fuzzy
+#: ../src/ui/dialog/tags.cpp:274 ../src/ui/dialog/tags.cpp:573 ../src/ui/dialog/tags.cpp:687
msgid "Remove from selection set"
-msgstr "IzpludinÄtÄs iezÄ«mÄ“juma malas padarÄ«t atkal asas"
+msgstr "AizvÄkt no atlases kopas"
-#: ../src/ui/dialog/tags.cpp:430
-#, fuzzy
+#: ../src/ui/dialog/tags.cpp:431
msgid "Items"
-msgstr "vienības"
+msgstr "Vienumi"
-#: ../src/ui/dialog/tags.cpp:669
-#, fuzzy
+#: ../src/ui/dialog/tags.cpp:670
msgid "Add selection to set"
-msgstr "Pievienot iezīmējum_am"
+msgstr "Pievienot atlasīto kopai"
-#: ../src/ui/dialog/tags.cpp:827
-#, fuzzy
+#: ../src/ui/dialog/tags.cpp:828
msgid "Moved sets"
-msgstr "PÄrvietots"
+msgstr "PÄrvietotÄs kopas"
-#: ../src/ui/dialog/tags.cpp:997
-#, fuzzy
+#: ../src/ui/dialog/tags.cpp:998
msgid "Add a new selection set"
-msgstr "Pacelt izvēlēto par vienu soli uz augšu"
+msgstr "Pievienot jaunu atlases kopu"
-#: ../src/ui/dialog/tags.cpp:1006
-#, fuzzy
+#: ../src/ui/dialog/tags.cpp:1007
msgid "Remove Item/Set"
-msgstr "Izņemt šo vienību"
+msgstr "AizvÄkt vienumu/kopu"
#: ../src/ui/dialog/template-widget.cpp:37
msgid "More info"
@@ -19163,28 +19123,28 @@ msgid "AaBbCcIiPpQq12369$€¢?.;/()"
msgstr "AaBbCcIiPpQq12369$€¢?.;/()"
#. Align buttons
-#: ../src/ui/dialog/text-edit.cpp:96 ../src/widgets/text-toolbar.cpp:1333 ../src/widgets/text-toolbar.cpp:1334
+#: ../src/ui/dialog/text-edit.cpp:96 ../src/widgets/text-toolbar.cpp:1339 ../src/widgets/text-toolbar.cpp:1340
msgid "Align left"
msgstr "IzlÄ«dzinÄt pa kreisi"
-#: ../src/ui/dialog/text-edit.cpp:97 ../src/widgets/text-toolbar.cpp:1341 ../src/widgets/text-toolbar.cpp:1342
+#: ../src/ui/dialog/text-edit.cpp:97 ../src/widgets/text-toolbar.cpp:1347 ../src/widgets/text-toolbar.cpp:1348
msgid "Align center"
msgstr "IzlÄ«dzinÄt pret centru"
-#: ../src/ui/dialog/text-edit.cpp:98 ../src/widgets/text-toolbar.cpp:1349 ../src/widgets/text-toolbar.cpp:1350
+#: ../src/ui/dialog/text-edit.cpp:98 ../src/widgets/text-toolbar.cpp:1355 ../src/widgets/text-toolbar.cpp:1356
msgid "Align right"
msgstr "IzlÄ«dzinÄt pa labi"
-#: ../src/ui/dialog/text-edit.cpp:99 ../src/widgets/text-toolbar.cpp:1358
+#: ../src/ui/dialog/text-edit.cpp:99 ../src/widgets/text-toolbar.cpp:1364
msgid "Justify (only flowed text)"
msgstr "IzlÄ«dzinÄt (tikai teksta aizpildÄ«jumam)"
#. Direction buttons
-#: ../src/ui/dialog/text-edit.cpp:108 ../src/widgets/text-toolbar.cpp:1393
+#: ../src/ui/dialog/text-edit.cpp:108 ../src/widgets/text-toolbar.cpp:1399
msgid "Horizontal text"
msgstr "HorizontÄls teksts"
-#: ../src/ui/dialog/text-edit.cpp:109 ../src/widgets/text-toolbar.cpp:1400
+#: ../src/ui/dialog/text-edit.cpp:109 ../src/widgets/text-toolbar.cpp:1406
msgid "Vertical text"
msgstr "VertikÄls teksts"
@@ -19196,7 +19156,7 @@ msgstr "Atstarpe starp rindÄm (procentos no fonta izmÄ“ra)"
msgid "Text path offset"
msgstr "Teksta ceļa nobīde"
-#: ../src/ui/dialog/text-edit.cpp:586 ../src/ui/dialog/text-edit.cpp:660 ../src/ui/tools/text-tool.cpp:1446
+#: ../src/ui/dialog/text-edit.cpp:584 ../src/ui/dialog/text-edit.cpp:658 ../src/ui/tools/text-tool.cpp:1446
msgid "Set text style"
msgstr "Iestatīt teksta stilu"
@@ -19455,136 +19415,136 @@ msgstr "Priekšskatīt starpposma bitkarti ar pašreizējiem iestatījumiem, nev
msgid "Preview"
msgstr "Priekšskatījums"
-#: ../src/ui/dialog/transformation.cpp:74 ../src/ui/dialog/transformation.cpp:84
+#: ../src/ui/dialog/transformation.cpp:70 ../src/ui/dialog/transformation.cpp:80
msgid "_Horizontal:"
msgstr "_HorizontÄlÄ:"
-#: ../src/ui/dialog/transformation.cpp:74
+#: ../src/ui/dialog/transformation.cpp:70
msgid "Horizontal displacement (relative) or position (absolute)"
msgstr "HorizontÄlais pÄrvietojums (relatÄ«vais) vai pozÄ«cija (absolÅ«tais)"
-#: ../src/ui/dialog/transformation.cpp:76 ../src/ui/dialog/transformation.cpp:86
+#: ../src/ui/dialog/transformation.cpp:72 ../src/ui/dialog/transformation.cpp:82
msgid "_Vertical:"
msgstr "_VertikÄlÄ:"
-#: ../src/ui/dialog/transformation.cpp:76
+#: ../src/ui/dialog/transformation.cpp:72
msgid "Vertical displacement (relative) or position (absolute)"
msgstr "VertikÄlais pÄrvietojums (relatÄ«vais) vai pozÄ«cija (absolÅ«tais)"
-#: ../src/ui/dialog/transformation.cpp:78
+#: ../src/ui/dialog/transformation.cpp:74
msgid "Horizontal size (absolute or percentage of current)"
msgstr "HorizontÄlais izmÄ“rs (absolÅ«tais vai procentos no paÅ¡reizÄ“jÄ)"
-#: ../src/ui/dialog/transformation.cpp:80
+#: ../src/ui/dialog/transformation.cpp:76
msgid "Vertical size (absolute or percentage of current)"
msgstr "VertikÄlais izmÄ“rs (absolÅ«tais vai procentos no paÅ¡reizÄ“jÄ)"
-#: ../src/ui/dialog/transformation.cpp:82
+#: ../src/ui/dialog/transformation.cpp:78
msgid "A_ngle:"
msgstr "L_eņķis:"
-#: ../src/ui/dialog/transformation.cpp:82 ../src/ui/dialog/transformation.cpp:1103
+#: ../src/ui/dialog/transformation.cpp:78 ../src/ui/dialog/transformation.cpp:1103
msgid "Rotation angle (positive = counterclockwise)"
msgstr "Pagrieziena leņķis (pozitÄ«vs = pretÄ“ji pulksteņrÄdÄ«tÄjam)"
-#: ../src/ui/dialog/transformation.cpp:84
+#: ../src/ui/dialog/transformation.cpp:80
msgid "Horizontal skew angle (positive = counterclockwise), or absolute displacement, or percentage displacement"
msgstr "HorizontÄlÄs šķiebÅ¡anas leņķis (pozÄ«tÄ«vs = pretÄ“ji pulksteņrÄdÄ«tÄjam), vai absolÅ«tais pÄrvietojums, vai procentuÄlais pÄrvietojums"
-#: ../src/ui/dialog/transformation.cpp:86
+#: ../src/ui/dialog/transformation.cpp:82
msgid "Vertical skew angle (positive = counterclockwise), or absolute displacement, or percentage displacement"
msgstr "VertikÄlÄs šķiebÅ¡anas leņķis (pozÄ«tÄ«vs = pretÄ“ji pulksteņrÄdÄ«tÄjam), vai absolÅ«tais pÄrvietojums, vai procentuÄlais pÄrvietojums"
-#: ../src/ui/dialog/transformation.cpp:89
+#: ../src/ui/dialog/transformation.cpp:85
msgid "Transformation matrix element A"
msgstr "PÄrveidoÅ¡anas matricas elements A"
-#: ../src/ui/dialog/transformation.cpp:90
+#: ../src/ui/dialog/transformation.cpp:86
msgid "Transformation matrix element B"
msgstr "PÄrveidoÅ¡anas matricas elements B"
-#: ../src/ui/dialog/transformation.cpp:91
+#: ../src/ui/dialog/transformation.cpp:87
msgid "Transformation matrix element C"
msgstr "PÄrveidoÅ¡anas matricas elements C"
-#: ../src/ui/dialog/transformation.cpp:92
+#: ../src/ui/dialog/transformation.cpp:88
msgid "Transformation matrix element D"
msgstr "PÄrveidoÅ¡anas matricas elements D"
-#: ../src/ui/dialog/transformation.cpp:93
+#: ../src/ui/dialog/transformation.cpp:89
msgid "Transformation matrix element E"
msgstr "PÄrveidoÅ¡anas matricas elements E"
-#: ../src/ui/dialog/transformation.cpp:94
+#: ../src/ui/dialog/transformation.cpp:90
msgid "Transformation matrix element F"
msgstr "PÄrveidoÅ¡anas matricas elements F"
-#: ../src/ui/dialog/transformation.cpp:99
+#: ../src/ui/dialog/transformation.cpp:95
msgid "Rela_tive move"
msgstr "Rela_tÄ«vais pÄrvietojums"
-#: ../src/ui/dialog/transformation.cpp:99
+#: ../src/ui/dialog/transformation.cpp:95
msgid "Add the specified relative displacement to the current position; otherwise, edit the current absolute position directly"
msgstr "Pievienot paÅ¡reizÄ“jam novietojumam norÄdÄ«to relatÄ«vo nobÄ«di; pretÄ“jÄ gadÄ«jumÄ labot paÅ¡reizÄ“jo absolÅ«to novietojumu"
-#: ../src/ui/dialog/transformation.cpp:100
+#: ../src/ui/dialog/transformation.cpp:96
msgid "_Scale proportionally"
msgstr "MÄ“rogot _proporcionÄli"
-#: ../src/ui/dialog/transformation.cpp:100
+#: ../src/ui/dialog/transformation.cpp:96
msgid "Preserve the width/height ratio of the scaled objects"
msgstr "SaglabÄt platuma/augstuma attiecÄ«bu mÄ“rogotajiem objektiem"
-#: ../src/ui/dialog/transformation.cpp:101
+#: ../src/ui/dialog/transformation.cpp:97
msgid "Apply to each _object separately"
msgstr "Pielietot katram _objektam atsevišķi"
-#: ../src/ui/dialog/transformation.cpp:101
+#: ../src/ui/dialog/transformation.cpp:97
msgid "Apply the scale/rotate/skew to each selected object separately; otherwise, transform the selection as a whole"
msgstr "Pielietot mÄ“rogoÅ¡anu/grieÅ¡anu/šķiebÅ¡anu katram atlasÄ«tajam objektam atsevišķi; pretÄ“jÄ gadÄ«jumÄ - pÄrveidot atlasÄ«to kÄ vienu veselu"
-#: ../src/ui/dialog/transformation.cpp:102
+#: ../src/ui/dialog/transformation.cpp:98
msgid "Edit c_urrent matrix"
msgstr "Labot pašreizējo matric_u"
-#: ../src/ui/dialog/transformation.cpp:102
+#: ../src/ui/dialog/transformation.cpp:98
msgid "Edit the current transform= matrix; otherwise, post-multiply transform= by this matrix"
msgstr "Labojiet paÅ¡reizÄ“jo transform= matricu; pretÄ“jÄ gadÄ«jumÄ - vÄ“lÄk reiziniet transform= ar Å¡o matricu"
-#: ../src/ui/dialog/transformation.cpp:115
+#: ../src/ui/dialog/transformation.cpp:111
msgid "_Scale"
msgstr "_Mērogot"
-#: ../src/ui/dialog/transformation.cpp:118
+#: ../src/ui/dialog/transformation.cpp:114
msgid "_Rotate"
msgstr "Pag_riezt"
-#: ../src/ui/dialog/transformation.cpp:121
+#: ../src/ui/dialog/transformation.cpp:117
msgid "Ske_w"
msgstr "Å Ä·ie_bt"
-#: ../src/ui/dialog/transformation.cpp:124
+#: ../src/ui/dialog/transformation.cpp:120
msgid "Matri_x"
msgstr "Matri_ca"
-#: ../src/ui/dialog/transformation.cpp:148
+#: ../src/ui/dialog/transformation.cpp:144
msgid "Reset the values on the current tab to defaults"
msgstr "AtiestatÄ«t vÄ“rtÄ«bas paÅ¡reizÄ“jÄ Å¡Ä·irklÄ« uz noklusÄ“tajÄm"
-#: ../src/ui/dialog/transformation.cpp:155
+#: ../src/ui/dialog/transformation.cpp:151
msgid "Apply transformation to selection"
msgstr "Pielietot pÄrveidojumu atlasÄ«tajam"
-#: ../src/ui/dialog/transformation.cpp:331
+#: ../src/ui/dialog/transformation.cpp:327
msgid "Rotate in a counterclockwise direction"
msgstr "Pagriezt pretÄ“ji pulksteņrÄdÄ«tÄjam"
-#: ../src/ui/dialog/transformation.cpp:337
+#: ../src/ui/dialog/transformation.cpp:333
msgid "Rotate in a clockwise direction"
msgstr "Pagriezt pa pulksteņrÄdÄ«tÄjam"
-#: ../src/ui/dialog/transformation.cpp:907 ../src/ui/dialog/transformation.cpp:918 ../src/ui/dialog/transformation.cpp:932 ../src/ui/dialog/transformation.cpp:951 ../src/ui/dialog/transformation.cpp:962 ../src/ui/dialog/transformation.cpp:972
-#: ../src/ui/dialog/transformation.cpp:996
+#: ../src/ui/dialog/transformation.cpp:906 ../src/ui/dialog/transformation.cpp:917 ../src/ui/dialog/transformation.cpp:931 ../src/ui/dialog/transformation.cpp:950 ../src/ui/dialog/transformation.cpp:961 ../src/ui/dialog/transformation.cpp:971
+#: ../src/ui/dialog/transformation.cpp:995
msgid "Transform matrix is singular, <b>not used</b>."
msgstr "PÄrveidoÅ¡anas matrica ir singulÄra, <b>netiek izmantota</b>."
@@ -19774,7 +19734,7 @@ msgid "Enter group #%1"
msgstr "Ievadiet (ieejiet) grupu(Ä) #%1"
#. Item dialog
-#: ../src/ui/interface.cpp:1641 ../src/verbs.cpp:2932
+#: ../src/ui/interface.cpp:1641 ../src/verbs.cpp:2901
msgid "_Object Properties..."
msgstr "_Objekta īpašības..."
@@ -19847,7 +19807,7 @@ msgid "Release C_lip"
msgstr "Atbrīvot apgriešanas kontūru"
#. Group
-#: ../src/ui/interface.cpp:1790 ../src/verbs.cpp:2565
+#: ../src/ui/interface.cpp:1790 ../src/verbs.cpp:2534
msgid "_Group"
msgstr "_Grupēt"
@@ -19856,137 +19816,137 @@ msgid "Create link"
msgstr "Izveidot saiti"
#. Ungroup
-#: ../src/ui/interface.cpp:1896 ../src/verbs.cpp:2567
+#: ../src/ui/interface.cpp:1896 ../src/verbs.cpp:2536
msgid "_Ungroup"
msgstr "_Atgrupēt"
#. Link dialog
-#: ../src/ui/interface.cpp:1921
+#: ../src/ui/interface.cpp:1920
msgid "Link _Properties..."
msgstr "Saites ī_pašības..."
#. Select item
-#: ../src/ui/interface.cpp:1927
+#: ../src/ui/interface.cpp:1926
msgid "_Follow Link"
msgstr "Se_kot saitei"
#. Reset transformations
-#: ../src/ui/interface.cpp:1933
+#: ../src/ui/interface.cpp:1932
msgid "_Remove Link"
msgstr "_AizvÄkt saiti"
-#: ../src/ui/interface.cpp:1964
+#: ../src/ui/interface.cpp:1963
msgid "Remove link"
msgstr "AizvÄkt saiti"
#. Image properties
-#: ../src/ui/interface.cpp:1975
+#: ../src/ui/interface.cpp:1973
msgid "Image _Properties..."
msgstr "Attēla ī_pašības..."
#. Edit externally
-#: ../src/ui/interface.cpp:1981
+#: ../src/ui/interface.cpp:1979
msgid "Edit Externally..."
msgstr "Labot ÄrÄ“jÄ redaktorÄ..."
#. Trace Bitmap
#. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize)
-#: ../src/ui/interface.cpp:1990 ../src/verbs.cpp:2628
+#: ../src/ui/interface.cpp:1988 ../src/verbs.cpp:2597
msgid "_Trace Bitmap..."
msgstr "Vek_torizēt bitkarti..."
#. Trace Pixel Art
-#: ../src/ui/interface.cpp:1999
+#: ../src/ui/interface.cpp:1997
msgid "Trace Pixel Art"
msgstr "Vektorizēt punktu attēlu"
-#: ../src/ui/interface.cpp:2009
+#: ../src/ui/interface.cpp:2007
msgctxt "Context menu"
msgid "Embed Image"
msgstr "Iegult attēlu"
-#: ../src/ui/interface.cpp:2020
+#: ../src/ui/interface.cpp:2018
msgctxt "Context menu"
msgid "Extract Image..."
msgstr "Ekstraģēt attēlu..."
#. Item dialog
#. Fill and Stroke dialog
-#: ../src/ui/interface.cpp:2165 ../src/ui/interface.cpp:2185 ../src/verbs.cpp:2895
+#: ../src/ui/interface.cpp:2162 ../src/ui/interface.cpp:2182 ../src/verbs.cpp:2864
msgid "_Fill and Stroke..."
msgstr "_Aizpildījums un apmale..."
#. Edit Text dialog
-#: ../src/ui/interface.cpp:2191 ../src/verbs.cpp:2914
+#: ../src/ui/interface.cpp:2188 ../src/verbs.cpp:2883
msgid "_Text and Font..."
msgstr "_Teksts un fonts"
#. Spellcheck dialog
-#: ../src/ui/interface.cpp:2197 ../src/verbs.cpp:2922
+#: ../src/ui/interface.cpp:2194 ../src/verbs.cpp:2891
msgid "Check Spellin_g..."
msgstr "PÄrbaudÄ«t pareizrakstÄ«bu"
-#: ../src/ui/object-edit.cpp:464
+#: ../src/ui/object-edit.cpp:450
msgid "Adjust the <b>horizontal rounding</b> radius; with <b>Ctrl</b> to make the vertical radius the same"
msgstr "Pieskaņot <b>horizontÄlÄ noapaļojuma</b> rÄdiusu; ar <b>Ctrl</b> - piešķirt vertikÄlajam rÄdiusam to paÅ¡u vÄ“rtÄ«bu"
-#: ../src/ui/object-edit.cpp:469
+#: ../src/ui/object-edit.cpp:455
msgid "Adjust the <b>vertical rounding</b> radius; with <b>Ctrl</b> to make the horizontal radius the same"
msgstr "Pieskaņot <b>vertikÄlÄ noapaļojuma</b> rÄdiusu; ar <b>Ctrl</b> - piešķirt horizontÄlajam rÄdiusam to paÅ¡u vÄ“rtÄ«bu"
-#: ../src/ui/object-edit.cpp:474 ../src/ui/object-edit.cpp:479
+#: ../src/ui/object-edit.cpp:460 ../src/ui/object-edit.cpp:465
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 "Pieskaņot taisnstÅ«ra <b>augstumu un platumu</b>; ar <b>Ctrl</b> - saglabÄt malu attiecÄ«bas vai mainÄ«t tikai vienu no lielumiem"
-#: ../src/ui/object-edit.cpp:726 ../src/ui/object-edit.cpp:730 ../src/ui/object-edit.cpp:734 ../src/ui/object-edit.cpp:738
+#: ../src/ui/object-edit.cpp:712 ../src/ui/object-edit.cpp:716 ../src/ui/object-edit.cpp:720 ../src/ui/object-edit.cpp:724
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 "MainÄ«t paralÄ“lskaldņa izmÄ“rus X/Y virzienos; ar <b>Shift</b> - gar Z asi; ar <b>Ctrl</b> - ierobežot ar malu vai diagonÄļu virzienu"
-#: ../src/ui/object-edit.cpp:742 ../src/ui/object-edit.cpp:746 ../src/ui/object-edit.cpp:750 ../src/ui/object-edit.cpp:754
+#: ../src/ui/object-edit.cpp:728 ../src/ui/object-edit.cpp:732 ../src/ui/object-edit.cpp:736 ../src/ui/object-edit.cpp:740
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 "MainÄ«t paralÄ“lskaldņa izmÄ“rus Z virzienÄ; ar <b>Shift</b> - gar X/Y asÄ«m; ar <b>Ctrl</b> - ierobežot ar malu vai diagonÄļu virzienu"
-#: ../src/ui/object-edit.cpp:758
+#: ../src/ui/object-edit.cpp:744
msgid "Move the box in perspective"
msgstr "PÄrvietot paralÄ“lskaldni perspektÄ«vÄ"
-#: ../src/ui/object-edit.cpp:997
+#: ../src/ui/object-edit.cpp:983
msgid "Adjust ellipse <b>width</b>, with <b>Ctrl</b> to make circle"
msgstr "MainÄ«t elipses <b>platumu</b>, ar <b>Ctrl</b> - pÄrveidot par riņķi"
-#: ../src/ui/object-edit.cpp:1001
+#: ../src/ui/object-edit.cpp:987
msgid "Adjust ellipse <b>height</b>, with <b>Ctrl</b> to make circle"
msgstr "MainÄ«t elipses <b>augstumu</b>, ar <b>Ctrl</b> - pÄrveidot par riņķi"
-#: ../src/ui/object-edit.cpp:1005
+#: ../src/ui/object-edit.cpp:991
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 "Novietojiet loka vai segmenta <b>sÄkumpunktu</b>; ar <b>Ctrl</b> - pievilkt leņķim; lai iegÅ«tu loku, velciet elipses <b>iekÅ¡pusÄ“</b>; lai iegÅ«tu sektoru - <b>ÄrpusÄ“</b>"
-#: ../src/ui/object-edit.cpp:1010
+#: ../src/ui/object-edit.cpp:996
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 "Novietojiet loka vai segmenta <b>beigu punktu</b>; ar <b>Ctrl</b> - pievilkt leņķim; lai iegÅ«tu loku, velciet elipses <b>iekÅ¡pusÄ“</b>; lai iegÅ«tu sektoru - <b>ÄrpusÄ“</b>"
-#: ../src/ui/object-edit.cpp:1156
+#: ../src/ui/object-edit.cpp:1142
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 "Pieskaņot zvaigznes vai daudzstÅ«ra <b>galotņu rÄdiusu</b>; ar <b>Shift</b> - noapaļot; ar <b>Alt</b> - dažÄdot"
-#: ../src/ui/object-edit.cpp:1164
+#: ../src/ui/object-edit.cpp:1150
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 "Pieskaņot zvaigznes <b>bÄzes rÄdiusu</b>; ar <b>Ctrl</b> - saglabÄt starus radiÄlus (nenošķiebtus); ar <b>Shift</b> - noapaļot; ar <b>Alt</b> - dažÄdot"
-#: ../src/ui/object-edit.cpp:1359
+#: ../src/ui/object-edit.cpp:1345
msgid "Roll/unroll the spiral from <b>inside</b>; with <b>Ctrl</b> to snap angle; with <b>Alt</b> to converge/diverge"
msgstr "SatÄ«t/attÄ«t spirÄli no <b>iekÅ¡puses</b>; ar <b>Ctrl</b> - pievilkt leņķim; ar <b>Alt</b> - savirzÄ«t/atvirzÄ«t"
-#: ../src/ui/object-edit.cpp:1363
+#: ../src/ui/object-edit.cpp:1349
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 "SatÄ«t/attÄ«t spirÄli no <b>Ärpuses</b>; ar <b>Ctrl</b> - pievilkt leņķim; ar <b>Shift</b> - mÄ“rogot/griezt; ar <b>Alt</b> - fiksÄ“t rÄdiusu"
-#: ../src/ui/object-edit.cpp:1410
+#: ../src/ui/object-edit.cpp:1396
msgid "Adjust the <b>offset distance</b>"
msgstr "Pieskaņojiet <b>pÄrbÄ«des attÄlumu</b>"
-#: ../src/ui/object-edit.cpp:1447
+#: ../src/ui/object-edit.cpp:1433
msgid "Drag to resize the <b>flowed text frame</b>"
msgstr "Velciet, lai mainÄ«tu <b>ar tekstu aizpildÄ«tÄ rÄmja</b> izmÄ“ru."
@@ -20022,7 +19982,7 @@ msgstr "<b>Bezjē posms</b>: velciet, lai veidotu posmu, dubultklikšķis - lai
msgid "Retract handles"
msgstr "Ievilkt mezglus"
-#: ../src/ui/tool/multi-path-manipulator.cpp:315 ../src/ui/tool/node.cpp:296
+#: ../src/ui/tool/multi-path-manipulator.cpp:315 ../src/ui/tool/node.cpp:295
msgid "Change node type"
msgstr "Mainīt mezgla tipu"
@@ -20102,196 +20062,196 @@ msgstr "Apmest mezglus horizontÄli"
msgid "Flip nodes vertically"
msgstr "Apmest mezglus vertikÄli"
-#: ../src/ui/tool/node.cpp:271
+#: ../src/ui/tool/node.cpp:270
msgid "Cusp node handle"
msgstr "Stūra mezgla turis"
-#: ../src/ui/tool/node.cpp:272
+#: ../src/ui/tool/node.cpp:271
msgid "Smooth node handle"
msgstr "GludÄ mezgla turis"
-#: ../src/ui/tool/node.cpp:273
+#: ../src/ui/tool/node.cpp:272
msgid "Symmetric node handle"
msgstr "SimetriskÄ mezgla turis"
-#: ../src/ui/tool/node.cpp:274
+#: ../src/ui/tool/node.cpp:273
msgid "Auto-smooth node handle"
msgstr "Auto-gludÄ mezgla turis"
-#: ../src/ui/tool/node.cpp:493
+#: ../src/ui/tool/node.cpp:492
msgctxt "Path handle tip"
msgid "more: Shift, Ctrl, Alt"
msgstr "vairÄk: Shift, Ctrl, Alt"
-#: ../src/ui/tool/node.cpp:495
+#: ../src/ui/tool/node.cpp:494
msgctxt "Path handle tip"
msgid "more: Ctrl"
msgstr "vairÄk: Ctrl"
-#: ../src/ui/tool/node.cpp:497
+#: ../src/ui/tool/node.cpp:496
msgctxt "Path handle tip"
msgid "more: Ctrl, Alt"
msgstr "vairÄk: Ctrl, Alt"
-#: ../src/ui/tool/node.cpp:503
+#: ../src/ui/tool/node.cpp:502
#, c-format
msgctxt "Path handle tip"
msgid "<b>Shift+Ctrl+Alt</b>: preserve length and snap rotation angle to %g° increments while rotating both handles"
msgstr "<b>Shift+Ctrl+Alt</b>: saglabÄt garumu un pievilkt grieÅ¡anas leņķi ik %g° pieaugumam, griežot abus turus"
-#: ../src/ui/tool/node.cpp:508
+#: ../src/ui/tool/node.cpp:507
#, c-format
msgctxt "Path handle tip"
msgid "<b>Ctrl+Alt</b>: preserve length and snap rotation angle to %g° increments"
msgstr "<b>Ctrl+Alt</b>: saglabÄt garumu un pievilkt grieÅ¡anas leņķi ik %g° pieaugumam"
-#: ../src/ui/tool/node.cpp:514
+#: ../src/ui/tool/node.cpp:513
msgctxt "Path handle tip"
msgid "<b>Shift+Alt</b>: preserve handle length and rotate both handles"
msgstr "<b>Shift+Alt</b>: saglabÄt turu garumu un griezt abus turus"
-#: ../src/ui/tool/node.cpp:517
+#: ../src/ui/tool/node.cpp:516
msgctxt "Path handle tip"
msgid "<b>Alt</b>: preserve handle length while dragging"
msgstr "<b>Alt</b>: velkot saglabÄt tura garumu"
-#: ../src/ui/tool/node.cpp:524
+#: ../src/ui/tool/node.cpp:523
#, c-format
msgctxt "Path handle tip"
msgid "<b>Shift+Ctrl</b>: snap rotation angle to %g° increments and rotate both handles"
msgstr "<b>Shift+Ctrl</b>: pievilkt griešanas leņķi ik %g° pieaugumam un griezt abus turus"
-#: ../src/ui/tool/node.cpp:528
+#: ../src/ui/tool/node.cpp:527
#, fuzzy
msgctxt "Path handle tip"
msgid "<b>Ctrl</b>: Move handle by his actual steps in BSpline Live Effect"
msgstr "<b>Ctrl</b>: Move handle by his actual steps in BSpline Live Effect"
-#: ../src/ui/tool/node.cpp:531
+#: ../src/ui/tool/node.cpp:530
#, c-format
msgctxt "Path handle tip"
msgid "<b>Ctrl</b>: snap rotation angle to %g° increments, click to retract"
msgstr "<b>Ctrl</b>: pievilkt griešanas leņķi ik %g° pieaugumam, uzklikšķiniet - lai atsauktu"
-#: ../src/ui/tool/node.cpp:536
+#: ../src/ui/tool/node.cpp:535
msgctxt "Path hande tip"
msgid "<b>Shift</b>: rotate both handles by the same angle"
msgstr "<b>Shift</b>: pagriezt abus turus par vienÄdu leņķi"
-#: ../src/ui/tool/node.cpp:539
+#: ../src/ui/tool/node.cpp:538
msgctxt "Path hande tip"
msgid "<b>Shift</b>: move handle"
msgstr "<b>Shift</b>: pÄrvietot turi"
-#: ../src/ui/tool/node.cpp:546 ../src/ui/tool/node.cpp:550
+#: ../src/ui/tool/node.cpp:545 ../src/ui/tool/node.cpp:549
#, c-format
msgctxt "Path handle tip"
msgid "<b>Auto node handle</b>: drag to convert to smooth node (%s)"
msgstr "<b>Auto mezgla turis</b>: velciet, lai pÄrvÄ“rstu par gludo mezglu (%s)"
-#: ../src/ui/tool/node.cpp:553
+#: ../src/ui/tool/node.cpp:552
#, fuzzy, c-format
msgctxt "Path handle tip"
-msgid "<b>BSpline node handle</b>: Shift to drag, double click to reset (%s)"
+msgid "<b>BSpline node handle</b>: Shift to drag, double click to reset (%s). %g power"
msgstr "<b>Auto mezgla turis</b>: velciet, lai pÄrvÄ“rstu par gludo mezglu (%s)"
-#: ../src/ui/tool/node.cpp:573
+#: ../src/ui/tool/node.cpp:572
#, c-format
msgctxt "Path handle tip"
msgid "Move handle by %s, %s; angle %.2f°, length %s"
msgstr "PÄrvietot turi par %s, %s; leņki - %.2f°, garumu - %s"
-#: ../src/ui/tool/node.cpp:1447
+#: ../src/ui/tool/node.cpp:1448
msgctxt "Path node tip"
msgid "<b>Shift</b>: drag out a handle, click to toggle selection"
msgstr "<b>Shift</b>: izvilkt turi; klikšķiniet, lai pÄrslÄ“gtu atlasi"
-#: ../src/ui/tool/node.cpp:1449
+#: ../src/ui/tool/node.cpp:1450
msgctxt "Path node tip"
msgid "<b>Shift</b>: click to toggle selection"
msgstr "<b>Shift</b>: klikšķis, lai pÄrslÄ“gtu atlasi"
-#: ../src/ui/tool/node.cpp:1454
+#: ../src/ui/tool/node.cpp:1455
msgctxt "Path node tip"
msgid "<b>Ctrl+Alt</b>: move along handle lines, click to delete node"
msgstr "<b>Ctrl+Alt</b>: pÄrvietoties gar tura lÄ«nijÄm, uzklikšķiniet, lai dzÄ“stu mezglu"
-#: ../src/ui/tool/node.cpp:1457
+#: ../src/ui/tool/node.cpp:1458
msgctxt "Path node tip"
msgid "<b>Ctrl</b>: move along axes, click to change node type"
msgstr "<b>Ctrl</b>: pÄrvietoties gar asÄ«m, uzklikšķiniet, lai mainÄ«tu mezgla tipu"
-#: ../src/ui/tool/node.cpp:1461
+#: ../src/ui/tool/node.cpp:1462
msgctxt "Path node tip"
msgid "<b>Alt</b>: sculpt nodes"
msgstr "<b>Alt</b>: veidošanas mezgli"
-#: ../src/ui/tool/node.cpp:1469
+#: ../src/ui/tool/node.cpp:1470
#, c-format
msgctxt "Path node tip"
msgid "<b>%s</b>: drag to shape the path (more: Shift, Ctrl, Alt)"
msgstr "<b>%s</b>: velciet, lai veidotu ceļu (vairÄk: Shift, Ctrl, Alt)"
-#: ../src/ui/tool/node.cpp:1472
+#: ../src/ui/tool/node.cpp:1473
#, fuzzy, c-format
msgctxt "Path node tip"
-msgid "<b>BSpline node</b>: %g weight, drag to shape the path (more: Shift, Ctrl, Alt)"
+msgid "<b>BSpline node</b>: drag to shape the path (more: Shift, Ctrl, Alt). %g power"
msgstr "<b>%s</b>: velciet, lai veidotu ceļu (vairÄk: Shift, Ctrl, Alt)"
-#: ../src/ui/tool/node.cpp:1475
+#: ../src/ui/tool/node.cpp:1476
#, c-format
msgctxt "Path node tip"
msgid "<b>%s</b>: drag to shape the path, click to toggle scale/rotation handles (more: Shift, Ctrl, Alt)"
msgstr "<b>%s</b>: velciet, lai veidotu ceļu; uzklikšķiniet, lai pÄrslÄ“gtu mÄ“rogoÅ¡anas/grieÅ¡anas turus (vairÄk: Shift, Ctrl, Alt)"
-#: ../src/ui/tool/node.cpp:1479
+#: ../src/ui/tool/node.cpp:1480
#, c-format
msgctxt "Path node tip"
msgid "<b>%s</b>: drag to shape the path, click to select only this node (more: Shift, Ctrl, Alt)"
msgstr "<b>%s</b>: velciet, lai veidotu ceļu; uzklikšķiniet, lai atlasÄ«tu tikai Å¡o mezglu (vairÄk: Shift, Ctrl, Alt)"
-#: ../src/ui/tool/node.cpp:1482
-#, fuzzy
+#: ../src/ui/tool/node.cpp:1483
+#, fuzzy, c-format
msgctxt "Path node tip"
-msgid "<b>BSpline node</b>: drag to shape the path, click to select only this node (more: Shift, Ctrl, Alt)"
+msgid "<b>BSpline node</b>: drag to shape the path, click to select only this node (more: Shift, Ctrl, Alt). %g power"
msgstr "<b>%s</b>: velciet, lai veidotu ceļu; uzklikšķiniet, lai atlasÄ«tu tikai Å¡o mezglu (vairÄk: Shift, Ctrl, Alt)"
-#: ../src/ui/tool/node.cpp:1495
+#: ../src/ui/tool/node.cpp:1496
#, c-format
msgctxt "Path node tip"
msgid "Move node by %s, %s"
msgstr "PÄrvietot mezglu par %s, %s"
-#: ../src/ui/tool/node.cpp:1506
+#: ../src/ui/tool/node.cpp:1507
msgid "Symmetric node"
msgstr "Simetrisks mezgls"
-#: ../src/ui/tool/node.cpp:1507
+#: ../src/ui/tool/node.cpp:1508
msgid "Auto-smooth node"
msgstr "Auto-gludais mezgls"
-#: ../src/ui/tool/path-manipulator.cpp:836
+#: ../src/ui/tool/path-manipulator.cpp:837
msgid "Scale handle"
msgstr "Mērogošanas turis"
-#: ../src/ui/tool/path-manipulator.cpp:860
+#: ../src/ui/tool/path-manipulator.cpp:861
msgid "Rotate handle"
msgstr "Griešanas turis "
#. We need to call MPM's method because it could have been our last node
-#: ../src/ui/tool/path-manipulator.cpp:1524 ../src/widgets/node-toolbar.cpp:397
+#: ../src/ui/tool/path-manipulator.cpp:1534 ../src/widgets/node-toolbar.cpp:397
msgid "Delete node"
msgstr "Dzēst mezglu"
-#: ../src/ui/tool/path-manipulator.cpp:1532
+#: ../src/ui/tool/path-manipulator.cpp:1542
msgid "Cycle node type"
msgstr "Mainīt mezgla tipu uz riņķi"
-#: ../src/ui/tool/path-manipulator.cpp:1547
+#: ../src/ui/tool/path-manipulator.cpp:1557
msgid "Drag handle"
msgstr "Vilkšanas turis"
-#: ../src/ui/tool/path-manipulator.cpp:1556
+#: ../src/ui/tool/path-manipulator.cpp:1566
msgid "Retract handle"
msgstr "Atsaukt turi"
@@ -20447,7 +20407,7 @@ msgstr "<b>Uzklikšķiniet</b> vai <b>uzklikšķiniet un velciet</b>, lai sÄktu
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 "<b>Velciet</b>, lai izveidotu kaligrÄfisku apmali; ar <b>Ctrl</b> - sekot palÄ«glÄ«nijas ceļam. <b>Ar bultiņÄm</b> pieskaņojiet platumu (kreisÄ/labÄ) un leņķi (augÅ¡up/lejup)."
-#: ../src/ui/tools-switch.cpp:107 ../src/ui/tools/text-tool.cpp:1584
+#: ../src/ui/tools-switch.cpp:107 ../src/ui/tools/text-tool.cpp:1583
msgid "<b>Click</b> to select or create text, <b>drag</b> to create flowed text; then type."
msgstr "<b>Uzklikšķiniet</b>, lai atlasītu vai izveidotu tekstu, <b>velciet</b>, lai izveidotu teksta aizpildījumu un tad rakstiet."
@@ -20493,7 +20453,7 @@ msgstr "Izvēlieties apakšrīku no rīkjoslas"
msgid "<b>Ctrl</b>: make circle or integer-ratio ellipse, snap arc/segment angle"
msgstr "<b>Ctrl</b>: izveidot riņķi vai veselu skaitļu attiecību elipsi, pievilkt loka/segmenta leņķi"
-#: ../src/ui/tools/arc-tool.cpp:243 ../src/ui/tools/rect-tool.cpp:279
+#: ../src/ui/tools/arc-tool.cpp:243 ../src/ui/tools/rect-tool.cpp:278
msgid "<b>Shift</b>: draw around the starting point"
msgstr "<b>Shift</b>: zÄ«mÄ“t apkÄrt sÄkumpunktam"
@@ -20572,15 +20532,15 @@ msgstr "Pabeidz savienotÄju"
msgid "<b>Connector endpoint</b>: drag to reroute or connect to new shapes"
msgstr "<b>SavienotÄja beigu punkts</b>: velciet, lai manÄ«tu marÅ¡rutu vai savienotu ar jaunÄm figÅ«rÄm"
-#: ../src/ui/tools/connector-tool.cpp:1326
+#: ../src/ui/tools/connector-tool.cpp:1324
msgid "Select <b>at least one non-connector object</b>."
msgstr "Atlasiet <b>vismaz vienu objektu, kas nav savienotÄjs</b>."
-#: ../src/ui/tools/connector-tool.cpp:1331 ../src/widgets/connector-toolbar.cpp:314
+#: ../src/ui/tools/connector-tool.cpp:1329 ../src/widgets/connector-toolbar.cpp:310
msgid "Make connectors avoid selected objects"
msgstr "Likt savienotÄjiem izvairÄ«ties no atlasÄ«tajiem objektiem"
-#: ../src/ui/tools/connector-tool.cpp:1332 ../src/widgets/connector-toolbar.cpp:324
+#: ../src/ui/tools/connector-tool.cpp:1330 ../src/widgets/connector-toolbar.cpp:320
msgid "Make connectors ignore selected objects"
msgstr "Likt savienotÄjiem neņemt vÄ“rÄ atlasÄ«tos objektus"
@@ -20614,39 +20574,39 @@ msgstr "Pielietot izvÄ“lÄ“to krÄsu"
msgid "<b>Drawing</b> an eraser stroke"
msgstr "<b>Zīmē</b> dzēšgumijas līniju"
-#: ../src/ui/tools/eraser-tool.cpp:760
+#: ../src/ui/tools/eraser-tool.cpp:753
msgid "Draw eraser stroke"
msgstr "Zīmēt dzēšgumijas līniju"
-#: ../src/ui/tools/flood-tool.cpp:182
+#: ../src/ui/tools/flood-tool.cpp:90
msgid "Visible Colors"
msgstr "RedzamÄs krÄsas"
-#: ../src/ui/tools/flood-tool.cpp:200
+#: ../src/ui/tools/flood-tool.cpp:102
msgctxt "Flood autogap"
msgid "None"
msgstr "Nekas"
-#: ../src/ui/tools/flood-tool.cpp:201
+#: ../src/ui/tools/flood-tool.cpp:103
msgctxt "Flood autogap"
msgid "Small"
msgstr "Mazs"
-#: ../src/ui/tools/flood-tool.cpp:202
+#: ../src/ui/tools/flood-tool.cpp:104
msgctxt "Flood autogap"
msgid "Medium"
msgstr "Vidējs"
-#: ../src/ui/tools/flood-tool.cpp:203
+#: ../src/ui/tools/flood-tool.cpp:105
msgctxt "Flood autogap"
msgid "Large"
msgstr "Liels"
-#: ../src/ui/tools/flood-tool.cpp:425
+#: ../src/ui/tools/flood-tool.cpp:415
msgid "<b>Too much inset</b>, the result is empty."
msgstr "<b>SaÄ«sinÄts par daudz</b>, rezultÄts ir tukÅ¡s."
-#: ../src/ui/tools/flood-tool.cpp:466
+#: ../src/ui/tools/flood-tool.cpp:456
#, c-format
msgid "Area filled, path with <b>%d</b> node created and unioned with selection."
msgid_plural "Area filled, path with <b>%d</b> nodes created and unioned with selection."
@@ -20654,7 +20614,7 @@ msgstr[0] "Laukums aizpildīts, izveidots ceļš ar <b>%d</b> mezglu un apvienot
msgstr[1] "Laukums aizpildīts, izveidots ceļš ar <b>%d</b> mezgliem un apvienots ar atlasīto."
msgstr[2] "Laukums aizpildīts, izveidots ceļš ar <b>%d</b> mezgliem un apvienots ar atlasīto."
-#: ../src/ui/tools/flood-tool.cpp:472
+#: ../src/ui/tools/flood-tool.cpp:462
#, c-format
msgid "Area filled, path with <b>%d</b> node created."
msgid_plural "Area filled, path with <b>%d</b> nodes created."
@@ -20662,23 +20622,23 @@ msgstr[0] "Laukums aizpildīts, izveidots ceļš ar <b>%d</b> mezglu."
msgstr[1] "Laukums aizpildīts, izveidots ceļš ar <b>%d</b> mezgliem."
msgstr[2] "Laukums aizpildīts, izveidots ceļš ar <b>%d</b> mezgliem."
-#: ../src/ui/tools/flood-tool.cpp:740 ../src/ui/tools/flood-tool.cpp:1050
+#: ../src/ui/tools/flood-tool.cpp:730 ../src/ui/tools/flood-tool.cpp:1040
msgid "<b>Area is not bounded</b>, cannot fill."
msgstr "<b>Laukums nav norobežots</b>, nav iespējams aizpildīt."
-#: ../src/ui/tools/flood-tool.cpp:1055
+#: ../src/ui/tools/flood-tool.cpp:1045
msgid "<b>Only the visible part of the bounded area was filled.</b> If you want to fill all of the area, undo, zoom out, and fill again."
msgstr "<b>AizpildÄ«ta tikai redzamÄ norobežotÄ laukuma daļa.</b> Ja vÄ“laties aizpildÄ«t visu laukumu, atsauciet darbÄ«bu, tÄliniet un aizpildiet vÄ“lreiz."
-#: ../src/ui/tools/flood-tool.cpp:1073 ../src/ui/tools/flood-tool.cpp:1224
+#: ../src/ui/tools/flood-tool.cpp:1063 ../src/ui/tools/flood-tool.cpp:1214
msgid "Fill bounded area"
msgstr "Aizpildīt norobežoto laukumu"
-#: ../src/ui/tools/flood-tool.cpp:1089
+#: ../src/ui/tools/flood-tool.cpp:1079
msgid "Set style on object"
msgstr "Iestatiet objekta stilu"
-#: ../src/ui/tools/flood-tool.cpp:1149
+#: ../src/ui/tools/flood-tool.cpp:1139
msgid "<b>Draw over</b> areas to add to fill, hold <b>Alt</b> for touch fill"
msgstr "<b>Velciet pÄri</b> aizpildÄmajiem laukumiem, turiet <b>Alt</b> aizpildīšanai ar pieskÄrieniem"
@@ -20759,23 +20719,23 @@ msgstr[2] "Nav atlasÄ«ts <b>neviens</b> krÄsu pÄrejas turis no %d %d atlasÄ«
msgid "Simplify gradient"
msgstr "VienkÄrÅ¡ot krÄsu pÄreju"
-#: ../src/ui/tools/gradient-tool.cpp:509
+#: ../src/ui/tools/gradient-tool.cpp:510
msgid "Create default gradient"
msgstr "Izveidot noklusÄ“to krÄsu pÄreju"
-#: ../src/ui/tools/gradient-tool.cpp:568 ../src/ui/tools/mesh-tool.cpp:560
+#: ../src/ui/tools/gradient-tool.cpp:569 ../src/ui/tools/mesh-tool.cpp:561
msgid "<b>Draw around</b> handles to select them"
msgstr "<b>Velciet apkÄrt</b> turiem, lai tos atlasÄ«tu"
-#: ../src/ui/tools/gradient-tool.cpp:691
+#: ../src/ui/tools/gradient-tool.cpp:692
msgid "<b>Ctrl</b>: snap gradient angle"
msgstr "<b>Ctrl</b>: pievilkt krÄsu pÄrejas leņķi"
-#: ../src/ui/tools/gradient-tool.cpp:692
+#: ../src/ui/tools/gradient-tool.cpp:693
msgid "<b>Shift</b>: draw gradient around the starting point"
msgstr "<b>Shift</b>: zÄ«mÄ“t krÄsu pÄreju apkÄrt sÄkumpunktam"
-#: ../src/ui/tools/gradient-tool.cpp:946 ../src/ui/tools/mesh-tool.cpp:983
+#: ../src/ui/tools/gradient-tool.cpp:947 ../src/ui/tools/mesh-tool.cpp:984
#, 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"
@@ -20783,7 +20743,7 @@ msgstr[0] "<b>KrÄsu pÄreja</b> %d objektam; ar <b>Ctrl</b> pievilkt leņķi"
msgstr[1] "<b>KrÄsu pÄreja</b> %d objektiem; ar <b>Ctrl</b> pievilkt leņķi"
msgstr[2] "<b>KrÄsu pÄreja</b> %d objektiem; ar <b>Ctrl</b> pievilkt leņķi"
-#: ../src/ui/tools/gradient-tool.cpp:950 ../src/ui/tools/mesh-tool.cpp:987
+#: ../src/ui/tools/gradient-tool.cpp:951 ../src/ui/tools/mesh-tool.cpp:988
msgid "Select <b>objects</b> on which to create gradient."
msgstr "Atlasiet <b>objektus</b>, kuriem izveidot krÄsu pÄreju."
@@ -20841,29 +20801,29 @@ msgstr "NogludinÄtÄ tÄ«kla stÅ«ra krÄsa."
msgid "Picked mesh corner color."
msgstr "IzvÄ“lÄ“tÄ tÄ«kla stÅ«ra krÄsa."
-#: ../src/ui/tools/mesh-tool.cpp:488
+#: ../src/ui/tools/mesh-tool.cpp:489
msgid "Create default mesh"
msgstr "Izveidot noklusēto tīklu"
-#: ../src/ui/tools/mesh-tool.cpp:708
+#: ../src/ui/tools/mesh-tool.cpp:709
msgid "FIXME<b>Ctrl</b>: snap mesh angle"
msgstr "LABOT<b>Ctrl</b>: piesaistes tīkla leņķis"
-#: ../src/ui/tools/mesh-tool.cpp:709
+#: ../src/ui/tools/mesh-tool.cpp:710
msgid "FIXME<b>Shift</b>: draw mesh around the starting point"
msgstr "LABOT<b>Shift</b>: zÄ«mÄ“t tÄ«klu apkÄrt sÄkumpunktam"
-#: ../src/ui/tools/node-tool.cpp:602
+#: ../src/ui/tools/node-tool.cpp:601
msgctxt "Node tool tip"
msgid "<b>Shift</b>: drag to add nodes to the selection, click to toggle object selection"
msgstr "<b>Shift</b>: velciet, lai atlasÄ«tajam pievienotu mezglus, klikšķiniet, lai pÄrslÄ“gtu objektu atlasi"
-#: ../src/ui/tools/node-tool.cpp:606
+#: ../src/ui/tools/node-tool.cpp:605
msgctxt "Node tool tip"
msgid "<b>Shift</b>: drag to add nodes to the selection"
msgstr "<b>Shift</b>: velciet, lai pievienotu mezglus atlasītajam"
-#: ../src/ui/tools/node-tool.cpp:618
+#: ../src/ui/tools/node-tool.cpp:617
#, c-format
msgid "<b>%u of %u</b> node selected."
msgid_plural "<b>%u of %u</b> nodes selected."
@@ -20871,39 +20831,39 @@ msgstr[0] "Izvēlēts <b>%u no %u</b>mezgliem."
msgstr[1] "Izvēlēti <b>%u no %u</b>mezgliem."
msgstr[2] "Izvēlēti <b>%u no %u</b>mezgliem."
-#: ../src/ui/tools/node-tool.cpp:624
+#: ../src/ui/tools/node-tool.cpp:623
#, c-format
msgctxt "Node tool tip"
msgid "%s Drag to select nodes, click to edit only this object (more: Shift)"
msgstr "%s Velciet, lai atlasÄ«tu mezglus, uzklikšķiniet, lai labotu tikai Å¡o objektu (vairÄk: Shift)"
-#: ../src/ui/tools/node-tool.cpp:630
+#: ../src/ui/tools/node-tool.cpp:629
#, c-format
msgctxt "Node tool tip"
msgid "%s Drag to select nodes, click clear the selection"
msgstr "%s Velciet, lai atlasītu mezglus; lai atceltu atlasi, uzklikšķiniet"
-#: ../src/ui/tools/node-tool.cpp:639
+#: ../src/ui/tools/node-tool.cpp:638
msgctxt "Node tool tip"
msgid "Drag to select nodes, click to edit only this object"
msgstr "Velciet, lai atlasītu mezglus, uzklikšķiniet, lai labotu tikai šo objektu"
-#: ../src/ui/tools/node-tool.cpp:642
+#: ../src/ui/tools/node-tool.cpp:641
msgctxt "Node tool tip"
msgid "Drag to select nodes, click to clear the selection"
msgstr "Velciet, lai atlasītu mezglus; lai atceltu atlasi, uzklikšķiniet"
-#: ../src/ui/tools/node-tool.cpp:647
+#: ../src/ui/tools/node-tool.cpp:646
msgctxt "Node tool tip"
msgid "Drag to select objects to edit, click to edit this object (more: Shift)"
msgstr "Velciet, lai atlasÄ«tu labojamos objektus, uzklikšķiniet, lai labotu Å¡o objektu (vairÄk - Shift)"
-#: ../src/ui/tools/node-tool.cpp:650
+#: ../src/ui/tools/node-tool.cpp:649
msgctxt "Node tool tip"
msgid "Drag to select objects to edit"
msgstr "Velciet, lai atlasītu labojamos objektus"
-#: ../src/ui/tools/pen-tool.cpp:224 ../src/ui/tools/pencil-tool.cpp:457
+#: ../src/ui/tools/pen-tool.cpp:224 ../src/ui/tools/pencil-tool.cpp:454
msgid "Drawing cancelled"
msgstr "Zīmēšana atcelta"
@@ -20924,18 +20884,16 @@ msgid "<b>Click</b> or <b>click and drag</b> to close and finish the path."
msgstr "<b>Uzklikšķiniet</b> vai <b>uzklikšķiniet un velciet</b>, lai noslēgtu un pabeigtu ceļu."
#: ../src/ui/tools/pen-tool.cpp:639
-#, fuzzy
msgid "<b>Click</b> or <b>click and drag</b> to close and finish the path. Shift+Click make a cusp node"
-msgstr "<b>Uzklikšķiniet</b> vai <b>uzklikšķiniet un velciet</b>, lai noslēgtu un pabeigtu ceļu."
+msgstr "<b>Uzklikšķiniet</b> vai <b>uzklikšķiniet un velciet</b>, lai noslēgtu un pabeigtu ceļu. Shift+klikšķis izveido aso mezglu."
#: ../src/ui/tools/pen-tool.cpp:651
msgid "<b>Click</b> or <b>click and drag</b> to continue the path from this point."
msgstr "<b>Uzklikšķiniet</b> vai <b>uzklikšķiniet un velciet</b>, lai turpinÄtu ceļu no šī punkta."
#: ../src/ui/tools/pen-tool.cpp:653
-#, fuzzy
msgid "<b>Click</b> or <b>click and drag</b> to continue the path from this point. Shift+Click make a cusp node"
-msgstr "<b>Uzklikšķiniet</b> vai <b>uzklikšķiniet un velciet</b>, lai turpinÄtu ceļu no šī punkta."
+msgstr "<b>Uzklikšķiniet</b> vai <b>uzklikšķiniet un velciet</b>, lai turpinÄtu ceļu no šī punkta. Shift+klikšķis izveido aso mezglu."
#: ../src/ui/tools/pen-tool.cpp:2027
#, c-format
@@ -20948,14 +20906,14 @@ msgid "<b>Line segment</b>: angle %3.2f&#176;, distance %s; with <b>Ctrl</b> to
msgstr "<b>LÄ«nijas posms</b>: leņķis %3.2f&#176;, attÄlums %s; ar <b>Ctrl</b> - pievilkt leņķim, <b>Enter</b> - pabeigt ceļu"
#: ../src/ui/tools/pen-tool.cpp:2031
-#, fuzzy, c-format
+#, 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 "<b>LÄ«knes posms</b>: leņķis %3.2f&#176;, attÄlums %s; ar <b>Ctrl</b>-pievilkt leņķim, <b>Enter</b> - pabeigt ceļu"
+msgstr "<b>LÄ«knes posms</b>: leņķis %3.2f&#176;, attÄlums %s; <b>Shift+klikšķi</b> izveido aso mezglu, <b>Enter</b> - pabeigt ceļu"
#: ../src/ui/tools/pen-tool.cpp:2032
-#, fuzzy, c-format
+#, 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 "<b>LÄ«nijas posms</b>: leņķis %3.2f&#176;, attÄlums %s; ar <b>Ctrl</b> - pievilkt leņķim, <b>Enter</b> - pabeigt ceļu"
+msgstr "<b>LÄ«nijas posms</b>: leņķis %3.2f&#176;, attÄlums %s; <b>Shift+klikšķi</b> izveido aso mezglu, <b>Enter</b> - pabeigt ceļu"
#: ../src/ui/tools/pen-tool.cpp:2049
#, c-format
@@ -20989,43 +20947,43 @@ msgid "<b>Drag</b> to continue the path from this point."
msgstr "<b>Velciet</b>, lai turpinÄtu ceļu no šī punkta."
#. Write curves to object
-#: ../src/ui/tools/pencil-tool.cpp:403
+#: ../src/ui/tools/pencil-tool.cpp:401
msgid "Finishing freehand"
msgstr "Beidz brīvrokas zīmēšanu"
-#: ../src/ui/tools/pencil-tool.cpp:506
+#: ../src/ui/tools/pencil-tool.cpp:503
msgid "<b>Sketch mode</b>: holding <b>Alt</b> interpolates between sketched paths. Release <b>Alt</b> to finalize."
msgstr "<b>Skices režīms</b>: turot <b>Alt</b> interpolē starp ieskicētajiem ceļiem. Atlaidiet <b>Alt</b>, lai pabeigtu."
-#: ../src/ui/tools/pencil-tool.cpp:533
+#: ../src/ui/tools/pencil-tool.cpp:530
msgid "Finishing freehand sketch"
msgstr "Beidz brīvrokas uzmetumu"
-#: ../src/ui/tools/rect-tool.cpp:278
+#: ../src/ui/tools/rect-tool.cpp:277
msgid "<b>Ctrl</b>: make square or integer-ratio rect, lock a rounded corner circular"
msgstr "<b>Ctrl</b>: izveidot kvadrÄtu vai taisnstÅ«ri ar veselu skaitļu malu attiecÄ«bÄm, saglabÄt noapaļotos stÅ«rus apaļus"
-#: ../src/ui/tools/rect-tool.cpp:439
+#: ../src/ui/tools/rect-tool.cpp:438
#, c-format
msgid "<b>Rectangle</b>: %s &#215; %s (constrained to ratio %d:%d); with <b>Shift</b> to draw around the starting point"
msgstr "<b>TaisnstÅ«ris</b>: %s &#215; %s (ierobežots ar proporcijÄm %d:%d); ar <b>Shift</b> - zÄ«mÄ“t apkÄrt sÄkumpunktam"
-#: ../src/ui/tools/rect-tool.cpp:442
+#: ../src/ui/tools/rect-tool.cpp:441
#, c-format
msgid "<b>Rectangle</b>: %s &#215; %s (constrained to golden ratio 1.618 : 1); with <b>Shift</b> to draw around the starting point"
msgstr "<b>TaisnstÅ«ris</b>: %s &#215; %s (ierobežots zelta šķēluma proporcijÄs 1.618 : 1); ar <b>Shift</b> - zÄ«mÄ“t apkÄrt sÄkumpunktam"
-#: ../src/ui/tools/rect-tool.cpp:444
+#: ../src/ui/tools/rect-tool.cpp:443
#, c-format
msgid "<b>Rectangle</b>: %s &#215; %s (constrained to golden ratio 1 : 1.618); with <b>Shift</b> to draw around the starting point"
msgstr "<b>TaisnstÅ«ris</b>: %s &#215; %s (ierobežots zelta šķēluma proporcijÄs 1.618 : 1); ar <b>Shift</b> - zÄ«mÄ“t apkÄrt sÄkumpunktam"
-#: ../src/ui/tools/rect-tool.cpp:448
+#: ../src/ui/tools/rect-tool.cpp:447
#, c-format
msgid "<b>Rectangle</b>: %s &#215; %s; with <b>Ctrl</b> to make square or integer-ratio rectangle; with <b>Shift</b> to draw around the starting point"
msgstr "<b>TaisnstÅ«ris</b>: %s &#215; %s; ar <b>Ctrl</b> - izveidot kvadrÄtu vai taisnstÅ«ri ar veselu skaitļu malu proporcijÄm; ar <b>Shift</b> - zÄ«mÄ“t apkÄrt sÄkumpunktam"
-#: ../src/ui/tools/rect-tool.cpp:471
+#: ../src/ui/tools/rect-tool.cpp:470
msgid "Create rectangle"
msgstr "Izveidot taisnstūri"
@@ -21053,19 +21011,19 @@ msgstr "<b>Velciet pÄri</b> objektiem lai tos atlasÄ«tu; atlaidiet <b>Alt</b>,
msgid "<b>Drag around</b> objects to select them; press <b>Alt</b> to switch to touch selection"
msgstr "<b>Valciet apkÄart</b> objektiem, lai tos atlasÄ«tu; nospiediet <b>Alt</b>, lai pÄrslÄ“gtos uz atlasi ar pieskÄrienu"
-#: ../src/ui/tools/select-tool.cpp:941
+#: ../src/ui/tools/select-tool.cpp:939
msgid "<b>Ctrl</b>: click to select in groups; drag to move hor/vert"
msgstr "<b>Ctrl</b>: klikšķiniet, lai atlasÄ«tu grupÄs; velciet, lai pÄrvietotu horizontÄli/vertikÄli"
-#: ../src/ui/tools/select-tool.cpp:942
+#: ../src/ui/tools/select-tool.cpp:940
msgid "<b>Shift</b>: click to toggle select; drag for rubberband selection"
msgstr "<b>Shift</b>: uzklikšķiniet, lai manītu atlasi, velciet laso atlasei"
-#: ../src/ui/tools/select-tool.cpp:943
+#: ../src/ui/tools/select-tool.cpp:941
msgid "<b>Alt</b>: click to select under; scroll mouse-wheel to cycle-select; drag to move selected or select by touch"
msgstr "<b>Alt</b>: klikšķis, lai atlasÄ«tu zem kursora esoÅ¡o; ritiniet ar peles ritenÄ«ti, lai cikliski mainÄ«tu atlasÄ«to; velciet, lai pÄrvietotu atlasÄ«to vai atlasÄ«tu ar pieskÄrienu"
-#: ../src/ui/tools/select-tool.cpp:1151
+#: ../src/ui/tools/select-tool.cpp:1149
msgid "Selected object is not a group. Cannot enter."
msgstr "Izvēlētais objekts nav grupa. Nav iespējams ieiet."
@@ -21113,19 +21071,19 @@ msgstr "%s. Velciet, uzklikšķiniet vai uzklikšķiniet un ritiniet, lai izsmid
msgid "%s. Drag, click or click and scroll to spray in a <b>single path</b> of the initial selection."
msgstr "%s. Velciet, uzklikšķiniet vai uzklikšķiniet un ritiniet, lai izsmidzinÄtu sÄkotnÄ“ji atlasÄ«to <b>vienÄ ceļÄ</b>."
-#: ../src/ui/tools/spray-tool.cpp:654
+#: ../src/ui/tools/spray-tool.cpp:648
msgid "<b>Nothing selected!</b> Select objects to spray."
msgstr "<b>Nekas nav atlasÄ«ts!</b> Atlasiet izsmidzinÄmos objektus."
-#: ../src/ui/tools/spray-tool.cpp:729 ../src/widgets/spray-toolbar.cpp:166
+#: ../src/ui/tools/spray-tool.cpp:723 ../src/widgets/spray-toolbar.cpp:166
msgid "Spray with copies"
msgstr "SmidzinÄt kopijas"
-#: ../src/ui/tools/spray-tool.cpp:733 ../src/widgets/spray-toolbar.cpp:173
+#: ../src/ui/tools/spray-tool.cpp:727 ../src/widgets/spray-toolbar.cpp:173
msgid "Spray with clones"
msgstr "SmidzinÄt klonus"
-#: ../src/ui/tools/spray-tool.cpp:737
+#: ../src/ui/tools/spray-tool.cpp:731
msgid "Spray in single path"
msgstr "IzsmidzinÄt vienÄ ceļÄ"
@@ -21265,7 +21223,7 @@ msgstr "PaplaÅ¡inÄt burtu atstatumus"
msgid "Paste text"
msgstr "Ielīmet tekstu"
-#: ../src/ui/tools/text-tool.cpp:1574
+#: ../src/ui/tools/text-tool.cpp:1573
#, c-format
msgid "Type or edit flowed text (%d character%s); <b>Enter</b> to start new paragraph."
msgid_plural "Type or edit flowed text (%d characters%s); <b>Enter</b> to start new paragraph."
@@ -21273,7 +21231,7 @@ msgstr[0] "Ievadiet vai labojiet teksta aizpildījumu (%d zīme%s); <b>Enter</b>
msgstr[1] "Ievadiet vai labojiet teksta aizpildÄ«jumu (%d zÄ«mes%s); <b>Enter</b> - lai sÄktu jaunu rindkopu."
msgstr[2] "Ievadiet vai labojiet teksta aizpildÄ«jumu (%d zÄ«mes%s); <b>Enter</b> - lai sÄktu jaunu rindkopu."
-#: ../src/ui/tools/text-tool.cpp:1576
+#: ../src/ui/tools/text-tool.cpp:1575
#, c-format
msgid "Type or edit text (%d character%s); <b>Enter</b> to start new line."
msgid_plural "Type or edit text (%d characters%s); <b>Enter</b> to start new line."
@@ -21281,11 +21239,11 @@ msgstr[0] "Ievadiet vai labojiet tekstu (%d rakstzīme%s); nospiediet <b>Enter</
msgstr[1] "Ievadiet vai labojiet tekstu (%d rakstzÄ«mes%s); nospiediet <b>Enter</b> jaunas rindas sÄkÅ¡anai."
msgstr[2] "Ievadiet vai labojiet tekstu (%d rakstzÄ«mes%s); nospiediet <b>Enter</b> jaunas rindas sÄkÅ¡anai."
-#: ../src/ui/tools/text-tool.cpp:1686
+#: ../src/ui/tools/text-tool.cpp:1685
msgid "Type text"
msgstr "Ievadiet tekstu"
-#: ../src/ui/tools/tool-base.cpp:705
+#: ../src/ui/tools/tool-base.cpp:701
msgid "<b>Space+mouse move</b> to pan canvas"
msgstr "<b>Atstarpēšanas taustiņš+peles kustÄ«ba</b>, lai pÄrvietotos pa audeklu"
@@ -21354,59 +21312,59 @@ msgstr "%s. Velciet vai uzklikšķiniet, lai <b>dažÄdotu krÄsas</b>."
msgid "%s. Drag or click to <b>increase blur</b>; with Shift to <b>decrease</b>."
msgstr "%s. Velciet vai uzklikšķiniet, lai<b>palielinÄtu aizmiglojumu</b>; ar Shift t - <b>lai samazinÄtu</b>."
-#: ../src/ui/tools/tweak-tool.cpp:1195
+#: ../src/ui/tools/tweak-tool.cpp:1192
msgid "<b>Nothing selected!</b> Select objects to tweak."
msgstr "<b>Nekas nav atlasīts!</b> Atlasiet pieskaņojamos objektus."
-#: ../src/ui/tools/tweak-tool.cpp:1229
+#: ../src/ui/tools/tweak-tool.cpp:1226
msgid "Move tweak"
msgstr "PÄrvietoÅ¡anas pieskņoÅ¡ana"
-#: ../src/ui/tools/tweak-tool.cpp:1233
+#: ../src/ui/tools/tweak-tool.cpp:1230
msgid "Move in/out tweak"
msgstr "PÄrvietot iekÅ¡Ä/ÄrÄ pieskaņoÅ¡ana"
-#: ../src/ui/tools/tweak-tool.cpp:1237
+#: ../src/ui/tools/tweak-tool.cpp:1234
msgid "Move jitter tweak"
msgstr "PÄrvietoÅ¡anas trÄ«ces pieskaņoÅ¡ana"
-#: ../src/ui/tools/tweak-tool.cpp:1241
+#: ../src/ui/tools/tweak-tool.cpp:1238
msgid "Scale tweak"
msgstr "Mērogošanas pieskaņošana"
-#: ../src/ui/tools/tweak-tool.cpp:1245
+#: ../src/ui/tools/tweak-tool.cpp:1242
msgid "Rotate tweak"
msgstr "Griešanas pieskaņošana"
-#: ../src/ui/tools/tweak-tool.cpp:1249
+#: ../src/ui/tools/tweak-tool.cpp:1246
msgid "Duplicate/delete tweak"
msgstr "Dublēt/dzēst pieskaņošana"
-#: ../src/ui/tools/tweak-tool.cpp:1253
+#: ../src/ui/tools/tweak-tool.cpp:1250
msgid "Push path tweak"
msgstr "Ceļa pagrūšanas pieskaņošana"
-#: ../src/ui/tools/tweak-tool.cpp:1257
+#: ../src/ui/tools/tweak-tool.cpp:1254
msgid "Shrink/grow path tweak"
msgstr "Ceļa samazinÄjuma/palielinÄjuma pieskaņosana"
-#: ../src/ui/tools/tweak-tool.cpp:1261
+#: ../src/ui/tools/tweak-tool.cpp:1258
msgid "Attract/repel path tweak"
msgstr "Ceļa pieskaņošana pievelkot/atgrūžot"
-#: ../src/ui/tools/tweak-tool.cpp:1265
+#: ../src/ui/tools/tweak-tool.cpp:1262
msgid "Roughen path tweak"
msgstr "Ceļa raupjošanas pieskaņošana"
-#: ../src/ui/tools/tweak-tool.cpp:1269
+#: ../src/ui/tools/tweak-tool.cpp:1266
msgid "Color paint tweak"
msgstr "KrÄsokuma pieskaņoÅ¡ana"
-#: ../src/ui/tools/tweak-tool.cpp:1273
+#: ../src/ui/tools/tweak-tool.cpp:1270
msgid "Color jitter tweak"
msgstr "KrÄsu trÄ«ces pieskaņoÅ¡ana"
-#: ../src/ui/tools/tweak-tool.cpp:1277
+#: ../src/ui/tools/tweak-tool.cpp:1274
msgid "Blur tweak"
msgstr "Pieskaņot aizmiglojumu"
@@ -21450,186 +21408,225 @@ msgstr "Dokumenta licence atsvaidzinÄta"
msgid "Opacity (%)"
msgstr "Necaurspīdība (%)"
-#: ../src/ui/widget/object-composite-settings.cpp:159
+#: ../src/ui/widget/object-composite-settings.cpp:160
msgid "Change blur"
msgstr "Mainīt aizmiglojumu"
-#: ../src/ui/widget/object-composite-settings.cpp:199 ../src/ui/widget/selected-style.cpp:943 ../src/ui/widget/selected-style.cpp:1245
+#: ../src/ui/widget/object-composite-settings.cpp:200 ../src/ui/widget/selected-style.cpp:943 ../src/ui/widget/selected-style.cpp:1245
msgid "Change opacity"
msgstr "Mainīt necaurspīdību"
-#: ../src/ui/widget/page-sizer.cpp:235
+#: ../src/ui/widget/page-sizer.cpp:236
msgid "U_nits:"
msgstr "Vie_nības:"
-#: ../src/ui/widget/page-sizer.cpp:236
+#: ../src/ui/widget/page-sizer.cpp:237
msgid "Width of paper"
msgstr "Papīra platums"
-#: ../src/ui/widget/page-sizer.cpp:237
+#: ../src/ui/widget/page-sizer.cpp:238
msgid "Height of paper"
msgstr "Papīra augstums"
-#: ../src/ui/widget/page-sizer.cpp:238
+#: ../src/ui/widget/page-sizer.cpp:239
msgid "T_op margin:"
msgstr "Au_gšējÄ mala:"
-#: ../src/ui/widget/page-sizer.cpp:238
+#: ../src/ui/widget/page-sizer.cpp:239
msgid "Top margin"
msgstr "AugšējÄ mala"
-#: ../src/ui/widget/page-sizer.cpp:239
+#: ../src/ui/widget/page-sizer.cpp:240
msgid "L_eft:"
msgstr "K_reisÄ:"
-#: ../src/ui/widget/page-sizer.cpp:239
+#: ../src/ui/widget/page-sizer.cpp:240
msgid "Left margin"
msgstr "KreisÄ mala"
-#: ../src/ui/widget/page-sizer.cpp:240
+#: ../src/ui/widget/page-sizer.cpp:241
msgid "Ri_ght:"
msgstr "La_bÄ:"
-#: ../src/ui/widget/page-sizer.cpp:240
+#: ../src/ui/widget/page-sizer.cpp:241
msgid "Right margin"
msgstr "LabÄ mala"
-#: ../src/ui/widget/page-sizer.cpp:241
+#: ../src/ui/widget/page-sizer.cpp:242
msgid "Botto_m:"
msgstr "Apakšē_jais:"
-#: ../src/ui/widget/page-sizer.cpp:241
+#: ../src/ui/widget/page-sizer.cpp:242
msgid "Bottom margin"
msgstr "ApakšējÄ mala"
-#: ../src/ui/widget/page-sizer.cpp:296
+#: ../src/ui/widget/page-sizer.cpp:244
+msgid "Scale _x:"
+msgstr "Mērogs _x:"
+
+#: ../src/ui/widget/page-sizer.cpp:244
+msgid "Scale X"
+msgstr "Mērogs X"
+
+#: ../src/ui/widget/page-sizer.cpp:245
+msgid "Scale _y:"
+msgstr "Mērogs _y:"
+
+#: ../src/ui/widget/page-sizer.cpp:245
+msgid "Scale Y"
+msgstr "Mērogs Y"
+
+#: ../src/ui/widget/page-sizer.cpp:321
msgid "Orientation:"
msgstr "OrientÄcija:"
-#: ../src/ui/widget/page-sizer.cpp:299
+#: ../src/ui/widget/page-sizer.cpp:324
msgid "_Landscape"
msgstr "_Ainava"
-#: ../src/ui/widget/page-sizer.cpp:304
+#: ../src/ui/widget/page-sizer.cpp:329
msgid "_Portrait"
msgstr "_Portrets"
#. ## Set up custom size frame
-#: ../src/ui/widget/page-sizer.cpp:322
+#: ../src/ui/widget/page-sizer.cpp:348
msgid "Custom size"
msgstr "PielÄgots izmÄ“rs"
-#: ../src/ui/widget/page-sizer.cpp:367
+#: ../src/ui/widget/page-sizer.cpp:393
msgid "Resi_ze page to content..."
msgstr "Pie_lÄgot lapu saturam..."
-#: ../src/ui/widget/page-sizer.cpp:419
+#: ../src/ui/widget/page-sizer.cpp:445
msgid "_Resize page to drawing or selection"
msgstr "_PielÄgot lapas izmÄ“ru zÄ«mÄ“juma vai iezÄ«mÄ“tajam"
-#: ../src/ui/widget/page-sizer.cpp:420
+#: ../src/ui/widget/page-sizer.cpp:446
msgid "Resize the page to fit the current selection, or the entire drawing if there is no selection"
msgstr "PielÄgot lapas izmÄ“ru paÅ¡reiz iezÄ«mÄ“tajam vai arÄ« visas zÄ«mÄ“jumam, ja nekas nav iezÄ«mÄ“ts"
-#: ../src/ui/widget/page-sizer.cpp:489
+#: ../src/ui/widget/page-sizer.cpp:477
+msgid "While SVG allows non-uniform scaling it is recommended to use only uniform scaling in Inkscape. To set a non-uniform scaling, set the 'viewBox' directly."
+msgstr ""
+
+#: ../src/ui/widget/page-sizer.cpp:481
+#, fuzzy
+msgid "_Viewbox..."
+msgstr "Skatīt"
+
+#: ../src/ui/widget/page-sizer.cpp:588
msgid "Set page size"
msgstr "Iestatiet lapas izmēru"
-#: ../src/ui/widget/panel.cpp:117
+#: ../src/ui/widget/page-sizer.cpp:834
+msgid "User units per "
+msgstr "LietotÄja vienÄ«bas katrÄ"
+
+#: ../src/ui/widget/page-sizer.cpp:930
+#, fuzzy
+msgid "Set page scale"
+msgstr "Lapu komplekts"
+
+#: ../src/ui/widget/page-sizer.cpp:956
+#, fuzzy
+msgid "Set 'viewBox'"
+msgstr "-- Nav uzstÄdÄ«ts --"
+
+#: ../src/ui/widget/panel.cpp:113
msgid "List"
msgstr "Saraksts"
-#: ../src/ui/widget/panel.cpp:140
+#: ../src/ui/widget/panel.cpp:136
msgctxt "Swatches"
msgid "Size"
msgstr "Lielums"
-#: ../src/ui/widget/panel.cpp:144
+#: ../src/ui/widget/panel.cpp:140
msgctxt "Swatches height"
msgid "Tiny"
msgstr "Sīks"
-#: ../src/ui/widget/panel.cpp:145
+#: ../src/ui/widget/panel.cpp:141
msgctxt "Swatches height"
msgid "Small"
msgstr "Mazs"
-#: ../src/ui/widget/panel.cpp:146
+#: ../src/ui/widget/panel.cpp:142
msgctxt "Swatches height"
msgid "Medium"
msgstr "Vidējs"
-#: ../src/ui/widget/panel.cpp:147
+#: ../src/ui/widget/panel.cpp:143
msgctxt "Swatches height"
msgid "Large"
msgstr "Liels"
-#: ../src/ui/widget/panel.cpp:148
+#: ../src/ui/widget/panel.cpp:144
msgctxt "Swatches height"
msgid "Huge"
msgstr "Ļoti liels"
-#: ../src/ui/widget/panel.cpp:170
+#: ../src/ui/widget/panel.cpp:166
msgctxt "Swatches"
msgid "Width"
msgstr "Platums"
-#: ../src/ui/widget/panel.cpp:174
+#: ../src/ui/widget/panel.cpp:170
msgctxt "Swatches width"
msgid "Narrower"
msgstr "Å aurÄks"
-#: ../src/ui/widget/panel.cpp:175
+#: ../src/ui/widget/panel.cpp:171
msgctxt "Swatches width"
msgid "Narrow"
msgstr "Å aurs"
-#: ../src/ui/widget/panel.cpp:176
+#: ../src/ui/widget/panel.cpp:172
msgctxt "Swatches width"
msgid "Medium"
msgstr "Vidējs"
-#: ../src/ui/widget/panel.cpp:177
+#: ../src/ui/widget/panel.cpp:173
msgctxt "Swatches width"
msgid "Wide"
msgstr "Plats"
-#: ../src/ui/widget/panel.cpp:178
+#: ../src/ui/widget/panel.cpp:174
msgctxt "Swatches width"
msgid "Wider"
msgstr "PlatÄks"
-#: ../src/ui/widget/panel.cpp:208
+#: ../src/ui/widget/panel.cpp:204
msgctxt "Swatches"
msgid "Border"
msgstr "Robeža"
-#: ../src/ui/widget/panel.cpp:212
+#: ../src/ui/widget/panel.cpp:208
msgctxt "Swatches border"
msgid "None"
msgstr "Nekas"
-#: ../src/ui/widget/panel.cpp:213
+#: ../src/ui/widget/panel.cpp:209
msgctxt "Swatches border"
msgid "Solid"
msgstr "Vienlaidus"
-#: ../src/ui/widget/panel.cpp:214
+#: ../src/ui/widget/panel.cpp:210
msgctxt "Swatches border"
msgid "Wide"
msgstr "Plats"
#. TRANSLATORS: "Wrap" indicates how colour swatches are displayed
-#: ../src/ui/widget/panel.cpp:245
+#: ../src/ui/widget/panel.cpp:241
msgctxt "Swatches"
msgid "Wrap"
msgstr "Aplauzt"
-#: ../src/ui/widget/preferences-widget.cpp:802
+#: ../src/ui/widget/preferences-widget.cpp:798
msgid "_Browse..."
msgstr "_PÄrlÅ«kot..."
-#: ../src/ui/widget/preferences-widget.cpp:888
+#: ../src/ui/widget/preferences-widget.cpp:884
msgid "Select a bitmap editor"
msgstr "Izvēlieties bitkartes redaktoru"
@@ -21677,7 +21674,7 @@ msgstr "O:"
msgid "N/A"
msgstr "n/z"
-#: ../src/ui/widget/selected-style.cpp:181 ../src/ui/widget/selected-style.cpp:1112 ../src/ui/widget/selected-style.cpp:1113 ../src/widgets/gradient-toolbar.cpp:162
+#: ../src/ui/widget/selected-style.cpp:181 ../src/ui/widget/selected-style.cpp:1112 ../src/ui/widget/selected-style.cpp:1113 ../src/widgets/gradient-toolbar.cpp:163
msgid "Nothing selected"
msgstr "Nekas nav izvēlēts"
@@ -21701,7 +21698,7 @@ msgctxt "Fill and stroke"
msgid "No stroke"
msgstr "Nav apmales"
-#: ../src/ui/widget/selected-style.cpp:192 ../src/ui/widget/style-swatch.cpp:300 ../src/widgets/paint-selector.cpp:234
+#: ../src/ui/widget/selected-style.cpp:192 ../src/ui/widget/style-swatch.cpp:300 ../src/widgets/paint-selector.cpp:231
msgid "Pattern"
msgstr "Faktūra"
@@ -21766,11 +21763,11 @@ msgid "<b>Unset</b>"
msgstr "<b>atiestatīts</b>"
#. TRANSLATORS COMMENT: unset is a verb here
-#: ../src/ui/widget/selected-style.cpp:237 ../src/ui/widget/selected-style.cpp:295 ../src/ui/widget/selected-style.cpp:575 ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:709
+#: ../src/ui/widget/selected-style.cpp:237 ../src/ui/widget/selected-style.cpp:295 ../src/ui/widget/selected-style.cpp:575 ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:705
msgid "Unset fill"
msgstr "Atiestatīt aizpildījumu"
-#: ../src/ui/widget/selected-style.cpp:237 ../src/ui/widget/selected-style.cpp:295 ../src/ui/widget/selected-style.cpp:591 ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:709
+#: ../src/ui/widget/selected-style.cpp:237 ../src/ui/widget/selected-style.cpp:295 ../src/ui/widget/selected-style.cpp:591 ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:705
msgid "Unset stroke"
msgstr "Atiestatīt apmali"
@@ -21844,11 +21841,11 @@ msgstr "Padarīt aizpildījumu necaurspīdīgu"
msgid "Make stroke opaque"
msgstr "Padarīt apmali necaurspīdīgu"
-#: ../src/ui/widget/selected-style.cpp:299 ../src/ui/widget/selected-style.cpp:557 ../src/widgets/fill-style.cpp:508
+#: ../src/ui/widget/selected-style.cpp:299 ../src/ui/widget/selected-style.cpp:557 ../src/widgets/fill-style.cpp:504
msgid "Remove fill"
msgstr "AizvÄkt aizpildÄ«jumu"
-#: ../src/ui/widget/selected-style.cpp:299 ../src/ui/widget/selected-style.cpp:566 ../src/widgets/fill-style.cpp:508
+#: ../src/ui/widget/selected-style.cpp:299 ../src/ui/widget/selected-style.cpp:566 ../src/widgets/fill-style.cpp:504
msgid "Remove stroke"
msgstr "AizvÄkt apmali"
@@ -22026,7 +22023,7 @@ msgstr "Apvienot saplūšanas punktus"
msgid "3D box: Move vanishing point"
msgstr "3D paralÄ“lskaldnis: pÄrvietot saplūšanas punktu"
-#: ../src/vanishing-point.cpp:327
+#: ../src/vanishing-point.cpp:328
#, c-format
msgid "<b>Finite</b> vanishing point shared by <b>%d</b> box"
msgid_plural "<b>Finite</b> vanishing point shared by <b>%d</b> boxes; drag with <b>Shift</b> to separate selected box(es)"
@@ -22036,7 +22033,7 @@ msgstr[2] "<b>Galīgs</b> saplūšanas punkts, kopējs <b>%d</b> paralēlskaldņ
#. This won't make sense any more when infinite VPs are not shown on the canvas,
#. but currently we update the status message anyway
-#: ../src/vanishing-point.cpp:334
+#: ../src/vanishing-point.cpp:335
#, c-format
msgid "<b>Infinite</b> vanishing point shared by <b>%d</b> box"
msgid_plural "<b>Infinite</b> vanishing point shared by <b>%d</b> boxes; drag with <b>Shift</b> to separate selected box(es)"
@@ -22044,7 +22041,7 @@ msgstr[0] "<b>Bezalīgs</b> saplūšanas punkts, kopējs <b>%d</b> paralēlskald
msgstr[1] "<b>Bezgalīgs</b> saplūšanas punkts, kopējs <b>%d</b> paralēlskaldņiem; velciet ar <b>Shift</b>, lai atdalītu atlasīto(s) paralēlskaldni (-ņus)"
msgstr[2] "<b>Bezgalīgs</b> saplūšanas punkts, kopējs <b>%d</b> paralēlskaldņiem; velciet ar <b>Shift</b>, lai atdalītu atlasīto(s) paralēlskaldni (-ņus)"
-#: ../src/vanishing-point.cpp:342
+#: ../src/vanishing-point.cpp:343
#, c-format
msgid "shared by <b>%d</b> box; drag with <b>Shift</b> to separate selected box(es)"
msgid_plural "shared by <b>%d</b> boxes; drag with <b>Shift</b> to separate selected box(es)"
@@ -22052,2341 +22049,2334 @@ msgstr[0] "kopējs <b>%d</b> paralēlskaldnim; velciet ar <b>Shift</b>, lai atda
msgstr[1] "kopējs <b>%d</b> paralēlskaldņiem; velciet ar <b>Shift</b>, lai atdalītu atlasīto(s) paralēlskaldni (-ņus)"
msgstr[2] ", kopējs <b>%d</b> paralēlskaldņiem; velciet ar <b>Shift</b>, lai atdalītu atlasīto(s) paralēlskaldni (-ņus)"
-#: ../src/verbs.cpp:138
+#: ../src/verbs.cpp:137
msgid "File"
msgstr "Datne"
-#: ../src/verbs.cpp:233 ../share/extensions/interp_att_g.inx.h:22
+#: ../src/verbs.cpp:232 ../share/extensions/interp_att_g.inx.h:22
msgid "Tag"
msgstr "Tags"
-#: ../src/verbs.cpp:252
+#: ../src/verbs.cpp:251
msgid "Context"
msgstr "Konteksts"
-#: ../src/verbs.cpp:271 ../src/verbs.cpp:2302 ../share/extensions/jessyInk_view.inx.h:1 ../share/extensions/polyhedron_3d.inx.h:26
+#: ../src/verbs.cpp:270 ../src/verbs.cpp:2271 ../share/extensions/jessyInk_view.inx.h:1 ../share/extensions/polyhedron_3d.inx.h:26
msgid "View"
msgstr "Skatīt"
-#: ../src/verbs.cpp:291
+#: ../src/verbs.cpp:290
msgid "Dialog"
msgstr "Dialoglodziņš"
-#: ../src/verbs.cpp:1260
+#: ../src/verbs.cpp:1259
msgid "Switch to next layer"
msgstr "PÄrslÄ“gties uz nÄkoÅ¡o slÄni"
-#: ../src/verbs.cpp:1261
+#: ../src/verbs.cpp:1260
msgid "Switched to next layer."
msgstr "PÄrslÄ“gts uz nÄkoÅ¡o slÄni."
-#: ../src/verbs.cpp:1263
+#: ../src/verbs.cpp:1262
msgid "Cannot go past last layer."
msgstr "Nevar pÄrvietoties tÄlÄk par pÄ“dÄ“jo slÄni."
-#: ../src/verbs.cpp:1272
+#: ../src/verbs.cpp:1271
msgid "Switch to previous layer"
msgstr "PÄrslÄ“gties uz iepriekšējo slÄni"
-#: ../src/verbs.cpp:1273
+#: ../src/verbs.cpp:1272
msgid "Switched to previous layer."
msgstr "PÄrslÄ“gts uz iepriekšējo slÄni."
-#: ../src/verbs.cpp:1275
+#: ../src/verbs.cpp:1274
msgid "Cannot go before first layer."
msgstr "Nevar pÄrvietoties pirms pirmÄ slÄņa."
-#: ../src/verbs.cpp:1296 ../src/verbs.cpp:1393 ../src/verbs.cpp:1429 ../src/verbs.cpp:1435 ../src/verbs.cpp:1459 ../src/verbs.cpp:1474
+#: ../src/verbs.cpp:1295 ../src/verbs.cpp:1362 ../src/verbs.cpp:1398 ../src/verbs.cpp:1404 ../src/verbs.cpp:1428 ../src/verbs.cpp:1443
msgid "No current layer."
msgstr "Nav paÅ¡reizÄ“jÄ slÄņa."
-#: ../src/verbs.cpp:1325 ../src/verbs.cpp:1329
+#: ../src/verbs.cpp:1324 ../src/verbs.cpp:1328
#, c-format
msgid "Raised layer <b>%s</b>."
msgstr "Līmenis <b>%s</b> pacelts."
-#: ../src/verbs.cpp:1326
+#: ../src/verbs.cpp:1325
msgid "Layer to top"
msgstr "SlÄni uz virspusi"
-#: ../src/verbs.cpp:1330
+#: ../src/verbs.cpp:1329
msgid "Raise layer"
msgstr "Pacelt slÄni"
-#: ../src/verbs.cpp:1333 ../src/verbs.cpp:1337
+#: ../src/verbs.cpp:1332 ../src/verbs.cpp:1336
#, c-format
msgid "Lowered layer <b>%s</b>."
msgstr "Nolaistais slÄnis <b>%s</b>."
-#: ../src/verbs.cpp:1334
+#: ../src/verbs.cpp:1333
msgid "Layer to bottom"
msgstr "SlÄni uz apakÅ¡u"
-#: ../src/verbs.cpp:1338
+#: ../src/verbs.cpp:1337
msgid "Lower layer"
msgstr "ZemÄkais slÄnis"
-#: ../src/verbs.cpp:1347
+#: ../src/verbs.cpp:1346
msgid "Cannot move layer any further."
msgstr "SlÄni tÄlÄk pÄrvietot nav iespÄ“jams."
-#: ../src/verbs.cpp:1361 ../src/verbs.cpp:1380
-#, c-format
-msgid "%s copy"
-msgstr "%s kopēt"
-
-#: ../src/verbs.cpp:1388
+#: ../src/verbs.cpp:1357
msgid "Duplicate layer"
msgstr "DublÄ“t slÄni"
#. TRANSLATORS: this means "The layer has been duplicated."
-#: ../src/verbs.cpp:1391
+#: ../src/verbs.cpp:1360
msgid "Duplicated layer."
msgstr "DublÄ“tais slÄnis."
-#: ../src/verbs.cpp:1424
+#: ../src/verbs.cpp:1393
msgid "Delete layer"
msgstr "DzÄ“st slÄni"
#. TRANSLATORS: this means "The layer has been deleted."
-#: ../src/verbs.cpp:1427
+#: ../src/verbs.cpp:1396
msgid "Deleted layer."
msgstr "DzÄ“stais slÄnis."
-#: ../src/verbs.cpp:1444
+#: ../src/verbs.cpp:1413
msgid "Show all layers"
msgstr "RÄdÄ«t visus slÄņus"
-#: ../src/verbs.cpp:1449
+#: ../src/verbs.cpp:1418
msgid "Hide all layers"
msgstr "SlÄ“pt visus slÄņus"
-#: ../src/verbs.cpp:1454
+#: ../src/verbs.cpp:1423
msgid "Lock all layers"
msgstr "SlÄ“gt visus slÄņus"
-#: ../src/verbs.cpp:1468
+#: ../src/verbs.cpp:1437
msgid "Unlock all layers"
msgstr "AtslÄ“gt visus slÄņus"
-#: ../src/verbs.cpp:1552
+#: ../src/verbs.cpp:1521
msgid "Flip horizontally"
msgstr "Apmest horizontÄli"
-#: ../src/verbs.cpp:1557
+#: ../src/verbs.cpp:1526
msgid "Flip vertically"
msgstr "Apmest vertikÄli"
-#: ../src/verbs.cpp:1614 ../src/verbs.cpp:2727
-#, fuzzy
+#: ../src/verbs.cpp:1583 ../src/verbs.cpp:2696
msgid "Create new selection set"
-msgstr "Nospiediet, lai izveidotu jaunu kopu."
+msgstr "Izveidot jaunu atlases kopu"
#. 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:2184
+#: ../src/verbs.cpp:2153
msgid "tutorial-basic.svg"
msgstr "tutorial-basic.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2188
+#: ../src/verbs.cpp:2157
msgid "tutorial-shapes.svg"
msgstr "tutorial-shapes.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2192
+#: ../src/verbs.cpp:2161
msgid "tutorial-advanced.svg"
msgstr "tutorial-advanced.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2196
+#: ../src/verbs.cpp:2165
msgid "tutorial-tracing.svg"
msgstr "tutorial-tracing.svg"
-#: ../src/verbs.cpp:2199
+#: ../src/verbs.cpp:2168
msgid "tutorial-tracing-pixelart.svg"
msgstr "tutorial-tracing-pixelart.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2203
+#: ../src/verbs.cpp:2172
msgid "tutorial-calligraphy.svg"
msgstr "tutorial-calligraphy.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2207
+#: ../src/verbs.cpp:2176
msgid "tutorial-interpolate.svg"
msgstr "tutorial-interpolate.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2211
+#: ../src/verbs.cpp:2180
msgid "tutorial-elements.svg"
msgstr "tutorial-elements.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2215
+#: ../src/verbs.cpp:2184
msgid "tutorial-tips.svg"
msgstr "tutorial-tips.svg"
-#: ../src/verbs.cpp:2401 ../src/verbs.cpp:3000
+#: ../src/verbs.cpp:2370 ../src/verbs.cpp:2969
msgid "Unlock all objects in the current layer"
msgstr "AtslÄ“gt visus objektus paÅ¡reizÄ“jÄ slÄnÄ«"
-#: ../src/verbs.cpp:2405 ../src/verbs.cpp:3002
+#: ../src/verbs.cpp:2374 ../src/verbs.cpp:2971
msgid "Unlock all objects in all layers"
msgstr "AtslÄ“gt visus objektus visos slÄņos"
-#: ../src/verbs.cpp:2409 ../src/verbs.cpp:3004
+#: ../src/verbs.cpp:2378 ../src/verbs.cpp:2973
msgid "Unhide all objects in the current layer"
msgstr "ParÄdÄ«t visus objektus paÅ¡reizÄ“jÄ slÄnÄ«"
-#: ../src/verbs.cpp:2413 ../src/verbs.cpp:3006
+#: ../src/verbs.cpp:2382 ../src/verbs.cpp:2975
msgid "Unhide all objects in all layers"
msgstr "ParÄdÄ«t visus objektus visos slÄnÄ«"
-#: ../src/verbs.cpp:2428
+#: ../src/verbs.cpp:2397
msgctxt "Verb"
msgid "None"
msgstr "Neko"
-#: ../src/verbs.cpp:2428
+#: ../src/verbs.cpp:2397
msgid "Does nothing"
msgstr "Nedara neko"
#. File
#. Tag
-#: ../src/verbs.cpp:2431 ../src/verbs.cpp:2726
+#: ../src/verbs.cpp:2400 ../src/verbs.cpp:2695
msgid "_New"
msgstr "Jau_ns"
-#: ../src/verbs.cpp:2431
+#: ../src/verbs.cpp:2400
msgid "Create new document from the default template"
msgstr "Izveidot jaunu dokumentu no noklusÄ“tÄs veidnes"
-#: ../src/verbs.cpp:2433
+#: ../src/verbs.cpp:2402
msgid "_Open..."
msgstr "_Atvērt..."
-#: ../src/verbs.cpp:2434
+#: ../src/verbs.cpp:2403
msgid "Open an existing document"
msgstr "Atvērt jau esošu dokumentu"
-#: ../src/verbs.cpp:2435
+#: ../src/verbs.cpp:2404
msgid "Re_vert"
msgstr "IelÄdÄ“t iepriekÅ¡ saglabÄto"
-#: ../src/verbs.cpp:2436
+#: ../src/verbs.cpp:2405
msgid "Revert to the last saved version of document (changes will be lost)"
msgstr "Atgriezties pie pÄ“dÄ“jÄs saglabÄtÄs versijas (visas izmaiņas tiks zaudÄ“tas)"
-#: ../src/verbs.cpp:2437
+#: ../src/verbs.cpp:2406
msgid "Save document"
msgstr "SaglabÄt dokumentu"
-#: ../src/verbs.cpp:2439
+#: ../src/verbs.cpp:2408
msgid "Save _As..."
msgstr "S_aglabÄt kÄ..."
-#: ../src/verbs.cpp:2440
+#: ../src/verbs.cpp:2409
msgid "Save document under a new name"
msgstr "SaglabÄt programmu ar citu nosaukumu"
-#: ../src/verbs.cpp:2441
+#: ../src/verbs.cpp:2410
msgid "Save a Cop_y..."
msgstr "SaglabÄt kopi_ju..."
-#: ../src/verbs.cpp:2442
+#: ../src/verbs.cpp:2411
msgid "Save a copy of the document under a new name"
msgstr "SaglabÄt paÅ¡reizÄ“jÄ dokumenta kopiju ar jaunu nosaukumu"
-#: ../src/verbs.cpp:2443
+#: ../src/verbs.cpp:2412
msgid "_Print..."
msgstr "_DrukÄt..."
-#: ../src/verbs.cpp:2443
+#: ../src/verbs.cpp:2412
msgid "Print document"
msgstr "DrukÄt dokumentu"
#. TRANSLATORS: "Vacuum Defs" means "Clean up defs" (so as to remove unused definitions)
-#: ../src/verbs.cpp:2446
+#: ../src/verbs.cpp:2415
msgid "Clean _up document"
msgstr "Uzkopt dokumentu"
-#: ../src/verbs.cpp:2446
+#: ../src/verbs.cpp:2415
msgid "Remove unused definitions (such as gradients or clipping paths) from the &lt;defs&gt; of the document"
msgstr "AizvÄkt neizmantotos iestatÄ«jumus (piemÄ“ram, krÄsu pÄrejas vai izgrieÅ¡anas ceļus) no dokumenta &lt;defs&gt;"
-#: ../src/verbs.cpp:2448
+#: ../src/verbs.cpp:2417
msgid "_Import..."
msgstr "_Importēt..."
-#: ../src/verbs.cpp:2449
+#: ../src/verbs.cpp:2418
msgid "Import a bitmap or SVG image into this document"
msgstr "ImportÄ“t bitkartes vai SVG attÄ“lu Å¡ajÄ dokumentÄ"
#. 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:2451
+#: ../src/verbs.cpp:2420
msgid "Import Clip Art..."
msgstr "Importēt attēlu galeriju..."
-#: ../src/verbs.cpp:2452
+#: ../src/verbs.cpp:2421
msgid "Import clipart from Open Clip Art Library"
msgstr "Importēt attēlu no Open Clip Art bibliotēkas"
#. 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:2454
+#: ../src/verbs.cpp:2423
msgid "N_ext Window"
msgstr "_NÄkoÅ¡ais logs"
-#: ../src/verbs.cpp:2455
+#: ../src/verbs.cpp:2424
msgid "Switch to the next document window"
msgstr "PÄrslÄ“gties uz nÄkoÅ¡Ä dokumenta logu"
-#: ../src/verbs.cpp:2456
+#: ../src/verbs.cpp:2425
msgid "P_revious Window"
msgstr "Ie_priekšējais logs"
-#: ../src/verbs.cpp:2457
+#: ../src/verbs.cpp:2426
msgid "Switch to the previous document window"
msgstr "PÄrslÄ“gties uz iepriekšējÄ dokumenta logu"
-#: ../src/verbs.cpp:2458
+#: ../src/verbs.cpp:2427
msgid "_Close"
msgstr "_Aizvērt"
-#: ../src/verbs.cpp:2459
+#: ../src/verbs.cpp:2428
msgid "Close this document window"
msgstr "AizvÄ“rt patreizÄ“jÄ dokumenta logu"
-#: ../src/verbs.cpp:2460
+#: ../src/verbs.cpp:2429
msgid "_Quit"
msgstr "_Iziet"
-#: ../src/verbs.cpp:2460
+#: ../src/verbs.cpp:2429
msgid "Quit Inkscape"
msgstr "Iziet no Inkscape"
-#: ../src/verbs.cpp:2461
+#: ../src/verbs.cpp:2430
msgid "New from _Template..."
msgstr "Jaunu no saga_taves..."
-#: ../src/verbs.cpp:2462
+#: ../src/verbs.cpp:2431
msgid "Create new project from template"
msgstr "Izveidot jaunu projektu no veidnes"
-#: ../src/verbs.cpp:2465
+#: ../src/verbs.cpp:2434
msgid "Undo last action"
msgstr "Atsaukt pēdējo darbību"
-#: ../src/verbs.cpp:2468
+#: ../src/verbs.cpp:2437
msgid "Do again the last undone action"
msgstr "AtkÄrtot pÄ“dÄ“jo atsaukto darbÄ«bu"
-#: ../src/verbs.cpp:2469
+#: ../src/verbs.cpp:2438
msgid "Cu_t"
msgstr "Griez_t"
-#: ../src/verbs.cpp:2470
+#: ../src/verbs.cpp:2439
msgid "Cut selection to clipboard"
msgstr "Izgriezt atlasīto uz starpliktuvi"
-#: ../src/verbs.cpp:2471
+#: ../src/verbs.cpp:2440
msgid "_Copy"
msgstr "_Kopēt"
-#: ../src/verbs.cpp:2472
+#: ../src/verbs.cpp:2441
msgid "Copy selection to clipboard"
msgstr "Kopēt atlasīto uz starpliktuvi"
-#: ../src/verbs.cpp:2473
+#: ../src/verbs.cpp:2442
msgid "_Paste"
msgstr "_Ielīmēt"
-#: ../src/verbs.cpp:2474
+#: ../src/verbs.cpp:2443
msgid "Paste objects from clipboard to mouse point, or paste text"
msgstr "IelÄ«mÄ“t objektus vai tekstu no starpliktuves peles kursora norÄdÄ«tajÄ vietÄ"
-#: ../src/verbs.cpp:2475
+#: ../src/verbs.cpp:2444
msgid "Paste _Style"
msgstr "Ielīmēt stilu"
-#: ../src/verbs.cpp:2476
+#: ../src/verbs.cpp:2445
msgid "Apply the style of the copied object to selection"
msgstr "Pielietot atlasÄ«tajam nokopÄ“tÄ objekta stilu"
-#: ../src/verbs.cpp:2478
+#: ../src/verbs.cpp:2447
msgid "Scale selection to match the size of the copied object"
msgstr "MÄ“rogot atlasÄ«to, lai atbilstu nokopÄ“tÄ objekta izmÄ“ram"
-#: ../src/verbs.cpp:2479
+#: ../src/verbs.cpp:2448
msgid "Paste _Width"
msgstr "Ielīmēt pla_tumu"
-#: ../src/verbs.cpp:2480
+#: ../src/verbs.cpp:2449
msgid "Scale selection horizontally to match the width of the copied object"
msgstr "MÄ“rogot atlasÄ«to horizontÄli, lai atbilstu nokopÄ“tÄ objekta platumam"
-#: ../src/verbs.cpp:2481
+#: ../src/verbs.cpp:2450
msgid "Paste _Height"
msgstr "Ielīmēt au_gstumu"
-#: ../src/verbs.cpp:2482
+#: ../src/verbs.cpp:2451
msgid "Scale selection vertically to match the height of the copied object"
msgstr "MÄ“rogot atlasÄ«to vertikÄli, lai atbilstu nokopÄ“tÄ objekta augstumam"
-#: ../src/verbs.cpp:2483
+#: ../src/verbs.cpp:2452
msgid "Paste Size Separately"
msgstr "Ielīmēt izmērus atsevišķi"
-#: ../src/verbs.cpp:2484
+#: ../src/verbs.cpp:2453
msgid "Scale each selected object to match the size of the copied object"
msgstr "MÄ“rogot katru atlasÄ«to objektu, lai atbilstu nokopÄ“tÄ objekta izmÄ“ram"
-#: ../src/verbs.cpp:2485
+#: ../src/verbs.cpp:2454
msgid "Paste Width Separately"
msgstr "Ielīmēt platumu atsevišķi"
-#: ../src/verbs.cpp:2486
+#: ../src/verbs.cpp:2455
msgid "Scale each selected object horizontally to match the width of the copied object"
msgstr "MÄ“rogot katru atlasÄ«to objektu horizontÄli, lai atbilstu nokopÄ“tÄ objekta platumam"
-#: ../src/verbs.cpp:2487
+#: ../src/verbs.cpp:2456
msgid "Paste Height Separately"
msgstr "Ielīmēt augstumu atsevišķi"
-#: ../src/verbs.cpp:2488
+#: ../src/verbs.cpp:2457
msgid "Scale each selected object vertically to match the height of the copied object"
msgstr "MÄ“rogot katru atlasÄ«to objektu vertikÄli, lai atbilstu nokopÄ“tÄ objekta augstumam"
-#: ../src/verbs.cpp:2489
+#: ../src/verbs.cpp:2458
msgid "Paste _In Place"
msgstr "IelÄ«mÄ“t vietÄ"
-#: ../src/verbs.cpp:2490
+#: ../src/verbs.cpp:2459
msgid "Paste objects from clipboard to the original location"
msgstr "IelÄ«mÄ“t objektus no starpliktuves to sÄkotnÄ“jÄ atraÅ¡anÄs vietÄ"
-#: ../src/verbs.cpp:2491
+#: ../src/verbs.cpp:2460
msgid "Paste Path _Effect"
msgstr "Ielīmēt ceļa _efektu"
-#: ../src/verbs.cpp:2492
+#: ../src/verbs.cpp:2461
msgid "Apply the path effect of the copied object to selection"
msgstr "Pielietot nokopÄ“tÄ objekta ceļa efektu atlasÄ«tajam"
-#: ../src/verbs.cpp:2493
+#: ../src/verbs.cpp:2462
msgid "Remove Path _Effect"
msgstr "AizvÄkt ceļa _efektu"
-#: ../src/verbs.cpp:2494
+#: ../src/verbs.cpp:2463
msgid "Remove any path effects from selected objects"
msgstr "AizvÄkt visus ceļa efektus no atlasÄ«tajiem objektiem"
-#: ../src/verbs.cpp:2495
+#: ../src/verbs.cpp:2464
msgid "_Remove Filters"
msgstr "Izņemt filt_rus"
-#: ../src/verbs.cpp:2496
+#: ../src/verbs.cpp:2465
msgid "Remove any filters from selected objects"
msgstr "AizvÄkt visus filtrus no atlasÄ«tajiem objektiem"
-#: ../src/verbs.cpp:2497
+#: ../src/verbs.cpp:2466
msgid "_Delete"
msgstr "_Dzēst"
-#: ../src/verbs.cpp:2498
+#: ../src/verbs.cpp:2467
msgid "Delete selection"
msgstr "Dzēst iezīmēto"
-#: ../src/verbs.cpp:2499
+#: ../src/verbs.cpp:2468
msgid "Duplic_ate"
msgstr "Du_blēt"
-#: ../src/verbs.cpp:2500
+#: ../src/verbs.cpp:2469
msgid "Duplicate selected objects"
msgstr "Dublēt iezīmētos objektus"
-#: ../src/verbs.cpp:2501
+#: ../src/verbs.cpp:2470
msgid "Create Clo_ne"
msgstr "Izveidot klo_nu"
-#: ../src/verbs.cpp:2502
+#: ../src/verbs.cpp:2471
msgid "Create a clone (a copy linked to the original) of selected object"
msgstr "Izveidot atlasÄ«tÄ objekta klonus (vai kopÄ“t, piesaistot oriÄ£inÄlam)"
-#: ../src/verbs.cpp:2503
+#: ../src/verbs.cpp:2472
msgid "Unlin_k Clone"
msgstr "Atsaistīt _klonu"
-#: ../src/verbs.cpp:2504
+#: ../src/verbs.cpp:2473
msgid "Cut the selected clones' links to the originals, turning them into standalone objects"
msgstr "Saraut atlasÄ«to klonu saites ar oriÄ£inÄliem, pÄrveidojot tos par neatkarÄ«giem objektiem"
-#: ../src/verbs.cpp:2505
+#: ../src/verbs.cpp:2474
msgid "Relink to Copied"
msgstr "No jauna piesaistīt kopetajam"
-#: ../src/verbs.cpp:2506
+#: ../src/verbs.cpp:2475
msgid "Relink the selected clones to the object currently on the clipboard"
msgstr "Atjaunot atlasīto klonu saites uz pašreiz starpliktuvē atrodošos objektu"
-#: ../src/verbs.cpp:2507
+#: ../src/verbs.cpp:2476
msgid "Select _Original"
msgstr "AtlasÄ«t _oriÄ£inÄlu"
-#: ../src/verbs.cpp:2508
+#: ../src/verbs.cpp:2477
msgid "Select the object to which the selected clone is linked"
msgstr "Atlasīt objektu, kuram ir piesaistīts atlasītais klons"
-#: ../src/verbs.cpp:2509
+#: ../src/verbs.cpp:2478
msgid "Clone original path (LPE)"
msgstr "KlonÄ“t sÄkotnÄ“jo ceļu (LPE)"
-#: ../src/verbs.cpp:2510
+#: ../src/verbs.cpp:2479
msgid "Creates a new path, applies the Clone original LPE, and refers it to the selected path"
msgstr "Izveido jaunu ceļu, pielieto KlonÄ“t sÄkotnÄ“jo LPE un izveido atsauci uz atlasÄ«to ceļu"
-#: ../src/verbs.cpp:2511
+#: ../src/verbs.cpp:2480
msgid "Objects to _Marker"
msgstr "Objektus par _marÄ·ieriem"
-#: ../src/verbs.cpp:2512
+#: ../src/verbs.cpp:2481
msgid "Convert selection to a line marker"
msgstr "PÄrvÄ“rst atlasÄ«to par lÄ«nijas marÄ·ieri"
-#: ../src/verbs.cpp:2513
+#: ../src/verbs.cpp:2482
msgid "Objects to Gu_ides"
msgstr "Objektus par palÄ«glÄ«n_ijÄm"
-#: ../src/verbs.cpp:2514
+#: ../src/verbs.cpp:2483
msgid "Convert selected objects to a collection of guidelines aligned with their edges"
msgstr "PÄrveidot atlasÄ«tos objektus par gar objektu malÄm izkÄrtotu palÄ«glÄ«niju kopu"
-#: ../src/verbs.cpp:2515
+#: ../src/verbs.cpp:2484
msgid "Objects to Patter_n"
msgstr "Objektus par _faktūru"
-#: ../src/verbs.cpp:2516
+#: ../src/verbs.cpp:2485
msgid "Convert selection to a rectangle with tiled pattern fill"
msgstr "PÄrvÄ“rst atlasÄ«to par ar faktÅ«ras elementiem aizpildÄ«tu taisnstÅ«ri"
-#: ../src/verbs.cpp:2517
+#: ../src/verbs.cpp:2486
msgid "Pattern to _Objects"
msgstr "Faktūru par _objektiem"
-#: ../src/verbs.cpp:2518
+#: ../src/verbs.cpp:2487
msgid "Extract objects from a tiled pattern fill"
msgstr "Ekstraģēt objektus no faktūras aizpildījuma"
-#: ../src/verbs.cpp:2519
+#: ../src/verbs.cpp:2488
msgid "Group to Symbol"
msgstr "Grupu par simbolu"
-#: ../src/verbs.cpp:2520
+#: ../src/verbs.cpp:2489
msgid "Convert group to a symbol"
msgstr "PÄrvÄ“rst grupu par simbolu"
-#: ../src/verbs.cpp:2521
+#: ../src/verbs.cpp:2490
msgid "Symbol to Group"
msgstr "Simbolu par grupu"
-#: ../src/verbs.cpp:2522
+#: ../src/verbs.cpp:2491
msgid "Extract group from a symbol"
msgstr "Ekstraģēt grupu no simbola"
-#: ../src/verbs.cpp:2523
+#: ../src/verbs.cpp:2492
msgid "Clea_r All"
msgstr "Notī_rīt visu"
-#: ../src/verbs.cpp:2524
+#: ../src/verbs.cpp:2493
msgid "Delete all objects from document"
msgstr "DzÄ“st visus objektus dokumentÄ"
-#: ../src/verbs.cpp:2525
+#: ../src/verbs.cpp:2494
msgid "Select Al_l"
msgstr "Atlasīt _visu"
-#: ../src/verbs.cpp:2526
+#: ../src/verbs.cpp:2495
msgid "Select all objects or all nodes"
msgstr "Atlasīt visus objektus vai mezglus"
-#: ../src/verbs.cpp:2527
+#: ../src/verbs.cpp:2496
msgid "Select All in All La_yers"
msgstr "AtlasÄ«t visu visos s_lÄņos"
-#: ../src/verbs.cpp:2528
+#: ../src/verbs.cpp:2497
msgid "Select all objects in all visible and unlocked layers"
msgstr "AtlasÄ«t visus objektus visos redzamajos un atvÄ“rtajos slÄņos"
-#: ../src/verbs.cpp:2529
+#: ../src/verbs.cpp:2498
msgid "Fill _and Stroke"
msgstr "Aizpildījums un apmale"
-#: ../src/verbs.cpp:2530
+#: ../src/verbs.cpp:2499
msgid "Select all objects with the same fill and stroke as the selected objects"
msgstr "AtlasÄ«t visus objektus ar lÄ«dzÄ«gu aizpildÄ«jumu un apmales platumu, kÄ jau atlasÄ«tajiem"
-#: ../src/verbs.cpp:2531
+#: ../src/verbs.cpp:2500
msgid "_Fill Color"
msgstr "_PildÄ«juma krÄsa"
-#: ../src/verbs.cpp:2532
+#: ../src/verbs.cpp:2501
msgid "Select all objects with the same fill as the selected objects"
msgstr "AtlasÄ«t visus objektus ar lÄ«dzÄ«gu aizpildÄ«jumu, kÄ jau atlasÄ«tajiem"
-#: ../src/verbs.cpp:2533
+#: ../src/verbs.cpp:2502
msgid "_Stroke Color"
msgstr "_Apmales krÄsa"
-#: ../src/verbs.cpp:2534
+#: ../src/verbs.cpp:2503
msgid "Select all objects with the same stroke as the selected objects"
msgstr "AtlasÄ«t visus objektus ar lÄ«dzÄ«gu apmales platumu, kÄ jau atlasÄ«tajiem"
-#: ../src/verbs.cpp:2535
+#: ../src/verbs.cpp:2504
msgid "Stroke St_yle"
msgstr "Apmales sti_ls"
-#: ../src/verbs.cpp:2536
+#: ../src/verbs.cpp:2505
msgid "Select all objects with the same stroke style (width, dash, markers) as the selected objects"
msgstr "AtlasÄ«t visus objektus ar lÄ«dzÄ«gu apmales stilu (platums, dalÄ«jumu, marÄ·ieri), kÄ jau atlasÄ«tajiem"
-#: ../src/verbs.cpp:2537
+#: ../src/verbs.cpp:2506
msgid "_Object Type"
msgstr "_Objekta tips"
-#: ../src/verbs.cpp:2538
+#: ../src/verbs.cpp:2507
msgid "Select all objects with the same object type (rect, arc, text, path, bitmap etc) as the selected objects"
msgstr "AtlasÄ«t visus objektus ar lÄ«dzÄ«gu tipu, kÄ jau atlasÄ«tajiem (taisnstÅ«ris, loks, teksts, bitkarte, ceļš utml.)"
-#: ../src/verbs.cpp:2539
+#: ../src/verbs.cpp:2508
msgid "In_vert Selection"
msgstr "In_vertēt izvēlēto"
-#: ../src/verbs.cpp:2540
+#: ../src/verbs.cpp:2509
msgid "Invert selection (unselect what is selected and select everything else)"
msgstr "InvertÄ“t atlasÄ«to (atceļ iepriekšējo atlasi un atlasa visu pÄrÄ“jo)"
-#: ../src/verbs.cpp:2541
+#: ../src/verbs.cpp:2510
msgid "Invert in All Layers"
msgstr "InvertÄ“t visus slÄņus"
-#: ../src/verbs.cpp:2542
+#: ../src/verbs.cpp:2511
msgid "Invert selection in all visible and unlocked layers"
msgstr "InvertÄ“t atlasÄ«to visos redzamajos un atvÄ“rtajos slÄņos"
-#: ../src/verbs.cpp:2543
+#: ../src/verbs.cpp:2512
msgid "Select Next"
msgstr "AtlasÄ«t nÄkoÅ¡o"
-#: ../src/verbs.cpp:2544
+#: ../src/verbs.cpp:2513
msgid "Select next object or node"
msgstr "AtlasÄ«t nÄkoÅ¡o objektu vai mezglu"
-#: ../src/verbs.cpp:2545
+#: ../src/verbs.cpp:2514
msgid "Select Previous"
msgstr "Atlasīt iepriekšējo"
-#: ../src/verbs.cpp:2546
+#: ../src/verbs.cpp:2515
msgid "Select previous object or node"
msgstr "Atlasīt iepriekšējo objektu vai mezglu"
-#: ../src/verbs.cpp:2547
+#: ../src/verbs.cpp:2516
msgid "D_eselect"
msgstr "Atc_elt atlasi"
-#: ../src/verbs.cpp:2548
+#: ../src/verbs.cpp:2517
msgid "Deselect any selected objects or nodes"
msgstr "Atcelt visu objektu vai mezglu atlasi"
-#: ../src/verbs.cpp:2550
+#: ../src/verbs.cpp:2519
msgid "Delete all the guides in the document"
msgstr "DzÄ“st visas dokumentÄ esoÅ¡Äs palÄ«glÄ«nijas"
-#: ../src/verbs.cpp:2551
+#: ../src/verbs.cpp:2520
msgid "Create _Guides Around the Page"
msgstr "Izveidot palÄ«_glÄ«nijas apkÄrt lapai"
-#: ../src/verbs.cpp:2552
+#: ../src/verbs.cpp:2521
msgid "Create four guides aligned with the page borders"
msgstr "Izveidojiet Äetras gar lapas malÄm novietotas palÄ«glÄ«nijas"
-#: ../src/verbs.cpp:2553
+#: ../src/verbs.cpp:2522
msgid "Next path effect parameter"
msgstr "NÄkoÅ¡ais ceļa efekta parametrs"
-#: ../src/verbs.cpp:2554
+#: ../src/verbs.cpp:2523
msgid "Show next editable path effect parameter"
msgstr "RÄdÄ«t nÄkoÅ¡o labojamo ceļa efekta parametru"
#. Selection
-#: ../src/verbs.cpp:2557
+#: ../src/verbs.cpp:2526
msgid "Raise to _Top"
msgstr "Pacelt _virspusē"
-#: ../src/verbs.cpp:2558
+#: ../src/verbs.cpp:2527
msgid "Raise selection to top"
msgstr "Pacelt izvÄ“lÄ“to paÅ¡Ä augÅ¡Ä"
-#: ../src/verbs.cpp:2559
+#: ../src/verbs.cpp:2528
msgid "Lower to _Bottom"
msgstr "Nolaist paÅ¡Ä apakÅ¡Ä"
-#: ../src/verbs.cpp:2560
+#: ../src/verbs.cpp:2529
msgid "Lower selection to bottom"
msgstr "Nolaist izvÄ“lÄ“to paÅ¡Ä apakÅ¡Ä"
-#: ../src/verbs.cpp:2561
+#: ../src/verbs.cpp:2530
msgid "_Raise"
msgstr "Pacelt"
-#: ../src/verbs.cpp:2562
+#: ../src/verbs.cpp:2531
msgid "Raise selection one step"
msgstr "Pacelt izvēlēto par vienu soli uz augšu"
-#: ../src/verbs.cpp:2563
+#: ../src/verbs.cpp:2532
msgid "_Lower"
msgstr "_Nolaist"
-#: ../src/verbs.cpp:2564
+#: ../src/verbs.cpp:2533
msgid "Lower selection one step"
msgstr "Pacelt izvēlēto par vienu soli uz leju"
-#: ../src/verbs.cpp:2566
+#: ../src/verbs.cpp:2535
msgid "Group selected objects"
msgstr "Grupēt iezīmētos objektus"
-#: ../src/verbs.cpp:2568
+#: ../src/verbs.cpp:2537
msgid "Ungroup selected groups"
msgstr "AtgrupÄ“t iezÄ«mÄ“tÄs grupas"
-#: ../src/verbs.cpp:2570
+#: ../src/verbs.cpp:2539
msgid "_Put on Path"
msgstr "Izvietot gar ceļu"
-#: ../src/verbs.cpp:2572
+#: ../src/verbs.cpp:2541
msgid "_Remove from Path"
msgstr "AizvÄkt no ceļa"
-#: ../src/verbs.cpp:2574
+#: ../src/verbs.cpp:2543
msgid "Remove Manual _Kerns"
msgstr "aizvÄkt rokas rakstasavirzi"
#. 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:2577
+#: ../src/verbs.cpp:2546
msgid "Remove all manual kerns and glyph rotations from a text object"
msgstr "AizvÄkt no teksta objekta visas ar roku iestatÄ«tÄs rakstavirzes un glifu pagriezienus"
-#: ../src/verbs.cpp:2579
+#: ../src/verbs.cpp:2548
msgid "_Union"
msgstr "Ap_vienot"
-#: ../src/verbs.cpp:2580
+#: ../src/verbs.cpp:2549
msgid "Create union of selected paths"
msgstr "Apvienots atlasītos ceļus"
-#: ../src/verbs.cpp:2581
+#: ../src/verbs.cpp:2550
msgid "_Intersection"
msgstr "_Šķēlums"
-#: ../src/verbs.cpp:2582
+#: ../src/verbs.cpp:2551
msgid "Create intersection of selected paths"
msgstr "Izveidot atlasīto ceļu krustpunktu"
-#: ../src/verbs.cpp:2583
+#: ../src/verbs.cpp:2552
msgid "_Difference"
msgstr "_Atšķirība"
-#: ../src/verbs.cpp:2584
+#: ../src/verbs.cpp:2553
msgid "Create difference of selected paths (bottom minus top)"
msgstr "Izveidot atlasīto ceļu starpību (apakšējais mīnus augšējais)"
-#: ../src/verbs.cpp:2585
+#: ../src/verbs.cpp:2554
msgid "E_xclusion"
msgstr "I_zņēmums"
-#: ../src/verbs.cpp:2586
+#: ../src/verbs.cpp:2555
msgid "Create exclusive OR of selected paths (those parts that belong to only one path)"
msgstr "No atlasÄ«tajiem ceļiem izveidot izslÄ“dzoÅ¡o VAI (tÄs daļas, kas pieder tikai vienam ceļam)"
-#: ../src/verbs.cpp:2587
+#: ../src/verbs.cpp:2556
msgid "Di_vision"
msgstr "Ie_daļas"
-#: ../src/verbs.cpp:2588
+#: ../src/verbs.cpp:2557
msgid "Cut the bottom path into pieces"
msgstr "Sagriezt apakšējo ceļu gabalos"
#. 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:2591
+#: ../src/verbs.cpp:2560
msgid "Cut _Path"
msgstr "PÄrgriezt _ceļu"
-#: ../src/verbs.cpp:2592
+#: ../src/verbs.cpp:2561
msgid "Cut the bottom path's stroke into pieces, removing fill"
msgstr "Sagriezt apakšējÄ ceļa apmali posmos, aizvÄcot aizpildÄ«jumu"
#. 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:2596
+#: ../src/verbs.cpp:2565
msgid "Outs_et"
msgstr "Paga_rinÄt"
-#: ../src/verbs.cpp:2597
+#: ../src/verbs.cpp:2566
msgid "Outset selected paths"
msgstr "PagarinÄt atlasÄ«to ceļu"
-#: ../src/verbs.cpp:2599
+#: ../src/verbs.cpp:2568
msgid "O_utset Path by 1 px"
msgstr "PagarinÄt atlasÄ«to ceļ_u par 1 px"
-#: ../src/verbs.cpp:2600
+#: ../src/verbs.cpp:2569
msgid "Outset selected paths by 1 px"
msgstr "PagarinÄt atlasÄ«to ceļu par 1 px"
-#: ../src/verbs.cpp:2602
+#: ../src/verbs.cpp:2571
msgid "O_utset Path by 10 px"
msgstr "PagarinÄt atlasÄ«to ceļu par 10 px"
-#: ../src/verbs.cpp:2603
+#: ../src/verbs.cpp:2572
msgid "Outset selected paths by 10 px"
msgstr "PagarinÄt atlasÄ«to ceļu par 10 px"
#. 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:2607
+#: ../src/verbs.cpp:2576
msgid "I_nset"
msgstr "SaÄ«si_nÄt"
-#: ../src/verbs.cpp:2608
+#: ../src/verbs.cpp:2577
msgid "Inset selected paths"
msgstr "PÄrvietot atlasÄ«tos ceļus uz iekÅ¡u"
-#: ../src/verbs.cpp:2610
+#: ../src/verbs.cpp:2579
msgid "I_nset Path by 1 px"
msgstr "SaÄ«si_nÄt ceļu par 1 px"
-#: ../src/verbs.cpp:2611
+#: ../src/verbs.cpp:2580
msgid "Inset selected paths by 1 px"
msgstr "SaÄ«sinÄt atlasÄ«to ceļu par 1 px"
-#: ../src/verbs.cpp:2613
+#: ../src/verbs.cpp:2582
msgid "I_nset Path by 10 px"
msgstr "SaÄ«si_nÄt ceļu par 10 px"
-#: ../src/verbs.cpp:2614
+#: ../src/verbs.cpp:2583
msgid "Inset selected paths by 10 px"
msgstr "SaÄ«sinÄt atlasÄ«to ceļu par 10 px"
-#: ../src/verbs.cpp:2616
+#: ../src/verbs.cpp:2585
msgid "D_ynamic Offset"
msgstr "DinamiskÄ nobÄ«de"
-#: ../src/verbs.cpp:2616
+#: ../src/verbs.cpp:2585
msgid "Create a dynamic offset object"
msgstr "Izveidot dinamiski nobīdītu objektu"
-#: ../src/verbs.cpp:2618
+#: ../src/verbs.cpp:2587
msgid "_Linked Offset"
msgstr "SaistÄ«tÄ nobÄ«de"
-#: ../src/verbs.cpp:2619
+#: ../src/verbs.cpp:2588
msgid "Create a dynamic offset object linked to the original path"
msgstr "Izveidot pie sÄkotnÄ“jÄ ceļa piesaistÄ«tu dinamisko nobÄ«dÄ«tu objektu"
-#: ../src/verbs.cpp:2621
+#: ../src/verbs.cpp:2590
msgid "_Stroke to Path"
msgstr "Vilku_mu par ceļu"
-#: ../src/verbs.cpp:2622
+#: ../src/verbs.cpp:2591
msgid "Convert selected object's stroke to paths"
msgstr "PÄrvÄ“rst atlasÄ«tÄ objekta apmali ceļos"
-#: ../src/verbs.cpp:2623
+#: ../src/verbs.cpp:2592
msgid "Si_mplify"
msgstr "V_ienkÄrÅ¡ot"
-#: ../src/verbs.cpp:2624
+#: ../src/verbs.cpp:2593
msgid "Simplify selected paths (remove extra nodes)"
msgstr "VienkÄrÅ¡o atlasÄ«tos ceļus (aizvÄc liekos mezglus)"
-#: ../src/verbs.cpp:2625
+#: ../src/verbs.cpp:2594
msgid "_Reverse"
msgstr "Apg_rieztÄ secÄ«bÄ"
-#: ../src/verbs.cpp:2626
+#: ../src/verbs.cpp:2595
msgid "Reverse the direction of selected paths (useful for flipping markers)"
msgstr "Pagriezt atlasÄ«tos ceļus pretÄ“jÄ virzienÄ (noderÄ«gs marÄ·ieru apgrieÅ¡anai)"
-#: ../src/verbs.cpp:2629
+#: ../src/verbs.cpp:2598
msgid "Create one or more paths from a bitmap by tracing it"
msgstr "VektorizÄ“jot izveido no bitkartes vienu vai vairÄkus ceļus"
-#: ../src/verbs.cpp:2630
+#: ../src/verbs.cpp:2599
msgid "Trace Pixel Art..."
msgstr "Vektorizēt pikseļu attēlu..."
-#: ../src/verbs.cpp:2631
+#: ../src/verbs.cpp:2600
msgid "Create paths using Kopf-Lischinski algorithm to vectorize pixel art"
msgstr "Vektorizējot pikseļu attēlus veidot ceļus izmantojot Kopfa-Lišinska algoritmu"
-#: ../src/verbs.cpp:2632
+#: ../src/verbs.cpp:2601
msgid "Make a _Bitmap Copy"
msgstr "Izveidot _bitkartes kopiju"
-#: ../src/verbs.cpp:2633
+#: ../src/verbs.cpp:2602
msgid "Export selection to a bitmap and insert it into document"
msgstr "EksportÄ“t atlasÄ«to uz bitkarti un ievietot to dokumentÄ"
-#: ../src/verbs.cpp:2634
+#: ../src/verbs.cpp:2603
msgid "_Combine"
msgstr "_Kombinēt"
-#: ../src/verbs.cpp:2635
+#: ../src/verbs.cpp:2604
msgid "Combine several paths into one"
msgstr "Apvieno vairÄkus ceļus vienÄ"
#. 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:2638
+#: ../src/verbs.cpp:2607
msgid "Break _Apart"
msgstr "S_ašķelt"
-#: ../src/verbs.cpp:2639
+#: ../src/verbs.cpp:2608
msgid "Break selected paths into subpaths"
msgstr "Sašķelt atlasītos ceļus apakšceļos"
-#: ../src/verbs.cpp:2640
+#: ../src/verbs.cpp:2609
msgid "_Arrange..."
msgstr "S_akÄrtot..."
-#: ../src/verbs.cpp:2641
+#: ../src/verbs.cpp:2610
msgid "Arrange selected objects in a table or circle"
msgstr "SakÄrtot atlasÄ«tos objektus tabulÄ vai aplÄ«"
#. Layer
-#: ../src/verbs.cpp:2643
+#: ../src/verbs.cpp:2612
msgid "_Add Layer..."
msgstr "Pie_vienot slÄni..."
-#: ../src/verbs.cpp:2644
+#: ../src/verbs.cpp:2613
msgid "Create a new layer"
msgstr "Izveidot jaunu slÄni"
-#: ../src/verbs.cpp:2645
+#: ../src/verbs.cpp:2614
msgid "Re_name Layer..."
msgstr "PÄrdÄ“vÄ“t slÄ_ni..."
-#: ../src/verbs.cpp:2646
+#: ../src/verbs.cpp:2615
msgid "Rename the current layer"
msgstr "PÄrdÄ“vÄ“t paÅ¡reizÄ“jo slÄni"
-#: ../src/verbs.cpp:2647
+#: ../src/verbs.cpp:2616
msgid "Switch to Layer Abov_e"
msgstr "PÄrslÄ“gties uz virsÄ“jo slÄni"
-#: ../src/verbs.cpp:2648
+#: ../src/verbs.cpp:2617
msgid "Switch to the layer above the current"
msgstr "PÄrslÄ“gties uz slÄni virs paÅ¡reizÄ“jÄ"
-#: ../src/verbs.cpp:2649
+#: ../src/verbs.cpp:2618
msgid "Switch to Layer Belo_w"
msgstr "PÄrslÄ“gties uz apakšējo slÄni"
-#: ../src/verbs.cpp:2650
+#: ../src/verbs.cpp:2619
msgid "Switch to the layer below the current"
msgstr "PÄrslÄ“gties uz slÄni zem paÅ¡reizÄ“jÄ"
-#: ../src/verbs.cpp:2651
+#: ../src/verbs.cpp:2620
msgid "Move Selection to Layer Abo_ve"
msgstr "PÄrvietot atlasÄ«to uz slÄni _virs šī"
-#: ../src/verbs.cpp:2652
+#: ../src/verbs.cpp:2621
msgid "Move selection to the layer above the current"
msgstr "PÄrvietot izvÄ“lÄ“to uz slÄni virs paÅ¡reizÄ“jÄ"
-#: ../src/verbs.cpp:2653
+#: ../src/verbs.cpp:2622
msgid "Move Selection to Layer Bel_ow"
msgstr "PÄrvietot atlasÄ«to uz slÄni _zem šī"
-#: ../src/verbs.cpp:2654
+#: ../src/verbs.cpp:2623
msgid "Move selection to the layer below the current"
msgstr "PÄrvietot izvÄ“lÄ“to uz slÄni zem paÅ¡reizÄ“jÄ"
-#: ../src/verbs.cpp:2655
+#: ../src/verbs.cpp:2624
msgid "Move Selection to Layer..."
msgstr "PÄrvietot atlasÄ«to uz slÄni..."
-#: ../src/verbs.cpp:2657
+#: ../src/verbs.cpp:2626
msgid "Layer to _Top"
msgstr "SlÄni uz _virspusi"
-#: ../src/verbs.cpp:2658
+#: ../src/verbs.cpp:2627
msgid "Raise the current layer to the top"
msgstr "Pacelt paÅ¡reizÄ“jo slÄni virspusÄ“"
-#: ../src/verbs.cpp:2659
+#: ../src/verbs.cpp:2628
msgid "Layer to _Bottom"
msgstr "SlÄni uz a_pakÅ¡u"
-#: ../src/verbs.cpp:2660
+#: ../src/verbs.cpp:2629
msgid "Lower the current layer to the bottom"
msgstr "Nolaist paÅ¡reizÄ“jo slÄni apakÅ¡Ä"
-#: ../src/verbs.cpp:2661
+#: ../src/verbs.cpp:2630
msgid "_Raise Layer"
msgstr "_Pacelt slÄni"
-#: ../src/verbs.cpp:2662
+#: ../src/verbs.cpp:2631
msgid "Raise the current layer"
msgstr "Pacelt paÅ¡reizÄ“jo slÄni"
-#: ../src/verbs.cpp:2663
+#: ../src/verbs.cpp:2632
msgid "_Lower Layer"
msgstr "No_laist slÄni"
-#: ../src/verbs.cpp:2664
+#: ../src/verbs.cpp:2633
msgid "Lower the current layer"
msgstr "Nolaist paÅ¡reizÄ“jo slÄni"
-#: ../src/verbs.cpp:2665
+#: ../src/verbs.cpp:2634
msgid "D_uplicate Current Layer"
msgstr "DublÄ“t paÅ¡reizÄ“jo slÄni"
-#: ../src/verbs.cpp:2666
+#: ../src/verbs.cpp:2635
msgid "Duplicate an existing layer"
msgstr "DublÄ“t esoÅ¡u slÄni"
-#: ../src/verbs.cpp:2667
+#: ../src/verbs.cpp:2636
msgid "_Delete Current Layer"
msgstr "_DzÄ“st paÅ¡reizÄ“jo slÄni"
-#: ../src/verbs.cpp:2668
+#: ../src/verbs.cpp:2637
msgid "Delete the current layer"
msgstr "DzÄ“st paÅ¡reizÄ“jo slÄni"
-#: ../src/verbs.cpp:2669
+#: ../src/verbs.cpp:2638
msgid "_Show/hide other layers"
msgstr "_RÄdÄ«t/slÄ“pt citus slÄņus"
-#: ../src/verbs.cpp:2670
+#: ../src/verbs.cpp:2639
msgid "Solo the current layer"
msgstr "Tikai Å¡o slÄni"
-#: ../src/verbs.cpp:2671
+#: ../src/verbs.cpp:2640
msgid "_Show all layers"
msgstr "RÄdÄ«t vi_sus slÄņus"
-#: ../src/verbs.cpp:2672
+#: ../src/verbs.cpp:2641
msgid "Show all the layers"
msgstr "RÄdÄ«t visus slÄņus"
-#: ../src/verbs.cpp:2673
+#: ../src/verbs.cpp:2642
msgid "_Hide all layers"
msgstr "SlÄ“_pt visus slÄņus"
-#: ../src/verbs.cpp:2674
+#: ../src/verbs.cpp:2643
msgid "Hide all the layers"
msgstr "SlÄ“pt visus slÄņus"
-#: ../src/verbs.cpp:2675
+#: ../src/verbs.cpp:2644
msgid "_Lock all layers"
msgstr "S_lÄ“gt visus slÄņus"
-#: ../src/verbs.cpp:2676
+#: ../src/verbs.cpp:2645
msgid "Lock all the layers"
msgstr "SlÄ“dz visus slÄņus"
-#: ../src/verbs.cpp:2677
+#: ../src/verbs.cpp:2646
msgid "Lock/Unlock _other layers"
msgstr "AizslÄ“gt/atslÄ“gt citus slÄņus"
-#: ../src/verbs.cpp:2678
+#: ../src/verbs.cpp:2647
msgid "Lock all the other layers"
msgstr "SlÄ“dz visus citus slÄņus"
-#: ../src/verbs.cpp:2679
+#: ../src/verbs.cpp:2648
msgid "_Unlock all layers"
msgstr "AtslÄ“gt visus slÄņ_us"
-#: ../src/verbs.cpp:2680
+#: ../src/verbs.cpp:2649
msgid "Unlock all the layers"
msgstr "AtslÄ“dz visus slÄņus"
-#: ../src/verbs.cpp:2681
+#: ../src/verbs.cpp:2650
msgid "_Lock/Unlock Current Layer"
msgstr "SlÄ“_gt/atslÄ“gt paÅ¡reizÄ“jo slÄni"
-#: ../src/verbs.cpp:2682
+#: ../src/verbs.cpp:2651
msgid "Toggle lock on current layer"
msgstr "PÄrslÄ“dz paÅ¡reizÄ“jÄ slÄņa slÄ“dzeni"
-#: ../src/verbs.cpp:2683
+#: ../src/verbs.cpp:2652
msgid "_Show/hide Current Layer"
msgstr "PaslÄ“pt/rÄdÄ«t paÅ¡reizÄ“jo slÄni"
-#: ../src/verbs.cpp:2684
+#: ../src/verbs.cpp:2653
msgid "Toggle visibility of current layer"
msgstr "PÄrslÄ“dz paÅ¡reizÄ“jÄ slÄņa redzamÄ«bu"
#. Object
-#: ../src/verbs.cpp:2687
+#: ../src/verbs.cpp:2656
msgid "Rotate _90° CW"
msgstr "Pagriezt _90° CW"
#. This is shared between tooltips and statusbar, so they
#. must use UTF-8, not HTML entities for special characters.
-#: ../src/verbs.cpp:2690
+#: ../src/verbs.cpp:2659
msgid "Rotate selection 90° clockwise"
msgstr "Pagriezt izvÄ“lÄ“to par 90° pulksteņrÄdÄ«tÄja virzienÄ"
-#: ../src/verbs.cpp:2691
+#: ../src/verbs.cpp:2660
msgid "Rotate 9_0° CCW"
msgstr "Pagriezt 9_0° CCW"
#. This is shared between tooltips and statusbar, so they
#. must use UTF-8, not HTML entities for special characters.
-#: ../src/verbs.cpp:2694
+#: ../src/verbs.cpp:2663
msgid "Rotate selection 90° counter-clockwise"
msgstr "Pagriezt izvÄ“lÄ“to par 90° pretÄ“ji pulksteņrÄdÄ«tÄja virzienam"
-#: ../src/verbs.cpp:2695
+#: ../src/verbs.cpp:2664
msgid "Remove _Transformations"
msgstr "AizvÄk_t pÄrveidojumus"
-#: ../src/verbs.cpp:2696
+#: ../src/verbs.cpp:2665
msgid "Remove transformations from object"
msgstr "AizvÄkt pÄrveidojumus no objekta"
-#: ../src/verbs.cpp:2697
+#: ../src/verbs.cpp:2666
msgid "_Object to Path"
msgstr "_Objektu par ceļu"
-#: ../src/verbs.cpp:2698
+#: ../src/verbs.cpp:2667
msgid "Convert selected object to path"
msgstr "PÄrvÄ“rst atlasÄ«to objektu par ceļu"
-#: ../src/verbs.cpp:2699
+#: ../src/verbs.cpp:2668
msgid "_Flow into Frame"
msgstr "_AizpildÄ«t rÄmi"
-#: ../src/verbs.cpp:2700
+#: ../src/verbs.cpp:2669
msgid "Put text into a frame (path or shape), creating a flowed text linked to the frame object"
msgstr "Ievietojiet tekstu rÄmÄ« (ceÄ¼Ä vai figÅ«rÄ), izveidojot ar tekstu aizpildÄ«tu rÄmja objektu"
-#: ../src/verbs.cpp:2701
+#: ../src/verbs.cpp:2670
msgid "_Unflow"
msgstr "AizvÄkt teksta aizpildÄ«j_umu"
-#: ../src/verbs.cpp:2702
+#: ../src/verbs.cpp:2671
msgid "Remove text from frame (creates a single-line text object)"
msgstr "Izņemt tekstu no rÄmja (izveido vienas rindas teksta objektu)"
-#: ../src/verbs.cpp:2703
+#: ../src/verbs.cpp:2672
msgid "_Convert to Text"
msgstr "_PÄrveidot par tekstu"
-#: ../src/verbs.cpp:2704
+#: ../src/verbs.cpp:2673
msgid "Convert flowed text to regular text object (preserves appearance)"
msgstr "PÄrvÄ“rÅ¡ teksta aizpildÄ«jumu par vienkÄrÅ¡u teksta objektu (saglabÄjot izskatu)"
-#: ../src/verbs.cpp:2706
+#: ../src/verbs.cpp:2675
msgid "Flip _Horizontal"
msgstr "Apmest horizontÄli"
-#: ../src/verbs.cpp:2706
+#: ../src/verbs.cpp:2675
msgid "Flip selected objects horizontally"
msgstr "Apmest izvÄ“lÄ“to objektu horizontÄli"
-#: ../src/verbs.cpp:2709
+#: ../src/verbs.cpp:2678
msgid "Flip _Vertical"
msgstr "Apmest vertikÄli"
-#: ../src/verbs.cpp:2709
+#: ../src/verbs.cpp:2678
msgid "Flip selected objects vertically"
msgstr "Apmest izvÄ“lÄ“to objektu vertikÄli"
-#: ../src/verbs.cpp:2712
+#: ../src/verbs.cpp:2681
msgid "Apply mask to selection (using the topmost object as mask)"
msgstr "Uzlieciet masku atlasÄ«tajam (izmantojot augšējo objektu kÄ masku)"
-#: ../src/verbs.cpp:2714
+#: ../src/verbs.cpp:2683
msgid "Edit mask"
msgstr "Labot masku"
-#: ../src/verbs.cpp:2715 ../src/verbs.cpp:2723
+#: ../src/verbs.cpp:2684 ../src/verbs.cpp:2692
msgid "_Release"
msgstr "At_laist"
-#: ../src/verbs.cpp:2716
+#: ../src/verbs.cpp:2685
msgid "Remove mask from selection"
msgstr "Noņemt maskas no atlasÄ«tÄ"
-#: ../src/verbs.cpp:2718
+#: ../src/verbs.cpp:2687
msgid "Apply clipping path to selection (using the topmost object as clipping path)"
msgstr "Pielietot atlasītajam izgriešanas ceļu (par izgriešanas ceļu izmantojot augšpusē esošo objektu)"
-#: ../src/verbs.cpp:2719
+#: ../src/verbs.cpp:2688
msgid "Create Cl_ip Group"
msgstr "Izveidot kl_ipu grupu"
-#: ../src/verbs.cpp:2720
+#: ../src/verbs.cpp:2689
msgid "Creates a clip group using the selected objects as a base"
msgstr "Izveidot klipu grupu, izmantojot par pamatu atlasītos objektus"
-#: ../src/verbs.cpp:2722
+#: ../src/verbs.cpp:2691
msgid "Edit clipping path"
msgstr "Labot izgriešanas ceļu"
-#: ../src/verbs.cpp:2724
+#: ../src/verbs.cpp:2693
msgid "Remove clipping path from selection"
msgstr "AizvÄkt izgrieÅ¡anas ceļu no atlasÄ«tÄ"
#. Tools
-#: ../src/verbs.cpp:2729
+#: ../src/verbs.cpp:2698
msgctxt "ContextVerb"
msgid "Select"
msgstr "Iezīmēt"
-#: ../src/verbs.cpp:2730
+#: ../src/verbs.cpp:2699
msgid "Select and transform objects"
msgstr "AtlasÄ«t un pÄrveidot objektus"
-#: ../src/verbs.cpp:2731
+#: ../src/verbs.cpp:2700
msgctxt "ContextVerb"
msgid "Node Edit"
msgstr "Labot mezglu"
-#: ../src/verbs.cpp:2732
+#: ../src/verbs.cpp:2701
msgid "Edit paths by nodes"
msgstr "Labot ceļus pa mezgliem"
-#: ../src/verbs.cpp:2733
+#: ../src/verbs.cpp:2702
msgctxt "ContextVerb"
msgid "Tweak"
msgstr "Pieskaņot"
-#: ../src/verbs.cpp:2734
+#: ../src/verbs.cpp:2703
msgid "Tweak objects by sculpting or painting"
msgstr "Pieskaņot objektus veidojot vai krÄsojot"
-#: ../src/verbs.cpp:2735
+#: ../src/verbs.cpp:2704
msgctxt "ContextVerb"
msgid "Spray"
msgstr "SmidzinÄt"
-#: ../src/verbs.cpp:2736
+#: ../src/verbs.cpp:2705
msgid "Spray objects by sculpting or painting"
msgstr "IzsmidzinÄt objektus veidojot vai krÄsojot"
-#: ../src/verbs.cpp:2737
+#: ../src/verbs.cpp:2706
msgctxt "ContextVerb"
msgid "Rectangle"
msgstr "Taisnstūris"
-#: ../src/verbs.cpp:2738
+#: ../src/verbs.cpp:2707
msgid "Create rectangles and squares"
msgstr "ZÄ«mÄ“t taisnstÅ«rus un kvadrÄtus"
-#: ../src/verbs.cpp:2739
+#: ../src/verbs.cpp:2708
msgctxt "ContextVerb"
msgid "3D Box"
msgstr "3D paralēlskaldnis"
-#: ../src/verbs.cpp:2740
+#: ../src/verbs.cpp:2709
msgid "Create 3D boxes"
msgstr "Izveidot 3D paralēlskaldņus"
-#: ../src/verbs.cpp:2741
+#: ../src/verbs.cpp:2710
msgctxt "ContextVerb"
msgid "Ellipse"
msgstr "Elipse"
-#: ../src/verbs.cpp:2742
+#: ../src/verbs.cpp:2711
msgid "Create circles, ellipses, and arcs"
msgstr "Izveidot riņķus, elipses un lokus"
-#: ../src/verbs.cpp:2743
+#: ../src/verbs.cpp:2712
msgctxt "ContextVerb"
msgid "Star"
msgstr "Zvaigzne"
-#: ../src/verbs.cpp:2744
+#: ../src/verbs.cpp:2713
msgid "Create stars and polygons"
msgstr "Izveidot zvaigznes un daudzstūrus"
-#: ../src/verbs.cpp:2745
+#: ../src/verbs.cpp:2714
msgctxt "ContextVerb"
msgid "Spiral"
msgstr "SpirÄle"
-#: ../src/verbs.cpp:2746
+#: ../src/verbs.cpp:2715
msgid "Create spirals"
msgstr "Izveidot spirÄles"
-#: ../src/verbs.cpp:2747
+#: ../src/verbs.cpp:2716
msgctxt "ContextVerb"
msgid "Pencil"
msgstr "Zīmulis"
-#: ../src/verbs.cpp:2748
+#: ../src/verbs.cpp:2717
msgid "Draw freehand lines"
msgstr "Zīmēt brīvas rokas līnijas"
-#: ../src/verbs.cpp:2749
+#: ../src/verbs.cpp:2718
msgctxt "ContextVerb"
msgid "Pen"
msgstr "Spalva"
-#: ../src/verbs.cpp:2750
+#: ../src/verbs.cpp:2719
msgid "Draw Bezier curves and straight lines"
msgstr "Zīmējiet Bezjē līknes un taisnas līnijas"
-#: ../src/verbs.cpp:2751
+#: ../src/verbs.cpp:2720
msgctxt "ContextVerb"
msgid "Calligraphy"
msgstr "KaligrÄfija"
-#: ../src/verbs.cpp:2752
+#: ../src/verbs.cpp:2721
msgid "Draw calligraphic or brush strokes"
msgstr "ZÄ«mÄ“jiet kaligrÄfiskÄs vai otas lÄ«nijas"
-#: ../src/verbs.cpp:2754
+#: ../src/verbs.cpp:2723
msgid "Create and edit text objects"
msgstr "Izveidot un labot teksta objektus"
-#: ../src/verbs.cpp:2755
+#: ../src/verbs.cpp:2724
msgctxt "ContextVerb"
msgid "Gradient"
msgstr "KrÄsu pÄreja"
-#: ../src/verbs.cpp:2756
+#: ../src/verbs.cpp:2725
msgid "Create and edit gradients"
msgstr "Izveidot un labot krÄsu pÄrejas"
-#: ../src/verbs.cpp:2757
+#: ../src/verbs.cpp:2726
msgctxt "ContextVerb"
msgid "Mesh"
msgstr "Tīkls"
-#: ../src/verbs.cpp:2758
+#: ../src/verbs.cpp:2727
msgid "Create and edit meshes"
msgstr "Izveidot un labot tīklus"
-#: ../src/verbs.cpp:2759
+#: ../src/verbs.cpp:2728
msgctxt "ContextVerb"
msgid "Zoom"
msgstr "TuvinÄt/tÄlinÄt"
-#: ../src/verbs.cpp:2760
+#: ../src/verbs.cpp:2729
msgid "Zoom in or out"
msgstr "TuvinÄt vai tÄlinÄt"
-#: ../src/verbs.cpp:2762
+#: ../src/verbs.cpp:2731
msgid "Measurement tool"
msgstr "Mērinstruments"
-#: ../src/verbs.cpp:2763
+#: ../src/verbs.cpp:2732
msgctxt "ContextVerb"
msgid "Dropper"
msgstr "Pipete"
-#: ../src/verbs.cpp:2764 ../src/widgets/sp-color-notebook.cpp:396
+#: ../src/verbs.cpp:2733 ../src/widgets/sp-color-notebook.cpp:396
msgid "Pick colors from image"
msgstr "IzvÄ“lÄ“ties krÄsas no attÄ“la"
-#: ../src/verbs.cpp:2765
+#: ../src/verbs.cpp:2734
msgctxt "ContextVerb"
msgid "Connector"
msgstr "SavienotÄjs"
-#: ../src/verbs.cpp:2766
+#: ../src/verbs.cpp:2735
msgid "Create diagram connectors"
msgstr "Izveidot diagrammu savienotÄjus"
-#: ../src/verbs.cpp:2767
+#: ../src/verbs.cpp:2736
msgctxt "ContextVerb"
msgid "Paint Bucket"
msgstr "KrÄsas spainis"
-#: ../src/verbs.cpp:2768
+#: ../src/verbs.cpp:2737
msgid "Fill bounded areas"
msgstr "Aizpildīt noslēgtos apgabalus"
-#: ../src/verbs.cpp:2769
+#: ../src/verbs.cpp:2738
msgctxt "ContextVerb"
msgid "LPE Edit"
msgstr "LPE labošana"
-#: ../src/verbs.cpp:2770
+#: ../src/verbs.cpp:2739
msgid "Edit Path Effect parameters"
msgstr "Labot ceļa efekta parametrus"
-#: ../src/verbs.cpp:2771
+#: ../src/verbs.cpp:2740
msgctxt "ContextVerb"
msgid "Eraser"
msgstr "Dzēšgumija"
-#: ../src/verbs.cpp:2772
+#: ../src/verbs.cpp:2741
msgid "Erase existing paths"
msgstr "DzÄ“st pastÄvoÅ¡os ceļus"
-#: ../src/verbs.cpp:2773
+#: ../src/verbs.cpp:2742
msgctxt "ContextVerb"
msgid "LPE Tool"
msgstr "LPE rīks"
-#: ../src/verbs.cpp:2774
+#: ../src/verbs.cpp:2743
msgid "Do geometric constructions"
msgstr "Izveidot ģeometriskas figūras"
#. Tool prefs
-#: ../src/verbs.cpp:2776
+#: ../src/verbs.cpp:2745
msgid "Selector Preferences"
msgstr "AtlasÄ«tÄja iestatÄ«jumi"
-#: ../src/verbs.cpp:2777
+#: ../src/verbs.cpp:2746
msgid "Open Preferences for the Selector tool"
msgstr "Atvērt iestatījumus atlasīšanas rīkam"
-#: ../src/verbs.cpp:2778
+#: ../src/verbs.cpp:2747
msgid "Node Tool Preferences"
msgstr "Mezglu rīka iestatījumi"
-#: ../src/verbs.cpp:2779
+#: ../src/verbs.cpp:2748
msgid "Open Preferences for the Node tool"
msgstr "Atvērt iestatījumus mezglu rīkam"
-#: ../src/verbs.cpp:2780
+#: ../src/verbs.cpp:2749
msgid "Tweak Tool Preferences"
msgstr "Pieskaņošanas rīka iestatījumi"
-#: ../src/verbs.cpp:2781
+#: ../src/verbs.cpp:2750
msgid "Open Preferences for the Tweak tool"
msgstr "Atvērt iestatījumus pieskaņošanas rīkam"
-#: ../src/verbs.cpp:2782
+#: ../src/verbs.cpp:2751
msgid "Spray Tool Preferences"
msgstr "SmidzinÄtÄja iestatÄ«jumi"
-#: ../src/verbs.cpp:2783
+#: ../src/verbs.cpp:2752
msgid "Open Preferences for the Spray tool"
msgstr "AtvÄ“rt iestatÄ«jumus smidzinÄÅ¡anas rÄ«kam"
-#: ../src/verbs.cpp:2784
+#: ../src/verbs.cpp:2753
msgid "Rectangle Preferences"
msgstr "Taisnstūra iestatījumi"
-#: ../src/verbs.cpp:2785
+#: ../src/verbs.cpp:2754
msgid "Open Preferences for the Rectangle tool"
msgstr "Atvērt iestatījumus taisnstūru rīkam"
-#: ../src/verbs.cpp:2786
+#: ../src/verbs.cpp:2755
msgid "3D Box Preferences"
msgstr "3D paralēlskaldņa iestatījumi"
-#: ../src/verbs.cpp:2787
+#: ../src/verbs.cpp:2756
msgid "Open Preferences for the 3D Box tool"
msgstr "Atvērt iestatījumus 3D paralēlskaldņa rīkam"
-#: ../src/verbs.cpp:2788
+#: ../src/verbs.cpp:2757
msgid "Ellipse Preferences"
msgstr "Elipses iestatījumi"
-#: ../src/verbs.cpp:2789
+#: ../src/verbs.cpp:2758
msgid "Open Preferences for the Ellipse tool"
msgstr "Atvērt iestatījumus elipses rīkam"
-#: ../src/verbs.cpp:2790
+#: ../src/verbs.cpp:2759
msgid "Star Preferences"
msgstr "Zvaigznes iestatījumi"
-#: ../src/verbs.cpp:2791
+#: ../src/verbs.cpp:2760
msgid "Open Preferences for the Star tool"
msgstr "Atvērt iestatījumus zvaigznes rīkam"
-#: ../src/verbs.cpp:2792
+#: ../src/verbs.cpp:2761
msgid "Spiral Preferences"
msgstr "SpirÄles iestatÄ«jumi"
-#: ../src/verbs.cpp:2793
+#: ../src/verbs.cpp:2762
msgid "Open Preferences for the Spiral tool"
msgstr "AtvÄ“rt iestatÄ«jumus spirÄles rÄ«kam"
-#: ../src/verbs.cpp:2794
+#: ../src/verbs.cpp:2763
msgid "Pencil Preferences"
msgstr "Zīmuļa iestatījumi"
-#: ../src/verbs.cpp:2795
+#: ../src/verbs.cpp:2764
msgid "Open Preferences for the Pencil tool"
msgstr "Atvērt iestatījumus zīmuļa rīkam"
-#: ../src/verbs.cpp:2796
+#: ../src/verbs.cpp:2765
msgid "Pen Preferences"
msgstr "Spalvas iestatījumi"
-#: ../src/verbs.cpp:2797
+#: ../src/verbs.cpp:2766
msgid "Open Preferences for the Pen tool"
msgstr "Atvērt iestatījumus spalvas rīkam"
-#: ../src/verbs.cpp:2798
+#: ../src/verbs.cpp:2767
msgid "Calligraphic Preferences"
msgstr "KaligrÄfijas iestatÄ«jumi"
-#: ../src/verbs.cpp:2799
+#: ../src/verbs.cpp:2768
msgid "Open Preferences for the Calligraphy tool"
msgstr "AtvÄ“rt iestatÄ«jumus kaligrÄfijas rÄ«kam"
-#: ../src/verbs.cpp:2800
+#: ../src/verbs.cpp:2769
msgid "Text Preferences"
msgstr "Teksta iestatījumi"
-#: ../src/verbs.cpp:2801
+#: ../src/verbs.cpp:2770
msgid "Open Preferences for the Text tool"
msgstr "Atvērt iestatījumus teksta rīkam"
-#: ../src/verbs.cpp:2802
+#: ../src/verbs.cpp:2771
msgid "Gradient Preferences"
msgstr "KrÄsu pÄrejas iestatÄ«jumi"
-#: ../src/verbs.cpp:2803
+#: ../src/verbs.cpp:2772
msgid "Open Preferences for the Gradient tool"
msgstr "AtvÄ“rt iestatÄ«jumus krÄsu pÄrejas rÄ«kam "
-#: ../src/verbs.cpp:2804
+#: ../src/verbs.cpp:2773
msgid "Mesh Preferences"
msgstr "Tīkla iestatījumi"
-#: ../src/verbs.cpp:2805
+#: ../src/verbs.cpp:2774
msgid "Open Preferences for the Mesh tool"
msgstr "Atvērt iestatījumus tīkla rīkam"
-#: ../src/verbs.cpp:2806
+#: ../src/verbs.cpp:2775
msgid "Zoom Preferences"
msgstr "TÄlummaiņas iestatÄ«jumi"
-#: ../src/verbs.cpp:2807
+#: ../src/verbs.cpp:2776
msgid "Open Preferences for the Zoom tool"
msgstr "AtvÄ“rt iestatÄ«jumus tÄlummaiņas rÄ«kam"
-#: ../src/verbs.cpp:2808
+#: ../src/verbs.cpp:2777
msgid "Measure Preferences"
msgstr "Mērīšanas iestatījumi"
-#: ../src/verbs.cpp:2809
+#: ../src/verbs.cpp:2778
msgid "Open Preferences for the Measure tool"
msgstr "Atvērt iestatījumus mērīšanas rīkam"
-#: ../src/verbs.cpp:2810
+#: ../src/verbs.cpp:2779
msgid "Dropper Preferences"
msgstr "Pipetes iestatījumi"
-#: ../src/verbs.cpp:2811
+#: ../src/verbs.cpp:2780
msgid "Open Preferences for the Dropper tool"
msgstr "Atvērt pipetes rīka iestatījumus"
-#: ../src/verbs.cpp:2812
+#: ../src/verbs.cpp:2781
msgid "Connector Preferences"
msgstr "SavienotÄja iestatÄ«jumi"
-#: ../src/verbs.cpp:2813
+#: ../src/verbs.cpp:2782
msgid "Open Preferences for the Connector tool"
msgstr "AtvÄ“rt iestatÄ«jumus savienotÄju rÄ«kam"
-#: ../src/verbs.cpp:2814
+#: ../src/verbs.cpp:2783
msgid "Paint Bucket Preferences"
msgstr "KrÄsas spaiņa iestatÄ«jumi"
-#: ../src/verbs.cpp:2815
+#: ../src/verbs.cpp:2784
msgid "Open Preferences for the Paint Bucket tool"
msgstr "AtvÄ“rt iestatÄ«jumus kÄras spaiņa rÄ«kam"
-#: ../src/verbs.cpp:2816
+#: ../src/verbs.cpp:2785
msgid "Eraser Preferences"
msgstr "Dzēšgumijas iestatījumi"
-#: ../src/verbs.cpp:2817
+#: ../src/verbs.cpp:2786
msgid "Open Preferences for the Eraser tool"
msgstr "Atvērt iestatījumus dzēšgumijas rīkam"
-#: ../src/verbs.cpp:2818
+#: ../src/verbs.cpp:2787
msgid "LPE Tool Preferences"
msgstr "LPE rīka iestatījumi"
-#: ../src/verbs.cpp:2819
+#: ../src/verbs.cpp:2788
msgid "Open Preferences for the LPETool tool"
msgstr "Atvērt iestatījumus LPE rīkam"
#. Zoom/View
-#: ../src/verbs.cpp:2821
+#: ../src/verbs.cpp:2790
msgid "Zoom In"
msgstr "TuvinÄt"
-#: ../src/verbs.cpp:2821
+#: ../src/verbs.cpp:2790
msgid "Zoom in"
msgstr "TuvinÄt"
-#: ../src/verbs.cpp:2822
+#: ../src/verbs.cpp:2791
msgid "Zoom Out"
msgstr "TÄlinÄt"
-#: ../src/verbs.cpp:2822
+#: ../src/verbs.cpp:2791
msgid "Zoom out"
msgstr "TÄlinÄt"
-#: ../src/verbs.cpp:2823
+#: ../src/verbs.cpp:2792
msgid "_Rulers"
msgstr "_LineÄli"
-#: ../src/verbs.cpp:2823
+#: ../src/verbs.cpp:2792
msgid "Show or hide the canvas rulers"
msgstr "ParÄdÄ«t vai paslÄ“pt audekla ritjoslas"
-#: ../src/verbs.cpp:2824
+#: ../src/verbs.cpp:2793
msgid "Scroll_bars"
msgstr "Rit_joslas"
-#: ../src/verbs.cpp:2824
+#: ../src/verbs.cpp:2793
msgid "Show or hide the canvas scrollbars"
msgstr "ParÄdÄ«t vai paslÄ“pt audekla ritjoslas"
-#: ../src/verbs.cpp:2825
+#: ../src/verbs.cpp:2794
msgid "Page _Grid"
msgstr "Lapas _režģis"
-#: ../src/verbs.cpp:2825
+#: ../src/verbs.cpp:2794
msgid "Show or hide the page grid"
msgstr "RÄdÄ«t vai slÄ“pt lapas režģi."
-#: ../src/verbs.cpp:2826
+#: ../src/verbs.cpp:2795
msgid "G_uides"
msgstr "Palīglīnijas"
-#: ../src/verbs.cpp:2826
+#: ../src/verbs.cpp:2795
msgid "Show or hide guides (drag from a ruler to create a guide)"
msgstr "RÄdÄ«t vai slÄ“pt palÄ«glÄ«nijas (lai izveidotu palÄ«glÄ«niju, velciet no lineÄla)"
-#: ../src/verbs.cpp:2827
+#: ../src/verbs.cpp:2796
msgid "Enable snapping"
msgstr "Ieslēgt piesaistīšanu"
-#: ../src/verbs.cpp:2828
+#: ../src/verbs.cpp:2797
msgid "_Commands Bar"
msgstr "_Komandu josla"
-#: ../src/verbs.cpp:2828
+#: ../src/verbs.cpp:2797
msgid "Show or hide the Commands bar (under the menu)"
msgstr "RÄdÄ«t vai slÄ“pt komandu joslu (zem izvÄ“lnes)"
-#: ../src/verbs.cpp:2829
+#: ../src/verbs.cpp:2798
msgid "Sn_ap Controls Bar"
msgstr "Pies_aistes vadīklu josla"
-#: ../src/verbs.cpp:2829
+#: ../src/verbs.cpp:2798
msgid "Show or hide the snapping controls"
msgstr "RÄdÄ«t vai slÄ“pt piesaistes vadÄ«klu joslu"
-#: ../src/verbs.cpp:2830
+#: ../src/verbs.cpp:2799
msgid "T_ool Controls Bar"
msgstr "Rīku vadīklu j_osla"
-#: ../src/verbs.cpp:2830
+#: ../src/verbs.cpp:2799
msgid "Show or hide the Tool Controls bar"
msgstr "RÄdÄ«t vai slÄ“pt rÄ«ku vadÄ«klu joslu"
-#: ../src/verbs.cpp:2831
+#: ../src/verbs.cpp:2800
msgid "_Toolbox"
msgstr "_Rīkjosla"
-#: ../src/verbs.cpp:2831
+#: ../src/verbs.cpp:2800
msgid "Show or hide the main toolbox (on the left)"
msgstr "RÄdÄ«t vai slÄ“pt galveno rÄ«ku kasti (kreisajÄ malÄ)"
-#: ../src/verbs.cpp:2832
+#: ../src/verbs.cpp:2801
msgid "_Palette"
msgstr "_Palete"
-#: ../src/verbs.cpp:2832
+#: ../src/verbs.cpp:2801
msgid "Show or hide the color palette"
msgstr "RÄdÄ«t vai slÄ“pt krÄsu paleti"
-#: ../src/verbs.cpp:2833
+#: ../src/verbs.cpp:2802
msgid "_Statusbar"
msgstr "_Statusa josla"
-#: ../src/verbs.cpp:2833
+#: ../src/verbs.cpp:2802
msgid "Show or hide the statusbar (at the bottom of the window)"
msgstr "RÄdÄ«t vai slÄ“pt stÄvokļa joslu (loga apakÅ¡Ä)"
-#: ../src/verbs.cpp:2834
+#: ../src/verbs.cpp:2803
msgid "Nex_t Zoom"
msgstr "_NÄkoÅ¡Ä tÄlummaiņa"
-#: ../src/verbs.cpp:2834
+#: ../src/verbs.cpp:2803
msgid "Next zoom (from the history of zooms)"
msgstr "NÄkoÅ¡Ä tÄlummaiņa (no tÄlummaiņas vÄ“stures)"
-#: ../src/verbs.cpp:2836
+#: ../src/verbs.cpp:2805
msgid "Pre_vious Zoom"
msgstr "Ie_priekšējÄ tÄlummaiņa"
-#: ../src/verbs.cpp:2836
+#: ../src/verbs.cpp:2805
msgid "Previous zoom (from the history of zooms)"
msgstr "IepriekšējÄ tÄlummaiņa (no tÄlummaiņas vÄ“stures)"
-#: ../src/verbs.cpp:2838
+#: ../src/verbs.cpp:2807
msgid "Zoom 1:_1"
msgstr "TÄlummaiņa 1:_1"
-#: ../src/verbs.cpp:2838
+#: ../src/verbs.cpp:2807
msgid "Zoom to 1:1"
msgstr "TÄlummainÄ«t 1:1"
-#: ../src/verbs.cpp:2840
+#: ../src/verbs.cpp:2809
msgid "Zoom 1:_2"
msgstr "TÄlummaiņa 1:_2"
-#: ../src/verbs.cpp:2840
+#: ../src/verbs.cpp:2809
msgid "Zoom to 1:2"
msgstr "TÄlummainÄ«t 1:2"
-#: ../src/verbs.cpp:2842
+#: ../src/verbs.cpp:2811
msgid "_Zoom 2:1"
msgstr "_TÄlummaiņa 2:1"
-#: ../src/verbs.cpp:2842
+#: ../src/verbs.cpp:2811
msgid "Zoom to 2:1"
msgstr "TÄlummainÄ«t 2:1"
-#: ../src/verbs.cpp:2845
+#: ../src/verbs.cpp:2814
msgid "_Fullscreen"
msgstr "_PilnekrÄna"
-#: ../src/verbs.cpp:2845 ../src/verbs.cpp:2847
+#: ../src/verbs.cpp:2814 ../src/verbs.cpp:2816
msgid "Stretch this document window to full screen"
msgstr "Izplest šī dokumenta logu pa visu ekrÄnu"
-#: ../src/verbs.cpp:2847
+#: ../src/verbs.cpp:2816
msgid "Fullscreen & Focus Mode"
msgstr "PilnekrÄna un fokusēšanas režīms"
-#: ../src/verbs.cpp:2850
+#: ../src/verbs.cpp:2819
msgid "Toggle _Focus Mode"
msgstr "PÄrslÄ“gt fokusēšanas režīmu"
-#: ../src/verbs.cpp:2850
+#: ../src/verbs.cpp:2819
msgid "Remove excess toolbars to focus on drawing"
msgstr "AizvÄkt liekÄs rÄ«kjoslas, lai atbrÄ«votu lielÄku laukumu zÄ«mÄ“jumam"
-#: ../src/verbs.cpp:2852
+#: ../src/verbs.cpp:2821
msgid "Duplic_ate Window"
msgstr "Dublēt logu"
-#: ../src/verbs.cpp:2852
+#: ../src/verbs.cpp:2821
msgid "Open a new window with the same document"
msgstr "AtvÄ“rt Å¡o paÅ¡u dokumentu jaunÄ logÄ"
-#: ../src/verbs.cpp:2854
+#: ../src/verbs.cpp:2823
msgid "_New View Preview"
msgstr "Jau_na skata priekšskatījums"
-#: ../src/verbs.cpp:2855
+#: ../src/verbs.cpp:2824
msgid "New View Preview"
msgstr "Jauna skata priekšskatījums"
#. "view_new_preview"
-#: ../src/verbs.cpp:2857 ../src/verbs.cpp:2865
+#: ../src/verbs.cpp:2826 ../src/verbs.cpp:2834
msgid "_Normal"
msgstr "_NormÄls"
-#: ../src/verbs.cpp:2858
+#: ../src/verbs.cpp:2827
msgid "Switch to normal display mode"
msgstr "PÄrslÄ“gt uz normÄlu ekrÄna režīmu"
-#: ../src/verbs.cpp:2859
+#: ../src/verbs.cpp:2828
msgid "No _Filters"
msgstr "Nav _filtru"
-#: ../src/verbs.cpp:2860
+#: ../src/verbs.cpp:2829
msgid "Switch to normal display without filters"
msgstr "PÄrslÄ“gt uz normÄlu ekrÄnu bez filtriem"
-#: ../src/verbs.cpp:2861
+#: ../src/verbs.cpp:2830
msgid "_Outline"
msgstr "Ār_līnija"
-#: ../src/verbs.cpp:2862
+#: ../src/verbs.cpp:2831
msgid "Switch to outline (wireframe) display mode"
msgstr "PÄrslÄ“gt uz apriÅ¡u (karkasa) ekrÄna režīmu"
#. 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:2863 ../src/verbs.cpp:2871
+#: ../src/verbs.cpp:2832 ../src/verbs.cpp:2840
msgid "_Toggle"
msgstr "PÄrslÄ“g_t"
-#: ../src/verbs.cpp:2864
+#: ../src/verbs.cpp:2833
msgid "Toggle between normal and outline display modes"
msgstr "PÄrslÄ“gties starp parasto un apriÅ¡u ekrÄna režīmu"
-#: ../src/verbs.cpp:2866
+#: ../src/verbs.cpp:2835
msgid "Switch to normal color display mode"
msgstr "PÄrslÄ“gt uz normÄlu krÄsu ekrÄna režīmu"
-#: ../src/verbs.cpp:2867
+#: ../src/verbs.cpp:2836
msgid "_Grayscale"
msgstr "_Pelēktoņu"
-#: ../src/verbs.cpp:2868
+#: ../src/verbs.cpp:2837
msgid "Switch to grayscale display mode"
msgstr "PÄrslÄ“gt uz pelÄ“ktoņu ekrÄna režīmu"
-#: ../src/verbs.cpp:2872
+#: ../src/verbs.cpp:2841
msgid "Toggle between normal and grayscale color display modes"
msgstr "PÄrslÄ“gt starp parasto un pelÄ“ktoņu ekrÄna režīmu"
-#: ../src/verbs.cpp:2874
+#: ../src/verbs.cpp:2843
msgid "Color-managed view"
msgstr "Skats ar krÄsu vadÄ«bu"
-#: ../src/verbs.cpp:2875
+#: ../src/verbs.cpp:2844
msgid "Toggle color-managed display for this document window"
msgstr "IeslÄ“gt ekrÄna krÄsu vadÄ«bu šī dokumenta logam"
-#: ../src/verbs.cpp:2877
+#: ../src/verbs.cpp:2846
msgid "Ico_n Preview..."
msgstr "Ikonu priekšskatījums..."
-#: ../src/verbs.cpp:2878
+#: ../src/verbs.cpp:2847
msgid "Open a window to preview objects at different icon resolutions"
msgstr "Atveriet logu, lai priekÅ¡skatÄ«tu objektus atšķirÄ«gÄ ikonu izšķirtspÄ“jÄ"
-#: ../src/verbs.cpp:2880
+#: ../src/verbs.cpp:2849
msgid "Zoom to fit page in window"
msgstr "TÄlummainÄ«t, lai IetilpinÄt lapu logÄ"
-#: ../src/verbs.cpp:2881
+#: ../src/verbs.cpp:2850
msgid "Page _Width"
msgstr "Lapas _platums"
-#: ../src/verbs.cpp:2882
+#: ../src/verbs.cpp:2851
msgid "Zoom to fit page width in window"
msgstr "TÄlummainÄ«t, lai ietilpinÄtu lapu logÄ tÄs pilnÄ platumÄ."
-#: ../src/verbs.cpp:2884
+#: ../src/verbs.cpp:2853
msgid "Zoom to fit drawing in window"
msgstr "TÄlummainÄ«t, lai IetilpinÄtu zÄ«mÄ“jumu logÄ"
-#: ../src/verbs.cpp:2886
+#: ../src/verbs.cpp:2855
msgid "Zoom to fit selection in window"
msgstr "TÄlummainÄ«t, lai ietilpinÄtu atlasÄ«to logÄ"
#. Dialogs
-#: ../src/verbs.cpp:2889
+#: ../src/verbs.cpp:2858
msgid "P_references..."
msgstr "Iestatījumi..."
-#: ../src/verbs.cpp:2890
+#: ../src/verbs.cpp:2859
msgid "Edit global Inkscape preferences"
msgstr "Labot globÄlos Inkscape iestatÄ«jumus"
-#: ../src/verbs.cpp:2891
+#: ../src/verbs.cpp:2860
msgid "_Document Properties..."
msgstr "_Dokumenta īpašības..."
-#: ../src/verbs.cpp:2892
+#: ../src/verbs.cpp:2861
msgid "Edit properties of this document (to be saved with the document)"
msgstr "Labot šī dokumenta Ä«pašības (tiks saglabÄtas kopÄ ar dokumentu)"
-#: ../src/verbs.cpp:2893
+#: ../src/verbs.cpp:2862
msgid "Document _Metadata..."
msgstr "Dokumenta _metadati..."
-#: ../src/verbs.cpp:2894
+#: ../src/verbs.cpp:2863
msgid "Edit document metadata (to be saved with the document)"
msgstr "Labot šī dokumenta matadatus (tiks saglabÄti kopÄ ar dokumentu)"
-#: ../src/verbs.cpp:2896
+#: ../src/verbs.cpp:2865
msgid "Edit objects' colors, gradients, arrowheads, and other fill and stroke properties..."
msgstr "Labojiet objekta krÄsas, krÄsu pÄrejas, bultu galus un citas aizpildÄ«juma un apmales Ä«pašības..."
#. FIXME: Probably better to either use something from the icon naming spec or ship our own "select-font" icon
-#: ../src/verbs.cpp:2898
+#: ../src/verbs.cpp:2867
msgid "Gl_yphs..."
msgstr "Glifi..."
-#: ../src/verbs.cpp:2899
+#: ../src/verbs.cpp:2868
msgid "Select characters from a glyphs palette"
msgstr "Izvēlieties simbolus no glifu paletes"
#. 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:2902
+#: ../src/verbs.cpp:2871
msgid "S_watches..."
msgstr "KrÄsu paraugi..."
-#: ../src/verbs.cpp:2903
+#: ../src/verbs.cpp:2872
msgid "Select colors from a swatches palette"
msgstr "IzvÄ“lieties krÄsas no krÄsu paraugu paletes"
-#: ../src/verbs.cpp:2904
+#: ../src/verbs.cpp:2873
msgid "S_ymbols..."
msgstr "S_imboli..."
-#: ../src/verbs.cpp:2905
+#: ../src/verbs.cpp:2874
msgid "Select symbol from a symbols palette"
msgstr "Izvēlieties simbolu no simbolu paletes"
-#: ../src/verbs.cpp:2906
+#: ../src/verbs.cpp:2875
msgid "Transfor_m..."
msgstr "PÄrveidot..."
-#: ../src/verbs.cpp:2907
+#: ../src/verbs.cpp:2876
msgid "Precisely control objects' transformations"
msgstr "PrecÄ«zi kontrolÄ“t objekta pÄrveidojumus"
-#: ../src/verbs.cpp:2908
+#: ../src/verbs.cpp:2877
msgid "_Align and Distribute..."
msgstr "LÄ«_dzinÄt un izkliedÄ“t..."
-#: ../src/verbs.cpp:2909
+#: ../src/verbs.cpp:2878
msgid "Align and distribute objects"
msgstr "LÄ«dzinÄt un izkliedÄ“t objektus"
-#: ../src/verbs.cpp:2910
+#: ../src/verbs.cpp:2879
msgid "_Spray options..."
msgstr "_SmidzinÄÅ¡anas papildiespÄ“jas..."
-#: ../src/verbs.cpp:2911
+#: ../src/verbs.cpp:2880
msgid "Some options for the spray"
msgstr "Dažas smidzinÄÅ¡anas papildiespÄ“jas"
-#: ../src/verbs.cpp:2912
+#: ../src/verbs.cpp:2881
msgid "Undo _History..."
msgstr "Atsaukumu _vēsture..."
-#: ../src/verbs.cpp:2913
+#: ../src/verbs.cpp:2882
msgid "Undo History"
msgstr "Atsaukumu vēsture"
-#: ../src/verbs.cpp:2915
+#: ../src/verbs.cpp:2884
msgid "View and select font family, font size and other text properties"
msgstr "Aplūkojiet un izvēlieties fontu saimi, fonta izmēru un citas teksta īpašības"
-#: ../src/verbs.cpp:2916
+#: ../src/verbs.cpp:2885
msgid "_XML Editor..."
msgstr "XML redaktors..."
-#: ../src/verbs.cpp:2917
+#: ../src/verbs.cpp:2886
msgid "View and edit the XML tree of the document"
msgstr "Aplūkot un labot dokumenta XML koku"
-#: ../src/verbs.cpp:2918
+#: ../src/verbs.cpp:2887
msgid "_Find/Replace..."
msgstr "_Meklēt/aizvietot..."
-#: ../src/verbs.cpp:2919
+#: ../src/verbs.cpp:2888
msgid "Find objects in document"
msgstr "MeklÄ“t objektus dokumentÄ "
-#: ../src/verbs.cpp:2920
+#: ../src/verbs.cpp:2889
msgid "Find and _Replace Text..."
msgstr "Meklēt un aizvietot tekstu..."
-#: ../src/verbs.cpp:2921
+#: ../src/verbs.cpp:2890
msgid "Find and replace text in document"
msgstr "Meklēt un aizvietot tekstu"
-#: ../src/verbs.cpp:2923
+#: ../src/verbs.cpp:2892
msgid "Check spelling of text in document"
msgstr "PÄrbaudÄ«t teksta pareizrakstÄ«bu dokumentÄ"
-#: ../src/verbs.cpp:2924
+#: ../src/verbs.cpp:2893
msgid "_Messages..."
msgstr "_Vēstules..."
-#: ../src/verbs.cpp:2925
+#: ../src/verbs.cpp:2894
msgid "View debug messages"
msgstr "Skatīt atkļūdošanas paziņojumus"
-#: ../src/verbs.cpp:2926
+#: ../src/verbs.cpp:2895
msgid "Show/Hide D_ialogs"
msgstr "RÄdÄ«t/slÄ“pt dialogus"
-#: ../src/verbs.cpp:2927
+#: ../src/verbs.cpp:2896
msgid "Show or hide all open dialogs"
msgstr "RÄdÄ«t vai paslÄ“pt visus atvÄ“rtos dialogus"
-#: ../src/verbs.cpp:2928
+#: ../src/verbs.cpp:2897
msgid "Create Tiled Clones..."
msgstr "Izveidot klonu rakstu..."
-#: ../src/verbs.cpp:2929
+#: ../src/verbs.cpp:2898
msgid "Create multiple clones of selected object, arranging them into a pattern or scattering"
msgstr "Izveidot vairÄkus objekta klonus, izkÄrtojot tos rakstÄ (faktÅ«rÄ) vai izkliedÄ“jot"
-#: ../src/verbs.cpp:2930
+#: ../src/verbs.cpp:2899
msgid "_Object attributes..."
msgstr "_Objekta atribūti..."
-#: ../src/verbs.cpp:2931
+#: ../src/verbs.cpp:2900
msgid "Edit the object attributes..."
msgstr "Labot objekta atribūtus..."
-#: ../src/verbs.cpp:2933
+#: ../src/verbs.cpp:2902
msgid "Edit the ID, locked and visible status, and other object properties"
msgstr "Labojiet ID, slÄ“gÅ¡anas un redzamÄ«bas stÄvokli un citas objekta Ä«pašības"
-#: ../src/verbs.cpp:2934
+#: ../src/verbs.cpp:2903
msgid "_Input Devices..."
msgstr "_Ievadierīces..."
-#: ../src/verbs.cpp:2935
+#: ../src/verbs.cpp:2904
msgid "Configure extended input devices, such as a graphics tablet"
msgstr "KonfigurÄ“jiet paplaÅ¡inÄto iespÄ“ju ievades ierÄ«ces, piem. grafiskÄs planÅ¡etes"
-#: ../src/verbs.cpp:2936
+#: ../src/verbs.cpp:2905
msgid "_Extensions..."
msgstr "_PaplaÅ¡inÄjumi..."
-#: ../src/verbs.cpp:2937
+#: ../src/verbs.cpp:2906
msgid "Query information about extensions"
msgstr "VaicÄjuma informÄcija par paplaÅ¡inÄjumiem"
-#: ../src/verbs.cpp:2938
+#: ../src/verbs.cpp:2907
msgid "Layer_s..."
msgstr "_SlÄņi..."
-#: ../src/verbs.cpp:2939
+#: ../src/verbs.cpp:2908
msgid "View Layers"
msgstr "SkatÄ«t slÄņus"
-#: ../src/verbs.cpp:2940
+#: ../src/verbs.cpp:2909
msgid "Object_s..."
msgstr "_Objekti..."
-#: ../src/verbs.cpp:2941
+#: ../src/verbs.cpp:2910
msgid "View Objects"
msgstr "Skatīt objektus"
-#: ../src/verbs.cpp:2942
-#, fuzzy
+#: ../src/verbs.cpp:2911
msgid "Selection se_ts..."
-msgstr "Ts"
+msgstr "A_tlases kopas..."
-#: ../src/verbs.cpp:2943
+#: ../src/verbs.cpp:2912
msgid "View Tags"
msgstr "Skatīt birkas"
-#: ../src/verbs.cpp:2944
+#: ../src/verbs.cpp:2913
msgid "Path E_ffects ..."
msgstr "Ceļa e_fekti..."
-#: ../src/verbs.cpp:2945
+#: ../src/verbs.cpp:2914
msgid "Manage, edit, and apply path effects"
msgstr "Vadīt, labot un pielietot ceļa efektus"
-#: ../src/verbs.cpp:2946
+#: ../src/verbs.cpp:2915
msgid "Filter _Editor..."
msgstr "Filtru r_edaktors"
-#: ../src/verbs.cpp:2947
+#: ../src/verbs.cpp:2916
msgid "Manage, edit, and apply SVG filters"
msgstr "Vadīt, labot un pielietot SVG filtrus"
-#: ../src/verbs.cpp:2948
+#: ../src/verbs.cpp:2917
msgid "SVG Font Editor..."
msgstr "SVG fontu redaktors"
-#: ../src/verbs.cpp:2949
+#: ../src/verbs.cpp:2918
msgid "Edit SVG fonts"
msgstr "Labot SVG fontus"
-#: ../src/verbs.cpp:2950
+#: ../src/verbs.cpp:2919
msgid "Print Colors..."
msgstr "DrukÄt krÄsas..."
-#: ../src/verbs.cpp:2951
+#: ../src/verbs.cpp:2920
msgid "Select which color separations to render in Print Colors Preview rendermode"
msgstr "IzvÄ“lieties, kuru krÄsu dalÄ«jumus renderÄ“t KrÄsu drukas priekÅ¡skatÄ«juma renderēšanas režīmÄ"
-#: ../src/verbs.cpp:2952
+#: ../src/verbs.cpp:2921
msgid "_Export PNG Image..."
msgstr "_Eksportēt PNG attēlu..."
-#: ../src/verbs.cpp:2953
+#: ../src/verbs.cpp:2922
msgid "Export this document or a selection as a PNG image"
msgstr "EksportÄ“t Å¡o dokumentu vai atlasÄ«to kÄ PNG attÄ“lu"
#. Help
-#: ../src/verbs.cpp:2955
+#: ../src/verbs.cpp:2924
msgid "About E_xtensions"
msgstr "Par _paplaÅ¡inÄjumiem"
-#: ../src/verbs.cpp:2956
+#: ../src/verbs.cpp:2925
msgid "Information on Inkscape extensions"
msgstr "InformÄcija par Inkscape paplaÅ¡inÄjumiem"
-#: ../src/verbs.cpp:2957
+#: ../src/verbs.cpp:2926
msgid "About _Memory"
msgstr "Par at_miņu"
-#: ../src/verbs.cpp:2958
+#: ../src/verbs.cpp:2927
msgid "Memory usage information"
msgstr "Atmiņas izmantoÅ¡anas informÄcija"
-#: ../src/verbs.cpp:2959
+#: ../src/verbs.cpp:2928
msgid "_About Inkscape"
msgstr "P_ar Inkscape"
-#: ../src/verbs.cpp:2960
+#: ../src/verbs.cpp:2929
msgid "Inkscape version, authors, license"
msgstr "Inkscape versija, autori, licence"
#. new HelpVerb(SP_VERB_SHOW_LICENSE, "ShowLicense", N_("_License"),
#. N_("Distribution terms"), /*"show_license"*/"inkscape_options"),
#. Tutorials
-#: ../src/verbs.cpp:2965
+#: ../src/verbs.cpp:2934
msgid "Inkscape: _Basic"
msgstr "Inkscape: pamati"
-#: ../src/verbs.cpp:2966
+#: ../src/verbs.cpp:2935
msgid "Getting started with Inkscape"
msgstr "SÄkt darbu ar Inkscape"
#. "tutorial_basic"
-#: ../src/verbs.cpp:2967
+#: ../src/verbs.cpp:2936
msgid "Inkscape: _Shapes"
msgstr "Inkscape: figūra_s"
-#: ../src/verbs.cpp:2968
+#: ../src/verbs.cpp:2937
msgid "Using shape tools to create and edit shapes"
msgstr "Figūru rīku izmantošana figūru izveidošanai un labošanai"
-#: ../src/verbs.cpp:2969
+#: ../src/verbs.cpp:2938
msgid "Inkscape: _Advanced"
msgstr "Inkscape: PadziļinÄti"
-#: ../src/verbs.cpp:2970
+#: ../src/verbs.cpp:2939
msgid "Advanced Inkscape topics"
msgstr "PadziļinÄtie Inkscape temati"
#. "tutorial_advanced"
#. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize)
-#: ../src/verbs.cpp:2972
+#: ../src/verbs.cpp:2941
msgid "Inkscape: T_racing"
msgstr "Inkscape: vekto_rizēšana"
-#: ../src/verbs.cpp:2973
+#: ../src/verbs.cpp:2942
msgid "Using bitmap tracing"
msgstr "Izmanto bitkartes vektorizēšanu"
#. "tutorial_tracing"
-#: ../src/verbs.cpp:2974
+#: ../src/verbs.cpp:2943
msgid "Inkscape: Tracing Pixel Art"
msgstr "Inkscape: punktu attēla vektorizēšana"
-#: ../src/verbs.cpp:2975
+#: ../src/verbs.cpp:2944
msgid "Using Trace Pixel Art dialog"
msgstr "Punktu attēla dialoglodziņa lietošana"
-#: ../src/verbs.cpp:2976
+#: ../src/verbs.cpp:2945
msgid "Inkscape: _Calligraphy"
msgstr "Inkscape: kaligrÄfija"
-#: ../src/verbs.cpp:2977
+#: ../src/verbs.cpp:2946
msgid "Using the Calligraphy pen tool"
msgstr "KaligrÄfiskÄs spalvas lietoÅ¡ana"
-#: ../src/verbs.cpp:2978
+#: ../src/verbs.cpp:2947
msgid "Inkscape: _Interpolate"
msgstr "Inkscape: _interpolēt"
-#: ../src/verbs.cpp:2979
+#: ../src/verbs.cpp:2948
msgid "Using the interpolate extension"
msgstr "Izmanto interpolÄcijas paplaÅ¡inÄjumu"
#. "tutorial_interpolate"
-#: ../src/verbs.cpp:2980
+#: ../src/verbs.cpp:2949
msgid "_Elements of Design"
msgstr "Dizaina _elementi"
-#: ../src/verbs.cpp:2981
+#: ../src/verbs.cpp:2950
msgid "Principles of design in the tutorial form"
msgstr "Dizaina principi mÄcÄ«bu materiÄlu formÄ"
#. "tutorial_design"
-#: ../src/verbs.cpp:2982
+#: ../src/verbs.cpp:2951
msgid "_Tips and Tricks"
msgstr "Padomi un vil_tības"
-#: ../src/verbs.cpp:2983
+#: ../src/verbs.cpp:2952
msgid "Miscellaneous tips and tricks"
msgstr "DažÄdi padomi un triki"
#. "tutorial_tips"
#. Effect -- renamed Extension
-#: ../src/verbs.cpp:2986
+#: ../src/verbs.cpp:2955
msgid "Previous Exte_nsion"
msgstr "Iepriekšējais paplaÅ¡i_nÄjums"
-#: ../src/verbs.cpp:2987
+#: ../src/verbs.cpp:2956
msgid "Repeat the last extension with the same settings"
msgstr "AtkÄrtot pÄ“dÄ“jo paplaÅ¡inÄjumu ar tiem paÅ¡iem iestatÄ«jumiem"
-#: ../src/verbs.cpp:2988
+#: ../src/verbs.cpp:2957
msgid "_Previous Extension Settings..."
msgstr "Ie_priekšējÄ paplaÅ¡inÄjuma iestatÄ«jumi"
-#: ../src/verbs.cpp:2989
+#: ../src/verbs.cpp:2958
msgid "Repeat the last extension with new settings"
msgstr "AtkÄrtot pÄ“dÄ“jo paplaÅ¡inÄjumu ar jaunajiem iestatÄ«jumiem"
-#: ../src/verbs.cpp:2993
+#: ../src/verbs.cpp:2962
msgid "Fit the page to the current selection"
msgstr "PielÄgot lapu paÅ¡reiz atlasÄ«tajam"
-#: ../src/verbs.cpp:2995
+#: ../src/verbs.cpp:2964
msgid "Fit the page to the drawing"
msgstr "PielÄgot lapu zÄ«mÄ“jumam"
-#: ../src/verbs.cpp:2997
+#: ../src/verbs.cpp:2966
msgid "Fit the page to the current selection or the drawing if there is no selection"
msgstr "PielÄgot lapu iezÄ«mÄ“tajam apgabalam vai zÄ«mÄ“jumam, ja nekas nav iezÄ«mÄ“ts"
#. LockAndHide
-#: ../src/verbs.cpp:2999
+#: ../src/verbs.cpp:2968
msgid "Unlock All"
msgstr "Atslēgt visus"
-#: ../src/verbs.cpp:3001
+#: ../src/verbs.cpp:2970
msgid "Unlock All in All Layers"
msgstr "AtslÄ“gt visus visos slÄņos"
-#: ../src/verbs.cpp:3003
+#: ../src/verbs.cpp:2972
msgid "Unhide All"
msgstr "RÄdÄ«t visus"
-#: ../src/verbs.cpp:3005
+#: ../src/verbs.cpp:2974
msgid "Unhide All in All Layers"
msgstr "RÄdÄ«t visus visos slÄņos"
-#: ../src/verbs.cpp:3009
+#: ../src/verbs.cpp:2978
msgid "Link an ICC color profile"
msgstr "PiesaistÄ«t ICC krÄsu profilu"
-#: ../src/verbs.cpp:3010
+#: ../src/verbs.cpp:2979
msgid "Remove Color Profile"
msgstr "AizvÄkt krÄsu profilu"
-#: ../src/verbs.cpp:3011
+#: ../src/verbs.cpp:2980
msgid "Remove a linked ICC color profile"
msgstr "AizvÄkt piesaistÄ«to ICC krÄsu profilu"
-#: ../src/verbs.cpp:3014
+#: ../src/verbs.cpp:2983
msgid "Add External Script"
msgstr "Pievienot ÄrÄ“jo skriptu"
-#: ../src/verbs.cpp:3014
+#: ../src/verbs.cpp:2983
msgid "Add an external script"
msgstr "Pievienot ÄrÄ“ju skriptu"
-#: ../src/verbs.cpp:3016
+#: ../src/verbs.cpp:2985
msgid "Add Embedded Script"
msgstr "Pievienot iegulto skriptu"
-#: ../src/verbs.cpp:3016
+#: ../src/verbs.cpp:2985
msgid "Add an embedded script"
msgstr "Pievienot iegultu skriptu"
-#: ../src/verbs.cpp:3018
+#: ../src/verbs.cpp:2987
msgid "Edit Embedded Script"
msgstr "Labot iegulto skriptu"
-#: ../src/verbs.cpp:3018
+#: ../src/verbs.cpp:2987
msgid "Edit an embedded script"
msgstr "Labot iegultu skriptu"
-#: ../src/verbs.cpp:3020
+#: ../src/verbs.cpp:2989
msgid "Remove External Script"
msgstr "AizvÄkt ÄrÄ“jo skriptu"
-#: ../src/verbs.cpp:3020
+#: ../src/verbs.cpp:2989
msgid "Remove an external script"
msgstr "AizvÄkt ÄrÄ“ju skriptu"
-#: ../src/verbs.cpp:3022
+#: ../src/verbs.cpp:2991
msgid "Remove Embedded Script"
msgstr "AizvÄkt iegulto skriptu"
-#: ../src/verbs.cpp:3022
+#: ../src/verbs.cpp:2991
msgid "Remove an embedded script"
msgstr "AizvÄkt iegultu skriptu"
-#: ../src/verbs.cpp:3044 ../src/verbs.cpp:3045
+#: ../src/verbs.cpp:3013 ../src/verbs.cpp:3014
msgid "Center on horizontal and vertical axis"
msgstr "CentrÄ“t uz horizontÄlÄs un vertikÄlÄs ass"
-#: ../src/widgets/arc-toolbar.cpp:132
+#: ../src/widgets/arc-toolbar.cpp:129
msgid "Arc: Change start/end"
msgstr "Loks: mainÄ«t sÄkumu/beigas"
-#: ../src/widgets/arc-toolbar.cpp:198
+#: ../src/widgets/arc-toolbar.cpp:191
msgid "Arc: Change open/closed"
msgstr "Loks: mainīt uz atvērtu/slēgtu"
-#: ../src/widgets/arc-toolbar.cpp:289 ../src/widgets/arc-toolbar.cpp:319 ../src/widgets/rect-toolbar.cpp:260 ../src/widgets/rect-toolbar.cpp:299 ../src/widgets/spiral-toolbar.cpp:214 ../src/widgets/spiral-toolbar.cpp:238
-#: ../src/widgets/star-toolbar.cpp:384 ../src/widgets/star-toolbar.cpp:446
+#: ../src/widgets/arc-toolbar.cpp:280 ../src/widgets/arc-toolbar.cpp:310 ../src/widgets/rect-toolbar.cpp:260 ../src/widgets/rect-toolbar.cpp:299 ../src/widgets/spiral-toolbar.cpp:210 ../src/widgets/spiral-toolbar.cpp:234
+#: ../src/widgets/star-toolbar.cpp:382 ../src/widgets/star-toolbar.cpp:444
msgid "<b>New:</b>"
msgstr "<b>Jauns:</b>"
#. FIXME: implement averaging of all parameters for multiple selected
#. gtk_label_set_markup(GTK_LABEL(l), _("<b>Average:</b>"));
-#: ../src/widgets/arc-toolbar.cpp:292 ../src/widgets/arc-toolbar.cpp:303 ../src/widgets/rect-toolbar.cpp:268 ../src/widgets/rect-toolbar.cpp:286 ../src/widgets/spiral-toolbar.cpp:216 ../src/widgets/spiral-toolbar.cpp:227
-#: ../src/widgets/star-toolbar.cpp:386
+#: ../src/widgets/arc-toolbar.cpp:283 ../src/widgets/arc-toolbar.cpp:294 ../src/widgets/rect-toolbar.cpp:268 ../src/widgets/rect-toolbar.cpp:286 ../src/widgets/spiral-toolbar.cpp:212 ../src/widgets/spiral-toolbar.cpp:223
+#: ../src/widgets/star-toolbar.cpp:384
msgid "<b>Change:</b>"
msgstr "<b>Mainīt:</b>"
-#: ../src/widgets/arc-toolbar.cpp:328
+#: ../src/widgets/arc-toolbar.cpp:319
msgid "Start:"
msgstr "SÄkums:"
-#: ../src/widgets/arc-toolbar.cpp:329
+#: ../src/widgets/arc-toolbar.cpp:320
msgid "The angle (in degrees) from the horizontal to the arc's start point"
msgstr "Leņķis (grÄdos) no horizontÄles lÄ«dz loka sÄkumpunktam"
-#: ../src/widgets/arc-toolbar.cpp:341
+#: ../src/widgets/arc-toolbar.cpp:332
msgid "End:"
msgstr "Beigas:"
-#: ../src/widgets/arc-toolbar.cpp:342
+#: ../src/widgets/arc-toolbar.cpp:333
msgid "The angle (in degrees) from the horizontal to the arc's end point"
msgstr "Leņķis (grÄdos) no horizontÄles lÄ«dz loka sÄkumpunktam"
-#: ../src/widgets/arc-toolbar.cpp:358
+#: ../src/widgets/arc-toolbar.cpp:349
msgid "Closed arc"
msgstr "Slēgts loks"
-#: ../src/widgets/arc-toolbar.cpp:359
+#: ../src/widgets/arc-toolbar.cpp:350
msgid "Switch to segment (closed shape with two radii)"
msgstr "PÄrslÄ“gt uz segmentu (slÄ“gta figÅ«ra ar diviem rÄdiusiem)"
-#: ../src/widgets/arc-toolbar.cpp:365
+#: ../src/widgets/arc-toolbar.cpp:356
msgid "Open Arc"
msgstr "Vaļējs loks"
-#: ../src/widgets/arc-toolbar.cpp:366
+#: ../src/widgets/arc-toolbar.cpp:357
msgid "Switch to arc (unclosed shape)"
msgstr "PÄrslÄ“gt uz loku (nenoslÄ“gta figÅ«ra)"
-#: ../src/widgets/arc-toolbar.cpp:389
+#: ../src/widgets/arc-toolbar.cpp:380
msgid "Make whole"
msgstr "Izveidot veselu"
-#: ../src/widgets/arc-toolbar.cpp:390
+#: ../src/widgets/arc-toolbar.cpp:381
msgid "Make the shape a whole ellipse, not arc or segment"
msgstr "Izveidot figÅ«ru kÄ pilnu elipsi. nevis loku vai segmentu"
@@ -24711,87 +24701,87 @@ msgstr "Pievienot/labot profilu"
msgid "Add or edit calligraphic profile"
msgstr "Pievienot vai labot kaligrÄfisko profilu"
-#: ../src/widgets/connector-toolbar.cpp:120
+#: ../src/widgets/connector-toolbar.cpp:118
msgid "Set connector type: orthogonal"
msgstr "IestatÄ«t savienotÄja tipu: taisnleņķa"
-#: ../src/widgets/connector-toolbar.cpp:120
+#: ../src/widgets/connector-toolbar.cpp:118
msgid "Set connector type: polyline"
msgstr "IestatÄ«t savienotÄja tipu: daudzlÄ«niju"
-#: ../src/widgets/connector-toolbar.cpp:169
+#: ../src/widgets/connector-toolbar.cpp:165
msgid "Change connector curvature"
msgstr "MainÄ«t savienotÄja izliekumu"
-#: ../src/widgets/connector-toolbar.cpp:220
+#: ../src/widgets/connector-toolbar.cpp:216
msgid "Change connector spacing"
msgstr "MainÄ«t savienotÄja atstarpi"
-#: ../src/widgets/connector-toolbar.cpp:313
+#: ../src/widgets/connector-toolbar.cpp:309
msgid "Avoid"
msgstr "Izvairīties"
-#: ../src/widgets/connector-toolbar.cpp:323
+#: ../src/widgets/connector-toolbar.cpp:319
msgid "Ignore"
msgstr "Ignorēt"
-#: ../src/widgets/connector-toolbar.cpp:334
+#: ../src/widgets/connector-toolbar.cpp:330
msgid "Orthogonal"
msgstr "OrtogonÄls"
-#: ../src/widgets/connector-toolbar.cpp:335
+#: ../src/widgets/connector-toolbar.cpp:331
msgid "Make connector orthogonal or polyline"
msgstr "IestatÄ«t noklusÄ“to savienotÄja tipu - taisnstÅ«ra vai daudzlÄ«niju"
-#: ../src/widgets/connector-toolbar.cpp:349
+#: ../src/widgets/connector-toolbar.cpp:345
msgid "Connector Curvature"
msgstr "SavienotÄja izliekums"
-#: ../src/widgets/connector-toolbar.cpp:349
+#: ../src/widgets/connector-toolbar.cpp:345
msgid "Curvature:"
msgstr "Izliekums:"
-#: ../src/widgets/connector-toolbar.cpp:350
+#: ../src/widgets/connector-toolbar.cpp:346
msgid "The amount of connectors curvature"
msgstr "SavienotÄja izliekuma lielums"
-#: ../src/widgets/connector-toolbar.cpp:360
+#: ../src/widgets/connector-toolbar.cpp:356
msgid "Connector Spacing"
msgstr "SavienotÄja atstarpe"
-#: ../src/widgets/connector-toolbar.cpp:360
+#: ../src/widgets/connector-toolbar.cpp:356
msgid "Spacing:"
msgstr "IntervÄls:"
-#: ../src/widgets/connector-toolbar.cpp:361
+#: ../src/widgets/connector-toolbar.cpp:357
msgid "The amount of space left around objects by auto-routing connectors"
msgstr "AtstÄjamÄ brÄ«vÄ vieta ap objektiem, izmantojot automÄtisko savienotÄju izvietoÅ¡anu"
-#: ../src/widgets/connector-toolbar.cpp:372
+#: ../src/widgets/connector-toolbar.cpp:368
msgid "Graph"
msgstr "Grafs"
-#: ../src/widgets/connector-toolbar.cpp:382
+#: ../src/widgets/connector-toolbar.cpp:378
msgid "Connector Length"
msgstr "SavienotÄja garums"
-#: ../src/widgets/connector-toolbar.cpp:382
+#: ../src/widgets/connector-toolbar.cpp:378
msgid "Length:"
msgstr "Garums:"
-#: ../src/widgets/connector-toolbar.cpp:383
+#: ../src/widgets/connector-toolbar.cpp:379
msgid "Ideal length for connectors when layout is applied"
msgstr "IdeÄlais savienotÄju garums pÄ“c izkÄrtojuma pielietoÅ¡anas"
-#: ../src/widgets/connector-toolbar.cpp:395
+#: ../src/widgets/connector-toolbar.cpp:391
msgid "Downwards"
msgstr "Lejup"
-#: ../src/widgets/connector-toolbar.cpp:396
+#: ../src/widgets/connector-toolbar.cpp:392
msgid "Make connectors with end-markers (arrows) point downwards"
msgstr "Izveidot savienotÄjus ar galu marÄ·ieriem (bultiņÄm) vÄ“rstiem lejup"
-#: ../src/widgets/connector-toolbar.cpp:412
+#: ../src/widgets/connector-toolbar.cpp:408
msgid "Do not allow overlapping shapes"
msgstr "Nepieļaut figÅ«ru pÄrklÄÅ¡anos"
@@ -24960,35 +24950,35 @@ msgstr "Izgriezt no objektiem"
msgid "The width of the eraser pen (relative to the visible canvas area)"
msgstr "Dzēšgumijas platums (attiecÄ«bÄ pret redzamo auduma laukumu)"
-#: ../src/widgets/fill-style.cpp:360
+#: ../src/widgets/fill-style.cpp:356
msgid "Change fill rule"
msgstr "Mainiet aizpildīšanas noteikumu"
-#: ../src/widgets/fill-style.cpp:445 ../src/widgets/fill-style.cpp:524
+#: ../src/widgets/fill-style.cpp:441 ../src/widgets/fill-style.cpp:520
msgid "Set fill color"
msgstr "IestatÄ«t aizpildÄ«juma krÄsu"
-#: ../src/widgets/fill-style.cpp:445 ../src/widgets/fill-style.cpp:524
+#: ../src/widgets/fill-style.cpp:441 ../src/widgets/fill-style.cpp:520
msgid "Set stroke color"
msgstr "IestatÄ«t apmales krÄsu"
-#: ../src/widgets/fill-style.cpp:622
+#: ../src/widgets/fill-style.cpp:618
msgid "Set gradient on fill"
msgstr "IestatÄ«t aizpildÄ«juma krÄsu pÄreju"
-#: ../src/widgets/fill-style.cpp:622
+#: ../src/widgets/fill-style.cpp:618
msgid "Set gradient on stroke"
msgstr "IestatÄ«t apmales krÄsu pÄreju"
-#: ../src/widgets/fill-style.cpp:682
+#: ../src/widgets/fill-style.cpp:678
msgid "Set pattern on fill"
msgstr "Iestatīt aizpildījuma faktūru"
-#: ../src/widgets/fill-style.cpp:683
+#: ../src/widgets/fill-style.cpp:679
msgid "Set pattern on stroke"
msgstr "Iestatīt apmales faktūru"
-#: ../src/widgets/font-selector.cpp:120 ../src/widgets/text-toolbar.cpp:947 ../src/widgets/text-toolbar.cpp:1259
+#: ../src/widgets/font-selector.cpp:120 ../src/widgets/text-toolbar.cpp:953 ../src/widgets/text-toolbar.cpp:1265
msgid "Font size"
msgstr "Fonta izmērs"
@@ -25004,9 +24994,8 @@ msgid "Style"
msgstr "Stils"
#: ../src/widgets/font-selector.cpp:211
-#, fuzzy
msgid "Face"
-msgstr "Seja"
+msgstr "Skaldne"
#: ../src/widgets/font-selector.cpp:240 ../share/extensions/dots.inx.h:3
msgid "Font size:"
@@ -25020,7 +25009,7 @@ msgstr "DublÄ“t Å¡o krÄsu pÄreju"
msgid "Edit gradient"
msgstr "Labot krÄsu pÄreju"
-#: ../src/widgets/gradient-selector.cpp:281 ../src/widgets/paint-selector.cpp:236
+#: ../src/widgets/gradient-selector.cpp:281 ../src/widgets/paint-selector.cpp:233
msgid "Swatch"
msgstr "Palete"
@@ -25028,158 +25017,162 @@ msgstr "Palete"
msgid "Rename gradient"
msgstr "PÄrdÄ“vÄ“t krÄsu pÄreju"
-#: ../src/widgets/gradient-toolbar.cpp:156 ../src/widgets/gradient-toolbar.cpp:169 ../src/widgets/gradient-toolbar.cpp:758 ../src/widgets/gradient-toolbar.cpp:1097
+#: ../src/widgets/gradient-toolbar.cpp:157 ../src/widgets/gradient-toolbar.cpp:170 ../src/widgets/gradient-toolbar.cpp:761 ../src/widgets/gradient-toolbar.cpp:1100
msgid "No gradient"
msgstr "Nav krÄsu pÄrejas"
-#: ../src/widgets/gradient-toolbar.cpp:176
+#: ../src/widgets/gradient-toolbar.cpp:177
msgid "Multiple gradients"
msgstr "VairÄkas krÄsu pÄrejas"
-#: ../src/widgets/gradient-toolbar.cpp:678
+#: ../src/widgets/gradient-toolbar.cpp:681
msgid "Multiple stops"
msgstr "VairÄkas pieturvietas"
-#: ../src/widgets/gradient-toolbar.cpp:776 ../src/widgets/gradient-vector.cpp:609
+#: ../src/widgets/gradient-toolbar.cpp:779 ../src/widgets/gradient-vector.cpp:610
msgid "No stops in gradient"
msgstr "KrÄsu pÄrejÄ nav pieturvietu"
-#: ../src/widgets/gradient-toolbar.cpp:930
+#: ../src/widgets/gradient-toolbar.cpp:933
msgid "Assign gradient to object"
msgstr "Piešķirt objektam krÄsu pÄreju"
-#: ../src/widgets/gradient-toolbar.cpp:952
+#: ../src/widgets/gradient-toolbar.cpp:955
msgid "Set gradient repeat"
msgstr "IestatÄ«t krÄsu pÄrejas atkÄrtojumu"
-#: ../src/widgets/gradient-toolbar.cpp:990 ../src/widgets/gradient-vector.cpp:720
+#: ../src/widgets/gradient-toolbar.cpp:993 ../src/widgets/gradient-vector.cpp:721
msgid "Change gradient stop offset"
msgstr "MainÄ«t krÄsu pÄrejas pieturpunkta nobÄ«di"
-#: ../src/widgets/gradient-toolbar.cpp:1037
+#: ../src/widgets/gradient-toolbar.cpp:1040
msgid "linear"
msgstr "lineÄrs"
-#: ../src/widgets/gradient-toolbar.cpp:1037
+#: ../src/widgets/gradient-toolbar.cpp:1040
msgid "Create linear gradient"
msgstr "Izveidot lineÄru krÄsu pÄreju"
-#: ../src/widgets/gradient-toolbar.cpp:1041
+#: ../src/widgets/gradient-toolbar.cpp:1044
msgid "radial"
msgstr "radiÄls"
-#: ../src/widgets/gradient-toolbar.cpp:1041
+#: ../src/widgets/gradient-toolbar.cpp:1044
msgid "Create radial (elliptic or circular) gradient"
msgstr "Izveidot radiÄlu (eliptisku vai riņķveida) krÄsu pÄreju"
-#: ../src/widgets/gradient-toolbar.cpp:1044 ../src/widgets/mesh-toolbar.cpp:341
+#: ../src/widgets/gradient-toolbar.cpp:1047 ../src/widgets/mesh-toolbar.cpp:343
msgid "New:"
msgstr "Jauns:"
-#: ../src/widgets/gradient-toolbar.cpp:1067 ../src/widgets/mesh-toolbar.cpp:364
+#: ../src/widgets/gradient-toolbar.cpp:1070 ../src/widgets/mesh-toolbar.cpp:366
msgid "fill"
msgstr "aizpildīt"
-#: ../src/widgets/gradient-toolbar.cpp:1067 ../src/widgets/mesh-toolbar.cpp:364
+#: ../src/widgets/gradient-toolbar.cpp:1070 ../src/widgets/mesh-toolbar.cpp:366
msgid "Create gradient in the fill"
msgstr "Izveidot krÄsu pÄreju aizpildÄ«jumÄ"
-#: ../src/widgets/gradient-toolbar.cpp:1071 ../src/widgets/mesh-toolbar.cpp:368
+#: ../src/widgets/gradient-toolbar.cpp:1074 ../src/widgets/mesh-toolbar.cpp:370
msgid "stroke"
msgstr "apmale"
-#: ../src/widgets/gradient-toolbar.cpp:1071 ../src/widgets/mesh-toolbar.cpp:368
+#: ../src/widgets/gradient-toolbar.cpp:1074 ../src/widgets/mesh-toolbar.cpp:370
msgid "Create gradient in the stroke"
msgstr "Izveidot krÄsu pÄreju uz apmales"
-#: ../src/widgets/gradient-toolbar.cpp:1074 ../src/widgets/mesh-toolbar.cpp:371
+#: ../src/widgets/gradient-toolbar.cpp:1077 ../src/widgets/mesh-toolbar.cpp:373
msgid "on:"
msgstr "uz:"
-#: ../src/widgets/gradient-toolbar.cpp:1099
+#: ../src/widgets/gradient-toolbar.cpp:1102
msgid "Select"
msgstr "Atlasīt"
-#: ../src/widgets/gradient-toolbar.cpp:1099
+#: ../src/widgets/gradient-toolbar.cpp:1102
msgid "Choose a gradient"
msgstr "IzvÄ“lieties krÄsu pÄreju"
-#: ../src/widgets/gradient-toolbar.cpp:1100
+#: ../src/widgets/gradient-toolbar.cpp:1103
msgid "Select:"
msgstr "Atlasīt:"
-#: ../src/widgets/gradient-toolbar.cpp:1115
+#: ../src/widgets/gradient-toolbar.cpp:1118
msgctxt "Gradient repeat type"
msgid "None"
msgstr "Neviens"
#: ../src/widgets/gradient-toolbar.cpp:1121
+msgid "Reflected"
+msgstr "Atspoguļots"
+
+#: ../src/widgets/gradient-toolbar.cpp:1124
msgid "Direct"
msgstr "Tieši"
-#: ../src/widgets/gradient-toolbar.cpp:1123
+#: ../src/widgets/gradient-toolbar.cpp:1126
msgid "Repeat"
msgstr "AtkÄrtot"
#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/pservers.html#LinearGradientSpreadMethodAttribute
-#: ../src/widgets/gradient-toolbar.cpp:1125
+#: ../src/widgets/gradient-toolbar.cpp:1128
msgid ""
"Whether to fill with flat color beyond the ends of the gradient vector (spreadMethod=\"pad\"), or repeat the gradient in the same direction (spreadMethod=\"repeat\"), or repeat the gradient in alternating opposite directions (spreadMethod="
"\"reflect\")"
msgstr ""
"TurpinÄt aizpildÄ«jumu aiz krÄsu pÄrejas vektora galiem ar vienkÄrÅ¡u krÄsu (spreadMethod=\"pad\"), atkÄrtot krÄsu pÄreju tajÄ paÅ¡Ä virzienÄ (spreadMethod=\"repeat\"), vai atkÄrtot krÄsu pÄreju pretÄ“jÄ virzienÄ (spreadMethod=\"reflect\")"
-#: ../src/widgets/gradient-toolbar.cpp:1130
+#: ../src/widgets/gradient-toolbar.cpp:1133
msgid "Repeat:"
msgstr "AtkÄrtot:"
-#: ../src/widgets/gradient-toolbar.cpp:1144
+#: ../src/widgets/gradient-toolbar.cpp:1147
msgid "No stops"
msgstr "Nav pieturpunktu"
-#: ../src/widgets/gradient-toolbar.cpp:1146
+#: ../src/widgets/gradient-toolbar.cpp:1149
msgid "Stops"
msgstr "atbalsta punkti"
-#: ../src/widgets/gradient-toolbar.cpp:1146
+#: ../src/widgets/gradient-toolbar.cpp:1149
msgid "Select a stop for the current gradient"
msgstr "Atlasiet paÅ¡reizÄ“jÄs krÄsu pÄrejas pieturpunktu"
-#: ../src/widgets/gradient-toolbar.cpp:1147
+#: ../src/widgets/gradient-toolbar.cpp:1150
msgid "Stops:"
msgstr "Atbalsta punkti:"
#. Label
-#: ../src/widgets/gradient-toolbar.cpp:1159 ../src/widgets/gradient-vector.cpp:906
+#: ../src/widgets/gradient-toolbar.cpp:1162 ../src/widgets/gradient-vector.cpp:907
msgctxt "Gradient"
msgid "Offset:"
msgstr "Nobīde:"
-#: ../src/widgets/gradient-toolbar.cpp:1159
+#: ../src/widgets/gradient-toolbar.cpp:1162
msgid "Offset of selected stop"
msgstr "AtlasÄ«tÄ pieturpunkta nobÄ«de"
-#: ../src/widgets/gradient-toolbar.cpp:1177 ../src/widgets/gradient-toolbar.cpp:1178
+#: ../src/widgets/gradient-toolbar.cpp:1180 ../src/widgets/gradient-toolbar.cpp:1181
msgid "Insert new stop"
msgstr "Ievietot jaunu pieturpunktu"
-#: ../src/widgets/gradient-toolbar.cpp:1191 ../src/widgets/gradient-toolbar.cpp:1192 ../src/widgets/gradient-vector.cpp:888
+#: ../src/widgets/gradient-toolbar.cpp:1194 ../src/widgets/gradient-toolbar.cpp:1195 ../src/widgets/gradient-vector.cpp:889
msgid "Delete stop"
msgstr "Dzēst pieturpunktu"
-#: ../src/widgets/gradient-toolbar.cpp:1206
+#: ../src/widgets/gradient-toolbar.cpp:1209
msgid "Reverse the direction of the gradient"
msgstr "Pagriezt krÄsu pÄrejas virzienu uz pretÄ“jo pusi"
-#: ../src/widgets/gradient-toolbar.cpp:1220
+#: ../src/widgets/gradient-toolbar.cpp:1223
msgid "Link gradients"
msgstr "SaistÄ«t krÄsu pÄrejas"
-#: ../src/widgets/gradient-toolbar.cpp:1221
+#: ../src/widgets/gradient-toolbar.cpp:1224
msgid "Link gradients to change all related gradients"
msgstr "SasaistÄ«t krÄsu pÄrejas, lai mainÄ«tu visas saistÄ«tÄs krÄsu pÄrejas"
-#: ../src/widgets/gradient-vector.cpp:312 ../src/widgets/paint-selector.cpp:947 ../src/widgets/stroke-marker-selector.cpp:154
+#: ../src/widgets/gradient-vector.cpp:312 ../src/widgets/paint-selector.cpp:957 ../src/widgets/stroke-marker-selector.cpp:154
msgid "No document selected"
msgstr "Nav izvēlēts neviens dokuments"
@@ -25192,28 +25185,28 @@ msgid "No gradient selected"
msgstr "Nav atlasÄ«tu krÄsu pÄreju"
#. TRANSLATORS: "Stop" means: a "phase" of a gradient
-#: ../src/widgets/gradient-vector.cpp:883
+#: ../src/widgets/gradient-vector.cpp:884
msgid "Add stop"
msgstr "Pievienot pieturpunktu"
-#: ../src/widgets/gradient-vector.cpp:886
+#: ../src/widgets/gradient-vector.cpp:887
msgid "Add another control stop to gradient"
msgstr "Pievienot vÄ“l vienu krÄsu pÄrejas pieturpunktu"
-#: ../src/widgets/gradient-vector.cpp:891
+#: ../src/widgets/gradient-vector.cpp:892
msgid "Delete current control stop from gradient"
msgstr "DzÄ“st paÅ¡reizÄ“jo krÄsu pÄrejas pieturpunktu"
#. TRANSLATORS: "Stop" means: a "phase" of a gradient
-#: ../src/widgets/gradient-vector.cpp:959
+#: ../src/widgets/gradient-vector.cpp:960
msgid "Stop Color"
msgstr "Pieturpunkta krÄsa"
-#: ../src/widgets/gradient-vector.cpp:987
+#: ../src/widgets/gradient-vector.cpp:988
msgid "Gradient editor"
msgstr "KrÄsu pÄreju redaktors"
-#: ../src/widgets/gradient-vector.cpp:1324
+#: ../src/widgets/gradient-vector.cpp:1325
msgid "Change gradient stop color"
msgstr "MainÄ«t krÄsu pÄrejas pieturpunkta krÄsu"
@@ -25270,7 +25263,7 @@ msgid "Display measuring info for selected items"
msgstr "RÄdÄ«t atlasÄ«to objektu mÄ“rÄ«jumu informÄciju"
#. Add the units menu.
-#: ../src/widgets/lpe-toolbar.cpp:387 ../src/widgets/node-toolbar.cpp:613 ../src/widgets/paintbucket-toolbar.cpp:168 ../src/widgets/rect-toolbar.cpp:378 ../src/widgets/select-toolbar.cpp:538
+#: ../src/widgets/lpe-toolbar.cpp:387 ../src/widgets/node-toolbar.cpp:613 ../src/widgets/paintbucket-toolbar.cpp:167 ../src/widgets/rect-toolbar.cpp:378 ../src/widgets/select-toolbar.cpp:538
msgid "Units"
msgstr "Mērvienības"
@@ -25282,7 +25275,7 @@ msgstr "Atvērt LPE dialoglodziņu"
msgid "Open LPE dialog (to adapt parameters numerically)"
msgstr "Atvērt LPE dialoglodziņu (lai pieskaņotu parametrus skaitliski)"
-#: ../src/widgets/measure-toolbar.cpp:86 ../src/widgets/text-toolbar.cpp:1262
+#: ../src/widgets/measure-toolbar.cpp:86 ../src/widgets/text-toolbar.cpp:1268
msgid "Font Size"
msgstr "Fonta izmērs"
@@ -25298,96 +25291,96 @@ msgstr "IzmÄ“ru iezÄ«mÄ“s izmantojamÄ fonta lielums"
msgid "The units to be used for the measurements"
msgstr "MÄ“rīšanai izmantojamÄs mÄ“rvienÄ«bas"
-#: ../src/widgets/mesh-toolbar.cpp:311
+#: ../src/widgets/mesh-toolbar.cpp:313
msgid "Set mesh type"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:334
+#: ../src/widgets/mesh-toolbar.cpp:336
msgid "normal"
msgstr "normÄls"
-#: ../src/widgets/mesh-toolbar.cpp:334
+#: ../src/widgets/mesh-toolbar.cpp:336
msgid "Create mesh gradient"
msgstr "Izveidot tÄ«kla krÄsu pÄreju"
-#: ../src/widgets/mesh-toolbar.cpp:338
+#: ../src/widgets/mesh-toolbar.cpp:340
msgid "conical"
msgstr "konisks"
-#: ../src/widgets/mesh-toolbar.cpp:338
+#: ../src/widgets/mesh-toolbar.cpp:340
msgid "Create conical gradient"
msgstr "Izveidot konisku krÄsu pÄreju"
-#: ../src/widgets/mesh-toolbar.cpp:393
+#: ../src/widgets/mesh-toolbar.cpp:395
msgid "Rows"
msgstr "Rindas"
-#: ../src/widgets/mesh-toolbar.cpp:393 ../share/extensions/guides_creator.inx.h:5 ../share/extensions/layout_nup.inx.h:12
+#: ../src/widgets/mesh-toolbar.cpp:395 ../share/extensions/guides_creator.inx.h:5 ../share/extensions/layout_nup.inx.h:12
msgid "Rows:"
msgstr "Rindas:"
-#: ../src/widgets/mesh-toolbar.cpp:393
+#: ../src/widgets/mesh-toolbar.cpp:395
msgid "Number of rows in new mesh"
msgstr "Rindu skaits jaunajÄ tÄ«klÄ"
-#: ../src/widgets/mesh-toolbar.cpp:409
+#: ../src/widgets/mesh-toolbar.cpp:411
msgid "Columns"
msgstr "Slejas"
-#: ../src/widgets/mesh-toolbar.cpp:409 ../share/extensions/guides_creator.inx.h:4
+#: ../src/widgets/mesh-toolbar.cpp:411 ../share/extensions/guides_creator.inx.h:4
msgid "Columns:"
msgstr "Slejas:"
-#: ../src/widgets/mesh-toolbar.cpp:409
+#: ../src/widgets/mesh-toolbar.cpp:411
msgid "Number of columns in new mesh"
msgstr "Sleju skaits jaunajÄ tÄ«klÄ"
-#: ../src/widgets/mesh-toolbar.cpp:423
+#: ../src/widgets/mesh-toolbar.cpp:425
msgid "Edit Fill"
msgstr "Labot aizpildījumu"
-#: ../src/widgets/mesh-toolbar.cpp:424
+#: ../src/widgets/mesh-toolbar.cpp:426
msgid "Edit fill mesh"
msgstr "Labot aizpildījuma tīklu"
-#: ../src/widgets/mesh-toolbar.cpp:435
+#: ../src/widgets/mesh-toolbar.cpp:437
msgid "Edit Stroke"
msgstr "Labot apmali"
-#: ../src/widgets/mesh-toolbar.cpp:436
+#: ../src/widgets/mesh-toolbar.cpp:438
msgid "Edit stroke mesh"
msgstr "Labot apmales tīklu"
-#: ../src/widgets/mesh-toolbar.cpp:447 ../src/widgets/node-toolbar.cpp:521
+#: ../src/widgets/mesh-toolbar.cpp:449 ../src/widgets/node-toolbar.cpp:521
msgid "Show Handles"
msgstr "RÄdÄ«t turus"
-#: ../src/widgets/mesh-toolbar.cpp:448
+#: ../src/widgets/mesh-toolbar.cpp:450
msgid "Show side and tensor handles"
msgstr "RÄdÄ«t malas un tenzora turus"
-#: ../src/widgets/mesh-toolbar.cpp:463
+#: ../src/widgets/mesh-toolbar.cpp:465
msgid "WARNING: Mesh SVG Syntax Subject to Change"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:473
+#: ../src/widgets/mesh-toolbar.cpp:475
msgctxt "Type"
msgid "Coons"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:476
+#: ../src/widgets/mesh-toolbar.cpp:478
msgid "Bicubic"
-msgstr ""
+msgstr "Bikubisks"
-#: ../src/widgets/mesh-toolbar.cpp:478
+#: ../src/widgets/mesh-toolbar.cpp:480
msgid "Coons"
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:479
+#: ../src/widgets/mesh-toolbar.cpp:481
msgid "Coons: no smoothing. Bicubic: smoothing across patch boundaries."
msgstr ""
-#: ../src/widgets/mesh-toolbar.cpp:481 ../src/widgets/pencil-toolbar.cpp:278
+#: ../src/widgets/mesh-toolbar.cpp:483 ../src/widgets/pencil-toolbar.cpp:278
msgid "Smoothing:"
msgstr "NogludinÄÅ¡ana:"
@@ -25583,126 +25576,126 @@ msgstr "Y koordinÄte:"
msgid "Y coordinate of selected node(s)"
msgstr "IzvÄ“lÄ“tÄ(-o) mezgla(-u) Y koordinÄte"
-#: ../src/widgets/paint-selector.cpp:222
+#: ../src/widgets/paint-selector.cpp:219
msgid "No paint"
msgstr "Nav krÄsas"
-#: ../src/widgets/paint-selector.cpp:224
+#: ../src/widgets/paint-selector.cpp:221
msgid "Flat color"
msgstr "Vienlaidu krÄsa"
-#: ../src/widgets/paint-selector.cpp:226
+#: ../src/widgets/paint-selector.cpp:223
msgid "Linear gradient"
msgstr "LineÄra krÄsu pÄreja"
-#: ../src/widgets/paint-selector.cpp:228
+#: ../src/widgets/paint-selector.cpp:225
msgid "Radial gradient"
msgstr "RadiÄla krÄsu pÄreja"
-#: ../src/widgets/paint-selector.cpp:231
+#: ../src/widgets/paint-selector.cpp:228
msgid "Mesh gradient"
msgstr "RežģtÄ«kla krÄsu pÄreja"
-#: ../src/widgets/paint-selector.cpp:238
+#: ../src/widgets/paint-selector.cpp:235
msgid "Unset paint (make it undefined so it can be inherited)"
msgstr "AtiestatÄ«t krÄsu (iestatÄ«t to kÄ nenoteiktu, lai to bÅ«tu iespÄ“jams pÄrmantot)"
#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty
-#: ../src/widgets/paint-selector.cpp:255
+#: ../src/widgets/paint-selector.cpp:252
msgid "Any path self-intersections or subpaths create holes in the fill (fill-rule: evenodd)"
msgstr "Jebkura ceļa paÅ¡krustoÅ¡anÄs vai apakÅ¡ceļi radÄ«s caurumus aizpildÄ«jumÄ (fill-rule: evenodd)"
#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty
-#: ../src/widgets/paint-selector.cpp:266
+#: ../src/widgets/paint-selector.cpp:263
msgid "Fill is solid unless a subpath is counterdirectional (fill-rule: nonzero)"
msgstr "Aizpildījums ir vienlaidu, ja vien apakšceļa virziens nav pretējs (fill-rule: nonzero)"
-#: ../src/widgets/paint-selector.cpp:600
+#: ../src/widgets/paint-selector.cpp:597
msgid "<b>No objects</b>"
msgstr "<b>Nav objektu</b>"
-#: ../src/widgets/paint-selector.cpp:611
+#: ../src/widgets/paint-selector.cpp:608
msgid "<b>Multiple styles</b>"
msgstr "<b>VairÄki stili</b>"
-#: ../src/widgets/paint-selector.cpp:622
+#: ../src/widgets/paint-selector.cpp:619
msgid "<b>Paint is undefined</b>"
msgstr "<b>KrÄsa nav noteikta</b>"
-#: ../src/widgets/paint-selector.cpp:633
+#: ../src/widgets/paint-selector.cpp:630
msgid "<b>No paint</b>"
msgstr "<b>Nav krÄsas</b>"
-#: ../src/widgets/paint-selector.cpp:704
+#: ../src/widgets/paint-selector.cpp:714
msgid "<b>Flat color</b>"
msgstr "<b>Vienlaidu krÄsa</b>"
#. sp_gradient_selector_set_mode(SP_GRADIENT_SELECTOR(gsel), SP_GRADIENT_SELECTOR_MODE_LINEAR);
-#: ../src/widgets/paint-selector.cpp:773
+#: ../src/widgets/paint-selector.cpp:783
msgid "<b>Linear gradient</b>"
msgstr "<b>LineÄra krÄsu pÄreja</b>"
-#: ../src/widgets/paint-selector.cpp:776
+#: ../src/widgets/paint-selector.cpp:786
msgid "<b>Radial gradient</b>"
msgstr "<b>RadiÄla krÄsu pÄreja</b>"
-#: ../src/widgets/paint-selector.cpp:781
+#: ../src/widgets/paint-selector.cpp:791
msgid "<b>Mesh gradient</b>"
msgstr "<b>RežģtÄ«kla krÄsu pÄreja</b>"
-#: ../src/widgets/paint-selector.cpp:1080
+#: ../src/widgets/paint-selector.cpp:1090
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 "Izmantojiet <b>Mezglu rÄ«ks</b>, lai pielÄgotu faktÅ«ras novietojumu, mÄ“rogu un pagriezienu uz audekla. Izmantojiet <b>Objekts &gt; FaktÅ«ra &gt; Objektus par faktÅ«ru</b>, lai no atlasÄ«tÄ izveidotu jaunu faktÅ«ru."
-#: ../src/widgets/paint-selector.cpp:1093
+#: ../src/widgets/paint-selector.cpp:1103
msgid "<b>Pattern fill</b>"
msgstr "<b>Aizpildījums ar faktūru</b>"
-#: ../src/widgets/paint-selector.cpp:1187
+#: ../src/widgets/paint-selector.cpp:1197
msgid "<b>Swatch fill</b>"
msgstr "<b>Paletes aizpildījums</b>"
-#: ../src/widgets/paintbucket-toolbar.cpp:135
+#: ../src/widgets/paintbucket-toolbar.cpp:134
msgid "Fill by"
msgstr "Aizpildīt ar"
-#: ../src/widgets/paintbucket-toolbar.cpp:136
+#: ../src/widgets/paintbucket-toolbar.cpp:135
msgid "Fill by:"
msgstr "Aizpildīt ar:"
-#: ../src/widgets/paintbucket-toolbar.cpp:148
+#: ../src/widgets/paintbucket-toolbar.cpp:147
msgid "Fill Threshold"
msgstr "Aizpildīšanas slieksnis"
-#: ../src/widgets/paintbucket-toolbar.cpp:149
+#: ../src/widgets/paintbucket-toolbar.cpp:148
msgid "The maximum allowed difference between the clicked pixel and the neighboring pixels to be counted in the fill"
msgstr "MaksimÄlÄ pieļaujamÄ atšķirÄ«ba aizpildÄ«jumÄ starp izvÄ“lÄ“to pikseli un apkÄrtÄ“jiem pikseļiem"
-#: ../src/widgets/paintbucket-toolbar.cpp:176
+#: ../src/widgets/paintbucket-toolbar.cpp:175
msgid "Grow/shrink by"
msgstr "PalielinÄt/samazinÄt par"
-#: ../src/widgets/paintbucket-toolbar.cpp:176
+#: ../src/widgets/paintbucket-toolbar.cpp:175
msgid "Grow/shrink by:"
msgstr "PalielinÄt/samazinÄt par:"
-#: ../src/widgets/paintbucket-toolbar.cpp:177
+#: ../src/widgets/paintbucket-toolbar.cpp:176
msgid "The amount to grow (positive) or shrink (negative) the created fill path"
msgstr "IzveidotÄ aizpildÄ«juma ceļa paplaÅ¡inÄjums (pozitÄ«vs) vai saÅ¡aurinÄjums (negatÄ«vs)"
-#: ../src/widgets/paintbucket-toolbar.cpp:202
+#: ../src/widgets/paintbucket-toolbar.cpp:199
msgid "Close gaps"
msgstr "Aizpildīt spraugas"
-#: ../src/widgets/paintbucket-toolbar.cpp:203
+#: ../src/widgets/paintbucket-toolbar.cpp:200
msgid "Close gaps:"
msgstr "Aizpildīt spraugas:"
-#: ../src/widgets/paintbucket-toolbar.cpp:214 ../src/widgets/pencil-toolbar.cpp:299 ../src/widgets/spiral-toolbar.cpp:289 ../src/widgets/star-toolbar.cpp:566
+#: ../src/widgets/paintbucket-toolbar.cpp:211 ../src/widgets/pencil-toolbar.cpp:299 ../src/widgets/spiral-toolbar.cpp:285 ../src/widgets/star-toolbar.cpp:564
msgid "Defaults"
msgstr "Noklusētie"
-#: ../src/widgets/paintbucket-toolbar.cpp:215
+#: ../src/widgets/paintbucket-toolbar.cpp:212
msgid "Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools to change defaults)"
msgstr "AtiestatÄ«t krÄsas spaiņa parametrus uz noklusÄ“tajiem (izmantojiet Inkscape IestatÄ«jumi > RÄ«ki, lai manÄ«tu noklusÄ“tÄs vÄ“rtÄ«bas)"
@@ -25792,7 +25785,7 @@ msgstr "Cik liela nogludinÄÅ¡ana (vienkÄrÅ¡oÅ¡ana) tiek pielietota lÄ«nijai"
msgid "Reset pencil parameters to defaults (use Inkscape Preferences > Tools to change defaults)"
msgstr "Atiestatīt zīmuļa parametrus uz noklusētajiem (izmantojiet Inkscape Iestatījumi > Rīki, lai mainītu noklusētos)"
-#: ../src/widgets/rect-toolbar.cpp:124
+#: ../src/widgets/rect-toolbar.cpp:125
msgid "Change rectangle"
msgstr "Izveidot taisnstūri"
@@ -26118,91 +26111,91 @@ msgstr "Vērtība"
msgid "Type text in a text node"
msgstr "Ierakstiet tekstu teksta mezglÄ"
-#: ../src/widgets/spiral-toolbar.cpp:100
+#: ../src/widgets/spiral-toolbar.cpp:98
msgid "Change spiral"
msgstr "MainÄ«t spirÄli"
-#: ../src/widgets/spiral-toolbar.cpp:246
+#: ../src/widgets/spiral-toolbar.cpp:242
msgid "just a curve"
msgstr "tikai līkne"
-#: ../src/widgets/spiral-toolbar.cpp:246
+#: ../src/widgets/spiral-toolbar.cpp:242
msgid "one full revolution"
msgstr "vienu pilnu apgriezienu"
-#: ../src/widgets/spiral-toolbar.cpp:249
+#: ../src/widgets/spiral-toolbar.cpp:245
msgid "Number of turns"
msgstr "Pilnu apgriezienu skaits"
-#: ../src/widgets/spiral-toolbar.cpp:249
+#: ../src/widgets/spiral-toolbar.cpp:245
msgid "Turns:"
msgstr "Apgriezieni:"
-#: ../src/widgets/spiral-toolbar.cpp:249
+#: ../src/widgets/spiral-toolbar.cpp:245
msgid "Number of revolutions"
msgstr "Apgriezienu skaits"
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "circle"
msgstr "riņķis"
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "edge is much denser"
msgstr "malas ir daudz blÄ«vÄkas"
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "edge is denser"
msgstr "malas ir blÄ«vÄkas"
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "even"
msgstr "pÄra"
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "center is denser"
msgstr "centrs ir blÄ«vÄks"
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "center is much denser"
msgstr "centrs ir daudz blÄ«vÄks"
-#: ../src/widgets/spiral-toolbar.cpp:263
+#: ../src/widgets/spiral-toolbar.cpp:259
msgid "Divergence"
msgstr "Novirze"
-#: ../src/widgets/spiral-toolbar.cpp:263
+#: ../src/widgets/spiral-toolbar.cpp:259
msgid "Divergence:"
msgstr "Novirze:"
-#: ../src/widgets/spiral-toolbar.cpp:263
+#: ../src/widgets/spiral-toolbar.cpp:259
msgid "How much denser/sparser are outer revolutions; 1 = uniform"
msgstr "Cik blÄ«vÄki/retÄki ir ÄrÄ“jie vijumi; 1 - vienÄdi nemainÄ«gi"
-#: ../src/widgets/spiral-toolbar.cpp:274
+#: ../src/widgets/spiral-toolbar.cpp:270
msgid "starts from center"
msgstr "sÄkas no centra"
-#: ../src/widgets/spiral-toolbar.cpp:274
+#: ../src/widgets/spiral-toolbar.cpp:270
msgid "starts mid-way"
msgstr "sÄkas pusceļÄ"
-#: ../src/widgets/spiral-toolbar.cpp:274
+#: ../src/widgets/spiral-toolbar.cpp:270
msgid "starts near edge"
msgstr "sÄkas pie malas"
-#: ../src/widgets/spiral-toolbar.cpp:277
+#: ../src/widgets/spiral-toolbar.cpp:273
msgid "Inner radius"
msgstr "Iekšējais rÄdiuss"
-#: ../src/widgets/spiral-toolbar.cpp:277
+#: ../src/widgets/spiral-toolbar.cpp:273
msgid "Inner radius:"
msgstr "Iekšējais rÄdiuss:"
-#: ../src/widgets/spiral-toolbar.cpp:277
+#: ../src/widgets/spiral-toolbar.cpp:273
msgid "Radius of the innermost revolution (relative to the spiral size)"
msgstr "IekšējÄ vijuma rÄdiuss (attiecÄ«bÄ pret spirÄles izmÄ“ru)"
-#: ../src/widgets/spiral-toolbar.cpp:290 ../src/widgets/star-toolbar.cpp:567
+#: ../src/widgets/spiral-toolbar.cpp:286 ../src/widgets/star-toolbar.cpp:565
msgid "Reset shape parameters to defaults (use Inkscape Preferences > Tools to change defaults)"
msgstr "Atiestatīt figūras parametrus uz noklusētajiem (izmantojiet Inkscape Iestatījumi > Rīki, lai mainītu noklusētos)"
@@ -26359,149 +26352,149 @@ msgstr "Zvaigzne: manīt noapaļojumu"
msgid "Star: Change randomization"
msgstr "Zvaigzne: manÄ«t dažÄdoÅ¡anu"
-#: ../src/widgets/star-toolbar.cpp:465
+#: ../src/widgets/star-toolbar.cpp:463
msgid "Regular polygon (with one handle) instead of a star"
msgstr "VienÄdmalu daudzstÅ«ris (ar vienu turi) zvaigznes vietÄ"
-#: ../src/widgets/star-toolbar.cpp:472
+#: ../src/widgets/star-toolbar.cpp:470
msgid "Star instead of a regular polygon (with one handle)"
msgstr "Zvaigzne regulÄra daudzstÅ«ra vietÄ (ar vienu turi)"
-#: ../src/widgets/star-toolbar.cpp:493
+#: ../src/widgets/star-toolbar.cpp:491
msgid "triangle/tri-star"
msgstr "trīsstūra/trīsstaru"
-#: ../src/widgets/star-toolbar.cpp:493
+#: ../src/widgets/star-toolbar.cpp:491
msgid "square/quad-star"
msgstr "ÄetrstÅ«ra/Äetrstaru"
-#: ../src/widgets/star-toolbar.cpp:493
+#: ../src/widgets/star-toolbar.cpp:491
msgid "pentagon/five-pointed star"
msgstr "piecstūris/piecu staru zvaigzne"
-#: ../src/widgets/star-toolbar.cpp:493
+#: ../src/widgets/star-toolbar.cpp:491
msgid "hexagon/six-pointed star"
msgstr "sešstūris/sešuu staru zvaigzne"
-#: ../src/widgets/star-toolbar.cpp:496
+#: ../src/widgets/star-toolbar.cpp:494
msgid "Corners"
msgstr "Stūri"
-#: ../src/widgets/star-toolbar.cpp:496
+#: ../src/widgets/star-toolbar.cpp:494
msgid "Corners:"
msgstr "Stūri:"
-#: ../src/widgets/star-toolbar.cpp:496
+#: ../src/widgets/star-toolbar.cpp:494
msgid "Number of corners of a polygon or star"
msgstr "Daudzstūra stūru vai zvaigznes staru skaits"
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "thin-ray star"
msgstr "zvaigzne ar tieviem stariem"
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "pentagram"
msgstr "pentagramma"
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "hexagram"
msgstr "heksagramma"
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "heptagram"
msgstr "heptagramma"
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "octagram"
msgstr "octagramma"
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "regular polygon"
msgstr "regulÄrs daudzstÅ«ris"
-#: ../src/widgets/star-toolbar.cpp:512
+#: ../src/widgets/star-toolbar.cpp:510
msgid "Spoke ratio"
msgstr "RÄdiusu attiecÄ«ba"
-#: ../src/widgets/star-toolbar.cpp:512
+#: ../src/widgets/star-toolbar.cpp:510
msgid "Spoke ratio:"
msgstr "RÄdiusu attiecÄ«ba:"
#. 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:515
+#: ../src/widgets/star-toolbar.cpp:513
msgid "Base radius to tip radius ratio"
msgstr "BÄzes un virsotnes rÄdiusu attiecÄ«ba"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "stretched"
msgstr "izstiepts"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "twisted"
msgstr "savīts"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "slightly pinched"
msgstr "viegli saknaibīts"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "NOT rounded"
msgstr "Nenopaļoti"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "slightly rounded"
msgstr "viegli noapaļoti"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "visibly rounded"
msgstr "redzami noapaļoti"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "well rounded"
msgstr "labi noapaļoti"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "amply rounded"
msgstr "pilnīgi noapaļoti"
-#: ../src/widgets/star-toolbar.cpp:533 ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:531 ../src/widgets/star-toolbar.cpp:546
msgid "blown up"
msgstr "uzpūsts"
-#: ../src/widgets/star-toolbar.cpp:536
+#: ../src/widgets/star-toolbar.cpp:534
msgid "Rounded:"
msgstr "Noapaļots:"
-#: ../src/widgets/star-toolbar.cpp:536
+#: ../src/widgets/star-toolbar.cpp:534
msgid "How much rounded are the corners (0 for sharp)"
msgstr "Cik noapaļoti ir stūri (0 - asi)"
-#: ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:546
msgid "NOT randomized"
msgstr "Nav dažÄdots"
-#: ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:546
msgid "slightly irregular"
msgstr "viegli neregulÄrs"
-#: ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:546
msgid "visibly randomized"
msgstr "ievÄ“rojami dažÄdots"
-#: ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:546
msgid "strongly randomized"
msgstr "stipri dažÄdots"
-#: ../src/widgets/star-toolbar.cpp:551
+#: ../src/widgets/star-toolbar.cpp:549
msgid "Randomized"
msgstr "DažÄdots"
-#: ../src/widgets/star-toolbar.cpp:551
+#: ../src/widgets/star-toolbar.cpp:549
msgid "Randomized:"
msgstr "DažÄdots:"
-#: ../src/widgets/star-toolbar.cpp:551
+#: ../src/widgets/star-toolbar.cpp:549
msgid "Scatter randomly the corners and angles"
msgstr "Brīvi izkliedēt stūrus un leņķus"
@@ -26597,7 +26590,7 @@ msgstr "Beigu marķieri tiek pievienoti ceļa vai figūras pēdējam mezglam"
msgid "Set markers"
msgstr "Iestatīt marķierus"
-#: ../src/widgets/stroke-style.cpp:1030 ../src/widgets/stroke-style.cpp:1114
+#: ../src/widgets/stroke-style.cpp:1029 ../src/widgets/stroke-style.cpp:1113
msgid "Set stroke style"
msgstr "Iestatīt apmales stilu"
@@ -26609,409 +26602,409 @@ msgstr "IestatÄ«t marÄ·iera krÄsu"
msgid "Change swatch color"
msgstr "Mainiet krÄsu paraugu krÄsu"
-#: ../src/widgets/text-toolbar.cpp:169
+#: ../src/widgets/text-toolbar.cpp:173
msgid "Text: Change font family"
msgstr "Teksts: mainīt fonta saimi"
-#: ../src/widgets/text-toolbar.cpp:233
+#: ../src/widgets/text-toolbar.cpp:239
msgid "Text: Change font size"
msgstr "Teksts: mainīt fonta izmēru"
-#: ../src/widgets/text-toolbar.cpp:269
+#: ../src/widgets/text-toolbar.cpp:275
msgid "Text: Change font style"
msgstr "Teksts: mainīt fonta stilu"
-#: ../src/widgets/text-toolbar.cpp:347
+#: ../src/widgets/text-toolbar.cpp:353
msgid "Text: Change superscript or subscript"
msgstr "Teksts: mainīt uz augšrakstu vai apakšrakstu"
-#: ../src/widgets/text-toolbar.cpp:489
+#: ../src/widgets/text-toolbar.cpp:496
msgid "Text: Change alignment"
msgstr "Teksts: mainÄ«t lÄ«dzinÄÅ¡anu"
-#: ../src/widgets/text-toolbar.cpp:532
+#: ../src/widgets/text-toolbar.cpp:539
msgid "Text: Change line-height"
msgstr "Teksts: mainīt rindas augstumu"
-#: ../src/widgets/text-toolbar.cpp:580
+#: ../src/widgets/text-toolbar.cpp:587
msgid "Text: Change word-spacing"
msgstr "Teksts: mainÄ«t attÄlumu starp vÄrdiem"
-#: ../src/widgets/text-toolbar.cpp:620
+#: ../src/widgets/text-toolbar.cpp:627
msgid "Text: Change letter-spacing"
msgstr "Teksts: mainÄ«t attÄlumu starp burtiem"
-#: ../src/widgets/text-toolbar.cpp:658
+#: ../src/widgets/text-toolbar.cpp:665
msgid "Text: Change dx (kern)"
msgstr "Teksts: mainīt dx (rakstsavirzi)"
-#: ../src/widgets/text-toolbar.cpp:692
+#: ../src/widgets/text-toolbar.cpp:699
msgid "Text: Change dy"
msgstr "Teksts: mainīt dy"
-#: ../src/widgets/text-toolbar.cpp:727
+#: ../src/widgets/text-toolbar.cpp:734
msgid "Text: Change rotate"
msgstr "Teksts: mainīt pagriezienu"
-#: ../src/widgets/text-toolbar.cpp:774
+#: ../src/widgets/text-toolbar.cpp:781
msgid "Text: Change orientation"
msgstr "Teksts: mainÄ«t orientÄciju"
-#: ../src/widgets/text-toolbar.cpp:1210
+#: ../src/widgets/text-toolbar.cpp:1216
msgid "Font Family"
msgstr "Fonta saime"
-#: ../src/widgets/text-toolbar.cpp:1211
+#: ../src/widgets/text-toolbar.cpp:1217
msgid "Select Font Family (Alt-X to access)"
msgstr "Izvēlieties fontu ģimeni (saīsne - Alt-X)"
#. Focus widget
#. Enable entry completion
-#: ../src/widgets/text-toolbar.cpp:1221
+#: ../src/widgets/text-toolbar.cpp:1227
msgid "Select all text with this font-family"
msgstr "Atlasīt visu tekstu, kas formatēts ar šo fontu grupu"
-#: ../src/widgets/text-toolbar.cpp:1225
+#: ../src/widgets/text-toolbar.cpp:1231
msgid "Font not found on system"
msgstr "Fonts nav atrasts"
-#: ../src/widgets/text-toolbar.cpp:1284
+#: ../src/widgets/text-toolbar.cpp:1290
msgid "Font Style"
msgstr "Fonta stils"
-#: ../src/widgets/text-toolbar.cpp:1285
+#: ../src/widgets/text-toolbar.cpp:1291
msgid "Font style"
msgstr "Fonta stils"
#. Name
-#: ../src/widgets/text-toolbar.cpp:1302
+#: ../src/widgets/text-toolbar.cpp:1308
msgid "Toggle Superscript"
msgstr "Ieslēgt augšrakstu"
#. Label
-#: ../src/widgets/text-toolbar.cpp:1303
+#: ../src/widgets/text-toolbar.cpp:1309
msgid "Toggle superscript"
msgstr "Ieslēgt augšrakstu"
#. Name
-#: ../src/widgets/text-toolbar.cpp:1315
+#: ../src/widgets/text-toolbar.cpp:1321
msgid "Toggle Subscript"
msgstr "Ieslēgt apakšrakstu"
#. Label
-#: ../src/widgets/text-toolbar.cpp:1316
+#: ../src/widgets/text-toolbar.cpp:1322
msgid "Toggle subscript"
msgstr "Ieslēgt apakšrakstu"
-#: ../src/widgets/text-toolbar.cpp:1357
+#: ../src/widgets/text-toolbar.cpp:1363
msgid "Justify"
msgstr "IzlÄ«dzinÄt"
#. Name
-#: ../src/widgets/text-toolbar.cpp:1364
+#: ../src/widgets/text-toolbar.cpp:1370
msgid "Alignment"
msgstr "IzlÄ«dzinÄjums"
#. Label
-#: ../src/widgets/text-toolbar.cpp:1365
+#: ../src/widgets/text-toolbar.cpp:1371
msgid "Text alignment"
msgstr "Teksta lÄ«dzinÄÅ¡ana"
-#: ../src/widgets/text-toolbar.cpp:1392
+#: ../src/widgets/text-toolbar.cpp:1398
msgid "Horizontal"
msgstr "HorizontÄls"
-#: ../src/widgets/text-toolbar.cpp:1399
+#: ../src/widgets/text-toolbar.cpp:1405
msgid "Vertical"
msgstr "VertikÄls"
#. Label
-#: ../src/widgets/text-toolbar.cpp:1406
+#: ../src/widgets/text-toolbar.cpp:1412
msgid "Text orientation"
msgstr "Teksta orientÄcija"
#. Drop down menu
-#: ../src/widgets/text-toolbar.cpp:1429
+#: ../src/widgets/text-toolbar.cpp:1435
msgid "Smaller spacing"
msgstr "MazÄka atstarpe"
-#: ../src/widgets/text-toolbar.cpp:1429 ../src/widgets/text-toolbar.cpp:1460 ../src/widgets/text-toolbar.cpp:1491
+#: ../src/widgets/text-toolbar.cpp:1435 ../src/widgets/text-toolbar.cpp:1466 ../src/widgets/text-toolbar.cpp:1497
msgctxt "Text tool"
msgid "Normal"
msgstr "Parasts"
-#: ../src/widgets/text-toolbar.cpp:1429
+#: ../src/widgets/text-toolbar.cpp:1435
msgid "Larger spacing"
msgstr "LielÄka atstarpe"
#. name
-#: ../src/widgets/text-toolbar.cpp:1434
+#: ../src/widgets/text-toolbar.cpp:1440
msgid "Line Height"
msgstr "Rindas augstums"
#. label
-#: ../src/widgets/text-toolbar.cpp:1435
+#: ../src/widgets/text-toolbar.cpp:1441
msgid "Line:"
msgstr "Rinda:"
#. short label
-#: ../src/widgets/text-toolbar.cpp:1436
+#: ../src/widgets/text-toolbar.cpp:1442
msgid "Spacing between lines (times font size)"
msgstr "Atstarpe starp rindÄm (fonta izmÄ“ra reizÄ“s)"
#. Drop down menu
-#: ../src/widgets/text-toolbar.cpp:1460 ../src/widgets/text-toolbar.cpp:1491
+#: ../src/widgets/text-toolbar.cpp:1466 ../src/widgets/text-toolbar.cpp:1497
msgid "Negative spacing"
msgstr "Negatīva atstarpe"
-#: ../src/widgets/text-toolbar.cpp:1460 ../src/widgets/text-toolbar.cpp:1491
+#: ../src/widgets/text-toolbar.cpp:1466 ../src/widgets/text-toolbar.cpp:1497
msgid "Positive spacing"
msgstr "Pozitīva atstarpe"
#. name
-#: ../src/widgets/text-toolbar.cpp:1465
+#: ../src/widgets/text-toolbar.cpp:1471
msgid "Word spacing"
msgstr "VÄrdu atstatums"
#. label
-#: ../src/widgets/text-toolbar.cpp:1466
+#: ../src/widgets/text-toolbar.cpp:1472
msgid "Word:"
msgstr "VÄrds:"
#. short label
-#: ../src/widgets/text-toolbar.cpp:1467
+#: ../src/widgets/text-toolbar.cpp:1473
msgid "Spacing between words (px)"
msgstr "Atstarpe starp vÄrdiem (px)"
#. name
-#: ../src/widgets/text-toolbar.cpp:1496
+#: ../src/widgets/text-toolbar.cpp:1502
msgid "Letter spacing"
msgstr "Burtu atstatums"
#. label
-#: ../src/widgets/text-toolbar.cpp:1497
+#: ../src/widgets/text-toolbar.cpp:1503
msgid "Letter:"
msgstr "Burts:"
#. short label
-#: ../src/widgets/text-toolbar.cpp:1498
+#: ../src/widgets/text-toolbar.cpp:1504
msgid "Spacing between letters (px)"
msgstr "Atstarpe starp burtiem (px)"
#. name
-#: ../src/widgets/text-toolbar.cpp:1527
+#: ../src/widgets/text-toolbar.cpp:1533
msgid "Kerning"
msgstr "Rakstsavirze"
#. label
-#: ../src/widgets/text-toolbar.cpp:1528
+#: ../src/widgets/text-toolbar.cpp:1534
msgid "Kern:"
msgstr "Rakstsavirze:"
#. short label
-#: ../src/widgets/text-toolbar.cpp:1529
+#: ../src/widgets/text-toolbar.cpp:1535
msgid "Horizontal kerning (px)"
msgstr "HorizontÄlÄ rakstsavirze (px)"
#. name
-#: ../src/widgets/text-toolbar.cpp:1558
+#: ../src/widgets/text-toolbar.cpp:1564
msgid "Vertical Shift"
msgstr "VertikÄlÄ pÄrbÄ«de"
#. label
-#: ../src/widgets/text-toolbar.cpp:1559
+#: ../src/widgets/text-toolbar.cpp:1565
msgid "Vert:"
msgstr "Vert:"
#. short label
-#: ../src/widgets/text-toolbar.cpp:1560
+#: ../src/widgets/text-toolbar.cpp:1566
msgid "Vertical shift (px)"
msgstr "VertikÄlÄ pÄrbÄ«de (px)"
#. name
-#: ../src/widgets/text-toolbar.cpp:1589
+#: ../src/widgets/text-toolbar.cpp:1595
msgid "Letter rotation"
msgstr "Burta pagrieziens"
#. label
-#: ../src/widgets/text-toolbar.cpp:1590
+#: ../src/widgets/text-toolbar.cpp:1596
msgid "Rot:"
msgstr "Pagr.:"
#. short label
-#: ../src/widgets/text-toolbar.cpp:1591
+#: ../src/widgets/text-toolbar.cpp:1597
msgid "Character rotation (degrees)"
msgstr "RakstzÄ«mju pagrieziens (grÄdos)"
-#: ../src/widgets/toolbox.cpp:181
+#: ../src/widgets/toolbox.cpp:177
msgid "Color/opacity used for color tweaking"
msgstr "KrÄsu korekcijai izmantojamÄ krÄsa/necauspÄ«dÄ«ba"
-#: ../src/widgets/toolbox.cpp:189
+#: ../src/widgets/toolbox.cpp:185
msgid "Style of new stars"
msgstr "Jauno zvaigžņu stils"
-#: ../src/widgets/toolbox.cpp:191
+#: ../src/widgets/toolbox.cpp:187
msgid "Style of new rectangles"
msgstr "Jauno taisnstūru stils"
-#: ../src/widgets/toolbox.cpp:193
+#: ../src/widgets/toolbox.cpp:189
msgid "Style of new 3D boxes"
msgstr "Jauno 3D paralēlskaldņu stils"
-#: ../src/widgets/toolbox.cpp:195
+#: ../src/widgets/toolbox.cpp:191
msgid "Style of new ellipses"
msgstr "Jauno elipšu stils"
-#: ../src/widgets/toolbox.cpp:197
+#: ../src/widgets/toolbox.cpp:193
msgid "Style of new spirals"
msgstr "Jauno spirÄļu stils"
-#: ../src/widgets/toolbox.cpp:199
+#: ../src/widgets/toolbox.cpp:195
msgid "Style of new paths created by Pencil"
msgstr "Jauno, ar zīmuļa rīku veidoto ceļu stils"
-#: ../src/widgets/toolbox.cpp:201
+#: ../src/widgets/toolbox.cpp:197
msgid "Style of new paths created by Pen"
msgstr "Jauno, ar spalvas rīku veidoto ceļu stils"
-#: ../src/widgets/toolbox.cpp:203
+#: ../src/widgets/toolbox.cpp:199
msgid "Style of new calligraphic strokes"
msgstr "Jauno kaligrÄfisko apmaļu stils"
-#: ../src/widgets/toolbox.cpp:205 ../src/widgets/toolbox.cpp:207
+#: ../src/widgets/toolbox.cpp:201 ../src/widgets/toolbox.cpp:203
msgid "TBD"
msgstr "TBD"
-#: ../src/widgets/toolbox.cpp:219
+#: ../src/widgets/toolbox.cpp:215
msgid "Style of Paint Bucket fill objects"
msgstr "KrÄsas spaiņa objektu aizpildÄ«juma stils"
-#: ../src/widgets/toolbox.cpp:1683
+#: ../src/widgets/toolbox.cpp:1679
msgid "Bounding box"
msgstr "RobežrÄmis"
-#: ../src/widgets/toolbox.cpp:1683
+#: ../src/widgets/toolbox.cpp:1679
msgid "Snap bounding boxes"
msgstr "Pievilkt robežrÄmjus"
-#: ../src/widgets/toolbox.cpp:1692
+#: ../src/widgets/toolbox.cpp:1688
msgid "Bounding box edges"
msgstr "RobežrÄmju malas"
-#: ../src/widgets/toolbox.cpp:1692
+#: ../src/widgets/toolbox.cpp:1688
msgid "Snap to edges of a bounding box"
msgstr "Pievilkt robežrÄmju malÄm"
-#: ../src/widgets/toolbox.cpp:1701
+#: ../src/widgets/toolbox.cpp:1697
msgid "Bounding box corners"
msgstr "RobežrÄmju stÅ«ri"
-#: ../src/widgets/toolbox.cpp:1701
+#: ../src/widgets/toolbox.cpp:1697
msgid "Snap bounding box corners"
msgstr "Pievilkt robežrÄmju stÅ«riem"
-#: ../src/widgets/toolbox.cpp:1710
+#: ../src/widgets/toolbox.cpp:1706
msgid "BBox Edge Midpoints"
msgstr "RobežrÄmju malu viduspunktiem"
-#: ../src/widgets/toolbox.cpp:1710
+#: ../src/widgets/toolbox.cpp:1706
msgid "Snap midpoints of bounding box edges"
msgstr "Pievilkt robežrÄmju malu viduspunktiem"
-#: ../src/widgets/toolbox.cpp:1720
+#: ../src/widgets/toolbox.cpp:1716
msgid "BBox Centers"
msgstr "RobežrÄmju centriem"
-#: ../src/widgets/toolbox.cpp:1720
+#: ../src/widgets/toolbox.cpp:1716
msgid "Snapping centers of bounding boxes"
msgstr "Pievilkt robežrÄmju centriem"
-#: ../src/widgets/toolbox.cpp:1729
+#: ../src/widgets/toolbox.cpp:1725
msgid "Snap nodes, paths, and handles"
msgstr "Pievilkt mezglus, ceļus un turus"
-#: ../src/widgets/toolbox.cpp:1737
+#: ../src/widgets/toolbox.cpp:1733
msgid "Snap to paths"
msgstr "Pievilkt ceļiem"
-#: ../src/widgets/toolbox.cpp:1746
+#: ../src/widgets/toolbox.cpp:1742
msgid "Path intersections"
msgstr "Ceļu krustpunkti"
-#: ../src/widgets/toolbox.cpp:1746
+#: ../src/widgets/toolbox.cpp:1742
msgid "Snap to path intersections"
msgstr "Pievilkt ceļu krustpunktiem"
-#: ../src/widgets/toolbox.cpp:1755
+#: ../src/widgets/toolbox.cpp:1751
msgid "To nodes"
msgstr "Pie mezgliem"
-#: ../src/widgets/toolbox.cpp:1755
+#: ../src/widgets/toolbox.cpp:1751
msgid "Snap cusp nodes, incl. rectangle corners"
msgstr "Pievilkt asos mezglus, ieskaitot taisnstūru stūrus"
-#: ../src/widgets/toolbox.cpp:1764
+#: ../src/widgets/toolbox.cpp:1760
msgid "Smooth nodes"
msgstr "Gludi mezgli"
-#: ../src/widgets/toolbox.cpp:1764
+#: ../src/widgets/toolbox.cpp:1760
msgid "Snap smooth nodes, incl. quadrant points of ellipses"
msgstr "Pievilkt gludos mezglus, ieskaitot elipšu kvadrantu punktus"
-#: ../src/widgets/toolbox.cpp:1773
+#: ../src/widgets/toolbox.cpp:1769
msgid "Line Midpoints"
msgstr "Līnijas viduspunkti"
-#: ../src/widgets/toolbox.cpp:1773
+#: ../src/widgets/toolbox.cpp:1769
msgid "Snap midpoints of line segments"
msgstr "Pievilkt līnijas posmu viduspunktus"
-#: ../src/widgets/toolbox.cpp:1782
+#: ../src/widgets/toolbox.cpp:1778
msgid "Others"
msgstr "Citi"
-#: ../src/widgets/toolbox.cpp:1782
+#: ../src/widgets/toolbox.cpp:1778
msgid "Snap other points (centers, guide origins, gradient handles, etc.)"
msgstr "Pievilkt citus punktus (centrus, vadlÄ«niju sÄkumus, krÄsu pÄreju turus utt.)"
-#: ../src/widgets/toolbox.cpp:1790
+#: ../src/widgets/toolbox.cpp:1786
msgid "Object Centers"
msgstr "Objekta centri"
-#: ../src/widgets/toolbox.cpp:1790
+#: ../src/widgets/toolbox.cpp:1786
msgid "Snap centers of objects"
msgstr "Pievilkt objektu centrus"
-#: ../src/widgets/toolbox.cpp:1799
+#: ../src/widgets/toolbox.cpp:1795
msgid "Rotation Centers"
msgstr "GrieÅ¡anÄs centrs"
-#: ../src/widgets/toolbox.cpp:1799
+#: ../src/widgets/toolbox.cpp:1795
msgid "Snap an item's rotation center"
msgstr "Pievilkt objekta grieÅ¡anÄs centram"
-#: ../src/widgets/toolbox.cpp:1808
+#: ../src/widgets/toolbox.cpp:1804
msgid "Text baseline"
msgstr "Teksta bÄzes lÄ«nija"
-#: ../src/widgets/toolbox.cpp:1808
+#: ../src/widgets/toolbox.cpp:1804
msgid "Snap text anchors and baselines"
msgstr "Pievilkt teksta enkurus un bÄzes lÄ«nijas"
-#: ../src/widgets/toolbox.cpp:1818
+#: ../src/widgets/toolbox.cpp:1814
msgid "Page border"
msgstr "Lapas robeža"
-#: ../src/widgets/toolbox.cpp:1818
+#: ../src/widgets/toolbox.cpp:1814
msgid "Snap to the page border"
msgstr "Pievilkt lapas robežÄm"
-#: ../src/widgets/toolbox.cpp:1827
+#: ../src/widgets/toolbox.cpp:1823
msgid "Snap to grids"
msgstr "Pievilkt režģim"
-#: ../src/widgets/toolbox.cpp:1836
+#: ../src/widgets/toolbox.cpp:1832
msgid "Snap guides"
msgstr "Piesaistes palīglīnijas"
@@ -27322,9 +27315,8 @@ msgid "x-interval cannot be zero. Please modify 'Start X value' or 'End X value'
msgstr "x-intervÄls nevar bÅ«t nulle. LÅ«dzu, mainiet 'SÄkuma X' vai 'Beigu X' vÄ“rtÄ«bas"
#: ../share/extensions/funcplot.py:60
-#, fuzzy
msgid "y-interval cannot be zero. Please modify 'Y value of rectangle's top' or 'Y value of rectangle's bottom'"
-msgstr "y-intervÄls nevar bÅ«t nulle. LÅ«dzu, mainiet ..."
+msgstr "y-intervÄls nevar bÅ«t nulle. LÅ«dzu, mainiet 'TaisnstÅ«ra augÅ¡malas Y vÄ“rtÄ«ba' vai 'TaisnstÅ«ra apakÅ¡malas Y vÄ“rtÄ«ba'"
#: ../share/extensions/funcplot.py:315
msgid "Please select a rectangle"
@@ -27853,15 +27845,15 @@ msgstr ""
"Mēģiniet izmantot darbību Ceļš->Objektu par ceļu."
#. issue error if no paths found
-#: ../share/extensions/plotter.py:67
+#: ../share/extensions/plotter.py:70
msgid "No paths where found. Please convert all objects you want to plot into paths."
msgstr "Nav atrasts neviens ceļš. LÅ«dzu pÄrveidojiet visus objektus, kurus vÄ“laties plotÄ“t, par ceļiem."
-#: ../share/extensions/plotter.py:144
+#: ../share/extensions/plotter.py:148
msgid "pySerial is not installed."
msgstr "pySerial nav uzstÄdÄ«ts."
-#: ../share/extensions/plotter.py:164
+#: ../share/extensions/plotter.py:200
msgid "Could not open port. Please check that your plotter is running, connected and the settings are correct."
msgstr "Nav iespÄ“jams atvÄ“rt portu. LÅ«dzu, pÄrliecinieties, vai ploteris ir ieslÄ“gts, pievienots un iestatÄ«jumi ir korekti."
@@ -29975,7 +29967,7 @@ msgstr "RegulÄras palÄ«glÄ«nijas"
#: ../share/extensions/guides_creator.inx.h:3
#, fuzzy
msgid "Guides preset:"
-msgstr "Palīglīniju iestatījumi"
+msgstr "Palīglīniju priekšiestatījumi:"
#: ../share/extensions/guides_creator.inx.h:6
msgid "Start from edges"
@@ -30245,19 +30237,19 @@ msgstr "HPGL ievade"
msgid "Please note that you can only open HPGL files written by Inkscape, to open other HPGL files please change their file extension to .plt, make sure you have UniConverter installed and open them again."
msgstr "LÅ«dzu, ņemiet vÄ“rÄ, ka ir iespÄ“jams atvÄ“rt tikai ar Inkscape izveidotÄs HPGL datness. Lai atvÄ“rtu citas HPGL formÄta datnes, pÄrdÄ“vÄ“jiet tÄs par .plt, pÄrliecinieties, ka ir uzstÄdÄ«ts UniConverter un tad mēģiniet atvÄ“rt vÄ“lreiz."
-#: ../share/extensions/hpgl_input.inx.h:3 ../share/extensions/hpgl_output.inx.h:4 ../share/extensions/plotter.inx.h:25
+#: ../share/extensions/hpgl_input.inx.h:3 ../share/extensions/hpgl_output.inx.h:4 ../share/extensions/plotter.inx.h:34
msgid "Resolution X (dpi):"
msgstr "Izšķirtspēja X (dpi):"
-#: ../share/extensions/hpgl_input.inx.h:4 ../share/extensions/hpgl_output.inx.h:5 ../share/extensions/plotter.inx.h:26
+#: ../share/extensions/hpgl_input.inx.h:4 ../share/extensions/hpgl_output.inx.h:5 ../share/extensions/plotter.inx.h:35
msgid "The amount of steps the plotter moves if it moves for 1 inch on the X axis (Default: 1016.0)"
msgstr "Soļu skaits vienÄ collÄ ploterim pÄrvietojoties gar X asi (NoklusÄ“tais: 1016.0)"
-#: ../share/extensions/hpgl_input.inx.h:5 ../share/extensions/hpgl_output.inx.h:6 ../share/extensions/plotter.inx.h:27
+#: ../share/extensions/hpgl_input.inx.h:5 ../share/extensions/hpgl_output.inx.h:6 ../share/extensions/plotter.inx.h:36
msgid "Resolution Y (dpi):"
msgstr "Izšķirtspēja Y (dpi):"
-#: ../share/extensions/hpgl_input.inx.h:6 ../share/extensions/hpgl_output.inx.h:7 ../share/extensions/plotter.inx.h:28
+#: ../share/extensions/hpgl_input.inx.h:6 ../share/extensions/hpgl_output.inx.h:7 ../share/extensions/plotter.inx.h:37
msgid "The amount of steps the plotter moves if it moves for 1 inch on the Y axis (Default: 1016.0)"
msgstr "Soļu skaits vienÄ collÄ ploterim pÄrvietojoties gar Y asi (NoklusÄ“tais: 1016.0)"
@@ -30269,7 +30261,7 @@ msgstr "RÄdÄ«t pÄrvietojumus starp ceļiem"
msgid "Check this to show movements between paths (Default: Unchecked)"
msgstr "AtzÄ«mÄ“jit Å¡o, lai rÄdÄ«tu pÄrvietojumus starp ceļiem. (NoklusÄ“tais: neatzÄ«mÄ“ts)"
-#: ../share/extensions/hpgl_input.inx.h:9 ../share/extensions/hpgl_output.inx.h:34
+#: ../share/extensions/hpgl_input.inx.h:9 ../share/extensions/hpgl_output.inx.h:35
msgid "HP Graphics Language file (*.hpgl)"
msgstr "HP Graphics Language datne (*.hpgl)"
@@ -30285,27 +30277,27 @@ msgstr "HPGL Izvade"
msgid "Please make sure that all objects you want to save are converted to paths. Please use the plotter extension (Extensions menu) to plot directly over a serial connection."
msgstr "LÅ«dzu, pÄrliecinieties, ka visi saglabÄjamie objekti ir pÄrvÄ“rsti par ceļiem. LÅ«dzu, izmantojiet plotera paplaÅ¡inÄjumu (PaplaÅ¡inÄjumu izvÄ“lnÄ“), lai plotÄ“tu tieÅ¡i ploteri izmantojot seriÄlo savienojumu."
-#: ../share/extensions/hpgl_output.inx.h:3 ../share/extensions/plotter.inx.h:24
+#: ../share/extensions/hpgl_output.inx.h:3 ../share/extensions/plotter.inx.h:33
msgid "Plotter Settings "
msgstr "Plotera iestatījumi"
-#: ../share/extensions/hpgl_output.inx.h:8 ../share/extensions/plotter.inx.h:29
+#: ../share/extensions/hpgl_output.inx.h:8 ../share/extensions/plotter.inx.h:38
msgid "Pen number:"
msgstr "Spalvas numurs:"
-#: ../share/extensions/hpgl_output.inx.h:9 ../share/extensions/plotter.inx.h:30
+#: ../share/extensions/hpgl_output.inx.h:9 ../share/extensions/plotter.inx.h:39
msgid "The number of the pen (tool) to use (Standard: '1')"
msgstr "IzmantojamÄs spalvas (rÄ«ka) numurs. (NoklusÄ“tais: '1')"
-#: ../share/extensions/hpgl_output.inx.h:10 ../share/extensions/plotter.inx.h:31
+#: ../share/extensions/hpgl_output.inx.h:10 ../share/extensions/plotter.inx.h:40
msgid "Pen force (g):"
msgstr "Spalvas spiediena spēks (g):"
-#: ../share/extensions/hpgl_output.inx.h:11 ../share/extensions/plotter.inx.h:32
+#: ../share/extensions/hpgl_output.inx.h:11 ../share/extensions/plotter.inx.h:41
msgid "The amount of force pushing down the pen in grams, set to 0 to omit command; most plotters ignore this command (Default: 0)"
msgstr "SpÄ“ks, ar kÄdu tiks piespiesta spalva, gramos. Ievadiet 0, lai to apietu. LielÄkÄ ploteru daļa Å¡o komandu neņem vÄ“rÄ. (NoklusÄ“tais: 0)"
-#: ../share/extensions/hpgl_output.inx.h:12 ../share/extensions/plotter.inx.h:33
+#: ../share/extensions/hpgl_output.inx.h:12 ../share/extensions/plotter.inx.h:42
msgid "Pen speed (cm/s or mm/s):"
msgstr "Spalvas Ätrums (cm/s vai mm/s):"
@@ -30317,83 +30309,89 @@ msgstr "Spalvas pÄrvietoÅ¡anÄs Ätrums centimetros vai milimetros sekundÄ“ (at
msgid "Rotation (°, Clockwise):"
msgstr "PagrieÅ¡ana (°) pulksteņrÄdÄ«tÄja virzienÄ:"
-#: ../share/extensions/hpgl_output.inx.h:15 ../share/extensions/plotter.inx.h:36
+#: ../share/extensions/hpgl_output.inx.h:15 ../share/extensions/plotter.inx.h:45
msgid "Rotation of the drawing (Default: 0°)"
msgstr "Zīmējuma pagriešana. (Noklusētais: 0°)"
-#: ../share/extensions/hpgl_output.inx.h:16 ../share/extensions/plotter.inx.h:37
+#: ../share/extensions/hpgl_output.inx.h:16 ../share/extensions/plotter.inx.h:46
msgid "Mirror X axis"
msgstr "Atspoguļot X asi"
-#: ../share/extensions/hpgl_output.inx.h:17 ../share/extensions/plotter.inx.h:38
+#: ../share/extensions/hpgl_output.inx.h:17 ../share/extensions/plotter.inx.h:47
msgid "Check this to mirror the X axis (Default: Unchecked)"
msgstr "Atzīmējiet šo, lai atspoguļotu X asi. (Noklusētais - neatzīmēts)"
-#: ../share/extensions/hpgl_output.inx.h:18 ../share/extensions/plotter.inx.h:39
+#: ../share/extensions/hpgl_output.inx.h:18 ../share/extensions/plotter.inx.h:48
msgid "Mirror Y axis"
msgstr "Atspoguļot Y asi"
-#: ../share/extensions/hpgl_output.inx.h:19 ../share/extensions/plotter.inx.h:40
+#: ../share/extensions/hpgl_output.inx.h:19 ../share/extensions/plotter.inx.h:49
msgid "Check this to mirror the Y axis (Default: Unchecked)"
msgstr "Atzīmējiet šo, lai atspoguļotu Y asi. (Noklusētais - neatzīmēts)"
-#: ../share/extensions/hpgl_output.inx.h:20 ../share/extensions/plotter.inx.h:41
+#: ../share/extensions/hpgl_output.inx.h:20 ../share/extensions/plotter.inx.h:50
msgid "Center zero point"
msgstr "Centrēt nulles punktu"
-#: ../share/extensions/hpgl_output.inx.h:21 ../share/extensions/plotter.inx.h:42
+#: ../share/extensions/hpgl_output.inx.h:21 ../share/extensions/plotter.inx.h:51
msgid "Check this if your plotter uses a centered zero point (Default: Unchecked)"
msgstr "Atzīmējiet šo, ja Jūsu ploteris izmantot centrēto nulles punktu. (Noklusētais: neatzīmēts)"
-#: ../share/extensions/hpgl_output.inx.h:22 ../share/extensions/plotter.inx.h:43
+#: ../share/extensions/hpgl_output.inx.h:22 ../share/extensions/plotter.inx.h:52
+msgid "If you want to use multiple pens on your pen plotter create one layer for each pen, name the layers \"Pen 1\", \"Pen 2\", etc., and put your drawings in the corresponding layers. This overrules the pen number option above."
+msgstr ""
+"Ja vÄ“laties izmantot vairÄkas plotera spalvas, izveidojiet atsevišķu slÄni katrai spalvai, nosaucot tos \"Pen 1\", \"Pen 2\", utt., un novietojies savus zÄ«mÄ“jumus atbilstoÅ¡ajos slÄņos. Tas apies augstÄk norÄdÄ«to spalvas numura "
+"papildiespēju."
+
+#: ../share/extensions/hpgl_output.inx.h:23 ../share/extensions/plotter.inx.h:53
msgid "Plot Features "
msgstr "Plotēšanas īpatnības"
-#: ../share/extensions/hpgl_output.inx.h:23 ../share/extensions/plotter.inx.h:44
+#: ../share/extensions/hpgl_output.inx.h:24 ../share/extensions/plotter.inx.h:54
msgid "Overcut (mm):"
msgstr "PÄrgriezums (mm):"
-#: ../share/extensions/hpgl_output.inx.h:24 ../share/extensions/plotter.inx.h:45
+#: ../share/extensions/hpgl_output.inx.h:25 ../share/extensions/plotter.inx.h:55
msgid "The distance in mm that will be cut over the starting point of the path to prevent open paths, set to 0.0 to omit command (Default: 1.00)"
msgstr "AttÄlums mm, kas tiks griezts pÄri ceļa sÄkumpunktam, lai nepieļautu nenoslÄ“gtus ceļus; ievadiet 0.0, lai izlaistu Å¡o komandu. (noklusÄ“tais: 1.00)"
-#: ../share/extensions/hpgl_output.inx.h:25 ../share/extensions/plotter.inx.h:46
+#: ../share/extensions/hpgl_output.inx.h:26 ../share/extensions/plotter.inx.h:56
msgid "Tool offset (mm):"
msgstr "Rīka nobīde (mm):"
-#: ../share/extensions/hpgl_output.inx.h:26 ../share/extensions/plotter.inx.h:47
+#: ../share/extensions/hpgl_output.inx.h:27 ../share/extensions/plotter.inx.h:57
msgid "The offset from the tool tip to the tool axis in mm, set to 0.0 to omit command (Default: 0.25)"
msgstr "Rīka gala nobīde pret rīka asi mm; ievadiet 0.0, lai izlaistu šo komandu. (Noklusētais: 0.25)"
-#: ../share/extensions/hpgl_output.inx.h:27 ../share/extensions/plotter.inx.h:48
+#: ../share/extensions/hpgl_output.inx.h:28 ../share/extensions/plotter.inx.h:58
msgid "Use precut"
msgstr "Izmantot priekšgriezumu"
-#: ../share/extensions/hpgl_output.inx.h:28 ../share/extensions/plotter.inx.h:49
+#: ../share/extensions/hpgl_output.inx.h:29 ../share/extensions/plotter.inx.h:59
msgid "Check this to cut a small line before the real drawing starts to correctly align the tool orientation. (Default: Checked)"
msgstr "AtzÄ«mÄ“jiet Å¡o, lai iegrieztu tievu lÄ«niju rÄ«ka orientÄcijai pirms Ä«stÄ plotÄ“juma. (NoklusÄ“tais - atzÄ«mÄ“ts)"
-#: ../share/extensions/hpgl_output.inx.h:29 ../share/extensions/plotter.inx.h:50
+#: ../share/extensions/hpgl_output.inx.h:30 ../share/extensions/plotter.inx.h:60
msgid "Curve flatness:"
msgstr "Līknes plakanums:"
-#: ../share/extensions/hpgl_output.inx.h:30 ../share/extensions/plotter.inx.h:51
+#: ../share/extensions/hpgl_output.inx.h:31 ../share/extensions/plotter.inx.h:61
msgid "Curves are divided into lines, this number controls how fine the curves will be reproduced, the smaller the finer (Default: '1.2')"
msgstr "LÄ«knes tiek sadalÄ«tas lÄ«nijÄs, Å¡is skaitlis nosaka, cik precÄ«zi lÄ«knes tiks reproducÄ“tas; jo mazÄks skaitlis, jo precÄ«zÄk. (NoklusÄ“tais: '1.2')"
-#: ../share/extensions/hpgl_output.inx.h:31 ../share/extensions/plotter.inx.h:52
+#: ../share/extensions/hpgl_output.inx.h:32 ../share/extensions/plotter.inx.h:62
msgid "Auto align"
msgstr "AutomÄtiski lÄ«dzinÄt"
-#: ../share/extensions/hpgl_output.inx.h:32 ../share/extensions/plotter.inx.h:53
+#: ../share/extensions/hpgl_output.inx.h:33 ../share/extensions/plotter.inx.h:63
msgid "Check this to auto align the drawing to the zero point (Plus the tool offset if used). If unchecked you have to make sure that all parts of your drawing are within the document border! (Default: Checked)"
msgstr "AtzÄ«mÄ“jiet Å¡o, lai automÄtiski pieskaņotu zÄ«mÄ“jumu nulles punktam (plus rÄ«ka nobÄ«de, ja tiek izmantota). Ja nav atzÄ«mÄ“ts, Jums ir jÄpÄrliecinÄs, ka visas zÄ«mÄ“juma daļas atrodas dokumenta robežÄs (noklusÄ“tais - atzÄ«mÄ“ts)"
-#: ../share/extensions/hpgl_output.inx.h:33 ../share/extensions/plotter.inx.h:56
+#: ../share/extensions/hpgl_output.inx.h:34 ../share/extensions/plotter.inx.h:66
msgid "All these settings depend on the plotter you use, for more information please consult the manual or homepage for your plotter."
msgstr "Visi Å¡ie iestatÄ«jumi ir atkarÄ«gi no izmantojamÄ plotera. PlaÅ¡Äkai informÄcijai izmantojiet plotera pamÄcÄ«bu vai ražotÄja mÄjas lapu."
-#: ../share/extensions/hpgl_output.inx.h:35
+#: ../share/extensions/hpgl_output.inx.h:36
msgid "Export an HP Graphics Language file"
msgstr "Eksportēt HP Graphics Language datni"
@@ -31607,83 +31605,114 @@ msgid "The Baud rate of your serial connection (Default: 9600)"
msgstr "JÅ«su seriÄlÄ savienojuma Ätrums bodos (standarts: '9600')"
#: ../share/extensions/plotter.inx.h:8
-msgid "Flow control:"
+#, fuzzy
+msgid "Serial byte size:"
+msgstr "Paletes izmērs:"
+
+#: ../share/extensions/plotter.inx.h:10
+#, no-c-format
+msgid "The Byte size of your serial connection, 99% of all plotters use the default setting (Default: 8 Bits)"
+msgstr ""
+
+#: ../share/extensions/plotter.inx.h:11
+#, fuzzy
+msgid "Serial stop bits:"
+msgstr "SeriÄlais ports:"
+
+#: ../share/extensions/plotter.inx.h:13
+#, no-c-format
+msgid "The Stop bits of your serial connection, 99% of all plotters use the default setting (Default: 1 Bit)"
+msgstr ""
+
+#: ../share/extensions/plotter.inx.h:14
+#, fuzzy
+msgid "Serial parity:"
+msgstr "SeriÄlais ports:"
+
+#: ../share/extensions/plotter.inx.h:16
+#, no-c-format
+msgid "The Parity of your serial connection, 99% of all plotters use the default setting (Default: None)"
+msgstr ""
+
+#: ../share/extensions/plotter.inx.h:17
+#, fuzzy
+msgid "Serial flow control:"
msgstr "Plūsmas kontrole:"
-#: ../share/extensions/plotter.inx.h:9
+#: ../share/extensions/plotter.inx.h:18
msgid "The Software / Hardware flow control of your serial connection (Default: Software)"
msgstr "SeriÄlÄ savienojuma programmÄtiskÄ/aparÄtiskÄ plÅ«smas vadÄ«ba. (NoklusÄ“tÄ - programmÄtiskÄ)"
-#: ../share/extensions/plotter.inx.h:10
+#: ../share/extensions/plotter.inx.h:19
msgid "Command language:"
msgstr "Komandu valoda:"
-#: ../share/extensions/plotter.inx.h:11
+#: ../share/extensions/plotter.inx.h:20
msgid "The command language to use (Default: HPGL)"
msgstr "IzmantojamÄ komandu valoda. (NoklusÄ“tÄ: HPGL)"
-#: ../share/extensions/plotter.inx.h:12
+#: ../share/extensions/plotter.inx.h:21
msgid "Initialization commands:"
msgstr "Inicializēšanas komandas:"
-#: ../share/extensions/plotter.inx.h:13
+#: ../share/extensions/plotter.inx.h:22
msgid "Commands that will be sent to the plotter before the main data stream, only use this if you know what you are doing! (Default: Empty)"
msgstr "Komandas, kas tiks nosÅ«tÄ«tas ploterim pirms galvenÄs datu plÅ«smas, izmantojiet to tikai gadÄ«jumÄ, ja saprotat, ko darÄt (NoklusÄ“tais: tukÅ¡s)"
-#: ../share/extensions/plotter.inx.h:14
+#: ../share/extensions/plotter.inx.h:23
msgid "Software (XON/XOFF)"
msgstr "ProgrammÄtiski (XON/XOFF)"
-#: ../share/extensions/plotter.inx.h:15
+#: ../share/extensions/plotter.inx.h:24
msgid "Hardware (RTS/CTS)"
msgstr "Aparatūras (RTS/CTS)"
-#: ../share/extensions/plotter.inx.h:16
+#: ../share/extensions/plotter.inx.h:25
msgid "Hardware (DSR/DTR + RTS/CTS)"
msgstr "Aparatūras (DSR/DTR + RTS/CTS)"
-#: ../share/extensions/plotter.inx.h:17
+#: ../share/extensions/plotter.inx.h:26
msgctxt "Flow control"
msgid "None"
msgstr "Neviena"
-#: ../share/extensions/plotter.inx.h:18
+#: ../share/extensions/plotter.inx.h:27
msgid "HPGL"
msgstr "HPGL"
-#: ../share/extensions/plotter.inx.h:19
+#: ../share/extensions/plotter.inx.h:28
msgid "DMPL"
msgstr "DMPL"
-#: ../share/extensions/plotter.inx.h:20
+#: ../share/extensions/plotter.inx.h:29
msgid "KNK Plotter (HPGL variant)"
msgstr "KNK ploteris (HPGL variants)"
-#: ../share/extensions/plotter.inx.h:21
+#: ../share/extensions/plotter.inx.h:30
msgid "Using wrong settings can under certain circumstances cause Inkscape to freeze. Always save your work before plotting!"
msgstr "Nepareizu iestatÄ«jumu izmantoÅ¡ana atsevišķos gadÄ«jumos var izsaukt Inkscape apstÄÅ¡anos. VienmÄ“r saglabÄjiet savu darbu pirms plotēšanas uzsÄkÅ¡anas."
-#: ../share/extensions/plotter.inx.h:22
+#: ../share/extensions/plotter.inx.h:31
msgid "This can be a physical serial connection or a USB-to-Serial bridge. Ask your plotter manufacturer for drivers if needed."
msgstr "TÄs var bÅ«t fizisks seriÄlais savienojums vai USB-To-Serial konvertors. NepiecieÅ¡amÄ«bas gadÄ«jumÄ meklÄ“jiet nepiecieÅ¡amos dziņus plotera ražotÄja mÄjas lapÄ."
-#: ../share/extensions/plotter.inx.h:23
+#: ../share/extensions/plotter.inx.h:32
msgid "Parallel (LPT) connections are not supported."
msgstr "LÅ«dzu, ņemiet vÄ“rÄ, ka paralÄ“lais ports (LPT) nav atbalstÄ«ts."
-#: ../share/extensions/plotter.inx.h:34
+#: ../share/extensions/plotter.inx.h:43
msgid "The speed the pen will move with in centimeters or millimeters per second (depending on your plotter model), set to 0 to omit command. Most plotters ignore this command. (Default: 0)"
msgstr "Spalvas pÄrvietoÅ¡anÄs Ätrums centimetros vai milimetros sekundÄ“ (atkarÄ«gs no plotera modeļa). NorÄdiet 0, lai apietu komandu. Vairums ploteru Å¡o komandu neņem vÄ“rÄ. (NoklusÄ“tais - 0)"
-#: ../share/extensions/plotter.inx.h:35
+#: ../share/extensions/plotter.inx.h:44
msgid "Rotation (°, clockwise):"
msgstr "PagrieÅ¡ana (°, pulksteņrÄdÄ«tÄja virzienÄ):"
-#: ../share/extensions/plotter.inx.h:54
+#: ../share/extensions/plotter.inx.h:64
msgid "Show debug information"
msgstr "RÄdÄ«t atkļūdoÅ¡anas informÄciju"
-#: ../share/extensions/plotter.inx.h:55
+#: ../share/extensions/plotter.inx.h:65
msgid "Check this to get verbose information about the plot without actually sending something to the plotter (A.k.a. data dump) (Default: Unchecked)"
msgstr "AtzÄ«mÄ“jiet Å¡o, lai saņemtu plaÅ¡u informÄciju par plotÄ“jamo darbu, nenosÅ«tot neko uz ploteri (t.s. datu izvade). (NoklusÄ“tais: neatzÄ«mÄ“ts)"
@@ -33285,6 +33314,40 @@ msgid "XAML Input"
msgstr "XAML ievade"
#, fuzzy
+#~ msgid "Leaned"
+#~ msgstr "Leaned"
+
+#, fuzzy
+#~ msgid "Start path lean"
+#~ msgstr "Nosaka ceļa sÄkuma formu"
+
+#, fuzzy
+#~ msgid "End path lean"
+#~ msgstr "ceļam jÄbeidzas ar ':/'"
+
+#~ msgid "<b>Roughen unit</b>"
+#~ msgstr "<b>Raupjošanas vienība</b>"
+
+#, fuzzy
+#~ msgid "Helper nodes"
+#~ msgstr "Subversion palīgprogramma"
+
+#, fuzzy
+#~ msgid "Show helper nodes"
+#~ msgstr "RÄdÄ«t pÄrveidoÅ¡anas turus atsevišķiem mezgliem"
+
+#, fuzzy
+#~ msgid "Helper handles"
+#~ msgstr "Subversion palīgprogramma"
+
+#, fuzzy
+#~ msgid "Show helper handles"
+#~ msgstr "RÄdÄ«t turus"
+
+#~ msgid "%1 (%2):"
+#~ msgstr "%1 (%2):"
+
+#, fuzzy
#~ msgid "Show helper paths"
#~ msgstr "RÄdÄ«t pÄrvietojumus starp ceļiem"
@@ -33315,9 +33378,6 @@ msgstr "XAML ievade"
#~ msgid "Control handle 8x9 - Ctrl+Alt+Click to reset"
#~ msgstr "Vadības turis 8x9 - Ctrl+Alt+Click, lai atiestatītu"
-#~ msgid "Control handle 10x11 - Ctrl+Alt+Click to reset"
-#~ msgstr "Vadības turis 10x11 - Ctrl+Alt+Click, lai atiestatītu"
-
#~ msgid "Control handle 12 - Ctrl+Alt+Click to reset"
#~ msgstr "Vadības turis 12 - Ctrl+Alt+Click, lai atiestatītu"
@@ -33342,27 +33402,6 @@ msgstr "XAML ievade"
#~ msgid "Control handle 19 - Ctrl+Alt+Click to reset"
#~ msgstr "Vadības turis 19 - Ctrl+Alt+Click, lai atiestatītu"
-#~ msgid "Control handle 20x21 - Ctrl+Alt+Click to reset"
-#~ msgstr "Vadības turis 20x21 - Ctrl+Alt+Click, lai atiestatītu"
-
-#~ msgid "Control handle 22x23 - Ctrl+Alt+Click to reset"
-#~ msgstr "Vadības turis 22x23 - Ctrl+Alt+Click, lai atiestatītu"
-
-#~ msgid "Control handle 24x26 - Ctrl+Alt+Click to reset"
-#~ msgstr "Vadības turis 24x26 - Ctrl+Alt+Click, lai atiestatītu"
-
-#~ msgid "Control handle 25x27 - Ctrl+Alt+Click to reset"
-#~ msgstr "Vadības turis 25x27 - Ctrl+Alt+Click, lai atiestatītu"
-
-#~ msgid "Control handle 28x30 - Ctrl+Alt+Click to reset"
-#~ msgstr "Vadības turis 28x30 - Ctrl+Alt+Click, lai atiestatītu"
-
-#~ msgid "Control handle 29x31 - Ctrl+Alt+Click to reset"
-#~ msgstr "Vadības turis 29x31 - Ctrl+Alt+Click, lai atiestatītu"
-
-#~ msgid "Control handle 32x33x34x35 - Ctrl+Alt+Click to reset"
-#~ msgstr "Vadības turis 32x33x34x35 - Ctrl+Alt+Click, lai atiestatītu"
-
#~ msgid "Top Left - Ctrl+Alt+Click to reset"
#~ msgstr "Augšējais kreisais - Ctrl+Alt+Click, lai atiestatītu"
@@ -33417,10 +33456,6 @@ msgstr "XAML ievade"
#~ msgid "_Templates..."
#~ msgstr "Saga_taves..."
-#, fuzzy
-#~ msgid "Miter limit"
-#~ msgstr "Šķautņu asums:"
-
#~ msgid "Default _units:"
#~ msgstr "Nokl_usÄ“tÄs vienÄ«bas:"
@@ -34431,15 +34466,9 @@ msgstr "XAML ievade"
#~ msgid "Print unit after path length"
#~ msgstr "RÄdÄ«t vienÄ«bas pÄ“c ceļa garuma"
-#~ msgid "Scale x"
-#~ msgstr "Mērogs x"
-
#~ msgid "Scale factor in x direction"
#~ msgstr "Mērogošanas koeficients gar x asi"
-#~ msgid "Scale y"
-#~ msgstr "Mērogs y"
-
#~ msgid "Scale factor in y direction"
#~ msgstr "Mērogošanas koeficients gar y asi"
diff --git a/po/uk.po b/po/uk.po
index 4ee869eef..aa2e5e4d0 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: uk\n"
"Report-Msgid-Bugs-To: inkscape-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-03-08 13:33+0200\n"
-"PO-Revision-Date: 2015-03-08 15:38+0200\n"
+"POT-Creation-Date: 2015-05-09 20:40+0300\n"
+"PO-Revision-Date: 2015-05-09 21:04+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation@linux.org.ua>\n"
"Language: uk\n"
@@ -1060,26 +1060,27 @@ msgstr "Чорне Ñвітло"
#: ../src/extension/internal/filter/bumps.h:101
#: ../src/extension/internal/filter/bumps.h:321
#: ../src/extension/internal/filter/bumps.h:328
-#: ../src/extension/internal/filter/color.h:82
-#: ../src/extension/internal/filter/color.h:164
-#: ../src/extension/internal/filter/color.h:171
-#: ../src/extension/internal/filter/color.h:262
-#: ../src/extension/internal/filter/color.h:340
-#: ../src/extension/internal/filter/color.h:347
-#: ../src/extension/internal/filter/color.h:437
-#: ../src/extension/internal/filter/color.h:532
-#: ../src/extension/internal/filter/color.h:654
-#: ../src/extension/internal/filter/color.h:751
-#: ../src/extension/internal/filter/color.h:830
-#: ../src/extension/internal/filter/color.h:921
-#: ../src/extension/internal/filter/color.h:1049
-#: ../src/extension/internal/filter/color.h:1119
-#: ../src/extension/internal/filter/color.h:1212
-#: ../src/extension/internal/filter/color.h:1324
-#: ../src/extension/internal/filter/color.h:1429
-#: ../src/extension/internal/filter/color.h:1505
-#: ../src/extension/internal/filter/color.h:1609
-#: ../src/extension/internal/filter/color.h:1616
+#: ../src/extension/internal/filter/color.h:83
+#: ../src/extension/internal/filter/color.h:165
+#: ../src/extension/internal/filter/color.h:172
+#: ../src/extension/internal/filter/color.h:283
+#: ../src/extension/internal/filter/color.h:337
+#: ../src/extension/internal/filter/color.h:415
+#: ../src/extension/internal/filter/color.h:422
+#: ../src/extension/internal/filter/color.h:512
+#: ../src/extension/internal/filter/color.h:607
+#: ../src/extension/internal/filter/color.h:729
+#: ../src/extension/internal/filter/color.h:826
+#: ../src/extension/internal/filter/color.h:905
+#: ../src/extension/internal/filter/color.h:996
+#: ../src/extension/internal/filter/color.h:1124
+#: ../src/extension/internal/filter/color.h:1194
+#: ../src/extension/internal/filter/color.h:1287
+#: ../src/extension/internal/filter/color.h:1399
+#: ../src/extension/internal/filter/color.h:1504
+#: ../src/extension/internal/filter/color.h:1580
+#: ../src/extension/internal/filter/color.h:1684
+#: ../src/extension/internal/filter/color.h:1691
#: ../src/extension/internal/filter/morphology.h:194
#: ../src/extension/internal/filter/overlays.h:73
#: ../src/extension/internal/filter/paint.h:99
@@ -4514,112 +4515,112 @@ msgstr "Ðемає попереднього маÑштабу."
msgid "No next zoom."
msgstr "Ðемає наÑтупного маÑштабу."
-#: ../src/display/canvas-axonomgrid.cpp:361 ../src/display/canvas-grid.cpp:701
+#: ../src/display/canvas-axonomgrid.cpp:357 ../src/display/canvas-grid.cpp:697
msgid "Grid _units:"
msgstr "О_диниці Ñітки:"
-#: ../src/display/canvas-axonomgrid.cpp:363 ../src/display/canvas-grid.cpp:703
+#: ../src/display/canvas-axonomgrid.cpp:359 ../src/display/canvas-grid.cpp:699
msgid "_Origin X:"
msgstr "_Початок за X:"
-#: ../src/display/canvas-axonomgrid.cpp:363 ../src/display/canvas-grid.cpp:703
+#: ../src/display/canvas-axonomgrid.cpp:359 ../src/display/canvas-grid.cpp:699
#: ../src/ui/dialog/inkscape-preferences.cpp:746
#: ../src/ui/dialog/inkscape-preferences.cpp:771
msgid "X coordinate of grid origin"
msgstr "Координата X початку Ñітки"
-#: ../src/display/canvas-axonomgrid.cpp:366 ../src/display/canvas-grid.cpp:706
+#: ../src/display/canvas-axonomgrid.cpp:362 ../src/display/canvas-grid.cpp:702
msgid "O_rigin Y:"
msgstr "П_очаток по Y:"
-#: ../src/display/canvas-axonomgrid.cpp:366 ../src/display/canvas-grid.cpp:706
+#: ../src/display/canvas-axonomgrid.cpp:362 ../src/display/canvas-grid.cpp:702
#: ../src/ui/dialog/inkscape-preferences.cpp:747
#: ../src/ui/dialog/inkscape-preferences.cpp:772
msgid "Y coordinate of grid origin"
msgstr "Координата Y початку Ñітки"
-#: ../src/display/canvas-axonomgrid.cpp:369 ../src/display/canvas-grid.cpp:712
+#: ../src/display/canvas-axonomgrid.cpp:365 ../src/display/canvas-grid.cpp:708
msgid "Spacing _Y:"
msgstr "Інтервал за _Y:"
-#: ../src/display/canvas-axonomgrid.cpp:369
+#: ../src/display/canvas-axonomgrid.cpp:365
#: ../src/ui/dialog/inkscape-preferences.cpp:775
msgid "Base length of z-axis"
msgstr "Базова довжина віÑÑ– z"
-#: ../src/display/canvas-axonomgrid.cpp:372
+#: ../src/display/canvas-axonomgrid.cpp:368
#: ../src/ui/dialog/inkscape-preferences.cpp:778
#: ../src/widgets/box3d-toolbar.cpp:302
msgid "Angle X:"
msgstr "Кут X:"
-#: ../src/display/canvas-axonomgrid.cpp:372
+#: ../src/display/canvas-axonomgrid.cpp:368
#: ../src/ui/dialog/inkscape-preferences.cpp:778
msgid "Angle of x-axis"
msgstr "Кут віÑÑ– x"
-#: ../src/display/canvas-axonomgrid.cpp:374
+#: ../src/display/canvas-axonomgrid.cpp:370
#: ../src/ui/dialog/inkscape-preferences.cpp:779
#: ../src/widgets/box3d-toolbar.cpp:381
msgid "Angle Z:"
msgstr "Кут Z:"
-#: ../src/display/canvas-axonomgrid.cpp:374
+#: ../src/display/canvas-axonomgrid.cpp:370
#: ../src/ui/dialog/inkscape-preferences.cpp:779
msgid "Angle of z-axis"
msgstr "Кут віÑÑ– z"
-#: ../src/display/canvas-axonomgrid.cpp:378 ../src/display/canvas-grid.cpp:717
+#: ../src/display/canvas-axonomgrid.cpp:374 ../src/display/canvas-grid.cpp:713
msgid "Minor grid line _color:"
msgstr "Колір _другорÑдної лінії Ñітки:"
-#: ../src/display/canvas-axonomgrid.cpp:378 ../src/display/canvas-grid.cpp:717
+#: ../src/display/canvas-axonomgrid.cpp:374 ../src/display/canvas-grid.cpp:713
#: ../src/ui/dialog/inkscape-preferences.cpp:730
msgid "Minor grid line color"
msgstr "Колір другорÑдних ліній Ñітки"
-#: ../src/display/canvas-axonomgrid.cpp:378 ../src/display/canvas-grid.cpp:717
+#: ../src/display/canvas-axonomgrid.cpp:374 ../src/display/canvas-grid.cpp:713
msgid "Color of the minor grid lines"
msgstr "Колір другорÑдних ліній Ñітки"
-#: ../src/display/canvas-axonomgrid.cpp:383 ../src/display/canvas-grid.cpp:722
+#: ../src/display/canvas-axonomgrid.cpp:379 ../src/display/canvas-grid.cpp:718
msgid "Ma_jor grid line color:"
msgstr "Колір о_Ñновної лінії Ñітки:"
-#: ../src/display/canvas-axonomgrid.cpp:383 ../src/display/canvas-grid.cpp:722
+#: ../src/display/canvas-axonomgrid.cpp:379 ../src/display/canvas-grid.cpp:718
#: ../src/ui/dialog/inkscape-preferences.cpp:732
msgid "Major grid line color"
msgstr "Колір оÑновних ліній Ñітки"
-#: ../src/display/canvas-axonomgrid.cpp:384 ../src/display/canvas-grid.cpp:723
+#: ../src/display/canvas-axonomgrid.cpp:380 ../src/display/canvas-grid.cpp:719
msgid "Color of the major (highlighted) grid lines"
msgstr "Колір оÑновних (підÑвічених) ліній Ñітки"
-#: ../src/display/canvas-axonomgrid.cpp:388 ../src/display/canvas-grid.cpp:727
+#: ../src/display/canvas-axonomgrid.cpp:384 ../src/display/canvas-grid.cpp:723
msgid "_Major grid line every:"
msgstr "ОÑно_вна Ð»Ñ–Ð½Ñ–Ñ Ñ‡ÐµÑ€ÐµÐ· кожні:"
-#: ../src/display/canvas-axonomgrid.cpp:388 ../src/display/canvas-grid.cpp:727
+#: ../src/display/canvas-axonomgrid.cpp:384 ../src/display/canvas-grid.cpp:723
msgid "lines"
msgstr "ліній"
-#: ../src/display/canvas-grid.cpp:64
+#: ../src/display/canvas-grid.cpp:60
msgid "Rectangular grid"
msgstr "ПрÑмокутна Ñітка"
-#: ../src/display/canvas-grid.cpp:65
+#: ../src/display/canvas-grid.cpp:61
msgid "Axonometric grid"
msgstr "ÐкÑонометрична Ñітка"
-#: ../src/display/canvas-grid.cpp:250
+#: ../src/display/canvas-grid.cpp:246
msgid "Create new grid"
msgstr "Створити нову Ñітку"
-#: ../src/display/canvas-grid.cpp:316
+#: ../src/display/canvas-grid.cpp:312
msgid "_Enabled"
msgstr "_Увімкнено"
-#: ../src/display/canvas-grid.cpp:317
+#: ../src/display/canvas-grid.cpp:313
msgid ""
"Determines whether to snap to this grid or not. Can be 'on' for invisible "
"grids."
@@ -4627,11 +4628,11 @@ msgstr ""
"Визначає чи будуть об'єкти прилипати до цієї Ñітки, чи ні. Може бути "
"увімкнено Ð´Ð»Ñ Ð½ÐµÐ²Ð¸Ð´Ð¸Ð¼Ð¾Ñ— Ñітки."
-#: ../src/display/canvas-grid.cpp:321
+#: ../src/display/canvas-grid.cpp:317
msgid "Snap to visible _grid lines only"
msgstr "Прилипати лише до в_идимих ліній Ñітки"
-#: ../src/display/canvas-grid.cpp:322
+#: ../src/display/canvas-grid.cpp:318
msgid ""
"When zoomed out, not all grid lines will be displayed. Only the visible ones "
"will be snapped to"
@@ -4639,11 +4640,11 @@ msgstr ""
"Під Ñ‡Ð°Ñ Ð·Ð¼ÐµÐ½ÑˆÐµÐ½Ð½Ñ Ð¼Ð°Ñштабу програма зменшуватиме кількіÑть показаних ліній "
"Ñітки. ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð±ÑƒÐ²Ð°Ñ‚Ð¸Ð¼ÐµÑ‚ÑŒÑÑ Ð»Ð¸ÑˆÐµ до видимих ліній."
-#: ../src/display/canvas-grid.cpp:326
+#: ../src/display/canvas-grid.cpp:322
msgid "_Visible"
msgstr "_ВидиміÑть"
-#: ../src/display/canvas-grid.cpp:327
+#: ../src/display/canvas-grid.cpp:323
msgid ""
"Determines whether the grid is displayed or not. Objects are still snapped "
"to invisible grids."
@@ -4651,25 +4652,25 @@ msgstr ""
"Визначає чи буде показано Ñітку, чи ні. Об'єкти, Ñк Ñ– раніше, буде "
"прив'Ñзано до невидимої Ñітки."
-#: ../src/display/canvas-grid.cpp:709
+#: ../src/display/canvas-grid.cpp:705
msgid "Spacing _X:"
msgstr "Інтервал за _X:"
-#: ../src/display/canvas-grid.cpp:709
+#: ../src/display/canvas-grid.cpp:705
#: ../src/ui/dialog/inkscape-preferences.cpp:752
msgid "Distance between vertical grid lines"
msgstr "ВідÑтань між вертикальними лініÑми Ñітки"
-#: ../src/display/canvas-grid.cpp:712
+#: ../src/display/canvas-grid.cpp:708
#: ../src/ui/dialog/inkscape-preferences.cpp:753
msgid "Distance between horizontal grid lines"
msgstr "ВідÑтань між горизонтальними лініÑми Ñітки"
-#: ../src/display/canvas-grid.cpp:744
+#: ../src/display/canvas-grid.cpp:740
msgid "_Show dots instead of lines"
msgstr "_Показувати точки заміÑть ліній"
-#: ../src/display/canvas-grid.cpp:745
+#: ../src/display/canvas-grid.cpp:741
msgid "If set, displays dots at gridpoints instead of gridlines"
msgstr "Якщо вÑтановлено, заміÑть напрÑмних відображаютьÑÑ Ñ‚Ð¾Ñ‡ÐºÐ¸ Ñітки"
@@ -4819,11 +4820,11 @@ msgstr "Ð¡ÐµÑ€ÐµÐ´Ð½Ñ Ñ‚Ð¾Ñ‡ÐºÐ° рамки-обгортки"
msgid "Bounding box side midpoint"
msgstr "Бокова ÑÐµÑ€ÐµÐ´Ð½Ñ Ñ‚Ð¾Ñ‡ÐºÐ° рамки-обгортки"
-#: ../src/display/snap-indicator.cpp:196 ../src/ui/tool/node.cpp:1505
+#: ../src/display/snap-indicator.cpp:196 ../src/ui/tool/node.cpp:1506
msgid "Smooth node"
msgstr "Гладкий вузол"
-#: ../src/display/snap-indicator.cpp:199 ../src/ui/tool/node.cpp:1504
+#: ../src/display/snap-indicator.cpp:199 ../src/ui/tool/node.cpp:1505
msgid "Cusp node"
msgstr "ГоÑтрий вузол"
@@ -4893,7 +4894,7 @@ msgstr "Документ у пам'Ñті %d"
msgid "Memory document %1"
msgstr "Документ у пам'Ñті %1"
-#: ../src/document.cpp:855
+#: ../src/document.cpp:886
#, c-format
msgid "Unnamed document %d"
msgstr "Документ без назви %d"
@@ -4903,11 +4904,11 @@ msgid "[Unchanged]"
msgstr "(Ðе змінено)"
#. Edit
-#: ../src/event-log.cpp:371 ../src/event-log.cpp:374 ../src/verbs.cpp:2465
+#: ../src/event-log.cpp:371 ../src/event-log.cpp:374 ../src/verbs.cpp:2434
msgid "_Undo"
msgstr "В_ернути"
-#: ../src/event-log.cpp:381 ../src/event-log.cpp:385 ../src/verbs.cpp:2467
+#: ../src/event-log.cpp:381 ../src/event-log.cpp:385 ../src/verbs.cpp:2436
msgid "_Redo"
msgstr "Повт_орити"
@@ -4935,7 +4936,7 @@ msgstr " опиÑ: "
msgid " (No preferences)"
msgstr " (Ðемає уподобань)"
-#: ../src/extension/effect.h:70 ../src/verbs.cpp:2239
+#: ../src/extension/effect.h:70 ../src/verbs.cpp:2208
msgid "Extensions"
msgstr "Додатки"
@@ -4961,14 +4962,14 @@ msgstr ""
msgid "Show dialog on startup"
msgstr "Показувати діалогове вікно при запуÑку"
-#: ../src/extension/execution-env.cpp:144
+#: ../src/extension/execution-env.cpp:138
#, c-format
msgid "'%s' working, please wait..."
msgstr "ЗаÑтоÑовуєтьÑÑ ÐµÑ„ÐµÐºÑ‚ '%s', зачекайте…"
#. static int i = 0;
#. std::cout << "Checking module[" << i++ << "]: " << name << std::endl;
-#: ../src/extension/extension.cpp:271
+#: ../src/extension/extension.cpp:267
msgid ""
" This is caused by an improper .inx file for this extension. An improper ."
"inx file could have been caused by a faulty installation of Inkscape."
@@ -4976,70 +4977,70 @@ msgstr ""
" Це викликано неправильним файлом .inx Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ додатку. Причиною поÑви "
"неправильного файла .inx може бути некоректне вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Inkscape."
-#: ../src/extension/extension.cpp:281
+#: ../src/extension/extension.cpp:277
msgid "the extension is designed for Windows only."
msgstr "Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ñ€Ð¾Ð±Ð»ÐµÐ½Ð¾ лише Ð´Ð»Ñ Windows."
-#: ../src/extension/extension.cpp:286
+#: ../src/extension/extension.cpp:282
msgid "an ID was not defined for it."
msgstr "Ð´Ð»Ñ Ð½ÑŒÐ¾Ð³Ð¾ не вказано ідентифікатор ID."
-#: ../src/extension/extension.cpp:290
+#: ../src/extension/extension.cpp:286
msgid "there was no name defined for it."
msgstr "Ð´Ð»Ñ Ð½ÑŒÐ¾Ð³Ð¾ не вказано назви."
-#: ../src/extension/extension.cpp:294
+#: ../src/extension/extension.cpp:290
msgid "the XML description of it got lost."
msgstr "втрачено його XML опиÑ."
-#: ../src/extension/extension.cpp:298
+#: ../src/extension/extension.cpp:294
msgid "no implementation was defined for the extension."
msgstr "Ð´Ð»Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÑƒ не вказано реалізацію."
#. std::cout << "Failed: " << *(_deps[i]) << std::endl;
-#: ../src/extension/extension.cpp:305
+#: ../src/extension/extension.cpp:301
msgid "a dependency was not met."
msgstr "залежніÑть не було задоволено."
-#: ../src/extension/extension.cpp:325
+#: ../src/extension/extension.cpp:321
msgid "Extension \""
msgstr "Помилка у додатку «"
-#: ../src/extension/extension.cpp:325
+#: ../src/extension/extension.cpp:321
msgid "\" failed to load because "
msgstr "». Причина: "
-#: ../src/extension/extension.cpp:674
+#: ../src/extension/extension.cpp:670
#, c-format
msgid "Could not create extension error log file '%s'"
msgstr "Ðе вдаєтьÑÑ Ñтворити файл журналу помилок додатків «%s»"
-#: ../src/extension/extension.cpp:782
+#: ../src/extension/extension.cpp:778
#: ../share/extensions/webslicer_create_rect.inx.h:2
msgid "Name:"
msgstr "Ðазва:"
-#: ../src/extension/extension.cpp:783
+#: ../src/extension/extension.cpp:779
msgid "ID:"
msgstr "Ідентифікатор:"
-#: ../src/extension/extension.cpp:784
+#: ../src/extension/extension.cpp:780
msgid "State:"
msgstr "Стан:"
-#: ../src/extension/extension.cpp:784
+#: ../src/extension/extension.cpp:780
msgid "Loaded"
msgstr "Завантажено"
-#: ../src/extension/extension.cpp:784
+#: ../src/extension/extension.cpp:780
msgid "Unloaded"
msgstr "Розвантажено"
-#: ../src/extension/extension.cpp:784
+#: ../src/extension/extension.cpp:780
msgid "Deactivated"
msgstr "Вимкнено"
-#: ../src/extension/extension.cpp:824
+#: ../src/extension/extension.cpp:820
msgid ""
"Currently there is no help available for this Extension. Please look on the "
"Inkscape website or ask on the mailing lists if you have questions regarding "
@@ -5049,7 +5050,7 @@ msgstr ""
"відвідайте Ñайт Inkscape або запитайте у ÑпиÑках лиÑтуваннÑ, Ñкщо у Ð²Ð°Ñ "
"виникли питаннÑ, що ÑтоÑуютьÑÑ Ñ†ÑŒÐ¾Ð³Ð¾ додатка."
-#: ../src/extension/implementation/script.cpp:1057
+#: ../src/extension/implementation/script.cpp:1063
msgid ""
"Inkscape has received additional data from the script executed. The script "
"did not return an error, but this may indicate the results will not be as "
@@ -5082,10 +5083,11 @@ msgstr "Ðдаптивна поÑтеризаціÑ"
#: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:41
#: ../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/extension/internal/bluredge.cpp:136
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:59
#: ../src/ui/dialog/object-attributes.cpp:68
#: ../src/ui/dialog/object-attributes.cpp:77
+#: ../src/ui/widget/page-sizer.cpp:249
#: ../src/widgets/calligraphy-toolbar.cpp:430
#: ../src/widgets/eraser-toolbar.cpp:128 ../src/widgets/spray-toolbar.cpp:116
#: ../src/widgets/tweak-toolbar.cpp:128
@@ -5098,7 +5100,7 @@ msgstr "Ширина:"
#: ../src/extension/internal/bitmap/sample.cpp:42
#: ../src/ui/dialog/object-attributes.cpp:69
#: ../src/ui/dialog/object-attributes.cpp:78
-#: ../share/extensions/foldablebox.inx.h:3
+#: ../src/ui/widget/page-sizer.cpp:250 ../share/extensions/foldablebox.inx.h:3
msgid "Height:"
msgstr "ВиÑота:"
@@ -5155,13 +5157,13 @@ msgstr "Додати шум"
#. _settings->add_checkbutton(false, SP_ATTR_STITCHTILES, _("Stitch Tiles"), "stitch", "noStitch");
#: ../src/extension/internal/bitmap/addNoise.cpp:47
-#: ../src/extension/internal/filter/color.h:426
-#: ../src/extension/internal/filter/color.h:1497
-#: ../src/extension/internal/filter/color.h:1585
+#: ../src/extension/internal/filter/color.h:501
+#: ../src/extension/internal/filter/color.h:1572
+#: ../src/extension/internal/filter/color.h:1660
#: ../src/extension/internal/filter/distort.h:69
#: ../src/extension/internal/filter/morphology.h:60 ../src/rdf.cpp:244
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2842
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2916
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2858
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2932
#: ../src/ui/dialog/object-attributes.cpp:49
#: ../share/extensions/jessyInk_effects.inx.h:5
#: ../share/extensions/jessyInk_export.inx.h:3
@@ -5213,7 +5215,7 @@ msgstr "РозмиттÑ"
#: ../src/extension/internal/bitmap/oilPaint.cpp:39
#: ../src/extension/internal/bitmap/sharpen.cpp:40
#: ../src/extension/internal/bitmap/unsharpmask.cpp:43
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2894
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2910
msgid "Radius:"
msgstr "РадіуÑ:"
@@ -5296,7 +5298,7 @@ msgid "Apply charcoal stylization to selected bitmap(s)"
msgstr "ЗаÑтоÑувати Ñтилізацію під малюнок вугіллÑм до позначених картинок"
#: ../src/extension/internal/bitmap/colorize.cpp:50
-#: ../src/extension/internal/filter/color.h:317
+#: ../src/extension/internal/filter/color.h:392
msgid "Colorize"
msgstr "Зробити кольоровим"
@@ -5307,7 +5309,7 @@ msgstr ""
"непрозоріÑть"
#: ../src/extension/internal/bitmap/contrast.cpp:40
-#: ../src/extension/internal/filter/color.h:1114
+#: ../src/extension/internal/filter/color.h:1189
msgid "Contrast"
msgstr "КонтраÑÑ‚"
@@ -5428,7 +5430,7 @@ msgid "Implode selected bitmap(s)"
msgstr "ЗаÑтоÑувати ефект «концентраціÑ» до вибраних раÑтрових зображень"
#: ../src/extension/internal/bitmap/level.cpp:41
-#: ../src/extension/internal/filter/color.h:742
+#: ../src/extension/internal/filter/color.h:817
#: ../src/extension/internal/filter/image.h:56
#: ../src/extension/internal/filter/morphology.h:66
#: ../src/extension/internal/filter/paint.h:345
@@ -5463,7 +5465,7 @@ msgid "Level (with Channel)"
msgstr "Рівень (з каналом)"
#: ../src/extension/internal/bitmap/levelChannel.cpp:54
-#: ../src/extension/internal/filter/color.h:636
+#: ../src/extension/internal/filter/color.h:711
msgid "Channel:"
msgstr "Канал:"
@@ -5549,7 +5551,7 @@ msgid "Opacity"
msgstr "ÐепрозоріÑть"
#: ../src/extension/internal/bitmap/opacity.cpp:40
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2884
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2900
#: ../src/ui/dialog/objects.cpp:1619 ../src/widgets/dropper-toolbar.cpp:83
msgid "Opacity:"
msgstr "ÐепрозоріÑть:"
@@ -5627,8 +5629,8 @@ msgid "Sharpen selected bitmap(s)"
msgstr "Підвищити різкіÑть позначених раÑтрових картинок"
#: ../src/extension/internal/bitmap/solarize.cpp:39
-#: ../src/extension/internal/filter/color.h:1494
-#: ../src/extension/internal/filter/color.h:1498
+#: ../src/extension/internal/filter/color.h:1569
+#: ../src/extension/internal/filter/color.h:1573
msgid "Solarize"
msgstr "СонÑчне Ñвітло"
@@ -5667,7 +5669,7 @@ msgstr "ПоÑтеризаціÑ"
#: ../src/extension/internal/bitmap/threshold.cpp:40
#: ../src/extension/internal/bitmap/unsharpmask.cpp:46
-#: ../src/widgets/paintbucket-toolbar.cpp:148
+#: ../src/widgets/paintbucket-toolbar.cpp:147
msgid "Threshold:"
msgstr "Поріг:"
@@ -5700,23 +5702,23 @@ msgstr "Довжина хвилі:"
msgid "Alter selected bitmap(s) along sine wave"
msgstr "Змінити вибрані раÑтрові Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð° хвилею ÑинуÑоїди"
-#: ../src/extension/internal/bluredge.cpp:136
+#: ../src/extension/internal/bluredge.cpp:134
msgid "Inset/Outset Halo"
msgstr "Ð’Ñ‚ÑгуваннÑ/РозтÑÐ³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ñ€ÐµÐ¾Ð»Ð°"
-#: ../src/extension/internal/bluredge.cpp:138
+#: ../src/extension/internal/bluredge.cpp:136
msgid "Width in px of the halo"
msgstr "Ширина ореолу у точках"
-#: ../src/extension/internal/bluredge.cpp:139
+#: ../src/extension/internal/bluredge.cpp:137
msgid "Number of steps:"
msgstr "КількіÑть кроків:"
-#: ../src/extension/internal/bluredge.cpp:139
+#: ../src/extension/internal/bluredge.cpp:137
msgid "Number of inset/outset copies of the object to make"
msgstr "КількіÑть копій втÑгуваннÑ/розтÑÐ³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єкта"
-#: ../src/extension/internal/bluredge.cpp:143
+#: ../src/extension/internal/bluredge.cpp:141
#: ../share/extensions/extrude.inx.h:5
#: ../share/extensions/generate_voronoi.inx.h:9
#: ../share/extensions/interp.inx.h:7 ../share/extensions/motion.inx.h:4
@@ -5920,80 +5922,80 @@ msgstr "Файли обміну презентаціÑми Corel DRAW (*.cmx)"
msgid "Open presentation exchange files saved in Corel DRAW"
msgstr "Відкрити файли обміну презентаціÑми, збережені за допомогою Corel DRAW"
-#: ../src/extension/internal/emf-inout.cpp:3562
+#: ../src/extension/internal/emf-inout.cpp:3584
msgid "EMF Input"
msgstr "Імпорт EMF"
-#: ../src/extension/internal/emf-inout.cpp:3567
+#: ../src/extension/internal/emf-inout.cpp:3589
msgid "Enhanced Metafiles (*.emf)"
msgstr "Розширений метафайл (*.emf)"
-#: ../src/extension/internal/emf-inout.cpp:3568
+#: ../src/extension/internal/emf-inout.cpp:3590
msgid "Enhanced Metafiles"
msgstr "Розширені метафайли"
-#: ../src/extension/internal/emf-inout.cpp:3576
+#: ../src/extension/internal/emf-inout.cpp:3598
msgid "EMF Output"
msgstr "ЕкÑпорт до EMF"
-#: ../src/extension/internal/emf-inout.cpp:3578
-#: ../src/extension/internal/wmf-inout.cpp:3152
+#: ../src/extension/internal/emf-inout.cpp:3600
+#: ../src/extension/internal/wmf-inout.cpp:3174
msgid "Convert texts to paths"
msgstr "Перетворити текÑÑ‚ на контури"
-#: ../src/extension/internal/emf-inout.cpp:3579
-#: ../src/extension/internal/wmf-inout.cpp:3153
+#: ../src/extension/internal/emf-inout.cpp:3601
+#: ../src/extension/internal/wmf-inout.cpp:3175
msgid "Map Unicode to Symbol font"
msgstr "Пов’Ñзати Unicode зі шрифтом Symbol"
-#: ../src/extension/internal/emf-inout.cpp:3580
-#: ../src/extension/internal/wmf-inout.cpp:3154
+#: ../src/extension/internal/emf-inout.cpp:3602
+#: ../src/extension/internal/wmf-inout.cpp:3176
msgid "Map Unicode to Wingdings"
msgstr "Пов’Ñзати Unicode з Wingdings"
-#: ../src/extension/internal/emf-inout.cpp:3581
-#: ../src/extension/internal/wmf-inout.cpp:3155
+#: ../src/extension/internal/emf-inout.cpp:3603
+#: ../src/extension/internal/wmf-inout.cpp:3177
msgid "Map Unicode to Zapf Dingbats"
msgstr "Пов’Ñзати Unicode з Zapf Dingbats"
-#: ../src/extension/internal/emf-inout.cpp:3582
-#: ../src/extension/internal/wmf-inout.cpp:3156
+#: ../src/extension/internal/emf-inout.cpp:3604
+#: ../src/extension/internal/wmf-inout.cpp:3178
msgid "Use MS Unicode PUA (0xF020-0xF0FF) for converted characters"
msgstr ""
"ВикориÑтовувати Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð¸Ñ… Ñимволів MS Unicode PUA (0xF020-0xF0FF)"
-#: ../src/extension/internal/emf-inout.cpp:3583
-#: ../src/extension/internal/wmf-inout.cpp:3157
+#: ../src/extension/internal/emf-inout.cpp:3605
+#: ../src/extension/internal/wmf-inout.cpp:3179
msgid "Compensate for PPT font bug"
msgstr "КомпенÑувати ваду щодо шрифтів у PPT"
-#: ../src/extension/internal/emf-inout.cpp:3584
-#: ../src/extension/internal/wmf-inout.cpp:3158
+#: ../src/extension/internal/emf-inout.cpp:3606
+#: ../src/extension/internal/wmf-inout.cpp:3180
msgid "Convert dashed/dotted lines to single lines"
msgstr "Перетворювати штрихову та пунктир у одну лінію"
-#: ../src/extension/internal/emf-inout.cpp:3585
-#: ../src/extension/internal/wmf-inout.cpp:3159
+#: ../src/extension/internal/emf-inout.cpp:3607
+#: ../src/extension/internal/wmf-inout.cpp:3181
msgid "Convert gradients to colored polygon series"
msgstr "Перетворити градієнти на поÑлідовніÑть кольорових багатокутників"
-#: ../src/extension/internal/emf-inout.cpp:3586
+#: ../src/extension/internal/emf-inout.cpp:3608
msgid "Use native rectangular linear gradients"
msgstr "ВикориÑтовувати природні прÑмокутні лінійні градієнти"
-#: ../src/extension/internal/emf-inout.cpp:3587
+#: ../src/extension/internal/emf-inout.cpp:3609
msgid "Map all fill patterns to standard EMF hatches"
msgstr "Пов’Ñзати уÑÑ– Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð²Ñ–Ð·ÐµÑ€ÑƒÐ½ÐºÐ°Ð¼Ð¸ зі Ñтандартними шаблонами EMF"
-#: ../src/extension/internal/emf-inout.cpp:3588
+#: ../src/extension/internal/emf-inout.cpp:3610
msgid "Ignore image rotations"
msgstr "Ігнорувати Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ"
-#: ../src/extension/internal/emf-inout.cpp:3592
+#: ../src/extension/internal/emf-inout.cpp:3614
msgid "Enhanced Metafile (*.emf)"
msgstr "Розширений метафайл (*.emf)"
-#: ../src/extension/internal/emf-inout.cpp:3593
+#: ../src/extension/internal/emf-inout.cpp:3615
msgid "Enhanced Metafile"
msgstr "Розширений метафайл"
@@ -6037,27 +6039,28 @@ msgstr "Колір підÑвіченнÑ"
#: ../src/extension/internal/filter/blurs.h:350
#: ../src/extension/internal/filter/bumps.h:141
#: ../src/extension/internal/filter/bumps.h:361
-#: ../src/extension/internal/filter/color.h:81
-#: ../src/extension/internal/filter/color.h:170
-#: ../src/extension/internal/filter/color.h:261
-#: ../src/extension/internal/filter/color.h:346
-#: ../src/extension/internal/filter/color.h:436
-#: ../src/extension/internal/filter/color.h:531
-#: ../src/extension/internal/filter/color.h:653
-#: ../src/extension/internal/filter/color.h:750
-#: ../src/extension/internal/filter/color.h:829
-#: ../src/extension/internal/filter/color.h:920
-#: ../src/extension/internal/filter/color.h:1048
-#: ../src/extension/internal/filter/color.h:1118
-#: ../src/extension/internal/filter/color.h:1211
-#: ../src/extension/internal/filter/color.h:1323
-#: ../src/extension/internal/filter/color.h:1428
-#: ../src/extension/internal/filter/color.h:1504
-#: ../src/extension/internal/filter/color.h:1615
+#: ../src/extension/internal/filter/color.h:82
+#: ../src/extension/internal/filter/color.h:171
+#: ../src/extension/internal/filter/color.h:282
+#: ../src/extension/internal/filter/color.h:336
+#: ../src/extension/internal/filter/color.h:421
+#: ../src/extension/internal/filter/color.h:511
+#: ../src/extension/internal/filter/color.h:606
+#: ../src/extension/internal/filter/color.h:728
+#: ../src/extension/internal/filter/color.h:825
+#: ../src/extension/internal/filter/color.h:904
+#: ../src/extension/internal/filter/color.h:995
+#: ../src/extension/internal/filter/color.h:1123
+#: ../src/extension/internal/filter/color.h:1193
+#: ../src/extension/internal/filter/color.h:1286
+#: ../src/extension/internal/filter/color.h:1398
+#: ../src/extension/internal/filter/color.h:1503
+#: ../src/extension/internal/filter/color.h:1579
+#: ../src/extension/internal/filter/color.h:1690
#: ../src/extension/internal/filter/distort.h:95
#: ../src/extension/internal/filter/distort.h:204
#: ../src/extension/internal/filter/filter-file.cpp:151
-#: ../src/extension/internal/filter/filter.cpp:214
+#: ../src/extension/internal/filter/filter.cpp:212
#: ../src/extension/internal/filter/image.h:61
#: ../src/extension/internal/filter/morphology.h:75
#: ../src/extension/internal/filter/morphology.h:202
@@ -6094,7 +6097,7 @@ msgstr "Матове покриттÑ"
#: ../src/extension/internal/filter/bevels.h:136
#: ../src/extension/internal/filter/bevels.h:220
#: ../src/extension/internal/filter/blurs.h:187
-#: ../src/extension/internal/filter/color.h:74
+#: ../src/extension/internal/filter/color.h:75
msgid "Brightness"
msgstr "ЯÑкравіÑть"
@@ -6166,11 +6169,11 @@ msgstr "ÐакладеннÑ:"
#: ../src/extension/internal/filter/bumps.h:131
#: ../src/extension/internal/filter/bumps.h:337
#: ../src/extension/internal/filter/bumps.h:344
-#: ../src/extension/internal/filter/color.h:329
-#: ../src/extension/internal/filter/color.h:336
-#: ../src/extension/internal/filter/color.h:1423
-#: ../src/extension/internal/filter/color.h:1596
-#: ../src/extension/internal/filter/color.h:1602
+#: ../src/extension/internal/filter/color.h:404
+#: ../src/extension/internal/filter/color.h:411
+#: ../src/extension/internal/filter/color.h:1498
+#: ../src/extension/internal/filter/color.h:1671
+#: ../src/extension/internal/filter/color.h:1677
#: ../src/extension/internal/filter/paint.h:705
#: ../src/extension/internal/filter/transparency.h:63
#: ../src/filter-enums.cpp:55
@@ -6182,12 +6185,12 @@ msgstr "Темніше"
#: ../src/extension/internal/filter/bumps.h:132
#: ../src/extension/internal/filter/bumps.h:335
#: ../src/extension/internal/filter/bumps.h:342
-#: ../src/extension/internal/filter/color.h:327
-#: ../src/extension/internal/filter/color.h:332
-#: ../src/extension/internal/filter/color.h:647
-#: ../src/extension/internal/filter/color.h:1415
-#: ../src/extension/internal/filter/color.h:1420
-#: ../src/extension/internal/filter/color.h:1594
+#: ../src/extension/internal/filter/color.h:402
+#: ../src/extension/internal/filter/color.h:407
+#: ../src/extension/internal/filter/color.h:722
+#: ../src/extension/internal/filter/color.h:1490
+#: ../src/extension/internal/filter/color.h:1495
+#: ../src/extension/internal/filter/color.h:1669
#: ../src/extension/internal/filter/paint.h:703
#: ../src/extension/internal/filter/transparency.h:62
#: ../src/filter-enums.cpp:54 ../src/ui/dialog/input.cpp:382
@@ -6199,13 +6202,13 @@ msgstr "Ширма"
#: ../src/extension/internal/filter/bumps.h:133
#: ../src/extension/internal/filter/bumps.h:338
#: ../src/extension/internal/filter/bumps.h:345
-#: ../src/extension/internal/filter/color.h:325
-#: ../src/extension/internal/filter/color.h:333
-#: ../src/extension/internal/filter/color.h:645
-#: ../src/extension/internal/filter/color.h:1414
-#: ../src/extension/internal/filter/color.h:1421
-#: ../src/extension/internal/filter/color.h:1595
-#: ../src/extension/internal/filter/color.h:1601
+#: ../src/extension/internal/filter/color.h:400
+#: ../src/extension/internal/filter/color.h:408
+#: ../src/extension/internal/filter/color.h:720
+#: ../src/extension/internal/filter/color.h:1489
+#: ../src/extension/internal/filter/color.h:1496
+#: ../src/extension/internal/filter/color.h:1670
+#: ../src/extension/internal/filter/color.h:1676
#: ../src/extension/internal/filter/paint.h:701
#: ../src/extension/internal/filter/transparency.h:60
#: ../src/filter-enums.cpp:53
@@ -6217,10 +6220,10 @@ msgstr "МноженнÑ"
#: ../src/extension/internal/filter/bumps.h:134
#: ../src/extension/internal/filter/bumps.h:339
#: ../src/extension/internal/filter/bumps.h:346
-#: ../src/extension/internal/filter/color.h:328
-#: ../src/extension/internal/filter/color.h:335
-#: ../src/extension/internal/filter/color.h:1422
-#: ../src/extension/internal/filter/color.h:1593
+#: ../src/extension/internal/filter/color.h:403
+#: ../src/extension/internal/filter/color.h:410
+#: ../src/extension/internal/filter/color.h:1497
+#: ../src/extension/internal/filter/color.h:1668
#: ../src/extension/internal/filter/paint.h:704
#: ../src/extension/internal/filter/transparency.h:64
#: ../src/filter-enums.cpp:56
@@ -6265,8 +6268,8 @@ msgid "Erosion"
msgstr "ЕрозіÑ"
#: ../src/extension/internal/filter/blurs.h:336
-#: ../src/extension/internal/filter/color.h:1205
-#: ../src/extension/internal/filter/color.h:1317
+#: ../src/extension/internal/filter/color.h:1280
+#: ../src/extension/internal/filter/color.h:1392
#: ../src/ui/dialog/document-properties.cpp:122
msgid "Background color"
msgstr "Колір тла"
@@ -6280,13 +6283,13 @@ msgstr "Тип змішуваннÑ:"
#: ../src/extension/internal/filter/bumps.h:130
#: ../src/extension/internal/filter/bumps.h:336
#: ../src/extension/internal/filter/bumps.h:343
-#: ../src/extension/internal/filter/color.h:326
-#: ../src/extension/internal/filter/color.h:334
-#: ../src/extension/internal/filter/color.h:646
-#: ../src/extension/internal/filter/color.h:1413
-#: ../src/extension/internal/filter/color.h:1419
-#: ../src/extension/internal/filter/color.h:1586
-#: ../src/extension/internal/filter/color.h:1600
+#: ../src/extension/internal/filter/color.h:401
+#: ../src/extension/internal/filter/color.h:409
+#: ../src/extension/internal/filter/color.h:721
+#: ../src/extension/internal/filter/color.h:1488
+#: ../src/extension/internal/filter/color.h:1494
+#: ../src/extension/internal/filter/color.h:1661
+#: ../src/extension/internal/filter/color.h:1675
#: ../src/extension/internal/filter/distort.h:78
#: ../src/extension/internal/filter/paint.h:702
#: ../src/extension/internal/filter/textures.h:77
@@ -6324,11 +6327,11 @@ msgstr "ВитиÑÐºÐ°Ð½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ»Ð°"
#: ../src/extension/internal/filter/bumps.h:88
#: ../src/extension/internal/filter/bumps.h:317
-#: ../src/extension/internal/filter/color.h:157
-#: ../src/extension/internal/filter/color.h:637
-#: ../src/extension/internal/filter/color.h:821
+#: ../src/extension/internal/filter/color.h:158
+#: ../src/extension/internal/filter/color.h:712
+#: ../src/extension/internal/filter/color.h:896
#: ../src/extension/internal/filter/transparency.h:132
-#: ../src/filter-enums.cpp:128 ../src/ui/tools/flood-tool.cpp:183
+#: ../src/filter-enums.cpp:128 ../src/ui/tools/flood-tool.cpp:91
#: ../src/widgets/sp-color-icc-selector.cpp:330
#: ../src/widgets/sp-color-scales.cpp:415
#: ../src/widgets/sp-color-scales.cpp:416
@@ -6337,11 +6340,11 @@ msgstr "Червоний"
#: ../src/extension/internal/filter/bumps.h:89
#: ../src/extension/internal/filter/bumps.h:318
-#: ../src/extension/internal/filter/color.h:158
-#: ../src/extension/internal/filter/color.h:638
-#: ../src/extension/internal/filter/color.h:822
+#: ../src/extension/internal/filter/color.h:159
+#: ../src/extension/internal/filter/color.h:713
+#: ../src/extension/internal/filter/color.h:897
#: ../src/extension/internal/filter/transparency.h:133
-#: ../src/filter-enums.cpp:129 ../src/ui/tools/flood-tool.cpp:184
+#: ../src/filter-enums.cpp:129 ../src/ui/tools/flood-tool.cpp:92
#: ../src/widgets/sp-color-icc-selector.cpp:331
#: ../src/widgets/sp-color-scales.cpp:418
#: ../src/widgets/sp-color-scales.cpp:419
@@ -6350,11 +6353,11 @@ msgstr "Зелений"
#: ../src/extension/internal/filter/bumps.h:90
#: ../src/extension/internal/filter/bumps.h:319
-#: ../src/extension/internal/filter/color.h:159
-#: ../src/extension/internal/filter/color.h:639
-#: ../src/extension/internal/filter/color.h:823
+#: ../src/extension/internal/filter/color.h:160
+#: ../src/extension/internal/filter/color.h:714
+#: ../src/extension/internal/filter/color.h:898
#: ../src/extension/internal/filter/transparency.h:134
-#: ../src/filter-enums.cpp:130 ../src/ui/tools/flood-tool.cpp:185
+#: ../src/filter-enums.cpp:130 ../src/ui/tools/flood-tool.cpp:93
#: ../src/widgets/sp-color-icc-selector.cpp:332
#: ../src/widgets/sp-color-scales.cpp:421
#: ../src/widgets/sp-color-scales.cpp:422
@@ -6380,20 +6383,20 @@ 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:334
+#: ../src/ui/widget/page-sizer.cpp:250 ../src/widgets/rect-toolbar.cpp:334
#: ../share/extensions/interp_att_g.inx.h:11
msgid "Height"
msgstr "ВиÑота"
#: ../src/extension/internal/filter/bumps.h:99
#: ../src/extension/internal/filter/bumps.h:330
-#: ../src/extension/internal/filter/color.h:76
-#: ../src/extension/internal/filter/color.h:824
-#: ../src/extension/internal/filter/color.h:1113
+#: ../src/extension/internal/filter/color.h:77
+#: ../src/extension/internal/filter/color.h:899
+#: ../src/extension/internal/filter/color.h:1188
#: ../src/extension/internal/filter/paint.h:86
#: ../src/extension/internal/filter/paint.h:592
#: ../src/extension/internal/filter/paint.h:707
-#: ../src/ui/tools/flood-tool.cpp:188
+#: ../src/ui/tools/flood-tool.cpp:96
#: ../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
@@ -6433,13 +6436,13 @@ msgstr "Параметри віддаленого джерела"
#: ../src/extension/internal/filter/bumps.h:110
#: ../src/extension/internal/filter/bumps.h:332
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1195
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1196
msgid "Azimuth"
msgstr "Ðзимут"
#: ../src/extension/internal/filter/bumps.h:111
#: ../src/extension/internal/filter/bumps.h:333
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1196
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1197
msgid "Elevation"
msgstr "ВиÑота"
@@ -6521,7 +6524,7 @@ msgid "Background opacity"
msgstr "ÐепрозоріÑть тла"
#: ../src/extension/internal/filter/bumps.h:327
-#: ../src/extension/internal/filter/color.h:1040
+#: ../src/extension/internal/filter/color.h:1115
msgid "Lighting"
msgstr "ПідÑвічуваннÑ"
@@ -6562,17 +6565,17 @@ msgstr "Вхід"
msgid "Turns an image to jelly"
msgstr "Перетворює Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð° желе"
-#: ../src/extension/internal/filter/color.h:72
+#: ../src/extension/internal/filter/color.h:73
msgid "Brilliance"
msgstr "БлиÑкучіÑть"
-#: ../src/extension/internal/filter/color.h:75
-#: ../src/extension/internal/filter/color.h:1417
+#: ../src/extension/internal/filter/color.h:76
+#: ../src/extension/internal/filter/color.h:1492
msgid "Over-saturation"
msgstr "ПеренаÑиченіÑть"
-#: ../src/extension/internal/filter/color.h:77
-#: ../src/extension/internal/filter/color.h:161
+#: ../src/extension/internal/filter/color.h:78
+#: ../src/extension/internal/filter/color.h:162
#: ../src/extension/internal/filter/overlays.h:70
#: ../src/extension/internal/filter/paint.h:85
#: ../src/extension/internal/filter/paint.h:502
@@ -6581,19 +6584,19 @@ msgstr "ПеренаÑиченіÑть"
msgid "Inverted"
msgstr "ІнвертуваннÑ"
-#: ../src/extension/internal/filter/color.h:85
+#: ../src/extension/internal/filter/color.h:86
msgid "Brightness filter"
msgstr "Фільтр ÑÑкравоÑті"
-#: ../src/extension/internal/filter/color.h:152
+#: ../src/extension/internal/filter/color.h:153
msgid "Channel Painting"
msgstr "ÐœÐ°Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð·Ð° каналами"
-#: ../src/extension/internal/filter/color.h:156
-#: ../src/extension/internal/filter/color.h:257
+#: ../src/extension/internal/filter/color.h:157
+#: ../src/extension/internal/filter/color.h:332
#: ../src/extension/internal/filter/paint.h:87 ../src/filter-enums.cpp:66
#: ../src/ui/dialog/inkscape-preferences.cpp:952
-#: ../src/ui/tools/flood-tool.cpp:187
+#: ../src/ui/tools/flood-tool.cpp:95
#: ../src/widgets/sp-color-icc-selector.cpp:337
#: ../src/widgets/sp-color-icc-selector.cpp:342
#: ../src/widgets/sp-color-scales.cpp:444
@@ -6602,133 +6605,177 @@ msgstr "ÐœÐ°Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð·Ð° каналами"
msgid "Saturation"
msgstr "ÐаÑиченіÑть"
-#: ../src/extension/internal/filter/color.h:160
+#: ../src/extension/internal/filter/color.h:161
#: ../src/extension/internal/filter/transparency.h:135
-#: ../src/filter-enums.cpp:131 ../src/ui/tools/flood-tool.cpp:189
+#: ../src/filter-enums.cpp:131 ../src/ui/tools/flood-tool.cpp:97
msgid "Alpha"
msgstr "Ðльфа-канал"
-#: ../src/extension/internal/filter/color.h:174
+#: ../src/extension/internal/filter/color.h:175
msgid "Replace RGB by any color"
msgstr "Замінити колір RGB на довільний колір"
#: ../src/extension/internal/filter/color.h:254
+msgid "Color Blindness"
+msgstr "Дальтонізм"
+
+#: ../src/extension/internal/filter/color.h:258
+msgid "Blindness type:"
+msgstr "Тип дальтонізму:"
+
+#: ../src/extension/internal/filter/color.h:259
+msgid "Rod monochromacy (atypical achromatopsia)"
+msgstr "ÐœÐ¾Ð½Ð¾Ñ…Ñ€Ð¾Ð¼Ð°Ð·Ñ–Ñ Ð¿Ð°Ð»Ð¸Ñ‡Ð¾Ðº (нетипова ахроматопÑÑ–Ñ)"
+
+#: ../src/extension/internal/filter/color.h:260
+msgid "Cone monochromacy (typical achromatopsia)"
+msgstr "ÐœÐ¾Ð½Ð¾Ñ…Ñ€Ð¾Ð¼Ð°Ð·Ñ–Ñ ÐºÐ¾Ð»Ð±Ð¾Ñ‡Ð¾Ðº (типова ахроматопÑÑ–Ñ)"
+
+#: ../src/extension/internal/filter/color.h:261
+msgid "Green weak (deuteranomaly)"
+msgstr "Слабке Ñ€Ð¾Ð·Ñ€Ñ–Ð·Ð½ÐµÐ½Ð½Ñ Ð·ÐµÐ»ÐµÐ½Ð¾Ð³Ð¾ (дейтераномаліÑ)"
+
+#: ../src/extension/internal/filter/color.h:262
+msgid "Green blind (deuteranopia)"
+msgstr "Сліпота до зеленого (дейтеранопіÑ)"
+
+#: ../src/extension/internal/filter/color.h:263
+msgid "Red weak (protanomaly)"
+msgstr "Слабке Ñ€Ð¾Ð·Ñ€Ñ–Ð·Ð½ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€Ð²Ð¾Ð½Ð¾Ð³Ð¾ (протаномаліÑ)"
+
+#: ../src/extension/internal/filter/color.h:264
+msgid "Red blind (protanopia)"
+msgstr "Сліпота до червоного (протанопіÑ)"
+
+#: ../src/extension/internal/filter/color.h:265
+msgid "Blue weak (tritanomaly)"
+msgstr "Слабке Ñ€Ð¾Ð·Ñ€Ñ–Ð·Ð½ÐµÐ½Ð½Ñ Ñинього (трітаномаліÑ)"
+
+#: ../src/extension/internal/filter/color.h:266
+msgid "Blue blind (tritanopia)"
+msgstr "Сліпота до Ñинього (трітанопіÑ)"
+
+#: ../src/extension/internal/filter/color.h:286
+msgid "Simulate color blindness"
+msgstr "Імітувати кольорову Ñліпоту"
+
+#: ../src/extension/internal/filter/color.h:329
msgid "Color Shift"
msgstr "ЗÑув кольорів"
-#: ../src/extension/internal/filter/color.h:256
+#: ../src/extension/internal/filter/color.h:331
msgid "Shift (°)"
msgstr "ЗÑув (у °)"
-#: ../src/extension/internal/filter/color.h:265
+#: ../src/extension/internal/filter/color.h:340
msgid "Rotate and desaturate hue"
msgstr "ÐžÐ±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ñ– зненаÑÐ¸Ñ‡ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ñ–Ð½ÐºÑ–Ð²"
-#: ../src/extension/internal/filter/color.h:321
+#: ../src/extension/internal/filter/color.h:396
msgid "Harsh light"
msgstr "ЯÑкраве оÑвітленнÑ"
-#: ../src/extension/internal/filter/color.h:322
+#: ../src/extension/internal/filter/color.h:397
msgid "Normal light"
msgstr "Звичайне оÑвітленнÑ"
-#: ../src/extension/internal/filter/color.h:323
+#: ../src/extension/internal/filter/color.h:398
msgid "Duotone"
msgstr "Два тони"
-#: ../src/extension/internal/filter/color.h:324
-#: ../src/extension/internal/filter/color.h:1412
+#: ../src/extension/internal/filter/color.h:399
+#: ../src/extension/internal/filter/color.h:1487
msgid "Blend 1:"
msgstr "ÐÐ°ÐºÐ»Ð°Ð´ÐµÐ½Ð½Ñ 1:"
-#: ../src/extension/internal/filter/color.h:331
-#: ../src/extension/internal/filter/color.h:1418
+#: ../src/extension/internal/filter/color.h:406
+#: ../src/extension/internal/filter/color.h:1493
msgid "Blend 2:"
msgstr "ÐÐ°ÐºÐ»Ð°Ð´ÐµÐ½Ð½Ñ 2:"
-#: ../src/extension/internal/filter/color.h:350
+#: ../src/extension/internal/filter/color.h:425
msgid "Blend image or object with a flood color"
msgstr "Змішує кольори Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ об'єкта з кольором заповненнÑ"
-#: ../src/extension/internal/filter/color.h:424 ../src/filter-enums.cpp:23
+#: ../src/extension/internal/filter/color.h:499 ../src/filter-enums.cpp:23
msgid "Component Transfer"
msgstr "ПеренеÑÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¸"
-#: ../src/extension/internal/filter/color.h:427 ../src/filter-enums.cpp:110
+#: ../src/extension/internal/filter/color.h:502 ../src/filter-enums.cpp:110
msgid "Identity"
msgstr "ТотожніÑть"
-#: ../src/extension/internal/filter/color.h:428
+#: ../src/extension/internal/filter/color.h:503
#: ../src/extension/internal/filter/paint.h:498 ../src/filter-enums.cpp:111
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1050
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1051
msgid "Table"
msgstr "Табличний"
-#: ../src/extension/internal/filter/color.h:429
+#: ../src/extension/internal/filter/color.h:504
#: ../src/extension/internal/filter/paint.h:499 ../src/filter-enums.cpp:112
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1053
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1054
msgid "Discrete"
msgstr "ДиÑкретний"
-#: ../src/extension/internal/filter/color.h:430 ../src/filter-enums.cpp:113
+#: ../src/extension/internal/filter/color.h:505 ../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:114
+#: ../src/extension/internal/filter/color.h:506 ../src/filter-enums.cpp:114
msgid "Gamma"
msgstr "Гама"
-#: ../src/extension/internal/filter/color.h:440
+#: ../src/extension/internal/filter/color.h:515
msgid "Basic component transfer structure"
msgstr "Базова Ñтруктура Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚"
-#: ../src/extension/internal/filter/color.h:509
+#: ../src/extension/internal/filter/color.h:584
msgid "Duochrome"
msgstr "Два кольори"
-#: ../src/extension/internal/filter/color.h:513
+#: ../src/extension/internal/filter/color.h:588
msgid "Fluorescence level"
msgstr "Рівень ÑвіченнÑ"
-#: ../src/extension/internal/filter/color.h:514
+#: ../src/extension/internal/filter/color.h:589
msgid "Swap:"
msgstr "Обмін:"
-#: ../src/extension/internal/filter/color.h:515
+#: ../src/extension/internal/filter/color.h:590
msgid "No swap"
msgstr "Без обміну"
-#: ../src/extension/internal/filter/color.h:516
+#: ../src/extension/internal/filter/color.h:591
msgid "Color and alpha"
msgstr "Колір і α-канал"
-#: ../src/extension/internal/filter/color.h:517
+#: ../src/extension/internal/filter/color.h:592
msgid "Color only"
msgstr "Лише колір"
-#: ../src/extension/internal/filter/color.h:518
+#: ../src/extension/internal/filter/color.h:593
msgid "Alpha only"
msgstr "Лише α-канал"
-#: ../src/extension/internal/filter/color.h:522
+#: ../src/extension/internal/filter/color.h:597
msgid "Color 1"
msgstr "Колір 1"
-#: ../src/extension/internal/filter/color.h:525
+#: ../src/extension/internal/filter/color.h:600
msgid "Color 2"
msgstr "Колір 2"
-#: ../src/extension/internal/filter/color.h:535
+#: ../src/extension/internal/filter/color.h:610
msgid "Convert luminance values to a duochrome palette"
msgstr "Перетворити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾ÑвітленоÑті на кольори двотонової палітри"
-#: ../src/extension/internal/filter/color.h:634
+#: ../src/extension/internal/filter/color.h:709
msgid "Extract Channel"
msgstr "Ð’Ð¸Ð´Ð¾Ð±ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ°Ð½Ð°Ð»Ñƒ"
-#: ../src/extension/internal/filter/color.h:640
+#: ../src/extension/internal/filter/color.h:715
#: ../src/widgets/sp-color-icc-selector.cpp:344
#: ../src/widgets/sp-color-icc-selector.cpp:349
#: ../src/widgets/sp-color-scales.cpp:469
@@ -6736,7 +6783,7 @@ msgstr "Ð’Ð¸Ð´Ð¾Ð±ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ°Ð½Ð°Ð»Ñƒ"
msgid "Cyan"
msgstr "Блакитний"
-#: ../src/extension/internal/filter/color.h:641
+#: ../src/extension/internal/filter/color.h:716
#: ../src/widgets/sp-color-icc-selector.cpp:345
#: ../src/widgets/sp-color-icc-selector.cpp:350
#: ../src/widgets/sp-color-scales.cpp:472
@@ -6744,7 +6791,7 @@ msgstr "Блакитний"
msgid "Magenta"
msgstr "Бузковий"
-#: ../src/extension/internal/filter/color.h:642
+#: ../src/extension/internal/filter/color.h:717
#: ../src/widgets/sp-color-icc-selector.cpp:346
#: ../src/widgets/sp-color-icc-selector.cpp:351
#: ../src/widgets/sp-color-scales.cpp:475
@@ -6752,27 +6799,27 @@ msgstr "Бузковий"
msgid "Yellow"
msgstr "Жовтий"
-#: ../src/extension/internal/filter/color.h:644
+#: ../src/extension/internal/filter/color.h:719
msgid "Background blend mode:"
msgstr "Режим об'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· тлом:"
-#: ../src/extension/internal/filter/color.h:649
+#: ../src/extension/internal/filter/color.h:724
msgid "Channel to alpha"
msgstr "Перетворити канал на прозорий"
-#: ../src/extension/internal/filter/color.h:657
+#: ../src/extension/internal/filter/color.h:732
msgid "Extract color channel as a transparent image"
msgstr "Видобути канал кольору Ñк прозоре зображеннÑ"
-#: ../src/extension/internal/filter/color.h:740
+#: ../src/extension/internal/filter/color.h:815
msgid "Fade to Black or White"
msgstr "ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° чорний або білий"
-#: ../src/extension/internal/filter/color.h:743
+#: ../src/extension/internal/filter/color.h:818
msgid "Fade to:"
msgstr "ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð°:"
-#: ../src/extension/internal/filter/color.h:744
+#: ../src/extension/internal/filter/color.h:819
#: ../src/ui/widget/selected-style.cpp:274
#: ../src/widgets/sp-color-icc-selector.cpp:347
#: ../src/widgets/sp-color-scales.cpp:478
@@ -6780,240 +6827,241 @@ msgstr "ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð°:"
msgid "Black"
msgstr "Чорний"
-#: ../src/extension/internal/filter/color.h:745
+#: ../src/extension/internal/filter/color.h:820
#: ../src/ui/widget/selected-style.cpp:270
msgid "White"
msgstr "Білий"
-#: ../src/extension/internal/filter/color.h:754
+#: ../src/extension/internal/filter/color.h:829
msgid "Fade to black or white"
msgstr "ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° чорний або білий"
-#: ../src/extension/internal/filter/color.h:819
+#: ../src/extension/internal/filter/color.h:894
msgid "Greyscale"
msgstr "Градації Ñірого"
-#: ../src/extension/internal/filter/color.h:825
+#: ../src/extension/internal/filter/color.h:900
#: ../src/extension/internal/filter/paint.h:83
#: ../src/extension/internal/filter/paint.h:239
msgid "Transparent"
msgstr "ПрозоріÑть"
-#: ../src/extension/internal/filter/color.h:833
+#: ../src/extension/internal/filter/color.h:908
msgid "Customize greyscale components"
msgstr "Ðалаштувати компоненти відтінків Ñірого"
-#: ../src/extension/internal/filter/color.h:905
+#: ../src/extension/internal/filter/color.h:980
#: ../src/ui/widget/selected-style.cpp:266
msgid "Invert"
msgstr "Інвертувати"
-#: ../src/extension/internal/filter/color.h:907
+#: ../src/extension/internal/filter/color.h:982
msgid "Invert channels:"
msgstr "Ð†Ð½Ð²ÐµÑ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ°Ð½Ð°Ð»Ñ–Ð²:"
-#: ../src/extension/internal/filter/color.h:908
+#: ../src/extension/internal/filter/color.h:983
msgid "No inversion"
msgstr "Без інверÑÑ–Ñ—"
-#: ../src/extension/internal/filter/color.h:909
+#: ../src/extension/internal/filter/color.h:984
msgid "Red and blue"
msgstr "Червоний Ñ– Ñиній"
-#: ../src/extension/internal/filter/color.h:910
+#: ../src/extension/internal/filter/color.h:985
msgid "Red and green"
msgstr "Червоний і зелений"
-#: ../src/extension/internal/filter/color.h:911
+#: ../src/extension/internal/filter/color.h:986
msgid "Green and blue"
msgstr "Зелений Ñ– Ñиній"
-#: ../src/extension/internal/filter/color.h:913
+#: ../src/extension/internal/filter/color.h:988
msgid "Light transparency"
msgstr "ПрозоріÑть Ñвітлого"
-#: ../src/extension/internal/filter/color.h:914
+#: ../src/extension/internal/filter/color.h:989
msgid "Invert hue"
msgstr "ІнверÑÑ–Ñ Ð²Ñ–Ð´Ñ‚Ñ–Ð½ÐºÑƒ"
-#: ../src/extension/internal/filter/color.h:915
+#: ../src/extension/internal/filter/color.h:990
msgid "Invert lightness"
msgstr "Інвертувати оÑвітленіÑть"
-#: ../src/extension/internal/filter/color.h:916
+#: ../src/extension/internal/filter/color.h:991
msgid "Invert transparency"
msgstr "Інвертувати прозоріÑть"
-#: ../src/extension/internal/filter/color.h:924
+#: ../src/extension/internal/filter/color.h:999
msgid "Manage hue, lightness and transparency inversions"
msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ð½Ð²ÐµÑ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñм за відтінком, оÑвітленіÑтю та прозоріÑтю"
-#: ../src/extension/internal/filter/color.h:1042
+#: ../src/extension/internal/filter/color.h:1117
msgid "Lights"
msgstr "ОÑвітленнÑ"
-#: ../src/extension/internal/filter/color.h:1043
+#: ../src/extension/internal/filter/color.h:1118
msgid "Shadows"
msgstr "Тіні"
-#: ../src/extension/internal/filter/color.h:1044
+#: ../src/extension/internal/filter/color.h:1119
#: ../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:1159
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1048
+#: ../src/widgets/gradient-toolbar.cpp:1162
msgid "Offset"
msgstr "ЗміщеннÑ"
-#: ../src/extension/internal/filter/color.h:1052
+#: ../src/extension/internal/filter/color.h:1127
msgid "Modify lights and shadows separately"
msgstr "Змінювати оÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ Ñ– тіні окремо"
-#: ../src/extension/internal/filter/color.h:1111
+#: ../src/extension/internal/filter/color.h:1186
msgid "Lightness-Contrast"
msgstr "ЯÑкравіÑть-КонтраÑтніÑть"
-#: ../src/extension/internal/filter/color.h:1122
+#: ../src/extension/internal/filter/color.h:1197
msgid "Modify lightness and contrast separately"
msgstr "Змінювати оÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ Ñ– контраÑтніÑть окремо"
-#: ../src/extension/internal/filter/color.h:1190
+#: ../src/extension/internal/filter/color.h:1265
msgid "Nudge RGB"
msgstr "Поштовх RGB"
-#: ../src/extension/internal/filter/color.h:1194
+#: ../src/extension/internal/filter/color.h:1269
msgid "Red offset"
msgstr "Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€Ð²Ð¾Ð½Ð¾Ð³Ð¾"
-#: ../src/extension/internal/filter/color.h:1195
-#: ../src/extension/internal/filter/color.h:1198
-#: ../src/extension/internal/filter/color.h:1201
-#: ../src/extension/internal/filter/color.h:1307
-#: ../src/extension/internal/filter/color.h:1310
-#: ../src/extension/internal/filter/color.h:1313
+#: ../src/extension/internal/filter/color.h:1270
+#: ../src/extension/internal/filter/color.h:1273
+#: ../src/extension/internal/filter/color.h:1276
+#: ../src/extension/internal/filter/color.h:1382
+#: ../src/extension/internal/filter/color.h:1385
+#: ../src/extension/internal/filter/color.h:1388
#: ../src/ui/dialog/input.cpp:1616 ../src/ui/dialog/layers.cpp:917
+#: ../src/ui/widget/page-sizer.cpp:247
msgid "X"
msgstr "X"
-#: ../src/extension/internal/filter/color.h:1196
-#: ../src/extension/internal/filter/color.h:1199
-#: ../src/extension/internal/filter/color.h:1202
-#: ../src/extension/internal/filter/color.h:1308
-#: ../src/extension/internal/filter/color.h:1311
-#: ../src/extension/internal/filter/color.h:1314
-#: ../src/ui/dialog/input.cpp:1616
+#: ../src/extension/internal/filter/color.h:1271
+#: ../src/extension/internal/filter/color.h:1274
+#: ../src/extension/internal/filter/color.h:1277
+#: ../src/extension/internal/filter/color.h:1383
+#: ../src/extension/internal/filter/color.h:1386
+#: ../src/extension/internal/filter/color.h:1389
+#: ../src/ui/dialog/input.cpp:1616 ../src/ui/widget/page-sizer.cpp:248
msgid "Y"
msgstr "Y"
-#: ../src/extension/internal/filter/color.h:1197
+#: ../src/extension/internal/filter/color.h:1272
msgid "Green offset"
msgstr "Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·ÐµÐ»ÐµÐ½Ð¾Ð³Ð¾"
-#: ../src/extension/internal/filter/color.h:1200
+#: ../src/extension/internal/filter/color.h:1275
msgid "Blue offset"
msgstr "Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñинього"
-#: ../src/extension/internal/filter/color.h:1215
+#: ../src/extension/internal/filter/color.h:1290
msgid ""
"Nudge RGB channels separately and blend them to different types of "
"backgrounds"
msgstr "ПереÑунути окремо вÑÑ– канали RGB Ñ– змішати Ñ—Ñ… з різними типами тла"
-#: ../src/extension/internal/filter/color.h:1302
+#: ../src/extension/internal/filter/color.h:1377
msgid "Nudge CMY"
msgstr "Поштовх CMY"
-#: ../src/extension/internal/filter/color.h:1306
+#: ../src/extension/internal/filter/color.h:1381
msgid "Cyan offset"
msgstr "Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð±Ð»Ð°ÐºÐ¸Ñ‚Ð½Ð¾Ð³Ð¾"
-#: ../src/extension/internal/filter/color.h:1309
+#: ../src/extension/internal/filter/color.h:1384
msgid "Magenta offset"
msgstr "Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð±ÑƒÐ·ÐºÐ¾Ð²Ð¾Ð³Ð¾"
-#: ../src/extension/internal/filter/color.h:1312
+#: ../src/extension/internal/filter/color.h:1387
msgid "Yellow offset"
msgstr "Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¶Ð¾Ð²Ñ‚Ð¾Ð³Ð¾"
-#: ../src/extension/internal/filter/color.h:1327
+#: ../src/extension/internal/filter/color.h:1402
msgid ""
"Nudge CMY channels separately and blend them to different types of "
"backgrounds"
msgstr "ПереÑунути окремо вÑÑ– канали CMY Ñ– змішати Ñ—Ñ… з різними типами тла"
-#: ../src/extension/internal/filter/color.h:1408
+#: ../src/extension/internal/filter/color.h:1483
msgid "Quadritone fantasy"
msgstr "Ð¤Ð°Ð½Ñ‚Ð°Ð·Ñ–Ñ Ð· чотирьох тонів"
-#: ../src/extension/internal/filter/color.h:1410
+#: ../src/extension/internal/filter/color.h:1485
msgid "Hue distribution (°)"
msgstr "Розподіл відтінку (у °)"
-#: ../src/extension/internal/filter/color.h:1411
+#: ../src/extension/internal/filter/color.h:1486
#: ../share/extensions/svgcalendar.inx.h:19
msgid "Colors"
msgstr "Кольори"
-#: ../src/extension/internal/filter/color.h:1432
+#: ../src/extension/internal/filter/color.h:1507
msgid "Replace hue by two colors"
msgstr "Замінити відтінок на два кольори"
-#: ../src/extension/internal/filter/color.h:1496
+#: ../src/extension/internal/filter/color.h:1571
msgid "Hue rotation (°)"
msgstr "ÐžÐ±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ñ–Ð½ÐºÑƒ (у °)"
-#: ../src/extension/internal/filter/color.h:1499
+#: ../src/extension/internal/filter/color.h:1574
msgid "Moonarize"
msgstr "МіÑÑцезаціÑ"
-#: ../src/extension/internal/filter/color.h:1508
+#: ../src/extension/internal/filter/color.h:1583
msgid "Classic photographic solarization effect"
msgstr "КлаÑичний фотографічний ефект вигораннÑ"
-#: ../src/extension/internal/filter/color.h:1581
+#: ../src/extension/internal/filter/color.h:1656
msgid "Tritone"
msgstr "Тритон"
-#: ../src/extension/internal/filter/color.h:1587
+#: ../src/extension/internal/filter/color.h:1662
msgid "Enhance hue"
msgstr "ПоÑÐ¸Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñ‚Ñ–Ð½ÐºÑƒ"
-#: ../src/extension/internal/filter/color.h:1588
+#: ../src/extension/internal/filter/color.h:1663
msgid "Phosphorescence"
msgstr "ФоÑфореÑценціÑ"
-#: ../src/extension/internal/filter/color.h:1589
+#: ../src/extension/internal/filter/color.h:1664
msgid "Colored nights"
msgstr "Кольорові ночі"
-#: ../src/extension/internal/filter/color.h:1590
+#: ../src/extension/internal/filter/color.h:1665
msgid "Hue to background"
msgstr "Відтінок у тло"
-#: ../src/extension/internal/filter/color.h:1592
+#: ../src/extension/internal/filter/color.h:1667
msgid "Global blend:"
msgstr "Загальне змішуваннÑ:"
-#: ../src/extension/internal/filter/color.h:1598
+#: ../src/extension/internal/filter/color.h:1673
msgid "Glow"
msgstr "Ðімб"
-#: ../src/extension/internal/filter/color.h:1599
+#: ../src/extension/internal/filter/color.h:1674
msgid "Glow blend:"
msgstr "Ð—Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ñ–Ð¼Ð±Ð°:"
-#: ../src/extension/internal/filter/color.h:1604
+#: ../src/extension/internal/filter/color.h:1679
msgid "Local light"
msgstr "Локальне оÑвітленнÑ"
-#: ../src/extension/internal/filter/color.h:1605
+#: ../src/extension/internal/filter/color.h:1680
msgid "Global light"
msgstr "Загальне оÑвітленнÑ"
-#: ../src/extension/internal/filter/color.h:1608
+#: ../src/extension/internal/filter/color.h:1683
msgid "Hue distribution (°):"
msgstr "Розподіл відтінку (у °):"
-#: ../src/extension/internal/filter/color.h:1619
+#: ../src/extension/internal/filter/color.h:1694
msgid ""
"Create a custom tritone palette with additional glow, blend modes and hue "
"moving"
@@ -7188,8 +7236,8 @@ 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:317 ../src/widgets/spray-toolbar.cpp:116
-#: ../src/widgets/tweak-toolbar.cpp:128
+#: ../src/ui/widget/page-sizer.cpp:249 ../src/widgets/rect-toolbar.cpp:317
+#: ../src/widgets/spray-toolbar.cpp:116 ../src/widgets/tweak-toolbar.cpp:128
#: ../share/extensions/interp_att_g.inx.h:10
msgid "Width"
msgstr "Ширина"
@@ -7235,7 +7283,7 @@ msgstr "Виключне ÐБО (XOR)"
#: ../src/extension/internal/filter/morphology.h:179
#: ../src/ui/dialog/layer-properties.cpp:185
-#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:59
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:55
msgid "Position:"
msgstr "РозміщеннÑ:"
@@ -7425,8 +7473,8 @@ msgstr ""
"горизонтальних ліній"
#: ../src/extension/internal/filter/paint.h:331
-#: ../src/ui/dialog/align-and-distribute.cpp:1003
-#: ../src/widgets/desktop-widget.cpp:1996
+#: ../src/ui/dialog/align-and-distribute.cpp:999
+#: ../src/widgets/desktop-widget.cpp:1998
msgid "Drawing"
msgstr "Малюнок"
@@ -7435,7 +7483,7 @@ msgstr "Малюнок"
#: ../src/extension/internal/filter/paint.h:496
#: ../src/extension/internal/filter/paint.h:590
#: ../src/extension/internal/filter/paint.h:976
-#: ../src/live_effects/effect.cpp:151 ../src/splivarot.cpp:2212
+#: ../src/live_effects/effect.cpp:151 ../src/splivarot.cpp:2201
msgid "Simplify"
msgstr "СпроÑтити"
@@ -7717,7 +7765,7 @@ msgid "Background"
msgstr "Тло"
#: ../src/extension/internal/filter/transparency.h:59
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2839
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2855
#: ../src/ui/dialog/input.cpp:1088 ../src/widgets/eraser-toolbar.cpp:106
#: ../src/widgets/pencil-toolbar.cpp:132 ../src/widgets/spray-toolbar.cpp:186
#: ../src/widgets/tweak-toolbar.cpp:254 ../share/extensions/extrude.inx.h:2
@@ -7877,31 +7925,31 @@ msgstr "Градієнт GIMP (*.ggr)"
msgid "Gradients used in GIMP"
msgstr "Градієнти, що викориÑтовуютьÑÑ Ñƒ GIMP"
-#: ../src/extension/internal/grid.cpp:212 ../src/ui/widget/panel.cpp:118
+#: ../src/extension/internal/grid.cpp:205 ../src/ui/widget/panel.cpp:114
msgid "Grid"
msgstr "Сітка"
-#: ../src/extension/internal/grid.cpp:214
+#: ../src/extension/internal/grid.cpp:207
msgid "Line Width:"
msgstr "Товщина ліній:"
-#: ../src/extension/internal/grid.cpp:215
+#: ../src/extension/internal/grid.cpp:208
msgid "Horizontal Spacing:"
msgstr "Горизонтальний інтервал:"
-#: ../src/extension/internal/grid.cpp:216
+#: ../src/extension/internal/grid.cpp:209
msgid "Vertical Spacing:"
msgstr "Вертикальний інтервал:"
-#: ../src/extension/internal/grid.cpp:217
+#: ../src/extension/internal/grid.cpp:210
msgid "Horizontal Offset:"
msgstr "Горизонтальний зÑув:"
-#: ../src/extension/internal/grid.cpp:218
+#: ../src/extension/internal/grid.cpp:211
msgid "Vertical Offset:"
msgstr "Вертикальний зÑув:"
-#: ../src/extension/internal/grid.cpp:222
+#: ../src/extension/internal/grid.cpp:215
#: ../src/ui/dialog/inkscape-preferences.cpp:1477
#: ../share/extensions/draw_from_triangle.inx.h:58
#: ../share/extensions/eqtexsvg.inx.h:4
@@ -7932,14 +7980,14 @@ msgstr "Вертикальний зÑув:"
msgid "Render"
msgstr "ВідтвореннÑ"
-#: ../src/extension/internal/grid.cpp:223
+#: ../src/extension/internal/grid.cpp:216
#: ../src/ui/dialog/document-properties.cpp:162
#: ../src/ui/dialog/inkscape-preferences.cpp:787
-#: ../src/widgets/toolbox.cpp:1827
+#: ../src/widgets/toolbox.cpp:1823
msgid "Grids"
msgstr "Сітки"
-#: ../src/extension/internal/grid.cpp:226
+#: ../src/extension/internal/grid.cpp:219
msgid "Draw a path which is a grid"
msgstr "Ðамалювати контур у формі Ñітки"
@@ -8228,33 +8276,33 @@ msgstr "Імпорт з VSDX"
msgid "Microsoft Visio 2013 drawing (*.vsdx)"
msgstr "Малюнок Microsoft Visio 2013 (*.vsdx)"
-#: ../src/extension/internal/wmf-inout.cpp:3136
+#: ../src/extension/internal/wmf-inout.cpp:3158
msgid "WMF Input"
msgstr "Імпорт WMF"
-#: ../src/extension/internal/wmf-inout.cpp:3141
+#: ../src/extension/internal/wmf-inout.cpp:3163
msgid "Windows Metafiles (*.wmf)"
msgstr "Метафайл Windows (*.wmf)"
-#: ../src/extension/internal/wmf-inout.cpp:3142
+#: ../src/extension/internal/wmf-inout.cpp:3164
msgid "Windows Metafiles"
msgstr "Метафайл Windows"
-#: ../src/extension/internal/wmf-inout.cpp:3150
+#: ../src/extension/internal/wmf-inout.cpp:3172
msgid "WMF Output"
msgstr "ЕкÑпорт до WMF"
-#: ../src/extension/internal/wmf-inout.cpp:3160
+#: ../src/extension/internal/wmf-inout.cpp:3182
msgid "Map all fill patterns to standard WMF hatches"
msgstr "Пов’Ñзати уÑÑ– Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð²Ñ–Ð·ÐµÑ€ÑƒÐ½ÐºÐ°Ð¼Ð¸ зі Ñтандартними шаблонами WMF"
-#: ../src/extension/internal/wmf-inout.cpp:3164
+#: ../src/extension/internal/wmf-inout.cpp:3186
#: ../share/extensions/wmf_input.inx.h:2
#: ../share/extensions/wmf_output.inx.h:2
msgid "Windows Metafile (*.wmf)"
msgstr "Метафайл Windows (*.wmf)"
-#: ../src/extension/internal/wmf-inout.cpp:3165
+#: ../src/extension/internal/wmf-inout.cpp:3187
msgid "Windows Metafile"
msgstr "Метафайл Windows (WMF)"
@@ -8290,7 +8338,7 @@ msgstr "типовий.svg"
msgid "Broken links have been changed to point to existing files."
msgstr "Помилкові поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½ÐµÐ½Ð¾ так, щоб вони вказували на поточні файли."
-#: ../src/file.cpp:339 ../src/file.cpp:1255
+#: ../src/file.cpp:339 ../src/file.cpp:1252
#, c-format
msgid "Failed to load the requested file %s"
msgstr "Ðе вдаєтьÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ потрібний файл %s"
@@ -8365,7 +8413,7 @@ msgid "Document saved."
msgstr "Документ збережено."
#. We are saving for the first time; create a unique default filename
-#: ../src/file.cpp:866 ../src/file.cpp:1414
+#: ../src/file.cpp:866 ../src/file.cpp:1411
msgid "drawing"
msgstr "риÑунок"
@@ -8389,20 +8437,20 @@ msgstr "Файл не було змінено. Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð½ÐµÐ¿Ð¾Ñ‚Ñ€
msgid "Saving document..."
msgstr "Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°â€¦"
-#: ../src/file.cpp:1252 ../src/ui/dialog/inkscape-preferences.cpp:1450
+#: ../src/file.cpp:1249 ../src/ui/dialog/inkscape-preferences.cpp:1450
#: ../src/ui/dialog/ocaldialogs.cpp:1244
msgid "Import"
msgstr "Імпорт"
-#: ../src/file.cpp:1302
+#: ../src/file.cpp:1299
msgid "Select file to import"
msgstr "Виберіть файл Ð´Ð»Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ñƒ"
-#: ../src/file.cpp:1435
+#: ../src/file.cpp:1432
msgid "Select file to export to"
msgstr "Оберіть файл Ð´Ð»Ñ ÐµÐºÑпорту"
-#: ../src/file.cpp:1688
+#: ../src/file.cpp:1685
msgid "Import Clip Art"
msgstr "Ð†Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñ–Ð²"
@@ -8495,7 +8543,7 @@ msgstr "РізницÑ"
msgid "Exclusion"
msgstr "ВиключеннÑ"
-#: ../src/filter-enums.cpp:65 ../src/ui/tools/flood-tool.cpp:186
+#: ../src/filter-enums.cpp:65 ../src/ui/tools/flood-tool.cpp:94
#: ../src/widgets/sp-color-icc-selector.cpp:336
#: ../src/widgets/sp-color-icc-selector.cpp:340
#: ../src/widgets/sp-color-scales.cpp:441
@@ -8567,7 +8615,7 @@ msgstr "Світліше"
msgid "Arithmetic"
msgstr "Ðрифметичний"
-#: ../src/filter-enums.cpp:120 ../src/selection-chemistry.cpp:546
+#: ../src/filter-enums.cpp:120 ../src/selection-chemistry.cpp:545
msgid "Duplicate"
msgstr "Дублювати"
@@ -8604,15 +8652,15 @@ msgstr "Точкове джерело"
msgid "Spot Light"
msgstr "Прожектор"
-#: ../src/gradient-chemistry.cpp:1579
+#: ../src/gradient-chemistry.cpp:1580
msgid "Invert gradient colors"
msgstr "Інвертувати кольори градієнта"
-#: ../src/gradient-chemistry.cpp:1605
+#: ../src/gradient-chemistry.cpp:1607
msgid "Reverse gradient"
msgstr "Обернути градієнт"
-#: ../src/gradient-chemistry.cpp:1619 ../src/widgets/gradient-selector.cpp:222
+#: ../src/gradient-chemistry.cpp:1621 ../src/widgets/gradient-selector.cpp:222
msgid "Delete swatch"
msgstr "Вилучити зразок"
@@ -8673,7 +8721,7 @@ msgstr "Об'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²ÑƒÑів градієнта"
msgid "Move gradient handle"
msgstr "ПереміÑтити Ð²ÑƒÑ Ð³Ñ€Ð°Ð´Ñ–Ñ”Ð½Ñ‚Ð°"
-#: ../src/gradient-drag.cpp:1164 ../src/widgets/gradient-vector.cpp:827
+#: ../src/gradient-drag.cpp:1164 ../src/widgets/gradient-vector.cpp:828
msgid "Delete gradient stop"
msgstr "Вилучити опорну точку градієнта"
@@ -8725,67 +8773,67 @@ msgstr[2] ""
"Точка градієнта Ñпільна Ð´Ð»Ñ <b>%d</b> градієнтів; Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾ÐºÑ€ÐµÐ¼Ð»ÐµÐ½Ð½Ñ "
"перетÑгуйте з <b>Shift</b>"
-#: ../src/gradient-drag.cpp:2378
+#: ../src/gradient-drag.cpp:2379
msgid "Move gradient handle(s)"
msgstr "ПереміÑтити вуÑ(а) градієнта"
-#: ../src/gradient-drag.cpp:2414
+#: ../src/gradient-drag.cpp:2415
msgid "Move gradient mid stop(s)"
msgstr "ПереміÑтити опорні точки градієнта"
-#: ../src/gradient-drag.cpp:2703
+#: ../src/gradient-drag.cpp:2704
msgid "Delete gradient stop(s)"
msgstr "Вилучити опорні точки градієнта"
-#: ../src/inkscape.cpp:246
+#: ../src/inkscape.cpp:242
msgid "Autosave failed! Cannot create directory %1."
msgstr ""
"Спроба автоматичного Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ð»Ð° невдачі! Ðе вдалоÑÑ Ñтворити каталог "
"%1."
-#: ../src/inkscape.cpp:255
+#: ../src/inkscape.cpp:251
msgid "Autosave failed! Cannot open directory %1."
msgstr ""
"Спроба автоматичного Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ð»Ð° невдачі! Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ каталог "
"%1."
-#: ../src/inkscape.cpp:271
+#: ../src/inkscape.cpp:267
msgid "Autosaving documents..."
msgstr "ÐÐ²Ñ‚Ð¾Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð²â€¦"
-#: ../src/inkscape.cpp:339
+#: ../src/inkscape.cpp:335
msgid "Autosave failed! Could not find inkscape extension to save document."
msgstr ""
"Спроба автоматичного Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ð»Ð° невдачі! Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ додаток "
"inkscape Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°."
-#: ../src/inkscape.cpp:342 ../src/inkscape.cpp:349
+#: ../src/inkscape.cpp:338 ../src/inkscape.cpp:345
#, c-format
msgid "Autosave failed! File %s could not be saved."
msgstr ""
"Спроба автоматичного Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ð»Ð° невдачі! Файл %s неможливо зберегти."
-#: ../src/inkscape.cpp:364
+#: ../src/inkscape.cpp:360
msgid "Autosave complete."
msgstr "Ðвтоматичне Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¾."
-#: ../src/inkscape.cpp:622
+#: ../src/inkscape.cpp:618
msgid "Untitled document"
msgstr "Без назви"
#. Show nice dialog box
-#: ../src/inkscape.cpp:654
+#: ../src/inkscape.cpp:650
msgid "Inkscape encountered an internal error and will close now.\n"
msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°. Зараз роботу Inkscape буде завершено.\n"
-#: ../src/inkscape.cpp:655
+#: ../src/inkscape.cpp:651
msgid ""
"Automatic backups of unsaved documents were done to the following "
"locations:\n"
msgstr ""
"Виконано автоматичне Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¸Ñ… копій незбережених документів:\n"
-#: ../src/inkscape.cpp:656
+#: ../src/inkscape.cpp:652
msgid "Automatic backup of the following documents failed:\n"
msgstr "Ðе вдаєтьÑÑ Ñтворити резервну копію такого документа:\n"
@@ -8793,26 +8841,26 @@ msgstr "Ðе вдаєтьÑÑ Ñтворити резервну копію таÐ
msgid "Node or handle drag canceled."
msgstr "ÐŸÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²ÑƒÐ·Ð»Ð° ÑкаÑовано."
-#: ../src/knotholder.cpp:170
+#: ../src/knotholder.cpp:171
msgid "Change handle"
msgstr "Змінити вуÑ"
-#: ../src/knotholder.cpp:257
+#: ../src/knotholder.cpp:258
msgid "Move handle"
msgstr "ПереміÑтити вуÑ"
#. TRANSLATORS: This refers to the pattern that's inside the object
-#: ../src/knotholder.cpp:276 ../src/knotholder.cpp:298
+#: ../src/knotholder.cpp:277 ../src/knotholder.cpp:299
msgid "<b>Move</b> the pattern fill inside the object"
msgstr "<b>Переміщувати</b> Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð²Ñ–Ð·ÐµÑ€ÑƒÐ½ÐºÐ¾Ð¼ вÑередині об'єкта"
-#: ../src/knotholder.cpp:280 ../src/knotholder.cpp:302
+#: ../src/knotholder.cpp:281 ../src/knotholder.cpp:303
msgid "<b>Scale</b> the pattern fill; uniformly if with <b>Ctrl</b>"
msgstr ""
"<b>МаÑштабувати</b> Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð²Ñ–Ð·ÐµÑ€ÑƒÐ½ÐºÐ¾Ð¼; рівномірно, Ñкщо натиÑнуто "
"<b>Ctrl</b>"
-#: ../src/knotholder.cpp:284 ../src/knotholder.cpp:306
+#: ../src/knotholder.cpp:285 ../src/knotholder.cpp:307
msgid "<b>Rotate</b> the pattern fill; with <b>Ctrl</b> to snap angle"
msgstr "<b>Обертати</b> Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð²Ñ–Ð·ÐµÑ€ÑƒÐ½ÐºÐ¾Ð¼, <b>Ctrl</b> обмежує кут"
@@ -8851,7 +8899,7 @@ msgstr "Елемент, що є «володарем» цього"
#. Name
#: ../src/libgdl/gdl-dock-item.c:298 ../src/widgets/ruler.cpp:192
-#: ../src/widgets/text-toolbar.cpp:1405
+#: ../src/widgets/text-toolbar.cpp:1411
#: ../share/extensions/gcodetools_graffiti.inx.h:9
#: ../share/extensions/gcodetools_orientation_points.inx.h:2
msgid "Orientation"
@@ -8997,10 +9045,10 @@ msgstr ""
"панелей можна називати контролерами."
#: ../src/libgdl/gdl-dock-notebook.c:132
-#: ../src/ui/dialog/align-and-distribute.cpp:1002
+#: ../src/ui/dialog/align-and-distribute.cpp:998
#: ../src/ui/dialog/document-properties.cpp:160
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1537
-#: ../src/widgets/desktop-widget.cpp:1992
+#: ../src/widgets/desktop-widget.cpp:1994
#: ../share/extensions/empty_page.inx.h:1
#: ../share/extensions/voronoi2svg.inx.h:9
msgid "Page"
@@ -9011,9 +9059,9 @@ msgid "The index of the current page"
msgstr "Ð†Ð½Ð´ÐµÐºÑ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— Ñторінки"
#: ../src/libgdl/gdl-dock-object.c:125
-#: ../src/live_effects/parameter/originalpatharray.cpp:86
+#: ../src/live_effects/parameter/originalpatharray.cpp:82
#: ../src/ui/dialog/inkscape-preferences.cpp:1511
-#: ../src/ui/widget/page-sizer.cpp:258
+#: ../src/ui/widget/page-sizer.cpp:283
#: ../src/widgets/gradient-selector.cpp:150
#: ../src/widgets/sp-xmlview-attr-list.cpp:49
msgid "Name"
@@ -9393,7 +9441,7 @@ msgstr "Долучити до контуру"
msgid "Fill between strokes"
msgstr "Ð—Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¼Ñ–Ð¶ штрихами"
-#: ../src/live_effects/effect.cpp:147 ../src/selection-chemistry.cpp:2916
+#: ../src/live_effects/effect.cpp:147 ../src/selection-chemistry.cpp:2871
msgid "Fill between many"
msgstr "Ð—Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¼Ñ–Ð¶ багатьма"
@@ -9433,23 +9481,23 @@ msgstr ""
"Якщо не буде позначено цей пункт, ефект залишатиметьÑÑ Ð·Ð°ÑтоÑованим до "
"об'єкта, але його буде тимчаÑово вимкнено на полотні."
-#: ../src/live_effects/effect.cpp:384
+#: ../src/live_effects/effect.cpp:387
msgid "No effect"
msgstr "Без ефекту"
-#: ../src/live_effects/effect.cpp:492
+#: ../src/live_effects/effect.cpp:495
#, c-format
msgid "Please specify a parameter path for the LPE '%s' with %d mouse clicks"
msgstr ""
"Будь лаÑка, вкажіть параметр контуру Ð´Ð»Ñ Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ‡Ð½Ð¸Ñ… побудов «%s» за "
"допомогою %d клацань мишею"
-#: ../src/live_effects/effect.cpp:759
+#: ../src/live_effects/effect.cpp:762
#, c-format
msgid "Editing parameter <b>%s</b>."
msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° <b>%s</b>."
-#: ../src/live_effects/effect.cpp:764
+#: ../src/live_effects/effect.cpp:767
msgid "None of the applied path effect's parameters can be edited on-canvas."
msgstr ""
"Жоден із заÑтоÑованих параметрів ефекту контуру не можна редагувати на "
@@ -9526,8 +9574,8 @@ msgstr "Контур, за Ñким Ñлід вигнути початковий
#: ../src/live_effects/lpe-bendpath.cpp:54
#: ../src/live_effects/lpe-patternalongpath.cpp:62
-#: ../src/ui/dialog/export.cpp:289 ../src/ui/dialog/transformation.cpp:78
-#: ../src/ui/widget/page-sizer.cpp:236
+#: ../src/ui/dialog/export.cpp:285 ../src/ui/dialog/transformation.cpp:74
+#: ../src/ui/widget/page-sizer.cpp:237
msgid "_Width:"
msgstr "_Ширина:"
@@ -9572,47 +9620,50 @@ msgstr "Видимі рамки"
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
+#: ../src/live_effects/lpe-bspline.cpp:25
msgid "Steps with CTRL:"
msgstr "Кроки з Ctrl:"
-#: ../src/live_effects/lpe-bspline.cpp:60
+#: ../src/live_effects/lpe-bspline.cpp:25
msgid "Change number of steps with CTRL pressed"
msgstr "Змінити кількіÑть кроків, Ñкі виконуватимутьÑÑ, Ñкщо натиÑнуто Ctrl"
-#: ../src/live_effects/lpe-bspline.cpp:61
+#: ../src/live_effects/lpe-bspline.cpp:26
+#: ../src/live_effects/lpe-simplify.cpp:33
+msgid "Helper size:"
+msgstr "Допоміжний розмір:"
+
+#: ../src/live_effects/lpe-bspline.cpp:26
+#: ../src/live_effects/lpe-simplify.cpp:33
+msgid "Helper size"
+msgstr "Допоміжні розміри"
+
+#: ../src/live_effects/lpe-bspline.cpp:27
msgid "Ignore cusp nodes"
msgstr "Ігнорувати гоÑтрі вузли"
-#: ../src/live_effects/lpe-bspline.cpp:61
+#: ../src/live_effects/lpe-bspline.cpp:27
msgid "Change ignoring cusp nodes"
msgstr "Змінити з ігноруваннÑм гоÑтрих вузлів"
-#: ../src/live_effects/lpe-bspline.cpp:62
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:57
+#: ../src/live_effects/lpe-bspline.cpp:28
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:56
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
+#: ../src/live_effects/lpe-bspline.cpp:29
msgid "Change weight:"
msgstr "Змінити потужніÑть:"
-#: ../src/live_effects/lpe-bspline.cpp:64
+#: ../src/live_effects/lpe-bspline.cpp:29
msgid "Change weight of the effect"
msgstr "Змінити потужніÑть ефекту"
-#: ../src/live_effects/lpe-bspline.cpp:291
+#: ../src/live_effects/lpe-bspline.cpp:260
msgid "Default weight"
msgstr "Типова потужніÑть"
-#: ../src/live_effects/lpe-bspline.cpp:296
+#: ../src/live_effects/lpe-bspline.cpp:265
msgid "Make cusp"
msgstr "Створити загоÑтреннÑ"
@@ -9798,104 +9849,88 @@ msgstr "Обернути другий"
msgid "Reverses the second path order"
msgstr "Обернути напрÑмок другого контуру"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:42
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:41
#: ../share/extensions/render_barcode_qrcode.inx.h:5
msgid "Auto"
msgstr "Ðвто"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:43
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:42
msgid "Force arc"
msgstr "ПримуÑова дуга"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:44
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:43
msgid "Force bezier"
msgstr "ПримуÑово крива Безьє"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:54
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:53
msgid "Fillet point"
msgstr "Точка кномки"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:55
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:54
msgid "Hide knots"
msgstr "Приховати вузли"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:56
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:55
msgid "Ignore 0 radius knots"
msgstr "Ігнорувати вузли радіуÑа 0"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:58
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:57
msgid "Flexible radius size (%)"
msgstr "Гнучкий розмір радіуÑа (у %)"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:59
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:58
msgid "Use knots distance instead radius"
msgstr "ВикориÑтовувати заміÑть радіуÑа відÑтань між вузлами"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:60
-#: ../src/live_effects/lpe-ruler.cpp:42
-#: ../share/extensions/foldablebox.inx.h:7
-#: ../share/extensions/interp_att_g.inx.h:9
-#: ../share/extensions/layout_nup.inx.h:3
-#: ../share/extensions/printing_marks.inx.h:11
-msgid "Unit:"
-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:202
-msgid "Unit"
-msgstr "ОдиницÑ"
-
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:59
msgid "Method:"
msgstr "СпоÑіб:"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:59
msgid "Fillets methods"
msgstr "СпоÑоби ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÑ€Ð¾Ð¼ÐºÐ¸"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:62
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:60
msgid "Radius (unit or %):"
msgstr "Ð Ð°Ð´Ñ–ÑƒÑ (у одиницÑÑ… або %):"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:62
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:60
msgid "Radius, in unit or %"
msgstr "Ð Ð°Ð´Ñ–ÑƒÑ Ñƒ одиницÑÑ… або %"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
msgid "Chamfer steps:"
msgstr "Кроки фаÑки:"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:61
msgid "Chamfer steps"
msgstr "Кроки фаÑки"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:65
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
msgid "Helper size with direction:"
msgstr "Допоміжний розмір із напрÑмком:"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:65
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:63
msgid "Helper size with direction"
msgstr "Допоміжний розмір із напрÑмком"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:157
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:76
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:154
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:71
msgid "Fillet"
msgstr "Кромка"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:161
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:78
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:158
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:73
msgid "Inverse fillet"
msgstr "Ð—Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ñ ÐºÑ€Ð¾Ð¼ÐºÐ°"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:166
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:80
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:163
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:75
msgid "Chamfer"
msgstr "ФаÑка"
-#: ../src/live_effects/lpe-fillet-chamfer.cpp:170
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:82
+#: ../src/live_effects/lpe-fillet-chamfer.cpp:167
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:77
msgid "Inverse chamfer"
msgstr "Ð—Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ñ Ñ„Ð°Ñка"
@@ -9985,15 +10020,15 @@ msgstr ""
#: ../src/live_effects/lpe-jointype.cpp:31
#: ../src/live_effects/lpe-powerstroke.cpp:227
-#: ../src/live_effects/lpe-taperstroke.cpp:63
+#: ../src/live_effects/lpe-taperstroke.cpp:64
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
+#: ../src/live_effects/lpe-taperstroke.cpp:65
+#: ../src/widgets/star-toolbar.cpp:534
msgid "Rounded"
msgstr "ОкругленіÑть"
@@ -10004,10 +10039,8 @@ msgid "Miter"
msgstr "ÐаклаÑти"
#: ../src/live_effects/lpe-jointype.cpp:34
-#: ../src/live_effects/lpe-taperstroke.cpp:65
-#: ../src/widgets/gradient-toolbar.cpp:1118
-msgid "Reflected"
-msgstr "Відбитий"
+msgid "Miter Clip"
+msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ„Ð°Ñ†ÐµÑ‚Ð°"
#. {LINEJOIN_EXTRP_MITER, N_("Extrapolated"), "extrapolated"}, // disabled because doesn't work well
#: ../src/live_effects/lpe-jointype.cpp:35
@@ -10030,10 +10063,6 @@ msgstr "Квадрат"
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 "Товщина штриха"
@@ -10060,14 +10089,8 @@ msgstr "З'єднаннÑ:"
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 "Кінець контуру нахилу"
-
+#. start_lean(_("Start path lean"), _("Start path lean"), "start_lean", &wr, this, 0.),
+#. end_lean(_("End path lean"), _("End path lean"), "end_lean", &wr, this, 0.),
#: ../src/live_effects/lpe-jointype.cpp:56
#: ../src/live_effects/lpe-powerstroke.cpp:244
#: ../src/live_effects/lpe-taperstroke.cpp:79
@@ -10144,303 +10167,289 @@ msgstr "ПеретÑгніть, щоб вибрати перехреÑÑ‚Ñ, кл
msgid "Change knot crossing"
msgstr "Змінити перехреÑÑ‚Ñ Ñƒ вузлі"
-#. initialise your parameters here:
#: ../src/live_effects/lpe-lattice2.cpp:47
-msgid "Control handle 0:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 0:"
-
-#: ../src/live_effects/lpe-lattice2.cpp:47
-msgid ""
-"Control handle 0 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 0 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
-"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
-
-#: ../src/live_effects/lpe-lattice2.cpp:48
-msgid "Control handle 1:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 1:"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:43
+msgid "Mirror movements in horizontal"
+msgstr "Дзеркальні переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð¾"
#: ../src/live_effects/lpe-lattice2.cpp:48
-msgid ""
-"Control handle 1 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
-msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 1 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
-"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+#: ../src/live_effects/lpe-perspective-envelope.cpp:44
+msgid "Mirror movements in vertical"
+msgstr "Дзеркальні переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾"
#: ../src/live_effects/lpe-lattice2.cpp:49
-msgid "Control handle 2:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 2:"
+msgid "Control 0:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 0:"
#: ../src/live_effects/lpe-lattice2.cpp:49
-msgid ""
-"Control handle 2 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgid "Control 0 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 2 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 0 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:50
-msgid "Control handle 3:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 3:"
+msgid "Control 1:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 1:"
#: ../src/live_effects/lpe-lattice2.cpp:50
-msgid ""
-"Control handle 3 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgid "Control 1 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 3 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 1 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:51
-msgid "Control handle 4:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 4:"
+msgid "Control 2:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 2:"
#: ../src/live_effects/lpe-lattice2.cpp:51
-msgid ""
-"Control handle 4 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgid "Control 2 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 4 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 2 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:52
-msgid "Control handle 5:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 5:"
+msgid "Control 3:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 3:"
#: ../src/live_effects/lpe-lattice2.cpp:52
-msgid ""
-"Control handle 5 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgid "Control 3 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 5 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 3 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:53
-msgid "Control handle 6:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 6:"
+msgid "Control 4:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 4:"
#: ../src/live_effects/lpe-lattice2.cpp:53
-msgid ""
-"Control handle 6 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgid "Control 4 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 6 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 4 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:54
-msgid "Control handle 7:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 7:"
+msgid "Control 5:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 5:"
#: ../src/live_effects/lpe-lattice2.cpp:54
-msgid ""
-"Control handle 7 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgid "Control 5 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 7 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 5 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:55
-msgid "Control handle 8x9:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 8⨯9:"
+msgid "Control 6:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 6:"
#: ../src/live_effects/lpe-lattice2.cpp:55
-msgid ""
-"Control handle 8x9 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 6 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 8⨯9 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>"
-", щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 6 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:56
-msgid "Control handle 10x11:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 10⨯11:"
+msgid "Control 7:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 7:"
#: ../src/live_effects/lpe-lattice2.cpp:56
-msgid ""
-"Control handle 10x11 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 7 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 10⨯11 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl<"
-"/b>, щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 7 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:57
-msgid "Control handle 12:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 12:"
+msgid "Control 8x9:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 8⨯9:"
#: ../src/live_effects/lpe-lattice2.cpp:57
msgid ""
-"Control handle 12 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+"Control 8x9 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 12 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
-"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 8⨯9 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, щоб "
+"рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:58
-msgid "Control handle 13:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 13:"
+msgid "Control 10x11:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 10⨯11:"
#: ../src/live_effects/lpe-lattice2.cpp:58
msgid ""
-"Control handle 13 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+"Control 10x11 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 13 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
-"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 10⨯11 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, щоб "
+"рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:59
-msgid "Control handle 14:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 14:"
+msgid "Control 12:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 12:"
#: ../src/live_effects/lpe-lattice2.cpp:59
-msgid ""
-"Control handle 14 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 12 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 14 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 12 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:60
-msgid "Control handle 15:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 15:"
+msgid "Control 13:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 13:"
#: ../src/live_effects/lpe-lattice2.cpp:60
-msgid ""
-"Control handle 15 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 13 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 15 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 13 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:61
-msgid "Control handle 16:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 16:"
+msgid "Control 14:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 14:"
#: ../src/live_effects/lpe-lattice2.cpp:61
-msgid ""
-"Control handle 16 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 14 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 16 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 14 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:62
-msgid "Control handle 17:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 17:"
+msgid "Control 15:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 15:"
#: ../src/live_effects/lpe-lattice2.cpp:62
-msgid ""
-"Control handle 17 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 15 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 17 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 15 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:63
-msgid "Control handle 18:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 18:"
+msgid "Control 16:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 16:"
#: ../src/live_effects/lpe-lattice2.cpp:63
-msgid ""
-"Control handle 18 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 16 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 18 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 16 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:64
-msgid "Control handle 19:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 19:"
+msgid "Control 17:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 17:"
#: ../src/live_effects/lpe-lattice2.cpp:64
-msgid ""
-"Control handle 19 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 17 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 19 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 17 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:65
-msgid "Control handle 20x21:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 20⨯21:"
+msgid "Control 18:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 18:"
#: ../src/live_effects/lpe-lattice2.cpp:65
-msgid ""
-"Control handle 20x21 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 18 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 20⨯21 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl<"
-"/b>, щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 18 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:66
-msgid "Control handle 22x23:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 22⨯23:"
+msgid "Control 19:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 19:"
#: ../src/live_effects/lpe-lattice2.cpp:66
-msgid ""
-"Control handle 22x23 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+msgid "Control 19 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 22⨯23 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl<"
-"/b>, щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 19 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, "
+"щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:67
-msgid "Control handle 24x26:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 24⨯26:"
+msgid "Control 20x21:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 20⨯21:"
#: ../src/live_effects/lpe-lattice2.cpp:67
msgid ""
-"Control handle 24x26 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+"Control 20x21 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 24⨯26 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl<"
-"/b>, щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 20⨯21 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, щоб "
+"рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:68
-msgid "Control handle 25x27:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 25⨯27:"
+msgid "Control 22x23:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 22⨯23:"
#: ../src/live_effects/lpe-lattice2.cpp:68
msgid ""
-"Control handle 25x27 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+"Control 22x23 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 25⨯27 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl<"
-"/b>, щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 22⨯23 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, щоб "
+"рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:69
-msgid "Control handle 28x30:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 28⨯30:"
+msgid "Control 24x26:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 24⨯26:"
#: ../src/live_effects/lpe-lattice2.cpp:69
msgid ""
-"Control handle 28x30 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+"Control 24x26 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 28⨯30 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl<"
-"/b>, щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 24⨯26 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, щоб "
+"рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:70
-msgid "Control handle 29x31:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 29⨯31:"
+msgid "Control 25x27:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 25⨯27:"
#: ../src/live_effects/lpe-lattice2.cpp:70
msgid ""
-"Control handle 29x31 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
-"axes"
+"Control 25x27 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 29⨯31 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl<"
-"/b>, щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 25⨯27 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, щоб "
+"рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
#: ../src/live_effects/lpe-lattice2.cpp:71
-msgid "Control handle 32x33x34x35:"
-msgstr "ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 32⨯33⨯34⨯35:"
+msgid "Control 28x30:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 28⨯30:"
#: ../src/live_effects/lpe-lattice2.cpp:71
msgid ""
-"Control handle 32x33x34x35 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move "
-"along axes"
+"Control 28x30 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
+msgstr ""
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 28⨯30 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, щоб "
+"рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+
+#: ../src/live_effects/lpe-lattice2.cpp:72
+msgid "Control 29x31:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 29⨯31:"
+
+#: ../src/live_effects/lpe-lattice2.cpp:72
+msgid ""
+"Control 29x31 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
-"ІнÑтрумент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 32⨯33⨯34⨯35 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>"
-"Ctrl</b>, щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 29⨯31 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, щоб "
+"рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+
+#: ../src/live_effects/lpe-lattice2.cpp:73
+msgid "Control 32x33x34x35:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 32⨯33⨯34⨯35:"
-#: ../src/live_effects/lpe-lattice2.cpp:224
+#: ../src/live_effects/lpe-lattice2.cpp:73
+msgid ""
+"Control 32x33x34x35 - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along "
+"axes"
+msgstr ""
+"ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ 32⨯33⨯34⨯35 — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, "
+"<b>Ctrl</b>, щоб рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
+
+#: ../src/live_effects/lpe-lattice2.cpp:236
msgid "Reset grid"
msgstr "Скинути Ñітку"
+#: ../src/live_effects/lpe-lattice2.cpp:268
+#: ../src/live_effects/lpe-lattice2.cpp:283
+msgid "Show Points"
+msgstr "Показати точки"
+
+#: ../src/live_effects/lpe-lattice2.cpp:281
+msgid "Hide Points"
+msgstr "Приховати точки"
+
#: ../src/live_effects/lpe-patternalongpath.cpp:50
#: ../share/extensions/pathalongpath.inx.h:10
msgid "Single"
@@ -10539,65 +10548,64 @@ msgid "Fuse ends closer than this number. 0 means don't fuse."
msgstr ""
"Об'єднувати кінці, ближчі за вказане значеннÑ. 0 означає «не об'єднувати»."
-#: ../src/live_effects/lpe-perspective-envelope.cpp:37
+#: ../src/live_effects/lpe-perspective-envelope.cpp:35
#: ../share/extensions/perspective.inx.h:1
msgid "Perspective"
msgstr "ПерÑпектива"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:38
+#: ../src/live_effects/lpe-perspective-envelope.cpp:36
msgid "Envelope deformation"
msgstr "Ð’Ð¸ÐºÑ€Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ð±Ð³Ð¾Ñ€Ñ‚ÐºÐ¸"
-#. initialise your parameters here:
-#: ../src/live_effects/lpe-perspective-envelope.cpp:46
+#: ../src/live_effects/lpe-perspective-envelope.cpp:45
msgid "Type"
msgstr "Тип"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:46
+#: ../src/live_effects/lpe-perspective-envelope.cpp:45
msgid "Select the type of deformation"
msgstr "Виберіть тип деформуваннÑ"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:47
+#: ../src/live_effects/lpe-perspective-envelope.cpp:46
msgid "Top Left"
msgstr "Верхній лівий"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:47
+#: ../src/live_effects/lpe-perspective-envelope.cpp:46
msgid "Top Left - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
"Верхній лівий — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, щоб "
"рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:48
+#: ../src/live_effects/lpe-perspective-envelope.cpp:47
msgid "Top Right"
msgstr "Верхній правий"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:48
+#: ../src/live_effects/lpe-perspective-envelope.cpp:47
msgid "Top Right - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
"Верхній правий — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, щоб "
"рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:49
+#: ../src/live_effects/lpe-perspective-envelope.cpp:48
msgid "Down Left"
msgstr "Ðижній лівий"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:49
+#: ../src/live_effects/lpe-perspective-envelope.cpp:48
msgid "Down Left - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
"Ðижній лівий — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, щоб "
"рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:50
+#: ../src/live_effects/lpe-perspective-envelope.cpp:49
msgid "Down Right"
msgstr "Ðижній правий"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:50
+#: ../src/live_effects/lpe-perspective-envelope.cpp:49
msgid "Down Right - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"
msgstr ""
"Ðижній правий — <b>Ctrl+Alt+клацаннÑ</b>, щоб Ñкинути, <b>Ctrl</b>, щоб "
"рухатиÑÑ Ð²Ð·Ð´Ð¾Ð²Ð¶ оÑей"
-#: ../src/live_effects/lpe-perspective-envelope.cpp:257
+#: ../src/live_effects/lpe-perspective-envelope.cpp:268
msgid "Handles:"
msgstr "Елементи керуваннÑ:"
@@ -10854,66 +10862,63 @@ msgid ""
msgstr ""
"ВідноÑна Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ ÐµÑ‚Ð°Ð»Ð¾Ð½Ð½Ð¾Ñ— точки визначає напрÑм Ñ– величину загального вигину"
-#: ../src/live_effects/lpe-roughen.cpp:30 ../share/extensions/addnodes.inx.h:4
+#: ../src/live_effects/lpe-roughen.cpp:29 ../share/extensions/addnodes.inx.h:4
msgid "By number of segments"
msgstr "За кількіÑтю Ñегментів"
-#: ../src/live_effects/lpe-roughen.cpp:31
+#: ../src/live_effects/lpe-roughen.cpp:30
msgid "By max. segment size"
msgstr "За макÑ. розміром Ñегмента"
-#: ../src/live_effects/lpe-roughen.cpp:40
+#. initialise your parameters here:
+#: ../src/live_effects/lpe-roughen.cpp:38
msgid "Method"
msgstr "СпоÑіб"
-#: ../src/live_effects/lpe-roughen.cpp:40
+#: ../src/live_effects/lpe-roughen.cpp:38
msgid "Division method"
msgstr "Метод поділу"
-#: ../src/live_effects/lpe-roughen.cpp:42
+#: ../src/live_effects/lpe-roughen.cpp:40
msgid "Max. segment size"
msgstr "МакÑимальний розмір Ñегмента"
-#: ../src/live_effects/lpe-roughen.cpp:44
+#: ../src/live_effects/lpe-roughen.cpp:42
msgid "Number of segments"
msgstr "КількіÑть Ñегментів"
-#: ../src/live_effects/lpe-roughen.cpp:46
+#: ../src/live_effects/lpe-roughen.cpp:44
msgid "Max. displacement in X"
msgstr "МакÑимальне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð° X"
-#: ../src/live_effects/lpe-roughen.cpp:48
+#: ../src/live_effects/lpe-roughen.cpp:46
msgid "Max. displacement in Y"
msgstr "МакÑимальне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð° Y"
-#: ../src/live_effects/lpe-roughen.cpp:50
+#: ../src/live_effects/lpe-roughen.cpp:48
msgid "Global randomize"
msgstr "Загальна випадковіÑть"
-#: ../src/live_effects/lpe-roughen.cpp:52
+#: ../src/live_effects/lpe-roughen.cpp:50
#: ../share/extensions/radiusrand.inx.h:5
msgid "Shift nodes"
msgstr "Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²ÑƒÐ·Ð»Ñ–Ð²"
-#: ../src/live_effects/lpe-roughen.cpp:54
+#: ../src/live_effects/lpe-roughen.cpp:52
#: ../share/extensions/radiusrand.inx.h:6
msgid "Shift node handles"
msgstr "Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²ÑƒÑів вузла"
-#: ../src/live_effects/lpe-roughen.cpp:103
-msgid "<b>Roughen unit</b>"
-msgstr "<b>ÐžÐ´Ð¸Ð½Ð¸Ñ†Ñ Ð·Ð³Ñ€ÑƒÐ±Ñ–ÑˆÐ°Ð½Ð½Ñ</b>"
-
-#: ../src/live_effects/lpe-roughen.cpp:111
+#: ../src/live_effects/lpe-roughen.cpp:100
msgid "<b>Add nodes</b> Subdivide each segment"
msgstr "<b>Додати вузли</b> — поділити кожен із Ñегментів"
-#: ../src/live_effects/lpe-roughen.cpp:120
+#: ../src/live_effects/lpe-roughen.cpp:109
msgid "<b>Jitter nodes</b> Move nodes/handles"
msgstr ""
"<b>Ð¢Ñ€ÐµÐ¼Ñ‚Ñ–Ð½Ð½Ñ Ð²ÑƒÐ·Ð»Ñ–Ð²</b> — переÑунути вузли або елементи ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ (вуÑа)"
-#: ../src/live_effects/lpe-roughen.cpp:129
+#: ../src/live_effects/lpe-roughen.cpp:118
msgid "<b>Extra roughen</b> Add a extra layer of rough"
msgstr "<b>Додаткове згрубішаннÑ</b> — додати додатковий шар згрубішаннÑ"
@@ -10938,11 +10943,11 @@ msgctxt "Border mark"
msgid "None"
msgstr "Ðемає"
-#: ../src/live_effects/lpe-ruler.cpp:33 ../src/widgets/arc-toolbar.cpp:328
+#: ../src/live_effects/lpe-ruler.cpp:33 ../src/widgets/arc-toolbar.cpp:319
msgid "Start"
msgstr "Початок"
-#: ../src/live_effects/lpe-ruler.cpp:34 ../src/widgets/arc-toolbar.cpp:341
+#: ../src/live_effects/lpe-ruler.cpp:34 ../src/widgets/arc-toolbar.cpp:332
msgid "End"
msgstr "Кінець"
@@ -10954,6 +10959,18 @@ msgstr "Ð’Ñ–_дÑтань між позначками:"
msgid "Distance between successive ruler marks"
msgstr "ВідÑтань між поÑлідовними позначками на лінійці"
+#: ../src/live_effects/lpe-ruler.cpp:42
+#: ../share/extensions/foldablebox.inx.h:7
+#: ../share/extensions/interp_att_g.inx.h:9
+#: ../share/extensions/layout_nup.inx.h:3
+#: ../share/extensions/printing_marks.inx.h:11
+msgid "Unit:"
+msgstr "ОдиницÑ:"
+
+#: ../src/live_effects/lpe-ruler.cpp:42 ../src/widgets/ruler.cpp:202
+msgid "Unit"
+msgstr "ОдиницÑ"
+
#: ../src/live_effects/lpe-ruler.cpp:43
msgid "Ma_jor length:"
msgstr "_ОÑновна довжина:"
@@ -11037,26 +11054,18 @@ msgstr ""
"об’єкта, Ñкі було до нього заÑтоÑовано. Якщо ви цього не бажаєте, натиÑніть "
"кнопку «СкаÑувати»."
-#: ../src/live_effects/lpe-simplify.cpp:29
+#: ../src/live_effects/lpe-simplify.cpp:30
msgid "Steps:"
msgstr "Кроків:"
-#: ../src/live_effects/lpe-simplify.cpp:29
+#: ../src/live_effects/lpe-simplify.cpp:30
msgid "Change number of simplify steps "
msgstr "Змінити кількіÑть кроків ÑÐ¿Ñ€Ð¾Ñ‰ÐµÐ½Ð½Ñ "
-#: ../src/live_effects/lpe-simplify.cpp:30
+#: ../src/live_effects/lpe-simplify.cpp:31
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 "Smooth angles:"
msgstr "Плавні кути:"
@@ -11064,38 +11073,22 @@ msgstr "Плавні кути:"
#: ../src/live_effects/lpe-simplify.cpp:32
msgid "Max degree difference on handles to preform a smooth"
msgstr ""
-"МакÑимальна Ñ€Ñ–Ð·Ð½Ð¸Ñ†Ñ Ñƒ градуÑах Ð´Ð»Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ–Ð² керуваннÑ, щоб програма виконала "
-"згладжуваннÑ"
-
-#: ../src/live_effects/lpe-simplify.cpp:33
-msgid "Helper nodes"
-msgstr "Допоміжні вузли"
-
-#: ../src/live_effects/lpe-simplify.cpp:33
-msgid "Show helper nodes"
-msgstr "Показувати допоміжні вузли"
+"МакÑимальна Ñ€Ñ–Ð·Ð½Ð¸Ñ†Ñ Ñƒ градуÑах Ð´Ð»Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ–Ð² керуваннÑ, щоб програма "
+"виконала згладжуваннÑ"
-#: ../src/live_effects/lpe-simplify.cpp:35
-msgid "Helper handles"
-msgstr "Допоміжні вуÑа"
-
-#: ../src/live_effects/lpe-simplify.cpp:35
-msgid "Show helper handles"
-msgstr "Показувати допоміжні елементи керуваннÑ"
-
-#: ../src/live_effects/lpe-simplify.cpp:37
+#: ../src/live_effects/lpe-simplify.cpp:34
msgid "Paths separately"
msgstr "Контури окремо"
-#: ../src/live_effects/lpe-simplify.cpp:37
+#: ../src/live_effects/lpe-simplify.cpp:34
msgid "Simplifying paths (separately)"
msgstr "Ð¡Ð¿Ñ€Ð¾Ñ‰ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñ–Ð² (окремо)"
-#: ../src/live_effects/lpe-simplify.cpp:39
+#: ../src/live_effects/lpe-simplify.cpp:36
msgid "Just coalesce"
msgstr "ПроÑто об’єднати"
-#: ../src/live_effects/lpe-simplify.cpp:39
+#: ../src/live_effects/lpe-simplify.cpp:36
msgid "Simplify just coalesce"
msgstr "СпроÑтити об’єднаннÑ"
@@ -11188,7 +11181,7 @@ msgid "How many construction lines (tangents) to draw"
msgstr "КількіÑть ліній побудови (дотичних) Ð´Ð»Ñ Ð¼Ð°Ð»ÑŽÐ²Ð°Ð½Ð½Ñ"
#: ../src/live_effects/lpe-sketch.cpp:58
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2878
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2894
#: ../share/extensions/render_alphabetsoup.inx.h:3
msgid "Scale:"
msgstr "МаÑштаб:"
@@ -11291,11 +11284,11 @@ msgstr "Тип Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð½ÐµÐ³Ð»Ð°Ð´ÐºÐ¸Ñ… вузлів"
msgid "Limit for miter joins"
msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñ„Ð°Ñ†ÐµÑ‚Ð½Ð¸Ñ… з’єднань"
-#: ../src/live_effects/lpe-taperstroke.cpp:536
+#: ../src/live_effects/lpe-taperstroke.cpp:448
msgid "Start point of the taper"
msgstr "Початкова точка звужуваннÑ"
-#: ../src/live_effects/lpe-taperstroke.cpp:540
+#: ../src/live_effects/lpe-taperstroke.cpp:452
msgid "End point of the taper"
msgstr "Кінцева точка звуженнÑ"
@@ -11363,8 +11356,8 @@ msgstr "Змінити булівÑький параметр"
msgid "Change enumeration parameter"
msgstr "Зміна параметра нумерації"
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:782
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:843
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:771
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:832
msgid ""
"<b>Chamfer</b>: <b>Ctrl+Click</b> toggle type, <b>Shift+Click</b> open "
"dialog, <b>Ctrl+Alt+Click</b> reset"
@@ -11372,8 +11365,8 @@ msgstr ""
"<b>ФаÑка</b>: <b>Ctrl+клацаннÑ</b> — перемкнути тип, <b>Shift+клацаннÑ</b> — "
"відкрити діалогове вікно, <b>Ctrl+Alt+клацаннÑ</b> — Ñкинути."
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:786
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:847
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:775
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:836
msgid ""
"<b>Inverse Chamfer</b>: <b>Ctrl+Click</b> toggle type, <b>Shift+Click</b> "
"open dialog, <b>Ctrl+Alt+Click</b> reset"
@@ -11381,8 +11374,8 @@ msgstr ""
"<b>Зворотна фаÑка</b>: <b>Ctrl+клацаннÑ</b> — перемкнути тип, <b>Shift"
"+клацаннÑ</b> — відкрити діалогове вікно, <b>Ctrl+Alt+клацаннÑ</b> — Ñкинути."
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:790
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:851
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:779
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:840
msgid ""
"<b>Inverse Fillet</b>: <b>Ctrl+Click</b> toggle type, <b>Shift+Click</b> "
"open dialog, <b>Ctrl+Alt+Click</b> reset"
@@ -11390,8 +11383,8 @@ msgstr ""
"<b>Зворотна кромка</b>: <b>Ctrl+клацаннÑ</b> — перемкнути тип, <b>Shift"
"+клацаннÑ</b> — відкрити діалогове вікно, <b>Ctrl+Alt+клацаннÑ</b> — Ñкинути."
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:794
-#: ../src/live_effects/parameter/filletchamferpointarray.cpp:855
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:783
+#: ../src/live_effects/parameter/filletchamferpointarray.cpp:844
msgid ""
"<b>Fillet</b>: <b>Ctrl+Click</b> toggle type, <b>Shift+Click</b> open "
"dialog, <b>Ctrl+Alt+Click</b> reset"
@@ -11399,49 +11392,49 @@ msgstr ""
"<b>Кромка</b>: <b>Ctrl+клацаннÑ</b> — перемкнути тип, <b>Shift+клацаннÑ</b> "
"— відкрити діалогове вікно, <b>Ctrl+Alt+клацаннÑ</b> — Ñкинути"
-#: ../src/live_effects/parameter/originalpath.cpp:71
-#: ../src/live_effects/parameter/originalpatharray.cpp:159
+#: ../src/live_effects/parameter/originalpath.cpp:67
+#: ../src/live_effects/parameter/originalpatharray.cpp:155
msgid "Link to path"
msgstr "Пов'Ñзати з контуром"
-#: ../src/live_effects/parameter/originalpath.cpp:83
+#: ../src/live_effects/parameter/originalpath.cpp:79
msgid "Select original"
msgstr "Позначити оригінал"
-#: ../src/live_effects/parameter/originalpatharray.cpp:94
-#: ../src/widgets/gradient-toolbar.cpp:1205
+#: ../src/live_effects/parameter/originalpatharray.cpp:90
+#: ../src/widgets/gradient-toolbar.cpp:1208
msgid "Reverse"
msgstr "Обернути"
-#: ../src/live_effects/parameter/originalpatharray.cpp:134
-#: ../src/live_effects/parameter/originalpatharray.cpp:319
-#: ../src/live_effects/parameter/path.cpp:475
+#: ../src/live_effects/parameter/originalpatharray.cpp:130
+#: ../src/live_effects/parameter/originalpatharray.cpp:315
+#: ../src/live_effects/parameter/path.cpp:481
msgid "Link path parameter to path"
msgstr "Пов'Ñзати параметр контуру з контуром"
-#: ../src/live_effects/parameter/originalpatharray.cpp:171
+#: ../src/live_effects/parameter/originalpatharray.cpp:167
msgid "Remove Path"
msgstr "Вилучити контур"
-#: ../src/live_effects/parameter/originalpatharray.cpp:183
+#: ../src/live_effects/parameter/originalpatharray.cpp:179
#: ../src/ui/dialog/objects.cpp:1823
msgid "Move Down"
msgstr "ПереÑунути нижче"
-#: ../src/live_effects/parameter/originalpatharray.cpp:195
+#: ../src/live_effects/parameter/originalpatharray.cpp:191
#: ../src/ui/dialog/objects.cpp:1831
msgid "Move Up"
msgstr "ПереÑунути вище"
-#: ../src/live_effects/parameter/originalpatharray.cpp:235
+#: ../src/live_effects/parameter/originalpatharray.cpp:231
msgid "Move path up"
msgstr "ПереÑунути контур вище"
-#: ../src/live_effects/parameter/originalpatharray.cpp:265
+#: ../src/live_effects/parameter/originalpatharray.cpp:261
msgid "Move path down"
msgstr "ПереÑунути контур нижче"
-#: ../src/live_effects/parameter/originalpatharray.cpp:283
+#: ../src/live_effects/parameter/originalpatharray.cpp:279
msgid "Remove path"
msgstr "Вилучити контур"
@@ -11465,11 +11458,11 @@ msgstr "Ð’Ñтавити контур"
msgid "Link to path on clipboard"
msgstr "Пов’Ñзати з контуром у буфері обміну"
-#: ../src/live_effects/parameter/path.cpp:443
+#: ../src/live_effects/parameter/path.cpp:449
msgid "Paste path parameter"
msgstr "Ð’Ñтавити параметр контуру"
-#: ../src/live_effects/parameter/point.cpp:103
+#: ../src/live_effects/parameter/point.cpp:124
msgid "Change point parameter"
msgstr "Змінити параметр точки"
@@ -11818,7 +11811,7 @@ msgstr "ІД-ОБ'ЄКТÐ"
msgid "Start Inkscape in interactive shell mode."
msgstr "ЗапуÑтити Inkscape у режимі інтерактивної оболонки."
-#: ../src/main.cpp:871 ../src/main.cpp:1283
+#: ../src/main.cpp:871 ../src/main.cpp:1280
msgid ""
"[OPTIONS...] [FILE...]\n"
"\n"
@@ -11829,17 +11822,17 @@ msgstr ""
"ДоÑтупні параметри:"
#. ## Add a menu for clear()
-#: ../src/menus-skeleton.h:16 ../src/ui/dialog/debug.cpp:83
+#: ../src/menus-skeleton.h:16 ../src/ui/dialog/debug.cpp:79
msgid "_File"
msgstr "_Файл"
#. " <verb verb-id=\"FileExportToOCAL\" />\n"
#. " <verb verb-id=\"DialogMetadata\" />\n"
-#: ../src/menus-skeleton.h:41 ../src/verbs.cpp:2713 ../src/verbs.cpp:2721
+#: ../src/menus-skeleton.h:41 ../src/verbs.cpp:2682 ../src/verbs.cpp:2690
msgid "_Edit"
msgstr "_Зміни"
-#: ../src/menus-skeleton.h:51 ../src/verbs.cpp:2477
+#: ../src/menus-skeleton.h:51 ../src/verbs.cpp:2446
msgid "Paste Si_ze"
msgstr "Ð’Ñтавити за Ñ€_озміром"
@@ -11924,27 +11917,27 @@ msgstr "_Довідка"
msgid "Tutorials"
msgstr "Підручники"
-#: ../src/path-chemistry.cpp:54
+#: ../src/path-chemistry.cpp:63
msgid "Select <b>object(s)</b> to combine."
msgstr "Оберіть <b>об'єкт(и)</b> Ð´Ð»Ñ ÐºÐ¾Ð¼Ð±Ñ–Ð½ÑƒÐ²Ð°Ð½Ð½Ñ."
-#: ../src/path-chemistry.cpp:58
+#: ../src/path-chemistry.cpp:67
msgid "Combining paths..."
msgstr "Ð¡Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñ–Ð²â€¦"
-#: ../src/path-chemistry.cpp:174
+#: ../src/path-chemistry.cpp:177
msgid "Combine"
msgstr "Об'єднаннÑ"
-#: ../src/path-chemistry.cpp:181
+#: ../src/path-chemistry.cpp:184
msgid "<b>No path(s)</b> to combine in the selection."
msgstr "<b>Ðе вказано контурів</b> Ð´Ð»Ñ ÐºÐ¾Ð¼Ð±Ñ–Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ вибраному."
-#: ../src/path-chemistry.cpp:193
+#: ../src/path-chemistry.cpp:196
msgid "Select <b>path(s)</b> to break apart."
msgstr "Виберіть <b>контур(и)</b> Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»ÐµÐ½Ð½Ñ."
-#: ../src/path-chemistry.cpp:197
+#: ../src/path-chemistry.cpp:200
msgid "Breaking apart paths..."
msgstr "Поділ контурів на чаÑтини…"
@@ -11964,27 +11957,27 @@ msgstr "Позначте <b>об'єкти</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ
msgid "Converting objects to paths..."
msgstr "ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±'єктів на контури…"
-#: ../src/path-chemistry.cpp:327
+#: ../src/path-chemistry.cpp:324
msgid "Object to path"
msgstr "Об'єкт у контур"
-#: ../src/path-chemistry.cpp:329
+#: ../src/path-chemistry.cpp:326
msgid "<b>No objects</b> to convert to path in the selection."
msgstr "У позначеному <b>немає об'єктів</b>, що перетворюютьÑÑ Ñƒ контур."
-#: ../src/path-chemistry.cpp:618
+#: ../src/path-chemistry.cpp:613
msgid "Select <b>path(s)</b> to reverse."
msgstr "Виберіть <b>контур(и)</b> Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ напрÑму."
-#: ../src/path-chemistry.cpp:627
+#: ../src/path-chemistry.cpp:622
msgid "Reversing paths..."
msgstr "Ð Ð¾Ð·Ð²ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñ–Ð²â€¦"
-#: ../src/path-chemistry.cpp:662
+#: ../src/path-chemistry.cpp:657
msgid "Reverse path"
msgstr "Розвернути контур"
-#: ../src/path-chemistry.cpp:664
+#: ../src/path-chemistry.cpp:659
msgid "<b>No paths</b> to reverse in the selection."
msgstr "У позначеному <b>немає контурів</b> Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ напрÑму."
@@ -12109,7 +12102,7 @@ msgstr "Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ Open Font"
#. Create the Title label and edit control
#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkTitleAttribute
-#: ../src/rdf.cpp:235 ../src/ui/dialog/filedialogimpl-win32.cpp:1952
+#: ../src/rdf.cpp:235 ../src/ui/dialog/filedialogimpl-win32.cpp:1960
#: ../src/ui/dialog/object-attributes.cpp:57
msgid "Title:"
msgstr "Заголовок:"
@@ -12256,51 +12249,56 @@ msgstr "XML-фрагмент RDF-розділу «ЛіцензіÑ»"
msgid "Fixup broken links"
msgstr "Ð’Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¸Ñ… поÑилань"
-#: ../src/selection-chemistry.cpp:406
+#: ../src/selection-chemistry.cpp:401
msgid "Delete text"
msgstr "Вилучити текÑÑ‚"
-#: ../src/selection-chemistry.cpp:414
+#: ../src/selection-chemistry.cpp:409
msgid "<b>Nothing</b> was deleted."
msgstr "<b>Ðічого</b> не було вилучено."
-#: ../src/selection-chemistry.cpp:433
+#: ../src/selection-chemistry.cpp:426
#: ../src/ui/dialog/calligraphic-profile-rename.cpp:75
#: ../src/ui/dialog/swatches.cpp:277 ../src/ui/tools/text-tool.cpp:965
#: ../src/widgets/eraser-toolbar.cpp:93
-#: ../src/widgets/gradient-toolbar.cpp:1181
-#: ../src/widgets/gradient-toolbar.cpp:1195
-#: ../src/widgets/gradient-toolbar.cpp:1209
+#: ../src/widgets/gradient-toolbar.cpp:1184
+#: ../src/widgets/gradient-toolbar.cpp:1198
+#: ../src/widgets/gradient-toolbar.cpp:1212
#: ../src/widgets/node-toolbar.cpp:401
msgid "Delete"
msgstr "Вилучити"
-#: ../src/selection-chemistry.cpp:461
+#: ../src/selection-chemistry.cpp:454
msgid "Select <b>object(s)</b> to duplicate."
msgstr "Позначте <b>об'єкт(и)</b> Ð´Ð»Ñ Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ."
-#: ../src/selection-chemistry.cpp:572
+#: ../src/selection-chemistry.cpp:551
+#, c-format
+msgid "%s copy"
+msgstr "ÐšÐ¾Ð¿Ñ–Ñ %s"
+
+#: ../src/selection-chemistry.cpp:574
msgid "Delete all"
msgstr "Вилучити вÑе"
-#: ../src/selection-chemistry.cpp:763
+#: ../src/selection-chemistry.cpp:762
msgid "Select <b>some objects</b> to group."
msgstr "Позначте <b>два або більше об'єктів</b> Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿ÑƒÐ²Ð°Ð½Ð½Ñ."
-#: ../src/selection-chemistry.cpp:778
+#: ../src/selection-chemistry.cpp:775
msgctxt "Verb"
msgid "Group"
msgstr "Згрупувати"
-#: ../src/selection-chemistry.cpp:801
+#: ../src/selection-chemistry.cpp:798
msgid "Select a <b>group</b> to ungroup."
msgstr "Позначте <b>групу</b> Ð´Ð»Ñ Ñ€Ð¾Ð·Ð³Ñ€ÑƒÐ¿ÑƒÐ²Ð°Ð½Ð½Ñ."
-#: ../src/selection-chemistry.cpp:816
+#: ../src/selection-chemistry.cpp:813
msgid "<b>No groups</b> to ungroup in the selection."
msgstr "У позначеному <b>немає груп</b>."
-#: ../src/selection-chemistry.cpp:874 ../src/sp-item-group.cpp:575
+#: ../src/selection-chemistry.cpp:869 ../src/sp-item-group.cpp:554
msgid "Ungroup"
msgstr "Розгрупувати"
@@ -12308,223 +12306,223 @@ msgstr "Розгрупувати"
msgid "Select <b>object(s)</b> to raise."
msgstr "Оберіть <b>об'єкт(и)</b> Ð´Ð»Ñ Ð¿Ñ–Ð´Ð½ÑттÑ."
-#: ../src/selection-chemistry.cpp:962 ../src/selection-chemistry.cpp:1019
-#: ../src/selection-chemistry.cpp:1047 ../src/selection-chemistry.cpp:1109
+#: ../src/selection-chemistry.cpp:962 ../src/selection-chemistry.cpp:1015
+#: ../src/selection-chemistry.cpp:1041 ../src/selection-chemistry.cpp:1099
msgid ""
"You cannot raise/lower objects from <b>different groups</b> or <b>layers</b>."
msgstr ""
"Ðе можна піднімати/опуÑкати об'єкти з <b>різних груп</b> чи <b>шарів</b>."
#. TRANSLATORS: "Raise" means "to raise an object" in the undo history
-#: ../src/selection-chemistry.cpp:1003
+#: ../src/selection-chemistry.cpp:999
msgctxt "Undo action"
msgid "Raise"
msgstr "піднÑттÑ"
-#: ../src/selection-chemistry.cpp:1011
+#: ../src/selection-chemistry.cpp:1007
msgid "Select <b>object(s)</b> to raise to top."
msgstr "Позначте <b>об'єкт(и)</b> Ð´Ð»Ñ Ð¿Ñ–Ð´Ð½Ñ–Ð¼Ð°Ð½Ð½Ñ Ð½Ð°Ð³Ð¾Ñ€Ñƒ."
-#: ../src/selection-chemistry.cpp:1034
+#: ../src/selection-chemistry.cpp:1028
msgid "Raise to top"
msgstr "ПіднÑти на передній план"
-#: ../src/selection-chemistry.cpp:1041
+#: ../src/selection-chemistry.cpp:1035
msgid "Select <b>object(s)</b> to lower."
msgstr "Позначте <b>об'єкт(и)</b> Ð´Ð»Ñ Ð¾Ð¿ÑƒÑканнÑ."
#. TRANSLATORS: "Lower" means "to lower an object" in the undo history
-#: ../src/selection-chemistry.cpp:1093
+#: ../src/selection-chemistry.cpp:1083
msgctxt "Undo action"
msgid "Lower"
msgstr "опуÑканнÑ"
-#: ../src/selection-chemistry.cpp:1101
+#: ../src/selection-chemistry.cpp:1091
msgid "Select <b>object(s)</b> to lower to bottom."
msgstr "Позначте <b>об'єкт(и)</b> Ð´Ð»Ñ Ð¾Ð¿ÑƒÑÐºÐ°Ð½Ð½Ñ Ð½Ð° низ."
-#: ../src/selection-chemistry.cpp:1136
+#: ../src/selection-chemistry.cpp:1122
msgid "Lower to bottom"
msgstr "ОпуÑтити на задній план"
-#: ../src/selection-chemistry.cpp:1146
+#: ../src/selection-chemistry.cpp:1132
msgid "Nothing to undo."
msgstr "Ðемає операцій, що можна ÑкаÑувати."
-#: ../src/selection-chemistry.cpp:1157
+#: ../src/selection-chemistry.cpp:1143
msgid "Nothing to redo."
msgstr "Ðемає операцій, що можна вернути."
-#: ../src/selection-chemistry.cpp:1229
+#: ../src/selection-chemistry.cpp:1215
msgid "Paste"
msgstr "Ð’Ñтавити"
-#: ../src/selection-chemistry.cpp:1237
+#: ../src/selection-chemistry.cpp:1223
msgid "Paste style"
msgstr "Ð’Ñтавити Ñтиль"
-#: ../src/selection-chemistry.cpp:1247
+#: ../src/selection-chemistry.cpp:1233
msgid "Paste live path effect"
msgstr "Ð’Ñтавити ефект динамічного контуру"
-#: ../src/selection-chemistry.cpp:1269
+#: ../src/selection-chemistry.cpp:1255
msgid "Select <b>object(s)</b> to remove live path effects from."
msgstr "Оберіть <b>об'єкт(и)</b> Ð´Ð»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð°Ð½Ñ–Ð¼Ð¾Ð²Ð°Ð½Ð¸Ñ… ефектів контурів."
-#: ../src/selection-chemistry.cpp:1281
+#: ../src/selection-chemistry.cpp:1267
msgid "Remove live path effect"
msgstr "Вилучити анімований ефект контуру"
-#: ../src/selection-chemistry.cpp:1292
+#: ../src/selection-chemistry.cpp:1278
msgid "Select <b>object(s)</b> to remove filters from."
msgstr "Виберіть <b>об'єкт(и)</b>, з Ñких Ñлід вилучити фільтри."
-#: ../src/selection-chemistry.cpp:1302
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1678
+#: ../src/selection-chemistry.cpp:1288
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1693
msgid "Remove filter"
msgstr "Вилучити фільтр"
-#: ../src/selection-chemistry.cpp:1311
+#: ../src/selection-chemistry.cpp:1297
msgid "Paste size"
msgstr "Ð’Ñтавити розмір"
-#: ../src/selection-chemistry.cpp:1320
+#: ../src/selection-chemistry.cpp:1306
msgid "Paste size separately"
msgstr "Ð’Ñтавити розмір окремо"
-#: ../src/selection-chemistry.cpp:1349
+#: ../src/selection-chemistry.cpp:1335
msgid "Select <b>object(s)</b> to move to the layer above."
msgstr "Позначте <b>об'єкти</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð½Ð° шар вище."
-#: ../src/selection-chemistry.cpp:1376
+#: ../src/selection-chemistry.cpp:1360
msgid "Raise to next layer"
msgstr "ПіднÑтиÑÑ Ð½Ð° наÑтупний шар"
-#: ../src/selection-chemistry.cpp:1383
+#: ../src/selection-chemistry.cpp:1367
msgid "No more layers above."
msgstr "Більше немає вищих шарів."
-#: ../src/selection-chemistry.cpp:1395
+#: ../src/selection-chemistry.cpp:1378
msgid "Select <b>object(s)</b> to move to the layer below."
msgstr "Позначте <b>об'єкти</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð½Ð° шар нижче."
-#: ../src/selection-chemistry.cpp:1422
+#: ../src/selection-chemistry.cpp:1403
msgid "Lower to previous layer"
msgstr "ОпуÑтитиÑÑ Ð½Ð° попередній шар"
-#: ../src/selection-chemistry.cpp:1429
+#: ../src/selection-chemistry.cpp:1410
msgid "No more layers below."
msgstr "Ðемає нижчого шару."
-#: ../src/selection-chemistry.cpp:1441
+#: ../src/selection-chemistry.cpp:1420
msgid "Select <b>object(s)</b> to move."
msgstr "Позначте <b>об'єкти</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑуваннÑ."
-#: ../src/selection-chemistry.cpp:1459 ../src/verbs.cpp:2656
+#: ../src/selection-chemistry.cpp:1437 ../src/verbs.cpp:2625
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:1549 ../src/seltrans.cpp:388
+#: ../src/selection-chemistry.cpp:1526 ../src/seltrans.cpp:390
msgid "Cannot transform an embedded SVG."
msgstr "ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ð±ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ SVG неможливе."
-#: ../src/selection-chemistry.cpp:1720
+#: ../src/selection-chemistry.cpp:1696
msgid "Remove transform"
msgstr "Прибрати транÑформацію"
-#: ../src/selection-chemistry.cpp:1827
+#: ../src/selection-chemistry.cpp:1803
msgid "Rotate 90° CCW"
msgstr "Обернути на 90° проти годинникової Ñтрілки"
-#: ../src/selection-chemistry.cpp:1827
+#: ../src/selection-chemistry.cpp:1803
msgid "Rotate 90° CW"
msgstr "Обернути на 90° за годинниковою Ñтрілкою"
-#: ../src/selection-chemistry.cpp:1848 ../src/seltrans.cpp:483
-#: ../src/ui/dialog/transformation.cpp:893
+#: ../src/selection-chemistry.cpp:1824 ../src/seltrans.cpp:483
+#: ../src/ui/dialog/transformation.cpp:891
msgid "Rotate"
msgstr "Обертати"
-#: ../src/selection-chemistry.cpp:2204
+#: ../src/selection-chemistry.cpp:2173
msgid "Rotate by pixels"
msgstr "Обертати поточково"
-#: ../src/selection-chemistry.cpp:2234 ../src/seltrans.cpp:480
-#: ../src/ui/dialog/transformation.cpp:868
+#: ../src/selection-chemistry.cpp:2203 ../src/seltrans.cpp:480
+#: ../src/ui/dialog/transformation.cpp:865 ../src/ui/widget/page-sizer.cpp:448
#: ../share/extensions/interp_att_g.inx.h:12
msgid "Scale"
msgstr "МаÑштабувати"
-#: ../src/selection-chemistry.cpp:2259
+#: ../src/selection-chemistry.cpp:2228
msgid "Scale by whole factor"
msgstr "МаÑштабувати за повним коефіцієнтом"
-#: ../src/selection-chemistry.cpp:2274
+#: ../src/selection-chemistry.cpp:2243
msgid "Move vertically"
msgstr "ПереміÑтити вертикально"
-#: ../src/selection-chemistry.cpp:2277
+#: ../src/selection-chemistry.cpp:2246
msgid "Move horizontally"
msgstr "ПереміÑтити горизонтально"
-#: ../src/selection-chemistry.cpp:2280 ../src/selection-chemistry.cpp:2306
-#: ../src/seltrans.cpp:477 ../src/ui/dialog/transformation.cpp:806
+#: ../src/selection-chemistry.cpp:2249 ../src/selection-chemistry.cpp:2275
+#: ../src/seltrans.cpp:477 ../src/ui/dialog/transformation.cpp:802
msgid "Move"
msgstr "ПереміÑтити"
-#: ../src/selection-chemistry.cpp:2300
+#: ../src/selection-chemistry.cpp:2269
msgid "Move vertically by pixels"
msgstr "ПереміÑтити вертикально поточково"
-#: ../src/selection-chemistry.cpp:2303
+#: ../src/selection-chemistry.cpp:2272
msgid "Move horizontally by pixels"
msgstr "ПереміÑтити горизонтально поточково"
-#: ../src/selection-chemistry.cpp:2435
+#: ../src/selection-chemistry.cpp:2475
msgid "The selection has no applied path effect."
msgstr "Обране не має заÑтоÑованого ефекту контуру."
-#: ../src/selection-chemistry.cpp:2607 ../src/ui/dialog/clonetiler.cpp:2223
+#: ../src/selection-chemistry.cpp:2567 ../src/ui/dialog/clonetiler.cpp:2221
msgid "Select an <b>object</b> to clone."
msgstr "Позначте <b>об'єкт</b> Ð´Ð»Ñ ÐºÐ»Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ."
-#: ../src/selection-chemistry.cpp:2643
+#: ../src/selection-chemistry.cpp:2602
msgctxt "Action"
msgid "Clone"
msgstr "Клонувати"
-#: ../src/selection-chemistry.cpp:2659
+#: ../src/selection-chemistry.cpp:2616
msgid "Select <b>clones</b> to relink."
msgstr "Позначте <b>клон</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ·'єднаннÑ."
-#: ../src/selection-chemistry.cpp:2666
+#: ../src/selection-chemistry.cpp:2623
msgid "Copy an <b>object</b> to clipboard to relink clones to."
msgstr ""
"Копіювати <b>об'єкт</b> до буфера обміну інформації Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ·'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ ÐºÐ»Ð¾Ð½Ñ–Ð²."
-#: ../src/selection-chemistry.cpp:2689
+#: ../src/selection-chemistry.cpp:2644
msgid "<b>No clones to relink</b> in the selection."
msgstr "У позначеному <b>немає клонів Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ·'єднаннÑ</b>."
-#: ../src/selection-chemistry.cpp:2692
+#: ../src/selection-chemistry.cpp:2647
msgid "Relink clone"
msgstr "Перез'єднати клон"
-#: ../src/selection-chemistry.cpp:2706
+#: ../src/selection-chemistry.cpp:2661
msgid "Select <b>clones</b> to unlink."
msgstr "Позначте <b>клон</b> Ð´Ð»Ñ Ð²Ñ–Ð´'єднаннÑ."
-#: ../src/selection-chemistry.cpp:2762
+#: ../src/selection-chemistry.cpp:2714
msgid "<b>No clones to unlink</b> in the selection."
msgstr "У позначеному <b>немає клонів</b>."
-#: ../src/selection-chemistry.cpp:2766
+#: ../src/selection-chemistry.cpp:2718
msgid "Unlink clone"
msgstr "Від'єднати клон"
-#: ../src/selection-chemistry.cpp:2779
+#: ../src/selection-chemistry.cpp:2731
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 "
@@ -12534,7 +12532,7 @@ msgstr ""
"перейти до Ñ—Ñ— контуру; <b>текÑÑ‚ вздовж контуру</b>, щоб перейти до його "
"контуру. Позначте <b>текÑÑ‚ у рамці</b>, щоб перейти до рамки."
-#: ../src/selection-chemistry.cpp:2827
+#: ../src/selection-chemistry.cpp:2781
msgid ""
"<b>Cannot find</b> the object to select (orphaned clone, offset, textpath, "
"flowed text?)"
@@ -12542,7 +12540,7 @@ msgstr ""
"<b>Ðе вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸</b> об'єкт, що позначаєтьÑÑ (оÑиротілий клон, втÑжка, "
"текÑÑ‚ вздовж контуру чи текÑÑ‚ у рамці?)"
-#: ../src/selection-chemistry.cpp:2833
+#: ../src/selection-chemistry.cpp:2787
msgid ""
"The object you're trying to select is <b>not visible</b> (it is in &lt;"
"defs&gt;)"
@@ -12550,132 +12548,132 @@ msgstr ""
"Об'єкт, Ñкий ви намагаєтеÑÑŒ позначити, Ñ” <b>невидимим</b> (знаходитьÑÑ Ñƒ &lt;"
"defs&gt;)"
-#: ../src/selection-chemistry.cpp:2922
+#: ../src/selection-chemistry.cpp:2877
msgid "Select path(s) to fill."
msgstr "Позначте контури Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ."
-#: ../src/selection-chemistry.cpp:2940
+#: ../src/selection-chemistry.cpp:2895
msgid "Select <b>object(s)</b> to convert to marker."
msgstr "Позначте <b>об'єкт(и)</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ маркер."
-#: ../src/selection-chemistry.cpp:3015
+#: ../src/selection-chemistry.cpp:2969
msgid "Objects to marker"
msgstr "Об'єкти у маркер"
-#: ../src/selection-chemistry.cpp:3040
+#: ../src/selection-chemistry.cpp:2995
msgid "Select <b>object(s)</b> to convert to guides."
msgstr "Позначте <b>об'єкт(и)</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ напрÑмні."
-#: ../src/selection-chemistry.cpp:3063
+#: ../src/selection-chemistry.cpp:3016
msgid "Objects to guides"
msgstr "Об'єкти у напрÑмні"
-#: ../src/selection-chemistry.cpp:3099
+#: ../src/selection-chemistry.cpp:3052
msgid "Select <b>objects</b> to convert to symbol."
msgstr "Позначте <b>об’єкти</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° Ñимвол."
-#: ../src/selection-chemistry.cpp:3202
+#: ../src/selection-chemistry.cpp:3153
msgid "Group to symbol"
msgstr "Групу у Ñимвол"
-#: ../src/selection-chemistry.cpp:3221
+#: ../src/selection-chemistry.cpp:3172
msgid "Select a <b>symbol</b> to extract objects from."
msgstr "Позначте <b>Ñимвол</b> Ð´Ð»Ñ Ð²Ð¸Ð´Ð¾Ð±ÑƒÐ²Ð°Ð½Ð½Ñ Ð· нього об’єктів."
-#: ../src/selection-chemistry.cpp:3230
+#: ../src/selection-chemistry.cpp:3181
msgid "Select only one <b>symbol</b> in Symbol dialog to convert to group."
msgstr ""
"Позначте лише один <b>Ñимвол</b> у діалоговому вікні Ñимволів Ð´Ð»Ñ "
"Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° групу."
-#: ../src/selection-chemistry.cpp:3288
+#: ../src/selection-chemistry.cpp:3237
msgid "Group from symbol"
msgstr "Група з Ñимволу"
-#: ../src/selection-chemistry.cpp:3306
+#: ../src/selection-chemistry.cpp:3255
msgid "Select <b>object(s)</b> to convert to pattern."
msgstr "Позначте <b>об'єкт(и)</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñƒ візерунок."
-#: ../src/selection-chemistry.cpp:3405
+#: ../src/selection-chemistry.cpp:3351
msgid "Objects to pattern"
msgstr "Об'єкти у візерунок"
-#: ../src/selection-chemistry.cpp:3421
+#: ../src/selection-chemistry.cpp:3367
msgid "Select an <b>object with pattern fill</b> to extract objects from."
msgstr ""
"Позначте <b>об'єкт із заповненнÑм візерунком</b> Ð´Ð»Ñ Ð²Ð¸Ñ‚ÑÐ³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єктів з "
"нього."
-#: ../src/selection-chemistry.cpp:3482
+#: ../src/selection-chemistry.cpp:3426
msgid "<b>No pattern fills</b> in the selection."
msgstr "У позначеному <b>немає Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð²Ñ–Ð·ÐµÑ€ÑƒÐ½ÐºÐ¾Ð¼</b>."
-#: ../src/selection-chemistry.cpp:3485
+#: ../src/selection-chemistry.cpp:3429
msgid "Pattern to objects"
msgstr "Візерунок у об'єкти"
-#: ../src/selection-chemistry.cpp:3576
+#: ../src/selection-chemistry.cpp:3516
msgid "Select <b>object(s)</b> to make a bitmap copy."
msgstr "Позначте <b>об'єкти</b> Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ—Ñ…Ð½ÑŒÐ¾Ñ— раÑтрової копії."
-#: ../src/selection-chemistry.cpp:3580
+#: ../src/selection-chemistry.cpp:3520
msgid "Rendering bitmap..."
msgstr "Показ раÑтрового зображеннÑ…"
-#: ../src/selection-chemistry.cpp:3767
+#: ../src/selection-chemistry.cpp:3705
msgid "Create bitmap"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð°Ñтрового зображеннÑ"
-#: ../src/selection-chemistry.cpp:3792 ../src/selection-chemistry.cpp:3911
+#: ../src/selection-chemistry.cpp:3730 ../src/selection-chemistry.cpp:3842
msgid "Select <b>object(s)</b> to create clippath or mask from."
msgstr ""
"Оберіть <b>об'єкт(и)</b> Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð· них контуру Ð²Ð¸Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ маÑки."
-#: ../src/selection-chemistry.cpp:3885
+#: ../src/selection-chemistry.cpp:3816
msgid "Create Clip Group"
msgstr "Створити групу-обгортку"
-#: ../src/selection-chemistry.cpp:3914
+#: ../src/selection-chemistry.cpp:3845
msgid "Select mask object and <b>object(s)</b> to apply clippath or mask to."
msgstr ""
"Оберіть об'єкт-маÑку та <b>об'єкт(и)</b> Ð´Ð»Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ "
"маÑкуваннÑ."
-#: ../src/selection-chemistry.cpp:4095
+#: ../src/selection-chemistry.cpp:3992
msgid "Set clipping path"
msgstr "Задати контур вирізаннÑ"
-#: ../src/selection-chemistry.cpp:4097
+#: ../src/selection-chemistry.cpp:3994
msgid "Set mask"
msgstr "Задати маÑку"
-#: ../src/selection-chemistry.cpp:4112
+#: ../src/selection-chemistry.cpp:4009
msgid "Select <b>object(s)</b> to remove clippath or mask from."
msgstr ""
"Оберіть <b>об'єкт(и)</b> Ð´Ð»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñƒ Ð²Ð¸Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ маÑкуваннÑ."
-#: ../src/selection-chemistry.cpp:4232
+#: ../src/selection-chemistry.cpp:4125
msgid "Release clipping path"
msgstr "Від'єднати закріплений контур"
-#: ../src/selection-chemistry.cpp:4234
+#: ../src/selection-chemistry.cpp:4127
msgid "Release mask"
msgstr "МаÑку знÑто"
-#: ../src/selection-chemistry.cpp:4253
+#: ../src/selection-chemistry.cpp:4146
msgid "Select <b>object(s)</b> to fit canvas to."
msgstr "Оберіть <b>об'єкт(и)</b> Ð´Ð»Ñ Ð¿Ñ–Ð´Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ñ—Ñ…Ð½Ñ–Ñ… розмірів під полотно."
#. Fit Page
-#: ../src/selection-chemistry.cpp:4273 ../src/verbs.cpp:2992
+#: ../src/selection-chemistry.cpp:4166 ../src/verbs.cpp:2961
msgid "Fit Page to Selection"
msgstr "Підігнати полотно до позначеної облаÑті"
-#: ../src/selection-chemistry.cpp:4302 ../src/verbs.cpp:2994
+#: ../src/selection-chemistry.cpp:4195 ../src/verbs.cpp:2963
msgid "Fit Page to Drawing"
msgstr "Підігнати полотно під намальоване"
-#: ../src/selection-chemistry.cpp:4323 ../src/verbs.cpp:2996
+#: ../src/selection-chemistry.cpp:4216 ../src/verbs.cpp:2965
msgid "Fit Page to Selection or Drawing"
msgstr "Підігнати полотно під позначену облаÑть чи облаÑть креÑленнÑ"
@@ -12814,23 +12812,23 @@ msgstr ""
"<b>Центр</b> Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ñ‚Ð° нахилу: його можна перетÑгнути; зміна розміру з "
"Shift також відбуваєтьÑÑ Ð½Ð°Ð²ÐºÐ¾Ð»Ð¾ нього"
-#: ../src/seltrans.cpp:486 ../src/ui/dialog/transformation.cpp:981
+#: ../src/seltrans.cpp:486 ../src/ui/dialog/transformation.cpp:980
msgid "Skew"
msgstr "Ðахил"
-#: ../src/seltrans.cpp:499
+#: ../src/seltrans.cpp:500
msgid "Set center"
msgstr "Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ñƒ"
-#: ../src/seltrans.cpp:574
+#: ../src/seltrans.cpp:573
msgid "Stamp"
msgstr "Штамп"
-#: ../src/seltrans.cpp:723
+#: ../src/seltrans.cpp:722
msgid "Reset center"
msgstr "ÐŸÐ¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ початкового центру"
-#: ../src/seltrans.cpp:955 ../src/seltrans.cpp:1060
+#: ../src/seltrans.cpp:954 ../src/seltrans.cpp:1059
#, c-format
msgid "<b>Scale</b>: %0.2f%% x %0.2f%%; with <b>Ctrl</b> to lock ratio"
msgstr ""
@@ -12838,24 +12836,24 @@ msgstr ""
#. TRANSLATORS: don't modify the first ";"
#. (it will NOT be displayed as ";" - only the second one will be)
-#: ../src/seltrans.cpp:1199
+#: ../src/seltrans.cpp:1198
#, c-format
msgid "<b>Skew</b>: %0.2f&#176;; with <b>Ctrl</b> to snap angle"
msgstr "<b>Ðахил</b>: %0.2f&#176;; з <b>Ctrl</b> — обмежити кут"
#. TRANSLATORS: don't modify the first ";"
#. (it will NOT be displayed as ";" - only the second one will be)
-#: ../src/seltrans.cpp:1274
+#: ../src/seltrans.cpp:1273
#, c-format
msgid "<b>Rotate</b>: %0.2f&#176;; with <b>Ctrl</b> to snap angle"
msgstr "<b>ОбертаннÑ</b>: %0.2f&#176;; з <b>Ctrl</b> — обмежити кут"
-#: ../src/seltrans.cpp:1311
+#: ../src/seltrans.cpp:1310
#, c-format
msgid "Move <b>center</b> to %s, %s"
msgstr "ПереміÑтити <b>центр</b> до %s, %s"
-#: ../src/seltrans.cpp:1465
+#: ../src/seltrans.cpp:1464
#, c-format
msgid ""
"<b>Move</b> by %s, %s; with <b>Ctrl</b> to restrict to horizontal/vertical; "
@@ -12869,8 +12867,8 @@ msgstr ""
msgid "Keyboard directory (%s) is unavailable."
msgstr "Каталог з параметрами клавіатури (%s) недоÑтупний."
-#: ../src/shortcuts.cpp:337 ../src/ui/dialog/export.cpp:1298
-#: ../src/ui/dialog/export.cpp:1332
+#: ../src/shortcuts.cpp:337 ../src/ui/dialog/export.cpp:1296
+#: ../src/ui/dialog/export.cpp:1330
msgid "Select a filename for exporting"
msgstr "Виберіть назву файла Ð´Ð»Ñ ÐµÐºÑпорту"
@@ -12887,22 +12885,22 @@ msgstr "до %s"
msgid "without URI"
msgstr "без адреÑи"
-#: ../src/sp-ellipse.cpp:344
+#: ../src/sp-ellipse.cpp:361
msgid "Segment"
msgstr "Відрізок"
-#: ../src/sp-ellipse.cpp:346
+#: ../src/sp-ellipse.cpp:363
msgid "Arc"
msgstr "Дуга"
#. Ellipse
-#: ../src/sp-ellipse.cpp:349 ../src/sp-ellipse.cpp:356
+#: ../src/sp-ellipse.cpp:366 ../src/sp-ellipse.cpp:373
#: ../src/ui/dialog/inkscape-preferences.cpp:412
#: ../src/widgets/pencil-toolbar.cpp:163
msgid "Ellipse"
msgstr "ЕліпÑ"
-#: ../src/sp-ellipse.cpp:353
+#: ../src/sp-ellipse.cpp:370
msgid "Circle"
msgstr "Коло"
@@ -12928,7 +12926,7 @@ msgid "Linked Flowed Text"
msgstr "Пов’Ñзаний контурний текÑÑ‚"
#: ../src/sp-flowtext.cpp:288 ../src/sp-text.cpp:367
-#: ../src/ui/tools/text-tool.cpp:1557
+#: ../src/ui/tools/text-tool.cpp:1556
msgid " [truncated]"
msgstr " (обрізано)"
@@ -12944,7 +12942,7 @@ msgstr[2] "(%d Ñимволів%s)"
msgid "Create Guides Around the Page"
msgstr "Створити напрÑмні навколо Ñторінки"
-#: ../src/sp-guide.cpp:258 ../src/verbs.cpp:2549
+#: ../src/sp-guide.cpp:258 ../src/verbs.cpp:2518
msgid "Delete All Guides"
msgstr "Вилучити вÑÑ– напрÑмні"
@@ -12990,40 +12988,40 @@ msgstr "[помилкове поÑиланнÑ]: %s"
msgid "%d &#215; %d: %s"
msgstr "%d &#215; %d: %s"
-#: ../src/sp-item-group.cpp:322
+#: ../src/sp-item-group.cpp:307
msgid "Group"
msgstr "Згрупувати"
-#: ../src/sp-item-group.cpp:328 ../src/sp-switch.cpp:68
+#: ../src/sp-item-group.cpp:313 ../src/sp-switch.cpp:69
#, c-format
msgid "of <b>%d</b> object"
msgstr "з <b>%d</b> об'єкта"
-#: ../src/sp-item-group.cpp:328 ../src/sp-switch.cpp:68
+#: ../src/sp-item-group.cpp:313 ../src/sp-switch.cpp:69
#, c-format
msgid "of <b>%d</b> objects"
msgstr "з <b>%d</b> об'єкта"
-#: ../src/sp-item.cpp:1051 ../src/verbs.cpp:214
+#: ../src/sp-item.cpp:1042 ../src/verbs.cpp:213
msgid "Object"
msgstr "Об'єкт"
-#: ../src/sp-item.cpp:1063
+#: ../src/sp-item.cpp:1054
#, c-format
msgid "%s; <i>clipped</i>"
msgstr "%s; <i>закріплено</i>"
-#: ../src/sp-item.cpp:1069
+#: ../src/sp-item.cpp:1060
#, c-format
msgid "%s; <i>masked</i>"
msgstr "%s; <i>маÑковано</i>"
-#: ../src/sp-item.cpp:1079
+#: ../src/sp-item.cpp:1070
#, c-format
msgid "%s; <i>filtered (%s)</i>"
msgstr "%s; <i>відфільтровано (%s)</i>"
-#: ../src/sp-item.cpp:1081
+#: ../src/sp-item.cpp:1072
#, c-format
msgid "%s; <i>filtered</i>"
msgstr "%s; <i>відфільтровано</i>"
@@ -13086,7 +13084,7 @@ msgid "<b>Polyline</b>"
msgstr "<b>ПолілініÑ</b>"
#. Rectangle
-#: ../src/sp-rect.cpp:153 ../src/ui/dialog/inkscape-preferences.cpp:402
+#: ../src/sp-rect.cpp:161 ../src/ui/dialog/inkscape-preferences.cpp:402
msgid "Rectangle"
msgstr "ПрÑмокутник"
@@ -13105,11 +13103,11 @@ msgstr "з %3f обертами"
#. Star
#: ../src/sp-star.cpp:246 ../src/ui/dialog/inkscape-preferences.cpp:416
-#: ../src/widgets/star-toolbar.cpp:471
+#: ../src/widgets/star-toolbar.cpp:469
msgid "Star"
msgstr "Зірка"
-#: ../src/sp-star.cpp:247 ../src/widgets/star-toolbar.cpp:464
+#: ../src/sp-star.cpp:247 ../src/widgets/star-toolbar.cpp:462
msgid "Polygon"
msgstr "Багатокутник"
@@ -13126,11 +13124,11 @@ msgstr "з %d вершиною"
msgid "with %d vertices"
msgstr "з %d вершинами"
-#: ../src/sp-switch.cpp:62
+#: ../src/sp-switch.cpp:63
msgid "Conditional Group"
msgstr "Умовна група"
-#: ../src/sp-text.cpp:351 ../src/verbs.cpp:348
+#: ../src/sp-text.cpp:351 ../src/verbs.cpp:347
#: ../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
@@ -13163,7 +13161,7 @@ msgstr "Клоновані Ñимвольні дані"
msgid " from "
msgstr " з "
-#: ../src/sp-tref.cpp:240 ../src/sp-use.cpp:269
+#: ../src/sp-tref.cpp:240 ../src/sp-use.cpp:271
msgid "[orphaned]"
msgstr "[оÑиротілий]"
@@ -13171,30 +13169,30 @@ msgstr "[оÑиротілий]"
msgid "Text Span"
msgstr "Блок текÑту"
-#: ../src/sp-use.cpp:232
+#: ../src/sp-use.cpp:234
msgid "Symbol"
msgstr "Символ"
-#: ../src/sp-use.cpp:234
+#: ../src/sp-use.cpp:236
msgid "Clone"
msgstr "Клон"
-#: ../src/sp-use.cpp:242 ../src/sp-use.cpp:244 ../src/sp-use.cpp:246
+#: ../src/sp-use.cpp:244 ../src/sp-use.cpp:246 ../src/sp-use.cpp:248
#, c-format
msgid "called %s"
msgstr "викликано %s"
-#: ../src/sp-use.cpp:246
+#: ../src/sp-use.cpp:248
msgid "Unnamed Symbol"
msgstr "Символ без назви"
#. TRANSLATORS: Used for statusbar description for long <use> chains:
#. * "Clone of: Clone of: ... in Layer 1".
-#: ../src/sp-use.cpp:255
+#: ../src/sp-use.cpp:257
msgid "..."
msgstr "…"
-#: ../src/sp-use.cpp:264
+#: ../src/sp-use.cpp:266
#, c-format
msgid "of: %s"
msgstr "з: %s"
@@ -13239,84 +13237,84 @@ msgstr ""
"об'єктів, позначених Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— різниці, виключного ÐБО, Ð´Ñ–Ð»ÐµÐ½Ð½Ñ "
"Ñ€Ð¾Ð·Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñƒ."
-#: ../src/splivarot.cpp:407
+#: ../src/splivarot.cpp:406
msgid ""
"One of the objects is <b>not a path</b>, cannot perform boolean operation."
msgstr "Один з об'єктів <b>не Ñ” контуром</b>, логічна Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð°."
-#: ../src/splivarot.cpp:1157
+#: ../src/splivarot.cpp:1150
msgid "Select <b>stroked path(s)</b> to convert stroke to path."
msgstr "Оберіть <b>контур(и) з штрихів</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° контур."
-#: ../src/splivarot.cpp:1516
+#: ../src/splivarot.cpp:1506
msgid "Convert stroke to path"
msgstr "Перетворити штрих на контур"
#. TRANSLATORS: "to outline" means "to convert stroke to path"
-#: ../src/splivarot.cpp:1519
+#: ../src/splivarot.cpp:1509
msgid "<b>No stroked paths</b> in the selection."
msgstr "У позначеному <b>немає контурів зі штрихів</b>."
-#: ../src/splivarot.cpp:1590
+#: ../src/splivarot.cpp:1580
msgid "Selected object is <b>not a path</b>, cannot inset/outset."
msgstr ""
"позначений об'єкт <b>не Ñ” контуром</b>, втÑгуваннÑ/розтÑÐ³ÑƒÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–."
-#: ../src/splivarot.cpp:1681 ../src/splivarot.cpp:1746
+#: ../src/splivarot.cpp:1671 ../src/splivarot.cpp:1738
msgid "Create linked offset"
msgstr "Створити зв'Ñзану втÑжку"
-#: ../src/splivarot.cpp:1682 ../src/splivarot.cpp:1747
+#: ../src/splivarot.cpp:1672 ../src/splivarot.cpp:1739
msgid "Create dynamic offset"
msgstr "Створити динамічний відÑтуп"
-#: ../src/splivarot.cpp:1772
+#: ../src/splivarot.cpp:1764
msgid "Select <b>path(s)</b> to inset/outset."
msgstr "Позначте <b>контур(и)</b> Ð´Ð»Ñ Ð²Ñ‚ÑгуваннÑ/розтÑгуваннÑ."
-#: ../src/splivarot.cpp:1968
+#: ../src/splivarot.cpp:1957
msgid "Outset path"
msgstr "РозтÑгнений контур"
-#: ../src/splivarot.cpp:1968
+#: ../src/splivarot.cpp:1957
msgid "Inset path"
msgstr "Ð’Ñ‚Ñгнутий контур"
-#: ../src/splivarot.cpp:1970
+#: ../src/splivarot.cpp:1959
msgid "<b>No paths</b> to inset/outset in the selection."
msgstr "У позначеному <b>немає контурів</b> Ð´Ð»Ñ Ð²Ñ‚ÑгуваннÑ/розтÑгуваннÑ."
-#: ../src/splivarot.cpp:2132
+#: ../src/splivarot.cpp:2121
msgid "Simplifying paths (separately):"
msgstr "Ð¡Ð¿Ñ€Ð¾Ñ‰ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñ–Ð² (окремо):"
-#: ../src/splivarot.cpp:2134
+#: ../src/splivarot.cpp:2123
msgid "Simplifying paths:"
msgstr "Ð¡Ð¿Ñ€Ð¾Ñ‰ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñ–Ð²:"
-#: ../src/splivarot.cpp:2171
+#: ../src/splivarot.cpp:2160
#, c-format
msgid "%s <b>%d</b> of <b>%d</b> paths simplified..."
msgstr "%s <b>%d</b> з <b>%d</b> контурів Ñпрощено…"
-#: ../src/splivarot.cpp:2184
+#: ../src/splivarot.cpp:2173
#, c-format
msgid "<b>%d</b> paths simplified."
msgstr "<b>%d</b> контурів Ñпрощено."
-#: ../src/splivarot.cpp:2198
+#: ../src/splivarot.cpp:2187
msgid "Select <b>path(s)</b> to simplify."
msgstr "Позначте <b>контур(и)</b> Ð´Ð»Ñ ÑпрощеннÑ."
-#: ../src/splivarot.cpp:2214
+#: ../src/splivarot.cpp:2203
msgid "<b>No paths</b> to simplify in the selection."
msgstr "У позначеному <b>немає контурів</b> Ð´Ð»Ñ ÑпрощеннÑ."
-#: ../src/text-chemistry.cpp:94
+#: ../src/text-chemistry.cpp:91
msgid "Select <b>a text and a path</b> to put text on path."
msgstr "Позначте <b>текÑÑ‚ та контур</b> Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚ÐµÐºÑту за контуром."
-#: ../src/text-chemistry.cpp:99
+#: ../src/text-chemistry.cpp:96
msgid ""
"This text object is <b>already put on a path</b>. Remove it from the path "
"first. Use <b>Shift+D</b> to look up its path."
@@ -13325,7 +13323,7 @@ msgstr ""
"контуру. ÐатиÑніть <b>Shift+D</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ до його контуру."
#. rect is the only SPShape which is not <path> yet, and thus SVG forbids us from putting text on it
-#: ../src/text-chemistry.cpp:105
+#: ../src/text-chemistry.cpp:102
msgid ""
"You cannot put text on a rectangle in this version. Convert rectangle to "
"path first."
@@ -13333,37 +13331,37 @@ msgstr ""
"У цій верÑÑ–Ñ— програми не можна розміщувати текÑÑ‚ вздовж контуру "
"прÑмокутника. Перетворіть прÑмокутник у контур Ñ– Ñпробуйте знову."
-#: ../src/text-chemistry.cpp:115
+#: ../src/text-chemistry.cpp:112
msgid "The flowed text(s) must be <b>visible</b> in order to be put on a path."
msgstr ""
"Щоб розташувати текÑÑ‚ за контуром, контурний текÑÑ‚ Ñлід зробити <b>видимим</"
"b>."
-#: ../src/text-chemistry.cpp:185 ../src/verbs.cpp:2571
+#: ../src/text-chemistry.cpp:182 ../src/verbs.cpp:2540
msgid "Put text on path"
msgstr "РозміÑтити текÑÑ‚ вздовж контуру"
-#: ../src/text-chemistry.cpp:197
+#: ../src/text-chemistry.cpp:194
msgid "Select <b>a text on path</b> to remove it from path."
msgstr "Позначте <b>текÑÑ‚ вздовж контуру</b>, щоб вилучити його з контуру."
-#: ../src/text-chemistry.cpp:218
+#: ../src/text-chemistry.cpp:213
msgid "<b>No texts-on-paths</b> in the selection."
msgstr "У позначеному <b>немає текÑту на контурі</b>."
-#: ../src/text-chemistry.cpp:221 ../src/verbs.cpp:2573
+#: ../src/text-chemistry.cpp:216 ../src/verbs.cpp:2542
msgid "Remove text from path"
msgstr "ЗнÑти текÑÑ‚ з контуру"
-#: ../src/text-chemistry.cpp:262 ../src/text-chemistry.cpp:283
+#: ../src/text-chemistry.cpp:257 ../src/text-chemistry.cpp:277
msgid "Select <b>text(s)</b> to remove kerns from."
msgstr "Позначте <b>текÑÑ‚</b> Ð´Ð»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ñ€ÑƒÑ‡Ð½Ð¾Ð³Ð¾ міжлітерного інтервалу."
-#: ../src/text-chemistry.cpp:286
+#: ../src/text-chemistry.cpp:280
msgid "Remove manual kerns"
msgstr "Вилучити ручний міжлітерний інтервал"
-#: ../src/text-chemistry.cpp:306
+#: ../src/text-chemistry.cpp:300
msgid ""
"Select <b>a text</b> and one or more <b>paths or shapes</b> to flow text "
"into frame."
@@ -13371,31 +13369,31 @@ msgstr ""
"Позначте <b>текÑÑ‚</b> та <b>контур чи фігуру</b> Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚ÐµÐºÑту у "
"рамку."
-#: ../src/text-chemistry.cpp:376
+#: ../src/text-chemistry.cpp:369
msgid "Flow text into shape"
msgstr "ВерÑÑ‚Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту у фігуру"
-#: ../src/text-chemistry.cpp:398
+#: ../src/text-chemistry.cpp:391
msgid "Select <b>a flowed text</b> to unflow it."
msgstr "Позначте <b>текÑÑ‚ у рамці</b>, щоб вийнÑти його з рамки."
-#: ../src/text-chemistry.cpp:472
+#: ../src/text-chemistry.cpp:464
msgid "Unflow flowed text"
msgstr "Зробити текÑÑ‚ неконтурним"
-#: ../src/text-chemistry.cpp:484
+#: ../src/text-chemistry.cpp:476
msgid "Select <b>flowed text(s)</b> to convert."
msgstr "Оберіть <b>контурний текÑÑ‚(и)</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ."
-#: ../src/text-chemistry.cpp:502
+#: ../src/text-chemistry.cpp:494
msgid "The flowed text(s) must be <b>visible</b> in order to be converted."
msgstr "Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¢ÐµÐºÑÑ‚-вздовж-контуру має бути <b>видимим</b>."
-#: ../src/text-chemistry.cpp:530
+#: ../src/text-chemistry.cpp:521
msgid "Convert flowed text to text"
msgstr "ÐŸÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ð½Ð¾Ð³Ð¾ текÑту на звичайний"
-#: ../src/text-chemistry.cpp:535
+#: ../src/text-chemistry.cpp:526
msgid "<b>No flowed text(s)</b> to convert in the selection."
msgstr "У позначеному <b>немає контурного текÑту(ів)</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ."
@@ -13458,8 +13456,8 @@ msgstr "ВекторизаціÑ: Завершено. Створено %ld вуÐ
msgid "Nothing was copied."
msgstr "Ðічого не було Ñкопійовано."
-#: ../src/ui/clipboard.cpp:393 ../src/ui/clipboard.cpp:605
-#: ../src/ui/clipboard.cpp:634
+#: ../src/ui/clipboard.cpp:393 ../src/ui/clipboard.cpp:607
+#: ../src/ui/clipboard.cpp:636
msgid "Nothing on the clipboard."
msgstr "У буфері обміну нічого немає."
@@ -13479,16 +13477,16 @@ msgstr "Оберіть <b>об'єкт(и)</b> Ð´Ð»Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ€
msgid "No size on the clipboard."
msgstr "У буфері обміну немає розмірів."
-#: ../src/ui/clipboard.cpp:567
+#: ../src/ui/clipboard.cpp:568
msgid "Select <b>object(s)</b> to paste live path effect to."
msgstr "Оберіть <b>об'єкти</b> Ð´Ð»Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ ÐµÑ„ÐµÐºÑ‚Ñƒ динамічного контуру."
#. no_effect:
-#: ../src/ui/clipboard.cpp:592
+#: ../src/ui/clipboard.cpp:594
msgid "No effect on the clipboard."
msgstr "У буфері обміну немає ефектів."
-#: ../src/ui/clipboard.cpp:611 ../src/ui/clipboard.cpp:648
+#: ../src/ui/clipboard.cpp:613 ../src/ui/clipboard.cpp:650
msgid "Clipboard does not contain a path."
msgstr "У буфері обміну відÑутній контур."
@@ -13540,252 +13538,252 @@ msgstr ""
"МакÑим Дзюманенко (dziumanenko@gmail.com)\n"
"Юрій Чорноіван (yurchor@ukr.net)"
-#: ../src/ui/dialog/align-and-distribute.cpp:171
-#: ../src/ui/dialog/align-and-distribute.cpp:851
+#: ../src/ui/dialog/align-and-distribute.cpp:170
+#: ../src/ui/dialog/align-and-distribute.cpp:847
msgid "Align"
msgstr "ВирівнюваннÑ"
-#: ../src/ui/dialog/align-and-distribute.cpp:341
-#: ../src/ui/dialog/align-and-distribute.cpp:852
+#: ../src/ui/dialog/align-and-distribute.cpp:338
+#: ../src/ui/dialog/align-and-distribute.cpp:848
msgid "Distribute"
msgstr "РозÑтавити"
-#: ../src/ui/dialog/align-and-distribute.cpp:420
+#: ../src/ui/dialog/align-and-distribute.cpp:417
msgid "Minimum horizontal gap (in px units) between bounding boxes"
msgstr "Мінімальна горизонтальна відÑтань (у точках) між рамками"
#. TRANSLATORS: "H:" stands for horizontal gap
-#: ../src/ui/dialog/align-and-distribute.cpp:422
+#: ../src/ui/dialog/align-and-distribute.cpp:419
msgctxt "Gap"
msgid "_H:"
msgstr "_Г:"
-#: ../src/ui/dialog/align-and-distribute.cpp:430
+#: ../src/ui/dialog/align-and-distribute.cpp:427
msgid "Minimum vertical gap (in px units) between bounding boxes"
msgstr "Мінімальна вертикальна відÑтань (у точках) між рамками"
#. TRANSLATORS: Vertical gap
-#: ../src/ui/dialog/align-and-distribute.cpp:432
+#: ../src/ui/dialog/align-and-distribute.cpp:429
msgctxt "Gap"
msgid "_V:"
msgstr "_Ð’:"
-#: ../src/ui/dialog/align-and-distribute.cpp:467
-#: ../src/ui/dialog/align-and-distribute.cpp:854
-#: ../src/widgets/connector-toolbar.cpp:411
+#: ../src/ui/dialog/align-and-distribute.cpp:464
+#: ../src/ui/dialog/align-and-distribute.cpp:850
+#: ../src/widgets/connector-toolbar.cpp:407
msgid "Remove overlaps"
msgstr "Вилучити перекриттÑ"
-#: ../src/ui/dialog/align-and-distribute.cpp:498
-#: ../src/widgets/connector-toolbar.cpp:240
+#: ../src/ui/dialog/align-and-distribute.cpp:495
+#: ../src/widgets/connector-toolbar.cpp:236
msgid "Arrange connector network"
msgstr "ВпорÑдкувати Ñітку з'єднувальних ліній"
-#: ../src/ui/dialog/align-and-distribute.cpp:591
+#: ../src/ui/dialog/align-and-distribute.cpp:588
msgid "Exchange Positions"
msgstr "ОбмінÑти позиціÑми"
-#: ../src/ui/dialog/align-and-distribute.cpp:625
+#: ../src/ui/dialog/align-and-distribute.cpp:622
msgid "Unclump"
msgstr "Розгрупувати"
-#: ../src/ui/dialog/align-and-distribute.cpp:697
+#: ../src/ui/dialog/align-and-distribute.cpp:693
msgid "Randomize positions"
msgstr "Зробити позиції випадковими"
-#: ../src/ui/dialog/align-and-distribute.cpp:800
+#: ../src/ui/dialog/align-and-distribute.cpp:795
msgid "Distribute text baselines"
msgstr "РозÑтавити базові Ñ€Ñдки текÑту"
-#: ../src/ui/dialog/align-and-distribute.cpp:823
+#: ../src/ui/dialog/align-and-distribute.cpp:819
msgid "Align text baselines"
msgstr "ВирівнÑти базові лінії текÑту"
-#: ../src/ui/dialog/align-and-distribute.cpp:853
+#: ../src/ui/dialog/align-and-distribute.cpp:849
msgid "Rearrange"
msgstr "ПеревпорÑдкувати"
-#: ../src/ui/dialog/align-and-distribute.cpp:855
-#: ../src/widgets/toolbox.cpp:1729
+#: ../src/ui/dialog/align-and-distribute.cpp:851
+#: ../src/widgets/toolbox.cpp:1725
msgid "Nodes"
msgstr "Вузли"
-#: ../src/ui/dialog/align-and-distribute.cpp:869
+#: ../src/ui/dialog/align-and-distribute.cpp:865
msgid "Relative to: "
msgstr "ВідноÑно: "
-#: ../src/ui/dialog/align-and-distribute.cpp:870
+#: ../src/ui/dialog/align-and-distribute.cpp:866
msgid "_Treat selection as group: "
msgstr "Вва_жати вибране групою: "
#. Align
-#: ../src/ui/dialog/align-and-distribute.cpp:876 ../src/verbs.cpp:3024
-#: ../src/verbs.cpp:3025
+#: ../src/ui/dialog/align-and-distribute.cpp:872 ../src/verbs.cpp:2993
+#: ../src/verbs.cpp:2994
msgid "Align right edges of objects to the left edge of the anchor"
msgstr "ВирівнÑти праві краї об'єктів до лівого краю ÑкорÑ"
-#: ../src/ui/dialog/align-and-distribute.cpp:879 ../src/verbs.cpp:3026
-#: ../src/verbs.cpp:3027
+#: ../src/ui/dialog/align-and-distribute.cpp:875 ../src/verbs.cpp:2995
+#: ../src/verbs.cpp:2996
msgid "Align left edges"
msgstr "ВирівнÑти ліві Ñторони"
-#: ../src/ui/dialog/align-and-distribute.cpp:882 ../src/verbs.cpp:3028
-#: ../src/verbs.cpp:3029
+#: ../src/ui/dialog/align-and-distribute.cpp:878 ../src/verbs.cpp:2997
+#: ../src/verbs.cpp:2998
msgid "Center on vertical axis"
msgstr "Центрувати за вертикальною віÑÑÑŽ"
-#: ../src/ui/dialog/align-and-distribute.cpp:885 ../src/verbs.cpp:3030
-#: ../src/verbs.cpp:3031
+#: ../src/ui/dialog/align-and-distribute.cpp:881 ../src/verbs.cpp:2999
+#: ../src/verbs.cpp:3000
msgid "Align right sides"
msgstr "ВирівнÑти праві Ñторони"
-#: ../src/ui/dialog/align-and-distribute.cpp:888 ../src/verbs.cpp:3032
-#: ../src/verbs.cpp:3033
+#: ../src/ui/dialog/align-and-distribute.cpp:884 ../src/verbs.cpp:3001
+#: ../src/verbs.cpp:3002
msgid "Align left edges of objects to the right edge of the anchor"
msgstr "ВирівнÑти ліві краї об'єктів до правого краю ÑкорÑ"
-#: ../src/ui/dialog/align-and-distribute.cpp:891 ../src/verbs.cpp:3034
-#: ../src/verbs.cpp:3035
+#: ../src/ui/dialog/align-and-distribute.cpp:887 ../src/verbs.cpp:3003
+#: ../src/verbs.cpp:3004
msgid "Align bottom edges of objects to the top edge of the anchor"
msgstr "ВирівнÑти нижні краї об'єктів до верхнього краю ÑкорÑ"
-#: ../src/ui/dialog/align-and-distribute.cpp:894 ../src/verbs.cpp:3036
-#: ../src/verbs.cpp:3037
+#: ../src/ui/dialog/align-and-distribute.cpp:890 ../src/verbs.cpp:3005
+#: ../src/verbs.cpp:3006
msgid "Align top edges"
msgstr "ВирівнÑти верхні Ñторони"
-#: ../src/ui/dialog/align-and-distribute.cpp:897 ../src/verbs.cpp:3038
-#: ../src/verbs.cpp:3039
+#: ../src/ui/dialog/align-and-distribute.cpp:893 ../src/verbs.cpp:3007
+#: ../src/verbs.cpp:3008
msgid "Center on horizontal axis"
msgstr "Центрувати на горизонтальній оÑÑ–"
-#: ../src/ui/dialog/align-and-distribute.cpp:900 ../src/verbs.cpp:3040
-#: ../src/verbs.cpp:3041
+#: ../src/ui/dialog/align-and-distribute.cpp:896 ../src/verbs.cpp:3009
+#: ../src/verbs.cpp:3010
msgid "Align bottom edges"
msgstr "ВирівнÑти нижні Ñторони"
-#: ../src/ui/dialog/align-and-distribute.cpp:903 ../src/verbs.cpp:3042
-#: ../src/verbs.cpp:3043
+#: ../src/ui/dialog/align-and-distribute.cpp:899 ../src/verbs.cpp:3011
+#: ../src/verbs.cpp:3012
msgid "Align top edges of objects to the bottom edge of the anchor"
msgstr "ВирівнÑти верхні краї об'єктів до нижнього краю ÑкорÑ"
-#: ../src/ui/dialog/align-and-distribute.cpp:908
+#: ../src/ui/dialog/align-and-distribute.cpp:904
msgid "Align baseline anchors of texts horizontally"
msgstr "Розташувати базову лінію текÑту горизонтально"
-#: ../src/ui/dialog/align-and-distribute.cpp:911
+#: ../src/ui/dialog/align-and-distribute.cpp:907
msgid "Align baselines of texts"
msgstr "ВирівнÑти базові лінії текÑту"
-#: ../src/ui/dialog/align-and-distribute.cpp:916
+#: ../src/ui/dialog/align-and-distribute.cpp:912
msgid "Make horizontal gaps between objects equal"
msgstr "Зробити однаковими інтервали між об'єктами по горизонталі"
-#: ../src/ui/dialog/align-and-distribute.cpp:920
+#: ../src/ui/dialog/align-and-distribute.cpp:916
msgid "Distribute left edges equidistantly"
msgstr "Рівномірно розподілити ліві краї"
-#: ../src/ui/dialog/align-and-distribute.cpp:923
+#: ../src/ui/dialog/align-and-distribute.cpp:919
msgid "Distribute centers equidistantly horizontally"
msgstr "РозÑтавити центри об'єктів на однаковій відÑтані по горизонталі"
-#: ../src/ui/dialog/align-and-distribute.cpp:926
+#: ../src/ui/dialog/align-and-distribute.cpp:922
msgid "Distribute right edges equidistantly"
msgstr "Рівномірно розподілити праві краї"
-#: ../src/ui/dialog/align-and-distribute.cpp:930
+#: ../src/ui/dialog/align-and-distribute.cpp:926
msgid "Make vertical gaps between objects equal"
msgstr "ВирівнÑти інтервали між об'єктами по вертикалі"
-#: ../src/ui/dialog/align-and-distribute.cpp:934
+#: ../src/ui/dialog/align-and-distribute.cpp:930
msgid "Distribute top edges equidistantly"
msgstr "Рівномірно розподілити верхні краї"
-#: ../src/ui/dialog/align-and-distribute.cpp:937
+#: ../src/ui/dialog/align-and-distribute.cpp:933
msgid "Distribute centers equidistantly vertically"
msgstr "РозÑтавити центри об'єктів на однаковій відÑтані по вертикалі"
-#: ../src/ui/dialog/align-and-distribute.cpp:940
+#: ../src/ui/dialog/align-and-distribute.cpp:936
msgid "Distribute bottom edges equidistantly"
msgstr "Рівномірно розподілити нижні краї"
-#: ../src/ui/dialog/align-and-distribute.cpp:945
+#: ../src/ui/dialog/align-and-distribute.cpp:941
msgid "Distribute baseline anchors of texts horizontally"
msgstr "Розподілити базові Ñкорі Ñимволів рівномірно по горизонталі"
-#: ../src/ui/dialog/align-and-distribute.cpp:948
+#: ../src/ui/dialog/align-and-distribute.cpp:944
msgid "Distribute baselines of texts vertically"
msgstr "Розподілити базові лінії текÑту вертикально"
-#: ../src/ui/dialog/align-and-distribute.cpp:954
-#: ../src/widgets/connector-toolbar.cpp:373
+#: ../src/ui/dialog/align-and-distribute.cpp:950
+#: ../src/widgets/connector-toolbar.cpp:369
msgid "Nicely arrange selected connector network"
msgstr "Гармонійно розташувати вибране з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð¾Ð±'єктів"
-#: ../src/ui/dialog/align-and-distribute.cpp:957
+#: ../src/ui/dialog/align-and-distribute.cpp:953
msgid "Exchange positions of selected objects - selection order"
msgstr "Обмін позиціÑми позначених об'єктів — порÑдок позначеннÑ"
-#: ../src/ui/dialog/align-and-distribute.cpp:960
+#: ../src/ui/dialog/align-and-distribute.cpp:956
msgid "Exchange positions of selected objects - stacking order"
msgstr "Обмін позиціÑми позначених об'єктів — порÑдок ÑтоÑуваннÑ"
-#: ../src/ui/dialog/align-and-distribute.cpp:963
+#: ../src/ui/dialog/align-and-distribute.cpp:959
msgid "Exchange positions of selected objects - clockwise rotate"
msgstr ""
"Обмін позиціÑми позначених об'єктів — циклічний перехід за годинниковою "
"Ñтрілкою"
-#: ../src/ui/dialog/align-and-distribute.cpp:968
+#: ../src/ui/dialog/align-and-distribute.cpp:964
msgid "Randomize centers in both dimensions"
msgstr "Випадково розташувати центри у обох напрÑмках"
-#: ../src/ui/dialog/align-and-distribute.cpp:971
+#: ../src/ui/dialog/align-and-distribute.cpp:967
msgid "Unclump objects: try to equalize edge-to-edge distances"
msgstr ""
"Розгрупувати об'єкт: Ñпробувати вÑтановити рівну відÑтань між межами об'єктів"
-#: ../src/ui/dialog/align-and-distribute.cpp:976
+#: ../src/ui/dialog/align-and-distribute.cpp:972
msgid ""
"Move objects as little as possible so that their bounding boxes do not "
"overlap"
msgstr ""
"Переміщувати об'єкти Ñкомога менше, так щоб їхні рамки не перекривалиÑÑ"
-#: ../src/ui/dialog/align-and-distribute.cpp:984
+#: ../src/ui/dialog/align-and-distribute.cpp:980
msgid "Align selected nodes to a common horizontal line"
msgstr "ВирівнÑти вибрані вузли до Ñпільної горизонталі"
-#: ../src/ui/dialog/align-and-distribute.cpp:987
+#: ../src/ui/dialog/align-and-distribute.cpp:983
msgid "Align selected nodes to a common vertical line"
msgstr "ВирівнÑти вибрані вузли до Ñпільної вертикалі"
-#: ../src/ui/dialog/align-and-distribute.cpp:990
+#: ../src/ui/dialog/align-and-distribute.cpp:986
msgid "Distribute selected nodes horizontally"
msgstr "Розподілити вибрані вузли по горизонталі"
-#: ../src/ui/dialog/align-and-distribute.cpp:993
+#: ../src/ui/dialog/align-and-distribute.cpp:989
msgid "Distribute selected nodes vertically"
msgstr "Розподілити вибрані вузли по вертикалі"
#. Rest of the widgetry
-#: ../src/ui/dialog/align-and-distribute.cpp:998
+#: ../src/ui/dialog/align-and-distribute.cpp:994
msgid "Last selected"
msgstr "ОÑтанній позначений"
-#: ../src/ui/dialog/align-and-distribute.cpp:999
+#: ../src/ui/dialog/align-and-distribute.cpp:995
msgid "First selected"
msgstr "Перший позначений"
-#: ../src/ui/dialog/align-and-distribute.cpp:1000
+#: ../src/ui/dialog/align-and-distribute.cpp:996
msgid "Biggest object"
msgstr "Ðайбільший об'єкт"
-#: ../src/ui/dialog/align-and-distribute.cpp:1001
+#: ../src/ui/dialog/align-and-distribute.cpp:997
msgid "Smallest object"
msgstr "Ðайменший об'єкт"
-#: ../src/ui/dialog/align-and-distribute.cpp:1004
+#: ../src/ui/dialog/align-and-distribute.cpp:1000
msgid "Selection Area"
msgstr "Позначена облаÑть"
@@ -14485,19 +14483,19 @@ msgstr "<small>Об'єкт не має мозаїчних клонів.</small>"
msgid "Select <b>one object</b> whose tiled clones to unclump."
msgstr "Позначте <b>один об'єкт</b>, клони Ñкого Ñлід розгрупувати."
-#: ../src/ui/dialog/clonetiler.cpp:2122
+#: ../src/ui/dialog/clonetiler.cpp:2120
msgid "Unclump tiled clones"
msgstr "Розгрупувати мозаїку з клонів"
-#: ../src/ui/dialog/clonetiler.cpp:2151
+#: ../src/ui/dialog/clonetiler.cpp:2149
msgid "Select <b>one object</b> whose tiled clones to remove."
msgstr "Позначте <b>один об'єкт</b>, клони Ñкого Ñлід вилучити."
-#: ../src/ui/dialog/clonetiler.cpp:2176
+#: ../src/ui/dialog/clonetiler.cpp:2174
msgid "Delete tiled clones"
msgstr "Вилучити мозаїку з клонів"
-#: ../src/ui/dialog/clonetiler.cpp:2229
+#: ../src/ui/dialog/clonetiler.cpp:2227
msgid ""
"If you want to clone several objects, <b>group</b> them and <b>clone the "
"group</b>."
@@ -14505,27 +14503,27 @@ msgstr ""
"Ð”Ð»Ñ ÐºÐ»Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÑ–Ð»ÑŒÐºÐ¾Ñ… об'єктів, <b>згрупуйте</b> Ñ—Ñ… та <b>клонуйте групу</"
"b>."
-#: ../src/ui/dialog/clonetiler.cpp:2238
+#: ../src/ui/dialog/clonetiler.cpp:2236
msgid "<small>Creating tiled clones...</small>"
msgstr "<small>Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¼Ð¾Ð·Ð°Ñ—Ñ‡Ð½Ð¸Ñ… клонів…</small>"
-#: ../src/ui/dialog/clonetiler.cpp:2654
+#: ../src/ui/dialog/clonetiler.cpp:2652
msgid "Create tiled clones"
msgstr "Створити мозаїку з клонів"
-#: ../src/ui/dialog/clonetiler.cpp:2887
+#: ../src/ui/dialog/clonetiler.cpp:2885
msgid "<small>Per row:</small>"
msgstr "<small>Ðа Ñ€Ñдок:</small>"
-#: ../src/ui/dialog/clonetiler.cpp:2905
+#: ../src/ui/dialog/clonetiler.cpp:2903
msgid "<small>Per column:</small>"
msgstr "<small>Ðа Ñтовпчик:</small>"
-#: ../src/ui/dialog/clonetiler.cpp:2913
+#: ../src/ui/dialog/clonetiler.cpp:2911
msgid "<small>Randomize:</small>"
msgstr "<small>ВипадковіÑть:</small>"
-#: ../src/ui/dialog/color-item.cpp:131
+#: ../src/ui/dialog/color-item.cpp:127
#, c-format
msgid ""
"Color: <b>%s</b>; <b>Click</b> to set fill, <b>Shift+click</b> to set stroke"
@@ -14533,47 +14531,47 @@ msgstr ""
"Колір: <b>%s</b>; <b>КлацаннÑ</b> вÑтановить колір заповненнÑ, <b>Shift"
"+КлацаннÑ</b> вÑтановить колір штриха"
-#: ../src/ui/dialog/color-item.cpp:509
+#: ../src/ui/dialog/color-item.cpp:505
msgid "Change color definition"
msgstr "Зміна Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñƒ"
-#: ../src/ui/dialog/color-item.cpp:679
+#: ../src/ui/dialog/color-item.cpp:675
msgid "Remove stroke color"
msgstr "Вилучити колір штриха"
-#: ../src/ui/dialog/color-item.cpp:679
+#: ../src/ui/dialog/color-item.cpp:675
msgid "Remove fill color"
msgstr "Вилучити колір заповненнÑ"
-#: ../src/ui/dialog/color-item.cpp:684
+#: ../src/ui/dialog/color-item.cpp:680
msgid "Set stroke color to none"
msgstr "ЗнÑти колір з штриха"
-#: ../src/ui/dialog/color-item.cpp:684
+#: ../src/ui/dialog/color-item.cpp:680
msgid "Set fill color to none"
msgstr "ЗнÑти колір заповненнÑ"
-#: ../src/ui/dialog/color-item.cpp:702
+#: ../src/ui/dialog/color-item.cpp:698
msgid "Set stroke color from swatch"
msgstr "Ð’Ñтановити колір штриха зі зразків"
-#: ../src/ui/dialog/color-item.cpp:702
+#: ../src/ui/dialog/color-item.cpp:698
msgid "Set fill color from swatch"
msgstr "Ð’Ñтановити колір Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð·Ñ– зразків"
-#: ../src/ui/dialog/debug.cpp:73
+#: ../src/ui/dialog/debug.cpp:69
msgid "Messages"
msgstr "ПовідомленнÑ"
-#: ../src/ui/dialog/debug.cpp:87 ../src/ui/dialog/messages.cpp:47
+#: ../src/ui/dialog/debug.cpp:83 ../src/ui/dialog/messages.cpp:47
msgid "_Clear"
msgstr "О_чиÑтити"
-#: ../src/ui/dialog/debug.cpp:91 ../src/ui/dialog/messages.cpp:48
+#: ../src/ui/dialog/debug.cpp:87 ../src/ui/dialog/messages.cpp:48
msgid "Capture log messages"
msgstr "Перехоплювати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñƒ"
-#: ../src/ui/dialog/debug.cpp:95
+#: ../src/ui/dialog/debug.cpp:91
msgid "Release log messages"
msgstr "Вимкнути Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñƒ"
@@ -14833,11 +14831,11 @@ msgid "Remove selected grid."
msgstr "Вилучити вибрану Ñітку."
#: ../src/ui/dialog/document-properties.cpp:161
-#: ../src/widgets/toolbox.cpp:1836
+#: ../src/widgets/toolbox.cpp:1832
msgid "Guides"
msgstr "ÐапрÑмні"
-#: ../src/ui/dialog/document-properties.cpp:163 ../src/verbs.cpp:2827
+#: ../src/ui/dialog/document-properties.cpp:163 ../src/verbs.cpp:2796
msgid "Snap"
msgstr "ПрилипаннÑ"
@@ -14881,7 +14879,7 @@ msgstr "<b>Інше</b>"
#. Inkscape::GC::release(defsRepr);
#. inform the document, so we can undo
#. Color Management
-#: ../src/ui/dialog/document-properties.cpp:505 ../src/verbs.cpp:3008
+#: ../src/ui/dialog/document-properties.cpp:505 ../src/verbs.cpp:2977
msgid "Link Color Profile"
msgstr "Пов'Ñзати профіль кольорів"
@@ -15005,45 +15003,45 @@ msgstr "<b>СтвореннÑ</b>"
msgid "<b>Defined grids</b>"
msgstr "<b>Визначені Ñітки</b>"
-#: ../src/ui/dialog/document-properties.cpp:1653
+#: ../src/ui/dialog/document-properties.cpp:1654
msgid "Remove grid"
msgstr "Вилучити Ñітку"
-#: ../src/ui/dialog/document-properties.cpp:1741
+#: ../src/ui/dialog/document-properties.cpp:1746
msgid "Changed default display unit"
msgstr "Змінено типову одиницю виміру"
-#: ../src/ui/dialog/export.cpp:151 ../src/verbs.cpp:2879
+#: ../src/ui/dialog/export.cpp:147 ../src/verbs.cpp:2848
msgid "_Page"
msgstr "_Сторінка"
-#: ../src/ui/dialog/export.cpp:151 ../src/verbs.cpp:2883
+#: ../src/ui/dialog/export.cpp:147 ../src/verbs.cpp:2852
msgid "_Drawing"
msgstr "_Малюнок"
-#: ../src/ui/dialog/export.cpp:151 ../src/verbs.cpp:2885
+#: ../src/ui/dialog/export.cpp:147 ../src/verbs.cpp:2854
msgid "_Selection"
msgstr "Поз_начене"
-#: ../src/ui/dialog/export.cpp:151
+#: ../src/ui/dialog/export.cpp:147
msgid "_Custom"
msgstr "_Інше"
-#: ../src/ui/dialog/export.cpp:169 ../src/widgets/measure-toolbar.cpp:99
+#: ../src/ui/dialog/export.cpp:165 ../src/widgets/measure-toolbar.cpp:99
#: ../src/widgets/measure-toolbar.cpp:107
#: ../share/extensions/render_gears.inx.h:6
msgid "Units:"
msgstr "Одиниці:"
-#: ../src/ui/dialog/export.cpp:171
+#: ../src/ui/dialog/export.cpp:167
msgid "_Export As..."
msgstr "_ЕкÑпортувати Ñк…"
-#: ../src/ui/dialog/export.cpp:174
+#: ../src/ui/dialog/export.cpp:170
msgid "B_atch export all selected objects"
msgstr "Па_кетний екÑпорт уÑÑ–Ñ… позначених об'єктів"
-#: ../src/ui/dialog/export.cpp:174
+#: ../src/ui/dialog/export.cpp:170
msgid ""
"Export each selected object into its own PNG file, using export hints if any "
"(caution, overwrites without asking!)"
@@ -15052,88 +15050,88 @@ msgstr ""
"підказки екÑпорту, Ñкщо вони Ñ” (заÑтереженнÑ, Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñ Ð²ÐµÐ´ÐµÑ‚ÑŒÑÑ Ð±ÐµÐ· "
"попередженнÑ!)"
-#: ../src/ui/dialog/export.cpp:176
+#: ../src/ui/dialog/export.cpp:172
msgid "Hide a_ll except selected"
msgstr "С_ховати вÑе за винÑтком позначених"
-#: ../src/ui/dialog/export.cpp:176
+#: ../src/ui/dialog/export.cpp:172
msgid "In the exported image, hide all objects except those that are selected"
msgstr ""
"Ð’ екÑпортованому зображенні приховувати вÑÑ– об'єкти, за винÑтком позначених"
-#: ../src/ui/dialog/export.cpp:177
+#: ../src/ui/dialog/export.cpp:173
msgid "Close when complete"
msgstr "Закрити піÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ"
-#: ../src/ui/dialog/export.cpp:177
+#: ../src/ui/dialog/export.cpp:173
msgid "Once the export completes, close this dialog"
msgstr "ПіÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÐµÐºÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ð¸ це діалогове вікно"
-#: ../src/ui/dialog/export.cpp:179
+#: ../src/ui/dialog/export.cpp:175
msgid "_Export"
msgstr "_ЕкÑпортувати"
-#: ../src/ui/dialog/export.cpp:197
+#: ../src/ui/dialog/export.cpp:193
msgid "<b>Export area</b>"
msgstr "<b>ЕкÑпортувати ділÑнку</b>"
-#: ../src/ui/dialog/export.cpp:236
+#: ../src/ui/dialog/export.cpp:232
msgid "_x0:"
msgstr "_x0:"
-#: ../src/ui/dialog/export.cpp:240
+#: ../src/ui/dialog/export.cpp:236
msgid "x_1:"
msgstr "x_1:"
-#: ../src/ui/dialog/export.cpp:244
+#: ../src/ui/dialog/export.cpp:240
msgid "Wid_th:"
msgstr "Ши_рина:"
-#: ../src/ui/dialog/export.cpp:248
+#: ../src/ui/dialog/export.cpp:244
msgid "_y0:"
msgstr "_y0:"
-#: ../src/ui/dialog/export.cpp:252
+#: ../src/ui/dialog/export.cpp:248
msgid "y_1:"
msgstr "y_1:"
-#: ../src/ui/dialog/export.cpp:256
+#: ../src/ui/dialog/export.cpp:252
msgid "Hei_ght:"
msgstr "Ви_Ñота:"
-#: ../src/ui/dialog/export.cpp:271
+#: ../src/ui/dialog/export.cpp:267
msgid "<b>Image size</b>"
msgstr "<b>Розмір зображеннÑ</b>"
-#: ../src/ui/dialog/export.cpp:289 ../src/ui/dialog/export.cpp:300
+#: ../src/ui/dialog/export.cpp:285 ../src/ui/dialog/export.cpp:296
msgid "pixels at"
msgstr "точок"
-#: ../src/ui/dialog/export.cpp:295
+#: ../src/ui/dialog/export.cpp:291
msgid "dp_i"
msgstr "dp_i"
-#: ../src/ui/dialog/export.cpp:300 ../src/ui/dialog/transformation.cpp:80
-#: ../src/ui/widget/page-sizer.cpp:237
+#: ../src/ui/dialog/export.cpp:296 ../src/ui/dialog/transformation.cpp:76
+#: ../src/ui/widget/page-sizer.cpp:238
msgid "_Height:"
msgstr "_ВиÑота:"
-#: ../src/ui/dialog/export.cpp:308
+#: ../src/ui/dialog/export.cpp:304
#: ../src/ui/dialog/inkscape-preferences.cpp:1443
#: ../src/ui/dialog/inkscape-preferences.cpp:1447
#: ../src/ui/dialog/inkscape-preferences.cpp:1471
msgid "dpi"
msgstr "т/д"
-#: ../src/ui/dialog/export.cpp:316
+#: ../src/ui/dialog/export.cpp:312
msgid "<b>_Filename</b>"
msgstr "<b>_Ðазва файла</b>"
-#: ../src/ui/dialog/export.cpp:358
+#: ../src/ui/dialog/export.cpp:354
msgid "Export the bitmap file with these settings"
msgstr "ЕкÑпортувати файл з цими параметрами"
-#: ../src/ui/dialog/export.cpp:611
+#: ../src/ui/dialog/export.cpp:607
#, c-format
msgid "B_atch export %d selected object"
msgid_plural "B_atch export %d selected objects"
@@ -15141,81 +15139,81 @@ msgstr[0] "Па_кетний екÑпорт %d позначеного об'єкÑ
msgstr[1] "Па_кетний екÑпорт %d позначених об'єктів"
msgstr[2] "Па_кетний екÑпорт %d позначених об'єктів"
-#: ../src/ui/dialog/export.cpp:927
+#: ../src/ui/dialog/export.cpp:923
msgid "Export in progress"
msgstr "Триває екÑпортуваннÑ"
-#: ../src/ui/dialog/export.cpp:1017
+#: ../src/ui/dialog/export.cpp:1013
msgid "No items selected."
msgstr "Ðе позначено жодного пункту."
-#: ../src/ui/dialog/export.cpp:1021 ../src/ui/dialog/export.cpp:1023
+#: ../src/ui/dialog/export.cpp:1017 ../src/ui/dialog/export.cpp:1019
msgid "Exporting %1 files"
msgstr "ЕкÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ %1 файлів"
-#: ../src/ui/dialog/export.cpp:1063 ../src/ui/dialog/export.cpp:1065
+#: ../src/ui/dialog/export.cpp:1060 ../src/ui/dialog/export.cpp:1062
#, c-format
msgid "Exporting file <b>%s</b>..."
msgstr "ЕкÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° <b>%s</b>…"
-#: ../src/ui/dialog/export.cpp:1074 ../src/ui/dialog/export.cpp:1165
+#: ../src/ui/dialog/export.cpp:1071 ../src/ui/dialog/export.cpp:1163
#, c-format
msgid "Could not export to filename %s.\n"
msgstr "Ðе вдаєтьÑÑ ÐµÐºÑпортувати до файла %s.\n"
-#: ../src/ui/dialog/export.cpp:1077
+#: ../src/ui/dialog/export.cpp:1074
#, c-format
msgid "Could not export to filename <b>%s</b>."
msgstr "Ðе вдалоÑÑ ÐµÐºÑпортувати до файла <b>%s</b>."
-#: ../src/ui/dialog/export.cpp:1092
+#: ../src/ui/dialog/export.cpp:1089
#, c-format
msgid "Successfully exported <b>%d</b> files from <b>%d</b> selected items."
msgstr "УÑпішно екÑпортовано <b>%d</b> файлів з <b>%d</b> позначених пунктів."
-#: ../src/ui/dialog/export.cpp:1103
+#: ../src/ui/dialog/export.cpp:1100
msgid "You have to enter a filename."
msgstr "Слід вказати назву файла."
-#: ../src/ui/dialog/export.cpp:1104
+#: ../src/ui/dialog/export.cpp:1101
msgid "You have to enter a filename"
msgstr "Ðеобхідно ввеÑти назву файла"
-#: ../src/ui/dialog/export.cpp:1118
+#: ../src/ui/dialog/export.cpp:1115
msgid "The chosen area to be exported is invalid."
msgstr "Ðекоректна облаÑть Ð´Ð»Ñ ÐµÐºÑпортуваннÑ."
-#: ../src/ui/dialog/export.cpp:1119
+#: ../src/ui/dialog/export.cpp:1116
msgid "The chosen area to be exported is invalid"
msgstr "Ðекоректна облаÑть Ð´Ð»Ñ ÐµÐºÑпорту"
-#: ../src/ui/dialog/export.cpp:1134
+#: ../src/ui/dialog/export.cpp:1131
#, c-format
msgid "Directory %s does not exist or is not a directory.\n"
msgstr "Каталог %s не Ñ–Ñнує, або ж це не каталог.\n"
#. TRANSLATORS: %1 will be the filename, %2 the width, and %3 the height of the image
-#: ../src/ui/dialog/export.cpp:1148 ../src/ui/dialog/export.cpp:1150
+#: ../src/ui/dialog/export.cpp:1145 ../src/ui/dialog/export.cpp:1147
msgid "Exporting %1 (%2 x %3)"
msgstr "ЕкÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ %1 (%2 ⨯ %3)"
-#: ../src/ui/dialog/export.cpp:1176
+#: ../src/ui/dialog/export.cpp:1174
#, c-format
msgid "Drawing exported to <b>%s</b>."
msgstr "Малюнок екÑпортовано до <b>%s</b>."
-#: ../src/ui/dialog/export.cpp:1180
+#: ../src/ui/dialog/export.cpp:1178
msgid "Export aborted."
msgstr "ЕкÑпорт перервано."
-#: ../src/ui/dialog/export.cpp:1301 ../src/ui/interface.cpp:1392
+#: ../src/ui/dialog/export.cpp:1299 ../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:1302 ../src/ui/dialog/input.cpp:1082
-#: ../src/verbs.cpp:2437 ../src/widgets/desktop-widget.cpp:1123
+#: ../src/ui/dialog/export.cpp:1300 ../src/ui/dialog/input.cpp:1082
+#: ../src/verbs.cpp:2406 ../src/widgets/desktop-widget.cpp:1123
msgid "_Save"
msgstr "З_берегти"
@@ -15223,8 +15221,8 @@ msgstr "З_берегти"
msgid "Information"
msgstr "ІнформаціÑ"
-#: ../src/ui/dialog/extension-editor.cpp:82 ../src/verbs.cpp:310
-#: ../src/verbs.cpp:329 ../share/extensions/color_HSL_adjust.inx.h:11
+#: ../src/ui/dialog/extension-editor.cpp:82 ../src/verbs.cpp:309
+#: ../src/verbs.cpp:328 ../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
@@ -15296,36 +15294,36 @@ msgstr "Дозволити переглÑд"
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:783
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:799
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:814
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:282
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:413
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:286
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:417
msgid "All Files"
msgstr "УÑÑ– файли"
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:780
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:796
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:811
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:283
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:287
msgid "All Inkscape Files"
msgstr "УÑÑ– файли Inkscape"
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:787
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:803
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:817
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:284
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:288
msgid "All Images"
msgstr "УÑÑ– зображеннÑ"
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:790
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:806
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:820
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:285
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:289
msgid "All Vectors"
msgstr "Ð’ÑÑ– векторні"
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:793
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:809
#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:823
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:286
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:290
msgid "All Bitmaps"
msgstr "Ð’ÑÑ– раÑтрові"
@@ -15385,8 +15383,8 @@ msgstr "Роздільна здатніÑть (у Ñ‚./дюйм)"
msgid "Document"
msgstr "Документ"
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1541 ../src/verbs.cpp:176
-#: ../src/widgets/desktop-widget.cpp:2000
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1541 ../src/verbs.cpp:175
+#: ../src/widgets/desktop-widget.cpp:2002
#: ../share/extensions/printing_marks.inx.h:18
msgid "Selection"
msgstr "позначене"
@@ -15408,15 +15406,15 @@ msgstr "Cairo"
msgid "Antialias"
msgstr "Плавне змінюваннÑ"
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:414
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:418
msgid "All Executable Files"
msgstr "УÑÑ– виконувані файли"
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:606
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:610
msgid "Show Preview"
msgstr "Показати попередній переглÑд"
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:744
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:748
msgid "No file selected"
msgstr "Ðе вибрано файла"
@@ -15433,7 +15431,7 @@ msgid "Stroke st_yle"
msgstr "С_тиль штриха"
#. TRANSLATORS: this dialog is accessible via menu Filters - Filter editor
-#: ../src/ui/dialog/filter-effects-dialog.cpp:546
+#: ../src/ui/dialog/filter-effects-dialog.cpp:547
msgid ""
"This matrix determines a linear transform on color space. Each line affects "
"one of the color components. Each column determines how much of each color "
@@ -15446,64 +15444,64 @@ msgstr ""
"не залежить від вхідних кольорів, отже, може бути викориÑтаний Ð´Ð»Ñ "
"Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñталого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ компоненті."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:549
+#: ../src/ui/dialog/filter-effects-dialog.cpp:550
#: ../share/extensions/grid_polar.inx.h:4
msgctxt "Label"
msgid "None"
msgstr "Ðемає"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:656
+#: ../src/ui/dialog/filter-effects-dialog.cpp:657
msgid "Image File"
msgstr "Файл зображеннÑ"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:659
+#: ../src/ui/dialog/filter-effects-dialog.cpp:660
msgid "Selected SVG Element"
msgstr "Вибраний елемент SVG"
#. TODO: any image, not just svg
-#: ../src/ui/dialog/filter-effects-dialog.cpp:729
+#: ../src/ui/dialog/filter-effects-dialog.cpp:730
msgid "Select an image to be used as feImage input"
msgstr "Оберіть зображеннÑ, що буде викориÑтано Ñк вхідні дані feImage"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:821
+#: ../src/ui/dialog/filter-effects-dialog.cpp:822
msgid "This SVG filter effect does not require any parameters."
msgstr "Цей примітив ефекту SVG не потребує параметрів."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:827
+#: ../src/ui/dialog/filter-effects-dialog.cpp:828
msgid "This SVG filter effect is not yet implemented in Inkscape."
msgstr "Цей фільтр ефекту SVG ще не реалізовано у Inkscape."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1041
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1042
msgid "Slope"
msgstr "ПерÑпектива"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1042
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1043
msgid "Intercept"
msgstr "Перетин"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1045
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1046
msgid "Amplitude"
msgstr "Ðмплітуда"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1046
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1047
msgid "Exponent"
msgstr "ЕкÑпонента"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1143
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1144
msgid "New transfer function type"
msgstr "Тип нової функції перенеÑеннÑ"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1178
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1179
msgid "Light Source:"
msgstr "Джерело Ñвітла:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1195
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1196
msgid "Direction angle for the light source on the XY plane, in degrees"
msgstr ""
"Кут напрÑмку, під Ñким джерело Ñвітла знаходитьÑÑ Ð²Ñ–Ð´Ð½Ð¾Ñно площини XY (у "
"градуÑах)"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1196
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1197
msgid "Direction angle for the light source on the YZ plane, in degrees"
msgstr ""
"Кут напрÑмку, під Ñким джерело Ñвітла знаходитьÑÑ Ð²Ñ–Ð´Ð½Ð¾Ñно площини YZ (у "
@@ -15512,47 +15510,47 @@ msgstr ""
#. default x:
#. default y:
#. default z:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1199
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1202
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1200
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1203
msgid "Location:"
msgstr "РозташуваннÑ:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1199
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1202
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1205
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1200
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1203
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
msgid "X coordinate"
msgstr "Координата X"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1199
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1202
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1205
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1200
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1203
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
msgid "Y coordinate"
msgstr "Координата Y"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1199
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1202
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1205
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1200
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1203
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
msgid "Z coordinate"
msgstr "Координата Z"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1205
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
msgid "Points At"
msgstr "Вказує на"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1207
msgid "Specular Exponent"
msgstr "Степінь відбиттÑ"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1206
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1207
msgid "Exponent value controlling the focus for the light source"
msgstr "Показник екÑпоненти, що керує фокуÑом джерела Ñвітла"
#. TODO: here I have used 100 degrees as default value. But spec says that if not specified, no limiting cone is applied. So, there should be a way for the user to set a "no limiting cone" option.
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1208
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1209
msgid "Cone Angle"
msgstr "Кут конуÑа"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1208
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1209
msgid ""
"This is the angle between the spot light axis (i.e. the axis between the "
"light source and the point to which it is pointing at) and the spot light "
@@ -15562,111 +15560,111 @@ msgstr ""
"Ñвітла Ñ– точку, на Ñку його ÑпрÑмовано) Ñ– конуÑом прожектора. За межі конуÑа "
"Ñвітло не проектуєтьÑÑ."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1274
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1275
msgid "New light source"
msgstr "Ðове джерело Ñвітла"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1325
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1326
msgid "_Duplicate"
msgstr "_Дублювати"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1359
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1360
msgid "_Filter"
msgstr "_Фільтр"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1379
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1387
msgid "R_ename"
msgstr "Пере_йменувати"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1512
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1521
msgid "Rename filter"
msgstr "Перейменувати фільтр"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1565
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1573
msgid "Apply filter"
msgstr "ЗаÑтоÑувати фільтр"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1635
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1652
msgid "filter"
msgstr "фільтрувати"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1642
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1659
msgid "Add filter"
msgstr "Додати фільтр"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1694
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1709
msgid "Duplicate filter"
msgstr "Дублювати фільтр"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1793
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1808
msgid "_Effect"
msgstr "_Ефект"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1803
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1818
msgid "Connections"
msgstr "З'єднаннÑ"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1941
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1956
msgid "Remove filter primitive"
msgstr "Вилучити примітив фільтра"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2529
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2543
msgid "Remove merge node"
msgstr "Вилучити вузол об'єднаннÑ"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2649
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2663
msgid "Reorder filter primitive"
msgstr "Зміна порÑдку примітивів фільтра"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2729
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2743
msgid "Add Effect:"
msgstr "Додати ефект:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2730
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2744
msgid "No effect selected"
msgstr "Ðе вибрано жодного ефекту"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2731
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2745
msgid "No filter selected"
msgstr "Ðе вибрано жодного фільтра"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2776
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2792
msgid "Effect parameters"
msgstr "Параметри ефекту"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2777
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2793
msgid "Filter General Settings"
msgstr "Загальні параметри фільтра"
#. default x:
#. default y:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2835
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2851
msgid "Coordinates:"
msgstr "Координати:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2835
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2851
msgid "X coordinate of the left corners of filter effects region"
msgstr "Координата X лівих кутів облаÑті дії ефектів фільтра"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2835
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2851
msgid "Y coordinate of the upper corners of filter effects region"
msgstr "Координата X верхніх кутів облаÑті дії ефектів фільтра"
#. default width:
#. default height:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2836
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2852
msgid "Dimensions:"
msgstr "Розміри:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2836
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2852
msgid "Width of filter effects region"
msgstr "Ширина облаÑті дії ефектів фільтра"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2836
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2852
msgid "Height of filter effects region"
msgstr "ВиÑота облаÑті дії ефектів фільтра"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2842
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2858
msgid ""
"Indicates the type of matrix operation. The keyword 'matrix' indicates that "
"a full 5x4 matrix of values will be provided. The other keywords represent "
@@ -15677,40 +15675,40 @@ msgstr ""
"матрицю значень розміром 5×4. Інші варіанти — це проÑтий ÑпоÑіб виконати "
"найпроÑтіші операції без Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ñієї матриці вручну."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2843
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2859
msgid "Value(s):"
msgstr "ЗначеннÑ:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2847
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2863
msgid "R:"
msgstr "Ч:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2848
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2864
#: ../src/widgets/sp-color-icc-selector.cpp:334
msgid "G:"
msgstr "З:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2849
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2865
msgid "B:"
msgstr "С:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2850
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2866
msgid "A:"
msgstr "П:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2853
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2893
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2869
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2909
msgid "Operator:"
msgstr "Оператор:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2854
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2870
msgid "K1:"
msgstr "K1:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2854
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2855
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2856
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2857
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2870
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2871
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2872
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2873
msgid ""
"If the arithmetic operation is chosen, each result pixel is computed using "
"the formula k1*i1*i2 + k2*i1 + k3*i2 + k4 where i1 and i2 are the pixel "
@@ -15720,38 +15718,38 @@ msgstr ""
"за формулою k1*i1*i2 + k2*i1 + k3*i2 + k4, де i1 Ñ– i2 — Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ–ÐºÑелів "
"першого і другого вхідних значень відповідно."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2855
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2871
msgid "K2:"
msgstr "K2:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2856
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2872
msgid "K3:"
msgstr "K3:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2857
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2873
msgid "K4:"
msgstr "K4:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2860
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2876
msgid "Size:"
msgstr "Розмір:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2860
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2876
msgid "width of the convolve matrix"
msgstr "ширина матриці згортки"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2860
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2876
msgid "height of the convolve matrix"
msgstr "виÑота матриці згортки"
#. default x:
#. default y:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2861
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2877
#: ../src/ui/dialog/object-attributes.cpp:48
msgid "Target:"
msgstr "Target:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2861
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2877
msgid ""
"X coordinate of the target point in the convolve matrix. The convolution is "
"applied to pixels around this point."
@@ -15759,7 +15757,7 @@ msgstr ""
"Координата X кінцевої точки матриці згортки. Згортка заÑтоÑовуєтьÑÑ Ð´Ð¾ "
"пікÑелів навколо цієї точки."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2861
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2877
msgid ""
"Y coordinate of the target point in the convolve matrix. The convolution is "
"applied to pixels around this point."
@@ -15768,11 +15766,11 @@ msgstr ""
"пікÑелів навколо цієї точки."
#. TRANSLATORS: for info on "Kernel", see http://en.wikipedia.org/wiki/Kernel_(matrix)
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2863
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2879
msgid "Kernel:"
msgstr "Ядро:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2863
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2879
msgid ""
"This matrix describes the convolve operation that is applied to the input "
"image in order to calculate the pixel colors at the output. Different "
@@ -15787,11 +15785,11 @@ msgstr ""
"у той чаÑ, Ñк матрицÑ, заповнена Ñталим ненульовим значеннÑм даÑть звичайний "
"ефект розмиваннÑ."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2865
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2881
msgid "Divisor:"
msgstr "Дільник:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2865
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2881
msgid ""
"After applying the kernelMatrix to the input image to yield a number, that "
"number is divided by divisor to yield the final destination color value. A "
@@ -15803,11 +15801,11 @@ msgstr ""
"кольору. Дільник, що Ñ” Ñумою вÑÑ–Ñ… значень матриці, приглушує загальну "
"інтенÑивніÑть кольорів оÑтаточного зображеннÑ."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2866
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2882
msgid "Bias:"
msgstr "ЗміщеннÑ:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2866
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2882
msgid ""
"This value is added to each component. This is useful to define a constant "
"value as the zero response of the filter."
@@ -15815,11 +15813,11 @@ msgstr ""
"Це Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ”Ñ‚ÑŒÑÑ Ð´Ð¾ кожного компонента. КориÑно Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ Ñталої, Ñк "
"нульового відгуку фільтра."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2867
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2883
msgid "Edge Mode:"
msgstr "Режим країв:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2867
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2883
msgid ""
"Determines how to extend the input image as necessary with color values so "
"that the matrix operations can be applied when the kernel is positioned at "
@@ -15829,31 +15827,31 @@ msgstr ""
"щоб матричні операції могли працювати з Ñдром, розташованим на краю "
"Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ поблизу нього."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2868
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2884
msgid "Preserve Alpha"
msgstr "Зберігати α-канал"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2868
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2884
msgid "If set, the alpha channel won't be altered by this filter primitive."
msgstr "Якщо вÑтановлено, α-канал не буде змінено цим примітивом фільтра."
#. default: white
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2871
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2887
msgid "Diffuse Color:"
msgstr "Колір дифузії:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2871
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2904
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2887
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2920
msgid "Defines the color of the light source"
msgstr "Визначає колір джерела Ñвітла"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2872
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2905
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2888
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2921
msgid "Surface Scale:"
msgstr "МаÑштаб поверхні:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2872
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2905
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2888
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2921
msgid ""
"This value amplifies the heights of the bump map defined by the input alpha "
"channel"
@@ -15861,59 +15859,59 @@ msgstr ""
"Це Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ” множник виÑоти карти рельєфу, що задаєтьÑÑ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ð¼ α-"
"каналом"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2873
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2906
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2889
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2922
msgid "Constant:"
msgstr "КонÑтанта:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2873
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2906
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2889
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2922
msgid "This constant affects the Phong lighting model."
msgstr "Ð¦Ñ Ñтала ÑтоÑуєтьÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ– оÑÐ²Ñ–Ñ‚Ð»ÐµÐ½Ð½Ñ Ð¤Ð¾Ð½Ð³Ð°"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2874
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2908
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2890
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2924
msgid "Kernel Unit Length:"
msgstr "ÐžÐ´Ð¸Ð½Ð¸Ñ†Ñ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ у Ñдрі:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2878
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2894
msgid "This defines the intensity of the displacement effect."
msgstr "Ð¦Ñ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð° визначає інтенÑивніÑть ефекту зміщеннÑ."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2879
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2895
msgid "X displacement:"
msgstr "Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð° X:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2879
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2895
msgid "Color component that controls the displacement in the X direction"
msgstr "Компонент кольору, що керує зміщеннÑм у напрÑмку оÑÑ– X"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2880
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2896
msgid "Y displacement:"
msgstr "Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð° Y:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2880
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2896
msgid "Color component that controls the displacement in the Y direction"
msgstr "Компонент кольору, що керує зміщеннÑм у напрÑмку оÑÑ– Y"
#. default: black
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2883
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2899
msgid "Flood Color:"
msgstr "Колір заливки:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2883
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2899
msgid "The whole filter region will be filled with this color."
msgstr "Ð’ÑÑŽ облаÑть дії фільтра буде залито цим кольором."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2887
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2903
msgid "Standard Deviation:"
msgstr "Стандартне відхиленнÑ:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2887
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2903
msgid "The standard deviation for the blur operation."
msgstr "Стандартне Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ— розмиваннÑ"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2893
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2909
msgid ""
"Erode: performs \"thinning\" of input image.\n"
"Dilate: performs \"fattenning\" of input image."
@@ -15921,41 +15919,41 @@ msgstr ""
"ЕрозіÑ: виконує «витонченнÑ» вхідного зображеннÑ\n"
"РозтÑгуваннÑ: «потовщує» вхідне зображеннÑ"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2897
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2913
msgid "Source of Image:"
msgstr "Джерело зображеннÑ:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2900
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2916
msgid "Delta X:"
msgstr "Крок за X:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2900
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2916
msgid "This is how far the input image gets shifted to the right"
msgstr "Визначає Ñк далеко вхідне Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ñ‰ÑƒÑ”Ñ‚ÑŒÑÑ Ð¿Ñ€Ð°Ð²Ð¾Ñ€ÑƒÑ‡"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2901
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2917
msgid "Delta Y:"
msgstr "Крок за Y:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2901
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2917
msgid "This is how far the input image gets shifted downwards"
msgstr "Визначає Ñк далеко вхідне Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ñ‰ÑƒÑ”Ñ‚ÑŒÑÑ Ð´Ð¾Ð½Ð¸Ð·Ñƒ"
#. default: white
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2904
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2920
msgid "Specular Color:"
msgstr "Колір відбиттÑ:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2907
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2923
#: ../share/extensions/interp.inx.h:2
msgid "Exponent:"
msgstr "ЕкÑпонента:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2907
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2923
msgid "Exponent for specular term, larger is more \"shiny\"."
msgstr "Степінь відбиттÑ: більше Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð°Ñ” «ÑÑкравіше»."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2916
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2932
msgid ""
"Indicates whether the filter primitive should perform a noise or turbulence "
"function."
@@ -15963,27 +15961,27 @@ msgstr ""
"Позначає чи повинен примітив виконувати функцію ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚ÑƒÑ€Ð±ÑƒÐ»ÐµÐ½Ñ‚Ð½Ð¾Ñті або "
"шуму."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2917
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2933
msgid "Base Frequency:"
msgstr "Опорна чаÑтота:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2918
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2934
msgid "Octaves:"
msgstr "Октави:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2919
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2935
msgid "Seed:"
msgstr "Випадкове значеннÑ:"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2919
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2935
msgid "The starting number for the pseudo random number generator."
msgstr "Початкове чиÑло Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° пÑевдовипадкових чиÑел."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2931
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2947
msgid "Add filter primitive"
msgstr "Додати примітив фільтра"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2948
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2964
msgid ""
"The <b>feBlend</b> filter primitive provides 4 image blending modes: screen, "
"multiply, darken and lighten."
@@ -15991,7 +15989,7 @@ msgstr ""
"Примітив фільтра <b>feBlend</b> надає можливіÑть викориÑтовувати 4 режими "
"змішуваннÑ: проÑвічуваннÑ, множеннÑ, Ñ‚ÐµÐ¼Ð½Ñ–ÑˆÐ°Ð½Ð½Ñ Ñ‚Ð° ÑвітлішаннÑ."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2952
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2968
msgid ""
"The <b>feColorMatrix</b> filter primitive applies a matrix transformation to "
"color of each rendered pixel. This allows for effects like turning object to "
@@ -16001,7 +15999,7 @@ msgstr ""
"кольору до кожної відображеної точки. Ð’Ñе це включає до Ñебе Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ "
"об'єкта до півтонів Ñірого, зміну наÑиченоÑті кольору Ñ– зміну відтінку."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2956
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2972
msgid ""
"The <b>feComponentTransfer</b> filter primitive manipulates the input's "
"color components (red, green, blue, and alpha) according to particular "
@@ -16013,7 +16011,7 @@ msgstr ""
"з окремими функціÑми переходу, роблÑчи можливим операції на зразок "
"Ñ€ÐµÐ³ÑƒÐ»ÑŽÐ²Ð°Ð½Ð½Ñ ÑÑкравоÑті Ñ– контраÑту, Ð±Ð°Ð»Ð°Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñ–Ð² та поÑтеризацію."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2960
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2976
msgid ""
"The <b>feComposite</b> filter primitive composites two images using one of "
"the Porter-Duff blending modes or the arithmetic mode described in SVG "
@@ -16025,7 +16023,7 @@ msgstr ""
"опиÑаного у Ñтандарті SVG. Режими Ð·Ð¼Ñ–ÑˆÑƒÐ²Ð°Ð½Ð½Ñ ÐŸÐ¾Ñ€Ñ‚ÐµÑ€Ð°-Даффа по Ñуті Ñ” "
"булівÑькими операціÑми між значеннÑми кольорів відповідних точок зображень."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2964
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2980
msgid ""
"The <b>feConvolveMatrix</b> lets you specify a Convolution to be applied on "
"the image. Common effects created using convolution matrices are blur, "
@@ -16040,7 +16038,7 @@ msgstr ""
"за допомогою цього примітиву фільтра, оÑобливий примітив фільтра Ð´Ð»Ñ "
"ГауÑового Ñ€Ð¾Ð·Ð¼Ð¸Ð²Ð°Ð½Ð½Ñ Ñ” швидшим та незалежним від роздільної здатноÑті."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2968
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2984
msgid ""
"The <b>feDiffuseLighting</b> and feSpecularLighting filter primitives create "
"\"embossed\" shadings. The input's alpha channel is used to provide depth "
@@ -16052,7 +16050,7 @@ msgstr ""
"викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð³Ð»Ð¸Ð±Ð¸Ð½Ð¸: непрозоріші облаÑті наближаютьÑÑ "
"до глÑдача, а прозоріші — віддалÑютьÑÑ."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2972
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2988
msgid ""
"The <b>feDisplacementMap</b> filter primitive displaces the pixels in the "
"first input using the second input as a displacement map, that shows from "
@@ -16064,7 +16062,7 @@ msgstr ""
"у Ñкому напрÑмку Ñ– на Ñку відÑтань Ñлід зміÑтити точку. КлаÑичними "
"прикладами фільтра Ñ” ефекти «вихор» Ñ– «затиÑканнÑ»."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2976
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2992
msgid ""
"The <b>feFlood</b> filter primitive fills the region with a given color and "
"opacity. It is usually used as an input to other filters to apply color to "
@@ -16074,7 +16072,7 @@ msgstr ""
"непрозоріÑтю. Зазвичай, його викориÑтовують Ñк початковий Ð´Ð»Ñ Ñ–Ð½ÑˆÐ¸Ñ… "
"фільтрів, з метою надати графіці кольору."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2980
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2996
msgid ""
"The <b>feGaussianBlur</b> filter primitive uniformly blurs its input. It is "
"commonly used together with feOffset to create a drop shadow effect."
@@ -16083,7 +16081,7 @@ msgstr ""
"його заÑтоÑовано. Зазвичай, він викориÑтовуєтьÑÑ Ñ€Ð°Ð·Ð¾Ð¼ з feOffset Ð´Ð»Ñ "
"ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐµÑ„ÐµÐºÑ‚Ñƒ Ð²Ñ–Ð´ÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ñ‚Ñ–Ð½Ñ–."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2984
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3000
msgid ""
"The <b>feImage</b> filter primitive fills the region with an external image "
"or another part of the document."
@@ -16091,7 +16089,7 @@ msgstr ""
"Примітив фільтра <b>feImage</b> заливає облаÑть зовнішнім зображеннÑм або "
"іншою чаÑтиною документа."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2988
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3004
msgid ""
"The <b>feMerge</b> filter primitive composites several temporary images "
"inside the filter primitive to a single image. It uses normal alpha "
@@ -16104,7 +16102,7 @@ msgstr ""
"кратне заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð¼Ñ–Ñ‚Ð¸Ð²Ñ–Ð² feBlend у 'звичайному' режимі або кратне "
"заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð¼Ñ–Ñ‚Ð¸Ð²Ñ–Ð² feComposite у 'над'-режимі."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2992
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3008
msgid ""
"The <b>feMorphology</b> filter primitive provides erode and dilate effects. "
"For single-color objects erode makes the object thinner and dilate makes it "
@@ -16114,7 +16112,7 @@ msgstr ""
"ерозії та розширеннÑ. Ð”Ð»Ñ Ð¾Ð´Ð½Ð¾ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ð¾Ð²Ð¸Ñ… об'єктів ÐµÑ€Ð¾Ð·Ñ–Ñ Ñ€Ð¾Ð±Ð¸Ñ‚ÑŒ об'єкт "
"меншим, а Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ â€” більшим."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2996
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3012
msgid ""
"The <b>feOffset</b> filter primitive offsets the image by an user-defined "
"amount. For example, this is useful for drop shadows, where the shadow is in "
@@ -16124,7 +16122,7 @@ msgstr ""
"відÑтань. Це, наприклад, кориÑно Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚Ñ–Ð½ÐµÐ¹, коли тінь "
"розташовано з невеликим зÑувом відноÑно об'єкта, що Ñ—Ñ— відкидає."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3000
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3016
msgid ""
"The <b>feDiffuseLighting</b> and <b>feSpecularLighting</b> filter primitives "
"create \"embossed\" shadings. The input's alpha channel is used to provide "
@@ -16136,14 +16134,14 @@ msgstr ""
"матеріалу, викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð³Ð»Ð¸Ð±Ð¸Ð½Ð¸: непрозоріші облаÑті "
"наближаютьÑÑ Ð´Ð¾ глÑдача, а прозоріші — віддалÑютьÑÑ."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3004
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3020
msgid ""
"The <b>feTile</b> filter primitive tiles a region with its input graphic"
msgstr ""
"Примітив фільтра <b>feTile</b> заповнює облаÑть мозаїкою у формі вхідного "
"графічного зображеннÑ"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3008
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3024
msgid ""
"The <b>feTurbulence</b> filter primitive renders Perlin noise. This kind of "
"noise is useful in simulating several nature phenomena like clouds, fire and "
@@ -16153,11 +16151,11 @@ msgstr ""
"шумів кориÑний Ð´Ð»Ñ Ñ–Ð¼Ñ–Ñ‚Ð°Ñ†Ñ–Ñ— деÑких природних Ñвищ на зразок хмар, полум'Ñ Ñ‚Ð° "
"диму, та під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñкладних текÑтур на зразок мармуру та граніту."
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3027
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3043
msgid "Duplicate filter primitive"
msgstr "Дублювати примітив фільтра"
-#: ../src/ui/dialog/filter-effects-dialog.cpp:3080
+#: ../src/ui/dialog/filter-effects-dialog.cpp:3096
msgid "Set filter primitive attribute"
msgstr "Ð’Ñтановити атрибут примітива фільтра"
@@ -16343,7 +16341,7 @@ msgstr "Спіралі"
msgid "Search spirals"
msgstr "Шукати Ñпіралі"
-#: ../src/ui/dialog/find.cpp:103 ../src/widgets/toolbox.cpp:1737
+#: ../src/ui/dialog/find.cpp:103 ../src/widgets/toolbox.cpp:1733
msgid "Paths"
msgstr "Контури"
@@ -16471,7 +16469,7 @@ msgstr "Виберіть тип об'єкта"
msgid "Select a property"
msgstr "Виберіть влаÑтивіÑть"
-#: ../src/ui/dialog/font-substitution.cpp:87
+#: ../src/ui/dialog/font-substitution.cpp:79
msgid ""
"\n"
"Some fonts are not available and have been substituted."
@@ -16479,19 +16477,19 @@ msgstr ""
"\n"
"ДеÑких шрифтів не знайдено, тому ці шрифти було замінено."
-#: ../src/ui/dialog/font-substitution.cpp:90
+#: ../src/ui/dialog/font-substitution.cpp:82
msgid "Font substitution"
msgstr "Заміна шрифтів"
-#: ../src/ui/dialog/font-substitution.cpp:109
+#: ../src/ui/dialog/font-substitution.cpp:101
msgid "Select all the affected items"
msgstr "Позначити вÑÑ– задіÑні елементи"
-#: ../src/ui/dialog/font-substitution.cpp:114
+#: ../src/ui/dialog/font-substitution.cpp:106
msgid "Don't show this warning again"
msgstr "Більше не показувати це попередженнÑ"
-#: ../src/ui/dialog/font-substitution.cpp:255
+#: ../src/ui/dialog/font-substitution.cpp:245
msgid "Font '%1' substituted with '%2'"
msgstr "Шрифт «%1» замінено шрифтом «%2»"
@@ -17216,7 +17214,7 @@ msgstr "Діапазон: "
msgid "Append"
msgstr "Додати"
-#: ../src/ui/dialog/glyphs.cpp:618
+#: ../src/ui/dialog/glyphs.cpp:619
msgid "Append text"
msgstr "Додати текÑÑ‚"
@@ -17224,76 +17222,78 @@ msgstr "Додати текÑÑ‚"
msgid "Arrange in a grid"
msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ñітці"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:578
+#: ../src/ui/dialog/grid-arrange-tab.cpp:577
#: ../src/ui/dialog/object-attributes.cpp:66
#: ../src/ui/dialog/object-attributes.cpp:75
-#: ../src/widgets/desktop-widget.cpp:666 ../src/widgets/node-toolbar.cpp:581
+#: ../src/ui/widget/page-sizer.cpp:247 ../src/widgets/desktop-widget.cpp:666
+#: ../src/widgets/node-toolbar.cpp:581
msgid "X:"
msgstr "X:"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:578
+#: ../src/ui/dialog/grid-arrange-tab.cpp:577
msgid "Horizontal spacing between columns."
msgstr "Горизонтальний інтервал між Ñтовпчиками."
-#: ../src/ui/dialog/grid-arrange-tab.cpp:579
+#: ../src/ui/dialog/grid-arrange-tab.cpp:578
#: ../src/ui/dialog/object-attributes.cpp:67
#: ../src/ui/dialog/object-attributes.cpp:76
-#: ../src/widgets/desktop-widget.cpp:676 ../src/widgets/node-toolbar.cpp:599
+#: ../src/ui/widget/page-sizer.cpp:248 ../src/widgets/desktop-widget.cpp:676
+#: ../src/widgets/node-toolbar.cpp:599
msgid "Y:"
msgstr "Y:"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:579
+#: ../src/ui/dialog/grid-arrange-tab.cpp:578
msgid "Vertical spacing between rows."
msgstr "Вертикальний проміжок між Ñ€Ñдками."
-#: ../src/ui/dialog/grid-arrange-tab.cpp:626
+#: ../src/ui/dialog/grid-arrange-tab.cpp:624
msgid "_Rows:"
msgstr "_РÑдків:"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:635
+#: ../src/ui/dialog/grid-arrange-tab.cpp:633
msgid "Number of rows"
msgstr "КількіÑть Ñ€Ñдків"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:639
+#: ../src/ui/dialog/grid-arrange-tab.cpp:637
msgid "Equal _height"
msgstr "Однакова _виÑота"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:650
+#: ../src/ui/dialog/grid-arrange-tab.cpp:648
msgid "If not set, each row has the height of the tallest object in it"
msgstr ""
"Якщо не відмічено, виÑота кожного Ñ€Ñдка дорівнює виÑоті найвищого об'єкта в "
"ньому"
#. #### Number of columns ####
-#: ../src/ui/dialog/grid-arrange-tab.cpp:666
+#: ../src/ui/dialog/grid-arrange-tab.cpp:664
msgid "_Columns:"
msgstr "Ст_овпчиків:"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:675
+#: ../src/ui/dialog/grid-arrange-tab.cpp:673
msgid "Number of columns"
msgstr "КількіÑть Ñтовпчиків"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:679
+#: ../src/ui/dialog/grid-arrange-tab.cpp:677
msgid "Equal _width"
msgstr "О_днакова ширина"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:689
+#: ../src/ui/dialog/grid-arrange-tab.cpp:687
msgid "If not set, each column has the width of the widest object in it"
msgstr ""
"Якщо не відмічено, ширина кожного Ñтовпчика дорівнює ширині найширшого "
"об'єкта в ньому"
#. Anchor selection widget
-#: ../src/ui/dialog/grid-arrange-tab.cpp:700
+#: ../src/ui/dialog/grid-arrange-tab.cpp:698
msgid "Alignment:"
msgstr "ВирівнюваннÑ:"
#. #### Radio buttons to control spacing manually or to fit selection bbox ####
-#: ../src/ui/dialog/grid-arrange-tab.cpp:709
+#: ../src/ui/dialog/grid-arrange-tab.cpp:707
msgid "_Fit into selection box"
msgstr "З_берегти ширину та виÑоту позначеннÑ"
-#: ../src/ui/dialog/grid-arrange-tab.cpp:716
+#: ../src/ui/dialog/grid-arrange-tab.cpp:714
msgid "_Set spacing:"
msgstr "Ð’Ñ_тановити інтервал:"
@@ -17345,25 +17345,25 @@ msgstr "Ід. напрÑмної: %s"
msgid "Current: %s"
msgstr "Поточний: %s"
-#: ../src/ui/dialog/icon-preview.cpp:159
+#: ../src/ui/dialog/icon-preview.cpp:155
#, c-format
msgid "%d x %d"
msgstr "%d x %d"
-#: ../src/ui/dialog/icon-preview.cpp:171
+#: ../src/ui/dialog/icon-preview.cpp:167
msgid "Magnified:"
msgstr "Збільшена:"
-#: ../src/ui/dialog/icon-preview.cpp:240
+#: ../src/ui/dialog/icon-preview.cpp:236
msgid "Actual Size:"
msgstr "Фактичні розміри:"
-#: ../src/ui/dialog/icon-preview.cpp:245
+#: ../src/ui/dialog/icon-preview.cpp:241
msgctxt "Icon preview window"
msgid "Sele_ction"
msgstr "Позна_ченнÑ"
-#: ../src/ui/dialog/icon-preview.cpp:247
+#: ../src/ui/dialog/icon-preview.cpp:243
msgid "Selection only or whole document"
msgstr "Лише вибране або веÑÑŒ документ"
@@ -17718,7 +17718,7 @@ msgid "Zoom"
msgstr "МаÑштаб"
#. Measure
-#: ../src/ui/dialog/inkscape-preferences.cpp:390 ../src/verbs.cpp:2761
+#: ../src/ui/dialog/inkscape-preferences.cpp:390 ../src/verbs.cpp:2730
msgctxt "ContextVerb"
msgid "Measure"
msgstr "Міра"
@@ -17783,7 +17783,7 @@ msgstr ""
"знімаєтьÑÑ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ” позначеннÑ)"
#. Text
-#: ../src/ui/dialog/inkscape-preferences.cpp:448 ../src/verbs.cpp:2753
+#: ../src/ui/dialog/inkscape-preferences.cpp:448 ../src/verbs.cpp:2722
msgctxt "ContextVerb"
msgid "Text"
msgstr "ТекÑÑ‚"
@@ -19922,7 +19922,7 @@ msgid "Rendering"
msgstr "Обробка"
#. Note: /options/bitmapoversample removed with Cairo renderer
-#: ../src/ui/dialog/inkscape-preferences.cpp:1434 ../src/verbs.cpp:157
+#: ../src/ui/dialog/inkscape-preferences.cpp:1434 ../src/verbs.cpp:156
#: ../src/widgets/calligraphy-toolbar.cpp:626
msgid "Edit"
msgstr "Змінити"
@@ -19941,7 +19941,7 @@ msgid "_Bitmap editor:"
msgstr "_РаÑтровий редактор:"
#: ../src/ui/dialog/inkscape-preferences.cpp:1441
-#: ../share/extensions/guillotine.inx.h:5 ../share/extensions/plotter.inx.h:57
+#: ../share/extensions/guillotine.inx.h:5 ../share/extensions/plotter.inx.h:67
#: ../share/extensions/print_win32_vector.inx.h:2
msgid "Export"
msgstr "ЕкÑпорт"
@@ -20043,7 +20043,7 @@ msgid "Shortcut"
msgstr "СкороченнÑ"
#: ../src/ui/dialog/inkscape-preferences.cpp:1513
-#: ../src/ui/widget/page-sizer.cpp:260
+#: ../src/ui/widget/page-sizer.cpp:285
msgid "Description"
msgstr "ОпиÑ"
@@ -20051,7 +20051,7 @@ msgstr "ОпиÑ"
#: ../src/ui/dialog/pixelartdialog.cpp:296
#: ../src/ui/dialog/svg-fonts-dialog.cpp:699
#: ../src/ui/dialog/tracedialog.cpp:813
-#: ../src/ui/widget/preferences-widget.cpp:749
+#: ../src/ui/widget/preferences-widget.cpp:745
msgid "Reset"
msgstr "Скинути"
@@ -20378,8 +20378,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:195
-#: ../src/verbs.cpp:2368
+#: ../src/ui/dialog/layer-properties.cpp:410 ../src/verbs.cpp:194
+#: ../src/verbs.cpp:2337
msgid "Layer"
msgstr "Шар"
@@ -20413,8 +20413,8 @@ 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:112
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:116
+#: ../src/ui/dialog/transformation.cpp:108
msgid "_Move"
msgstr "_ПереміщеннÑ"
@@ -20435,12 +20435,12 @@ msgid "Unlock layer"
msgstr "Розблокувати шар"
#: ../src/ui/dialog/layers.cpp:624 ../src/ui/dialog/objects.cpp:843
-#: ../src/verbs.cpp:1438
+#: ../src/verbs.cpp:1407
msgid "Toggle layer solo"
msgstr "Увімкнути або вимкнути Ñоло шару"
#: ../src/ui/dialog/layers.cpp:627 ../src/ui/dialog/objects.cpp:846
-#: ../src/verbs.cpp:1462
+#: ../src/verbs.cpp:1431
msgid "Lock other layers"
msgstr "Заблокувати інші шари"
@@ -20547,43 +20547,43 @@ msgstr "ЗадіÑти ефект контуру"
msgid "Deactivate path effect"
msgstr "Вимкнути ефект контуру"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:57
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:52
msgid "Radius (pixels):"
msgstr "Ð Ð°Ð´Ñ–ÑƒÑ (у пк):"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:69
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:64
msgid "Chamfer subdivisions:"
msgstr "Піделементи фаÑки:"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:144
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:135
msgid "Modify Fillet-Chamfer"
msgstr "Змінити кромку/фаÑку"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:145
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:136
msgid "_Modify"
msgstr "З_мінити"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:210
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:200
msgid "Radius"
msgstr "РадіуÑ"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:212
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:202
msgid "Radius approximated"
msgstr "Приблизний радіуÑ"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:215
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:205
msgid "Knot distance"
msgstr "ВідÑтань від вузла"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:222
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:212
msgid "Position (%):"
msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ (%):"
-#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:225
-msgid "%1 (%2):"
-msgstr "%1 (%2):"
+#: ../src/ui/dialog/lpe-fillet-chamfer-properties.cpp:215
+msgid "%1:"
+msgstr "%1:"
-#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:119
+#: ../src/ui/dialog/lpe-powerstroke-properties.cpp:115
msgid "Modify Node Position"
msgstr "Змінити позицію вузла"
@@ -20745,8 +20745,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:2711
-#: ../src/verbs.cpp:2717
+#: ../src/ui/dialog/object-properties.cpp:325 ../src/verbs.cpp:2680
+#: ../src/verbs.cpp:2686
msgid "_Set"
msgstr "_Ð’Ñтановити"
@@ -20828,8 +20828,8 @@ msgstr "Групу на шар"
msgid "Moved objects"
msgstr "ПереÑунуті об’єкти"
-#: ../src/ui/dialog/objects.cpp:1352 ../src/ui/dialog/tags.cpp:856
-#: ../src/ui/dialog/tags.cpp:863
+#: ../src/ui/dialog/objects.cpp:1352 ../src/ui/dialog/tags.cpp:857
+#: ../src/ui/dialog/tags.cpp:864
msgid "Rename object"
msgstr "Перейменувати об'єкт"
@@ -21116,11 +21116,11 @@ msgstr "Кут X/Y:"
msgid "Rotate objects"
msgstr "ÐžÐ±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ñ–Ð²"
-#: ../src/ui/dialog/polar-arrange-tab.cpp:338
+#: ../src/ui/dialog/polar-arrange-tab.cpp:336
msgid "Couldn't find an ellipse in selection"
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ ÐµÐ»Ñ–Ð¿Ñ Ñƒ позначеному"
-#: ../src/ui/dialog/polar-arrange-tab.cpp:403
+#: ../src/ui/dialog/polar-arrange-tab.cpp:399
msgid "Arrange on ellipse"
msgstr "Компонувати за еліпÑом"
@@ -21384,7 +21384,7 @@ msgstr "ПереглÑд текÑту:"
#: ../src/ui/dialog/swatches.cpp:202 ../src/ui/tools/gradient-tool.cpp:360
#: ../src/ui/tools/gradient-tool.cpp:458
-#: ../src/widgets/gradient-vector.cpp:794
+#: ../src/widgets/gradient-vector.cpp:795
msgid "Add gradient stop"
msgstr "Ð”Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð¾Ð¿Ð¾Ñ€Ð½Ð¾Ñ— точки градієнта"
@@ -21412,69 +21412,69 @@ msgid "Palettes directory (%s) is unavailable."
msgstr "Каталог з палітрами (%s) недоÑтупний."
#. ******************* Symbol Sets ************************
-#: ../src/ui/dialog/symbols.cpp:139
+#: ../src/ui/dialog/symbols.cpp:135
msgid "Symbol set: "
msgstr "Ðабір Ñимволів: "
#. Fill in later
-#: ../src/ui/dialog/symbols.cpp:148 ../src/ui/dialog/symbols.cpp:149
+#: ../src/ui/dialog/symbols.cpp:144 ../src/ui/dialog/symbols.cpp:145
msgid "Current Document"
msgstr "Поточний документ"
-#: ../src/ui/dialog/symbols.cpp:216
+#: ../src/ui/dialog/symbols.cpp:212
msgid "Add Symbol from the current document."
msgstr "Додати Ñимвол до поточного документа."
-#: ../src/ui/dialog/symbols.cpp:225
+#: ../src/ui/dialog/symbols.cpp:221
msgid "Remove Symbol from the current document."
msgstr "Вилучити Ñимвол з поточного документа."
-#: ../src/ui/dialog/symbols.cpp:239
+#: ../src/ui/dialog/symbols.cpp:235
msgid "Display more icons in row."
msgstr "Показувати більше піктограм у Ñ€Ñдку."
-#: ../src/ui/dialog/symbols.cpp:248
+#: ../src/ui/dialog/symbols.cpp:244
msgid "Display fewer icons in row."
msgstr "Показувати менше піктограм у Ñ€Ñдку."
-#: ../src/ui/dialog/symbols.cpp:258
+#: ../src/ui/dialog/symbols.cpp:254
msgid "Toggle 'fit' symbols in icon space."
msgstr "Вмикати/Вимикати Ñимволи Ð¿Ñ–Ð´Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ–Ð² у проÑторі піктограм."
-#: ../src/ui/dialog/symbols.cpp:270
+#: ../src/ui/dialog/symbols.cpp:266
msgid "Make symbols smaller by zooming out."
msgstr "Робити позначки меншими зменшеннÑм маÑштабу."
-#: ../src/ui/dialog/symbols.cpp:280
+#: ../src/ui/dialog/symbols.cpp:276
msgid "Make symbols bigger by zooming in."
msgstr "Робити позначки більшими збільшеннÑм маÑштабу."
-#: ../src/ui/dialog/symbols.cpp:641
+#: ../src/ui/dialog/symbols.cpp:637
msgid "Unnamed Symbols"
msgstr "Символи без назв"
-#: ../src/ui/dialog/tags.cpp:274 ../src/ui/dialog/tags.cpp:572
-#: ../src/ui/dialog/tags.cpp:686
+#: ../src/ui/dialog/tags.cpp:274 ../src/ui/dialog/tags.cpp:573
+#: ../src/ui/dialog/tags.cpp:687
msgid "Remove from selection set"
msgstr "Вилучити із набору позначеного"
-#: ../src/ui/dialog/tags.cpp:430
+#: ../src/ui/dialog/tags.cpp:431
msgid "Items"
msgstr "Елементи"
-#: ../src/ui/dialog/tags.cpp:669
+#: ../src/ui/dialog/tags.cpp:670
msgid "Add selection to set"
msgstr "Додати позначене до набору"
-#: ../src/ui/dialog/tags.cpp:827
+#: ../src/ui/dialog/tags.cpp:828
msgid "Moved sets"
msgstr "ПереÑунуті набори"
-#: ../src/ui/dialog/tags.cpp:997
+#: ../src/ui/dialog/tags.cpp:998
msgid "Add a new selection set"
msgstr "Додати новий набір позначеного"
-#: ../src/ui/dialog/tags.cpp:1006
+#: ../src/ui/dialog/tags.cpp:1007
msgid "Remove Item/Set"
msgstr "Вилучити елемент або набір"
@@ -21511,31 +21511,31 @@ msgid "AaBbCcIiPpQq12369$€¢?.;/()"
msgstr "ÐаБбВвЇїЄєÒÒ‘IiPpQq12369$€¢?.;/()"
#. Align buttons
-#: ../src/ui/dialog/text-edit.cpp:96 ../src/widgets/text-toolbar.cpp:1333
-#: ../src/widgets/text-toolbar.cpp:1334
+#: ../src/ui/dialog/text-edit.cpp:96 ../src/widgets/text-toolbar.cpp:1339
+#: ../src/widgets/text-toolbar.cpp:1340
msgid "Align left"
msgstr "Ð’Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ð»Ñ–Ð²Ð¾Ñ€ÑƒÑ‡"
-#: ../src/ui/dialog/text-edit.cpp:97 ../src/widgets/text-toolbar.cpp:1341
-#: ../src/widgets/text-toolbar.cpp:1342
+#: ../src/ui/dialog/text-edit.cpp:97 ../src/widgets/text-toolbar.cpp:1347
+#: ../src/widgets/text-toolbar.cpp:1348
msgid "Align center"
msgstr "ПоÑередині"
-#: ../src/ui/dialog/text-edit.cpp:98 ../src/widgets/text-toolbar.cpp:1349
-#: ../src/widgets/text-toolbar.cpp:1350
+#: ../src/ui/dialog/text-edit.cpp:98 ../src/widgets/text-toolbar.cpp:1355
+#: ../src/widgets/text-toolbar.cpp:1356
msgid "Align right"
msgstr "Ð’Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¾Ñ€ÑƒÑ‡"
-#: ../src/ui/dialog/text-edit.cpp:99 ../src/widgets/text-toolbar.cpp:1358
+#: ../src/ui/dialog/text-edit.cpp:99 ../src/widgets/text-toolbar.cpp:1364
msgid "Justify (only flowed text)"
msgstr "ВирівнÑти раз шириною (лише неконтурний текÑÑ‚)"
#. Direction buttons
-#: ../src/ui/dialog/text-edit.cpp:108 ../src/widgets/text-toolbar.cpp:1393
+#: ../src/ui/dialog/text-edit.cpp:108 ../src/widgets/text-toolbar.cpp:1399
msgid "Horizontal text"
msgstr "Горизонтальний текÑÑ‚"
-#: ../src/ui/dialog/text-edit.cpp:109 ../src/widgets/text-toolbar.cpp:1400
+#: ../src/ui/dialog/text-edit.cpp:109 ../src/widgets/text-toolbar.cpp:1406
msgid "Vertical text"
msgstr "Вертикальний текÑÑ‚"
@@ -21547,7 +21547,7 @@ msgstr "Інтервал між Ñ€Ñдками (у відÑотках щодо Ñ
msgid "Text path offset"
msgstr "ВідÑтуп текÑту від контуру"
-#: ../src/ui/dialog/text-edit.cpp:586 ../src/ui/dialog/text-edit.cpp:660
+#: ../src/ui/dialog/text-edit.cpp:584 ../src/ui/dialog/text-edit.cpp:658
#: ../src/ui/tools/text-tool.cpp:1446
msgid "Set text style"
msgstr "Ð’Ñтановити Ñтиль текÑту"
@@ -21821,42 +21821,42 @@ msgstr "Попередній переглÑд без фактичної вект
msgid "Preview"
msgstr "ПереглÑд"
-#: ../src/ui/dialog/transformation.cpp:74
-#: ../src/ui/dialog/transformation.cpp:84
+#: ../src/ui/dialog/transformation.cpp:70
+#: ../src/ui/dialog/transformation.cpp:80
msgid "_Horizontal:"
msgstr "_Горизонтальне:"
-#: ../src/ui/dialog/transformation.cpp:74
+#: ../src/ui/dialog/transformation.cpp:70
msgid "Horizontal displacement (relative) or position (absolute)"
msgstr "Горизонтальний зÑув (відноÑний) або Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ (абÑолютна)"
-#: ../src/ui/dialog/transformation.cpp:76
-#: ../src/ui/dialog/transformation.cpp:86
+#: ../src/ui/dialog/transformation.cpp:72
+#: ../src/ui/dialog/transformation.cpp:82
msgid "_Vertical:"
msgstr "_Вертикальний:"
-#: ../src/ui/dialog/transformation.cpp:76
+#: ../src/ui/dialog/transformation.cpp:72
msgid "Vertical displacement (relative) or position (absolute)"
msgstr "Вертикальний зÑув (відноÑний) або Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ (абÑолютна)"
-#: ../src/ui/dialog/transformation.cpp:78
+#: ../src/ui/dialog/transformation.cpp:74
msgid "Horizontal size (absolute or percentage of current)"
msgstr "Горизонтальний розмір (абÑолютний або у відÑотках до поточного)"
-#: ../src/ui/dialog/transformation.cpp:80
+#: ../src/ui/dialog/transformation.cpp:76
msgid "Vertical size (absolute or percentage of current)"
msgstr "Вертикальний розмір (абÑолютний або у відÑотках до поточного)"
-#: ../src/ui/dialog/transformation.cpp:82
+#: ../src/ui/dialog/transformation.cpp:78
msgid "A_ngle:"
msgstr "_Кут:"
-#: ../src/ui/dialog/transformation.cpp:82
+#: ../src/ui/dialog/transformation.cpp:78
#: ../src/ui/dialog/transformation.cpp:1103
msgid "Rotation angle (positive = counterclockwise)"
msgstr "Кут повороту (додатній = проти годинникової Ñтрілки)"
-#: ../src/ui/dialog/transformation.cpp:84
+#: ../src/ui/dialog/transformation.cpp:80
msgid ""
"Horizontal skew angle (positive = counterclockwise), or absolute "
"displacement, or percentage displacement"
@@ -21864,7 +21864,7 @@ msgstr ""
"Кут горизонтального ухилу (додатній = проти годинникової Ñтрілки), або "
"абÑолютне зміщеннÑ, або відÑоткове зміщеннÑ"
-#: ../src/ui/dialog/transformation.cpp:86
+#: ../src/ui/dialog/transformation.cpp:82
msgid ""
"Vertical skew angle (positive = counterclockwise), or absolute displacement, "
"or percentage displacement"
@@ -21872,35 +21872,35 @@ msgstr ""
"Кут вертикального ухилу (додатній = проти годинникової Ñтрілки), або "
"абÑолютне зміщеннÑ, або відÑоткове зміщеннÑ"
-#: ../src/ui/dialog/transformation.cpp:89
+#: ../src/ui/dialog/transformation.cpp:85
msgid "Transformation matrix element A"
msgstr "Елемент матриці транÑформації A"
-#: ../src/ui/dialog/transformation.cpp:90
+#: ../src/ui/dialog/transformation.cpp:86
msgid "Transformation matrix element B"
msgstr "Елемент матриці транÑформації B"
-#: ../src/ui/dialog/transformation.cpp:91
+#: ../src/ui/dialog/transformation.cpp:87
msgid "Transformation matrix element C"
msgstr "Елемент матриці транÑформації C"
-#: ../src/ui/dialog/transformation.cpp:92
+#: ../src/ui/dialog/transformation.cpp:88
msgid "Transformation matrix element D"
msgstr "Елемент матриці транÑформації D"
-#: ../src/ui/dialog/transformation.cpp:93
+#: ../src/ui/dialog/transformation.cpp:89
msgid "Transformation matrix element E"
msgstr "Елемент матриці транÑформації E"
-#: ../src/ui/dialog/transformation.cpp:94
+#: ../src/ui/dialog/transformation.cpp:90
msgid "Transformation matrix element F"
msgstr "Елемент матриці транÑформації F"
-#: ../src/ui/dialog/transformation.cpp:99
+#: ../src/ui/dialog/transformation.cpp:95
msgid "Rela_tive move"
msgstr "Відно_Ñне переміщеннÑ"
-#: ../src/ui/dialog/transformation.cpp:99
+#: ../src/ui/dialog/transformation.cpp:95
msgid ""
"Add the specified relative displacement to the current position; otherwise, "
"edit the current absolute position directly"
@@ -21908,19 +21908,19 @@ msgstr ""
"Додати задане відноÑне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð´Ð¾ поточної позиції; або відредагуйте "
"поточну абÑолютну позицію напрÑму"
-#: ../src/ui/dialog/transformation.cpp:100
+#: ../src/ui/dialog/transformation.cpp:96
msgid "_Scale proportionally"
msgstr "МаÑ_штабувати пропорційно"
-#: ../src/ui/dialog/transformation.cpp:100
+#: ../src/ui/dialog/transformation.cpp:96
msgid "Preserve the width/height ratio of the scaled objects"
msgstr "Зберегти ÑÐ¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð°/виÑота Ð´Ð»Ñ Ð¼Ð°Ñштабованих об'єктів"
-#: ../src/ui/dialog/transformation.cpp:101
+#: ../src/ui/dialog/transformation.cpp:97
msgid "Apply to each _object separately"
msgstr "ЗаÑтоÑувати до кожного о_б'єкта окремо"
-#: ../src/ui/dialog/transformation.cpp:101
+#: ../src/ui/dialog/transformation.cpp:97
msgid ""
"Apply the scale/rotate/skew to each selected object separately; otherwise, "
"transform the selection as a whole"
@@ -21929,11 +21929,11 @@ msgstr ""
"позначеного об'єкта; інакше Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð±ÑƒÐ´Ðµ заÑтоÑовано до позначеного "
"об'єкта цілком"
-#: ../src/ui/dialog/transformation.cpp:102
+#: ../src/ui/dialog/transformation.cpp:98
msgid "Edit c_urrent matrix"
msgstr "Редагувати по_точну матрицю"
-#: ../src/ui/dialog/transformation.cpp:102
+#: ../src/ui/dialog/transformation.cpp:98
msgid ""
"Edit the current transform= matrix; otherwise, post-multiply transform= by "
"this matrix"
@@ -21941,45 +21941,45 @@ msgstr ""
"Редагувати поточний transform= матрицю; інакше transform= буде помножено на "
"цю матрицю"
-#: ../src/ui/dialog/transformation.cpp:115
+#: ../src/ui/dialog/transformation.cpp:111
msgid "_Scale"
msgstr "_МаÑштаб"
-#: ../src/ui/dialog/transformation.cpp:118
+#: ../src/ui/dialog/transformation.cpp:114
msgid "_Rotate"
msgstr "_ОбертаннÑ"
-#: ../src/ui/dialog/transformation.cpp:121
+#: ../src/ui/dialog/transformation.cpp:117
msgid "Ske_w"
msgstr "_Ðахил"
-#: ../src/ui/dialog/transformation.cpp:124
+#: ../src/ui/dialog/transformation.cpp:120
msgid "Matri_x"
msgstr "Матри_цÑ"
-#: ../src/ui/dialog/transformation.cpp:148
+#: ../src/ui/dialog/transformation.cpp:144
msgid "Reset the values on the current tab to defaults"
msgstr "Змінити величини у поточній вкладці на типові"
-#: ../src/ui/dialog/transformation.cpp:155
+#: ../src/ui/dialog/transformation.cpp:151
msgid "Apply transformation to selection"
msgstr "ЗаÑтоÑувати Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð¾ позначених об'єктів"
-#: ../src/ui/dialog/transformation.cpp:331
+#: ../src/ui/dialog/transformation.cpp:327
msgid "Rotate in a counterclockwise direction"
msgstr "Обернути проти годинникової Ñтрілки"
-#: ../src/ui/dialog/transformation.cpp:337
+#: ../src/ui/dialog/transformation.cpp:333
msgid "Rotate in a clockwise direction"
msgstr "Обернути за годинниковою Ñтрілкою"
-#: ../src/ui/dialog/transformation.cpp:907
-#: ../src/ui/dialog/transformation.cpp:918
-#: ../src/ui/dialog/transformation.cpp:932
-#: ../src/ui/dialog/transformation.cpp:951
-#: ../src/ui/dialog/transformation.cpp:962
-#: ../src/ui/dialog/transformation.cpp:972
-#: ../src/ui/dialog/transformation.cpp:996
+#: ../src/ui/dialog/transformation.cpp:906
+#: ../src/ui/dialog/transformation.cpp:917
+#: ../src/ui/dialog/transformation.cpp:931
+#: ../src/ui/dialog/transformation.cpp:950
+#: ../src/ui/dialog/transformation.cpp:961
+#: ../src/ui/dialog/transformation.cpp:971
+#: ../src/ui/dialog/transformation.cpp:995
msgid "Transform matrix is singular, <b>not used</b>."
msgstr "ÐœÐ°Ñ‚Ñ€Ð¸Ñ†Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ” виродженою, <b>не викориÑтовуємо Ñ—Ñ—</b>."
@@ -22185,7 +22185,7 @@ msgid "Enter group #%1"
msgstr "Увійти до групи №%1"
#. Item dialog
-#: ../src/ui/interface.cpp:1641 ../src/verbs.cpp:2932
+#: ../src/ui/interface.cpp:1641 ../src/verbs.cpp:2901
msgid "_Object Properties..."
msgstr "Ð’_лаÑтивоÑті об'єкта…"
@@ -22258,7 +22258,7 @@ msgid "Release C_lip"
msgstr "Зн_Ñти обрізаннÑ"
#. Group
-#: ../src/ui/interface.cpp:1790 ../src/verbs.cpp:2565
+#: ../src/ui/interface.cpp:1790 ../src/verbs.cpp:2534
msgid "_Group"
msgstr "З_групувати"
@@ -22267,78 +22267,78 @@ msgid "Create link"
msgstr "Створити поÑиланнÑ"
#. Ungroup
-#: ../src/ui/interface.cpp:1896 ../src/verbs.cpp:2567
+#: ../src/ui/interface.cpp:1896 ../src/verbs.cpp:2536
msgid "_Ungroup"
msgstr "Розгр_упувати"
#. Link dialog
-#: ../src/ui/interface.cpp:1921
+#: ../src/ui/interface.cpp:1920
msgid "Link _Properties..."
msgstr "Ð’_лаÑтивоÑті поÑиланнÑ…"
#. Select item
-#: ../src/ui/interface.cpp:1927
+#: ../src/ui/interface.cpp:1926
msgid "_Follow Link"
msgstr "_Перейти за поÑиланнÑм"
#. Reset transformations
-#: ../src/ui/interface.cpp:1933
+#: ../src/ui/interface.cpp:1932
msgid "_Remove Link"
msgstr "Ви_лучити поÑиланнÑ"
-#: ../src/ui/interface.cpp:1964
+#: ../src/ui/interface.cpp:1963
msgid "Remove link"
msgstr "Вилучити прив'Ñзку"
#. Image properties
-#: ../src/ui/interface.cpp:1975
+#: ../src/ui/interface.cpp:1973
msgid "Image _Properties..."
msgstr "Ð’_лаÑтивоÑті зображеннÑ…"
#. Edit externally
-#: ../src/ui/interface.cpp:1981
+#: ../src/ui/interface.cpp:1979
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:2628
+#: ../src/ui/interface.cpp:1988 ../src/verbs.cpp:2597
msgid "_Trace Bitmap..."
msgstr "_Векторизувати раÑтр"
#. Trace Pixel Art
-#: ../src/ui/interface.cpp:1999
+#: ../src/ui/interface.cpp:1997
msgid "Trace Pixel Art"
msgstr "ТраÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ð°Ñтрової графіки"
-#: ../src/ui/interface.cpp:2009
+#: ../src/ui/interface.cpp:2007
msgctxt "Context menu"
msgid "Embed Image"
msgstr "Вбудувати зображеннÑ"
-#: ../src/ui/interface.cpp:2020
+#: ../src/ui/interface.cpp:2018
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:2895
+#: ../src/ui/interface.cpp:2162 ../src/ui/interface.cpp:2182
+#: ../src/verbs.cpp:2864
msgid "_Fill and Stroke..."
msgstr "_Ð—Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñ‚Ð° штрих"
#. Edit Text dialog
-#: ../src/ui/interface.cpp:2191 ../src/verbs.cpp:2914
+#: ../src/ui/interface.cpp:2188 ../src/verbs.cpp:2883
msgid "_Text and Font..."
msgstr "_ТекÑÑ‚ та шрифт…"
#. Spellcheck dialog
-#: ../src/ui/interface.cpp:2197 ../src/verbs.cpp:2922
+#: ../src/ui/interface.cpp:2194 ../src/verbs.cpp:2891
msgid "Check Spellin_g..."
msgstr "Перевірити п_равопиÑ…"
-#: ../src/ui/object-edit.cpp:464
+#: ../src/ui/object-edit.cpp:450
msgid ""
"Adjust the <b>horizontal rounding</b> radius; with <b>Ctrl</b> to make the "
"vertical radius the same"
@@ -22346,7 +22346,7 @@ msgstr ""
"Скоригувати Ñ€Ð°Ð´Ñ–ÑƒÑ <b>горизонтального округленнÑ</b>. З <b>Ctrl</b> "
"вертикальний Ñ€Ð°Ð´Ñ–ÑƒÑ Ð±ÑƒÐ´Ðµ таким Ñамим"
-#: ../src/ui/object-edit.cpp:469
+#: ../src/ui/object-edit.cpp:455
msgid ""
"Adjust the <b>vertical rounding</b> radius; with <b>Ctrl</b> to make the "
"horizontal radius the same"
@@ -22354,7 +22354,7 @@ msgstr ""
"Скоригувати Ñ€Ð°Ð´Ñ–ÑƒÑ <b>вертикального округленнÑ</b>. З <b>Ctrl</b> "
"горизонтальний Ñ€Ð°Ð´Ñ–ÑƒÑ Ð±ÑƒÐ´Ðµ таким Ñамим"
-#: ../src/ui/object-edit.cpp:474 ../src/ui/object-edit.cpp:479
+#: ../src/ui/object-edit.cpp:460 ../src/ui/object-edit.cpp:465
msgid ""
"Adjust the <b>width and height</b> of the rectangle; with <b>Ctrl</b> to "
"lock ratio or stretch in one dimension only"
@@ -22362,8 +22362,8 @@ msgstr ""
"Скоригувати <b>ширину та виÑоту</b> прÑмокутника. <b>Ctrl</b> фікÑує "
"ÑÐ¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñ‡Ð¸ розтÑгує/ÑтиÑкає лише один вимір"
-#: ../src/ui/object-edit.cpp:726 ../src/ui/object-edit.cpp:730
-#: ../src/ui/object-edit.cpp:734 ../src/ui/object-edit.cpp:738
+#: ../src/ui/object-edit.cpp:712 ../src/ui/object-edit.cpp:716
+#: ../src/ui/object-edit.cpp:720 ../src/ui/object-edit.cpp:724
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"
@@ -22371,8 +22371,8 @@ msgstr ""
"Змінити розмір об'єкта у напрÑмку оÑей X/Y; з <b>Shift</b> — вздовж оÑÑ– Z; "
"<b>Ctrl</b> — фікÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ð¿Ñ€Ñмків країв або діагоналей"
-#: ../src/ui/object-edit.cpp:742 ../src/ui/object-edit.cpp:746
-#: ../src/ui/object-edit.cpp:750 ../src/ui/object-edit.cpp:754
+#: ../src/ui/object-edit.cpp:728 ../src/ui/object-edit.cpp:732
+#: ../src/ui/object-edit.cpp:736 ../src/ui/object-edit.cpp:740
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"
@@ -22380,19 +22380,19 @@ msgstr ""
"Змінити розмір об'єкта вздовж оÑÑ– Z; з <b>Shift</b> — у напрÑмку оÑей X/Y; "
"<b>Ctrl</b> — фікÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ð¿Ñ€Ñмків країв або діагоналей"
-#: ../src/ui/object-edit.cpp:758
+#: ../src/ui/object-edit.cpp:744
msgid "Move the box in perspective"
msgstr "ÐŸÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¾Ð±'єкта у перÑпективі"
-#: ../src/ui/object-edit.cpp:997
+#: ../src/ui/object-edit.cpp:983
msgid "Adjust ellipse <b>width</b>, with <b>Ctrl</b> to make circle"
msgstr "Змінити <b>велику віÑÑŒ</b> еліпÑа. <b>Ctrl</b> Ñтворює коло"
-#: ../src/ui/object-edit.cpp:1001
+#: ../src/ui/object-edit.cpp:987
msgid "Adjust ellipse <b>height</b>, with <b>Ctrl</b> to make circle"
msgstr "Змінити <b>малу віÑÑŒ</b> еліпÑа. <b>Ctrl</b> Ñтворює коло"
-#: ../src/ui/object-edit.cpp:1005
+#: ../src/ui/object-edit.cpp:991
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 "
@@ -22401,7 +22401,7 @@ msgstr ""
"<b>Початкова точка</b> Ñектора чи дуги. <b>Ctrl</b> обмежує кут. "
"ПеретÑÐ³ÑƒÐ²Ð°Ð½Ð½Ñ <b>вÑередині</b> еліпÑа дає дугу, <b>зовні</b> — Ñегмент"
-#: ../src/ui/object-edit.cpp:1010
+#: ../src/ui/object-edit.cpp:996
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 "
@@ -22410,7 +22410,7 @@ msgstr ""
"<b>Кінцева точка</b> Ñектора чи дуги. <b>Ctrl</b> обмежує кут. ПеретÑÐ³ÑƒÐ²Ð°Ð½Ð½Ñ "
"<b>вÑередині</b> еліпÑа дає дугу, <b>зовні</b> — Ñегмент"
-#: ../src/ui/object-edit.cpp:1156
+#: ../src/ui/object-edit.cpp:1142
msgid ""
"Adjust the <b>tip radius</b> of the star or polygon; with <b>Shift</b> to "
"round; with <b>Alt</b> to randomize"
@@ -22418,7 +22418,7 @@ msgstr ""
"Змінити <b>великий радіуÑ</b> зірки чи багатокутника. <b>Shift</b> — "
"округлÑÑ”; <b>Alt</b> — змішує"
-#: ../src/ui/object-edit.cpp:1164
+#: ../src/ui/object-edit.cpp:1150
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 "
@@ -22427,7 +22427,7 @@ msgstr ""
"Змінити <b>малий радіуÑ</b> зірки. <b>Ctrl</b> зберігає промені зірки "
"радіальними (без нахилу), <b>Shift</b> — округлÑÑ”; <b>Alt</b> — змішує"
-#: ../src/ui/object-edit.cpp:1359
+#: ../src/ui/object-edit.cpp:1345
msgid ""
"Roll/unroll the spiral from <b>inside</b>; with <b>Ctrl</b> to snap angle; "
"with <b>Alt</b> to converge/diverge"
@@ -22435,7 +22435,7 @@ msgstr ""
"Згорнути/розгорнути Ñпіраль <b>вÑередині</b>. <b>Ctrl</b> — обмежує кут, "
"<b>Alt</b> змінює нелінійніÑть"
-#: ../src/ui/object-edit.cpp:1363
+#: ../src/ui/object-edit.cpp:1349
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"
@@ -22443,11 +22443,11 @@ msgstr ""
"Згорнути/розгорнути Ñпіраль <b>зовні</b>. <b>Ctrl</b> — обмежує кут, "
"<b>Shift</b> — розтÑгує/обертає Ñк ціле. З <b>Alt</b> зі Ñталим радіуÑом."
-#: ../src/ui/object-edit.cpp:1410
+#: ../src/ui/object-edit.cpp:1396
msgid "Adjust the <b>offset distance</b>"
msgstr "МінÑти <b>відÑтань втÑгуваннÑ</b>"
-#: ../src/ui/object-edit.cpp:1447
+#: ../src/ui/object-edit.cpp:1433
msgid "Drag to resize the <b>flowed text frame</b>"
msgstr "ПеретÑгніть Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ розміру <b>текÑту у рамці</b>"
@@ -22493,7 +22493,7 @@ msgstr ""
msgid "Retract handles"
msgstr "Ð’Ñ‚Ñгнути вуÑа"
-#: ../src/ui/tool/multi-path-manipulator.cpp:315 ../src/ui/tool/node.cpp:296
+#: ../src/ui/tool/multi-path-manipulator.cpp:315 ../src/ui/tool/node.cpp:295
msgid "Change node type"
msgstr "Змінити тип вузла"
@@ -22576,38 +22576,38 @@ msgstr "Віддзеркалити вузли горизонтально"
msgid "Flip nodes vertically"
msgstr "Віддзеркалити вузли вертикально"
-#: ../src/ui/tool/node.cpp:271
+#: ../src/ui/tool/node.cpp:270
msgid "Cusp node handle"
msgstr "Елемент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ð¾Ñтрого вузла"
-#: ../src/ui/tool/node.cpp:272
+#: ../src/ui/tool/node.cpp:271
msgid "Smooth node handle"
msgstr "Елемент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð³Ð»Ð°Ð´Ð¶ÐµÐ½Ð¾Ð³Ð¾ вузла"
-#: ../src/ui/tool/node.cpp:273
+#: ../src/ui/tool/node.cpp:272
msgid "Symmetric node handle"
msgstr "Елемент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñиметричного вузла"
-#: ../src/ui/tool/node.cpp:274
+#: ../src/ui/tool/node.cpp:273
msgid "Auto-smooth node handle"
msgstr "Елемент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð²Ñ‚Ð¾Ð·Ð³Ð»Ð°Ð´Ð¶ÐµÐ½Ð¾Ð³Ð¾ вузла"
-#: ../src/ui/tool/node.cpp:493
+#: ../src/ui/tool/node.cpp:492
msgctxt "Path handle tip"
msgid "more: Shift, Ctrl, Alt"
msgstr "більше: Shift, Ctrl, Alt"
-#: ../src/ui/tool/node.cpp:495
+#: ../src/ui/tool/node.cpp:494
msgctxt "Path handle tip"
msgid "more: Ctrl"
msgstr "більше: Ctrl"
-#: ../src/ui/tool/node.cpp:497
+#: ../src/ui/tool/node.cpp:496
msgctxt "Path handle tip"
msgid "more: Ctrl, Alt"
msgstr "більше: Ctrl, Alt"
-#: ../src/ui/tool/node.cpp:503
+#: ../src/ui/tool/node.cpp:502
#, c-format
msgctxt "Path handle tip"
msgid ""
@@ -22617,7 +22617,7 @@ msgstr ""
"<b>Shift+Ctrl+Alt</b>: зберігати довжину, змінювати кут Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ ÐºÑ€Ð¾ÐºÐ°Ð¼Ð¸ у "
"%g°, обертати обидва елементи керуваннÑ"
-#: ../src/ui/tool/node.cpp:508
+#: ../src/ui/tool/node.cpp:507
#, c-format
msgctxt "Path handle tip"
msgid ""
@@ -22626,19 +22626,19 @@ msgstr ""
"<b>Ctrl+Alt</b>: зберігати довжину елемента, змінювати кут Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ ÐºÑ€Ð¾ÐºÐ°Ð¼Ð¸ "
"%g°"
-#: ../src/ui/tool/node.cpp:514
+#: ../src/ui/tool/node.cpp:513
msgctxt "Path handle tip"
msgid "<b>Shift+Alt</b>: preserve handle length and rotate both handles"
msgstr ""
"<b>Shift+Alt</b>: зберегти довжину елемента керуваннÑ, обертати обидва "
"елементи"
-#: ../src/ui/tool/node.cpp:517
+#: ../src/ui/tool/node.cpp:516
msgctxt "Path handle tip"
msgid "<b>Alt</b>: preserve handle length while dragging"
msgstr "<b>Alt</b>: зберігати довжину елемента ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÑ‚ÑгуваннÑ"
-#: ../src/ui/tool/node.cpp:524
+#: ../src/ui/tool/node.cpp:523
#, c-format
msgctxt "Path handle tip"
msgid ""
@@ -22648,31 +22648,31 @@ msgstr ""
"<b>Shift+Ctrl</b>: змінювати кут Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ ÐºÑ€Ð¾ÐºÐ°Ð¼Ð¸ у %g°, обертати обидва "
"елементи керуваннÑ"
-#: ../src/ui/tool/node.cpp:528
+#: ../src/ui/tool/node.cpp:527
msgctxt "Path handle tip"
msgid "<b>Ctrl</b>: Move handle by his actual steps in BSpline Live Effect"
msgstr ""
"<b>Ctrl</b>: переÑунути Ð²ÑƒÑ Ð·Ð° його Ñправжніми кроками у інтерактивному "
"ефекті B-Ñплайнів"
-#: ../src/ui/tool/node.cpp:531
+#: ../src/ui/tool/node.cpp:530
#, c-format
msgctxt "Path handle tip"
msgid "<b>Ctrl</b>: snap rotation angle to %g° increments, click to retract"
msgstr ""
"<b>Ctrl</b>: змінювати кут Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ ÐºÑ€Ð¾ÐºÐ°Ð¼Ð¸ у %g°, клацніть Ð´Ð»Ñ ÑкаÑуваннÑ"
-#: ../src/ui/tool/node.cpp:536
+#: ../src/ui/tool/node.cpp:535
msgctxt "Path hande tip"
msgid "<b>Shift</b>: rotate both handles by the same angle"
msgstr "<b>Shift</b>: обертати на однаковий кут обидва елементи керуваннÑ"
-#: ../src/ui/tool/node.cpp:539
+#: ../src/ui/tool/node.cpp:538
msgctxt "Path hande tip"
msgid "<b>Shift</b>: move handle"
msgstr "<b>Shift</b>: переÑунути вуÑ"
-#: ../src/ui/tool/node.cpp:546 ../src/ui/tool/node.cpp:550
+#: ../src/ui/tool/node.cpp:545 ../src/ui/tool/node.cpp:549
#, c-format
msgctxt "Path handle tip"
msgid "<b>Auto node handle</b>: drag to convert to smooth node (%s)"
@@ -22680,49 +22680,51 @@ msgstr ""
"<b>Елемент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸ÐºÐ¾ÑŽ вузла</b>: перетÑгніть, щоб перетворити "
"вузол на гладкий (%s)"
-#: ../src/ui/tool/node.cpp:553
+#: ../src/ui/tool/node.cpp:552
#, c-format
msgctxt "Path handle tip"
-msgid "<b>BSpline node handle</b>: Shift to drag, double click to reset (%s)"
+msgid ""
+"<b>BSpline node handle</b>: Shift to drag, double click to reset (%s). %g "
+"power"
msgstr ""
"<b>Елемент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ B-Ñплайновим вузлом</b>: Shift — перетÑгнути, подвійне "
-"ÐºÐ»Ð°Ñ†Ð°Ð½Ð½Ñ â€” Ñкинути (%s)"
+"ÐºÐ»Ð°Ñ†Ð°Ð½Ð½Ñ â€” Ñкинути (%s). ПотужніÑть %g"
-#: ../src/ui/tool/node.cpp:573
+#: ../src/ui/tool/node.cpp:572
#, c-format
msgctxt "Path handle tip"
msgid "Move handle by %s, %s; angle %.2f°, length %s"
msgstr "ПереÑунути елемент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° %s, %s; кут %.2f°, відÑтань %s"
-#: ../src/ui/tool/node.cpp:1447
+#: ../src/ui/tool/node.cpp:1448
msgctxt "Path node tip"
msgid "<b>Shift</b>: drag out a handle, click to toggle selection"
msgstr ""
"<b>Shift</b>: перетÑгніть елемент керуваннÑ, клацніть, щоб увімкнути/"
"вимкнути режим позначеннÑ"
-#: ../src/ui/tool/node.cpp:1449
+#: ../src/ui/tool/node.cpp:1450
msgctxt "Path node tip"
msgid "<b>Shift</b>: click to toggle selection"
msgstr "<b>Shift</b>: клацніть, щоб увімкнути/вимкнути режим позначеннÑ"
-#: ../src/ui/tool/node.cpp:1454
+#: ../src/ui/tool/node.cpp:1455
msgctxt "Path node tip"
msgid "<b>Ctrl+Alt</b>: move along handle lines, click to delete node"
msgstr ""
"<b>Ctrl+Alt</b>: переÑунути лінії елемента керуваннÑ, ÐºÐ»Ð°Ñ†Ð°Ð½Ð½Ñ Ð²Ð¸Ð»ÑƒÑ‡Ð°Ñ” вузол"
-#: ../src/ui/tool/node.cpp:1457
+#: ../src/ui/tool/node.cpp:1458
msgctxt "Path node tip"
msgid "<b>Ctrl</b>: move along axes, click to change node type"
msgstr "<b>Ctrl</b>: переÑунути вздовж оÑей, ÐºÐ»Ð°Ñ†Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½ÑŽÑ” тип вузла"
-#: ../src/ui/tool/node.cpp:1461
+#: ../src/ui/tool/node.cpp:1462
msgctxt "Path node tip"
msgid "<b>Alt</b>: sculpt nodes"
msgstr "<b>Alt</b>: надати форму вузлам"
-#: ../src/ui/tool/node.cpp:1469
+#: ../src/ui/tool/node.cpp:1470
#, c-format
msgctxt "Path node tip"
msgid "<b>%s</b>: drag to shape the path (more: Shift, Ctrl, Alt)"
@@ -22730,17 +22732,17 @@ msgstr ""
"<b>%s</b>: перетÑгніть вказівник, щоб змінити форму контуру (більше: Shift, "
"Ctrl, Alt)"
-#: ../src/ui/tool/node.cpp:1472
+#: ../src/ui/tool/node.cpp:1473
#, c-format
msgctxt "Path node tip"
msgid ""
-"<b>BSpline node</b>: %g weight, drag to shape the path (more: Shift, Ctrl, "
-"Alt)"
+"<b>BSpline node</b>: drag to shape the path (more: Shift, Ctrl, Alt). %g "
+"power"
msgstr ""
-"<b>Вузол B-Ñплайна</b>: вага %g, перетÑгніть вказівник, щоб змінити форму контуру "
-"(більше: Shift, Ctrl, Alt)"
+"<b>Вузол B-Ñплайна</b>: перетÑгніть вказівник, щоб змінити форму контуру "
+"(більше: Shift, Ctrl, Alt). ПотужніÑть %g"
-#: ../src/ui/tool/node.cpp:1475
+#: ../src/ui/tool/node.cpp:1476
#, c-format
msgctxt "Path node tip"
msgid ""
@@ -22751,7 +22753,7 @@ msgstr ""
"перемикає елементи ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð°ÑштабуваннÑ/Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ (більше: Shift, Ctrl, "
"Alt)"
-#: ../src/ui/tool/node.cpp:1479
+#: ../src/ui/tool/node.cpp:1480
#, c-format
msgctxt "Path node tip"
msgid ""
@@ -22761,52 +22763,54 @@ msgstr ""
"<b>%s</b>: перетÑгніть вказівник, щоб змінити форму контуру, клацніть, щоб "
"позначити лише цей вузол (більше: Shift, Ctrl, Alt)"
-#: ../src/ui/tool/node.cpp:1482
+#: ../src/ui/tool/node.cpp:1483
+#, c-format
msgctxt "Path node tip"
msgid ""
"<b>BSpline node</b>: drag to shape the path, click to select only this node "
-"(more: Shift, Ctrl, Alt)"
+"(more: Shift, Ctrl, Alt). %g power"
msgstr ""
"<b>Вузол B-Ñплайна</b>: перетÑгніть вказівник, щоб змінити форму контуру, "
-"клацніть, щоб позначити лише цей вузол (більше: Shift, Ctrl, Alt)"
+"клацніть, щоб позначити лише цей вузол (більше: Shift, Ctrl, Alt). ПотужніÑть "
+"%g"
-#: ../src/ui/tool/node.cpp:1495
+#: ../src/ui/tool/node.cpp:1496
#, c-format
msgctxt "Path node tip"
msgid "Move node by %s, %s"
msgstr "ПереÑунути вузол на %s, %s"
-#: ../src/ui/tool/node.cpp:1506
+#: ../src/ui/tool/node.cpp:1507
msgid "Symmetric node"
msgstr "Симетричний вузол"
-#: ../src/ui/tool/node.cpp:1507
+#: ../src/ui/tool/node.cpp:1508
msgid "Auto-smooth node"
msgstr "Ðвтоматично згладжений вузол"
-#: ../src/ui/tool/path-manipulator.cpp:836
+#: ../src/ui/tool/path-manipulator.cpp:837
msgid "Scale handle"
msgstr "МаÑштабувати вуÑ"
-#: ../src/ui/tool/path-manipulator.cpp:860
+#: ../src/ui/tool/path-manipulator.cpp:861
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:1524
+#: ../src/ui/tool/path-manipulator.cpp:1534
#: ../src/widgets/node-toolbar.cpp:397
msgid "Delete node"
msgstr "Вилучити вузол"
-#: ../src/ui/tool/path-manipulator.cpp:1532
+#: ../src/ui/tool/path-manipulator.cpp:1542
msgid "Cycle node type"
msgstr "Циклічний перехід типами вузла"
-#: ../src/ui/tool/path-manipulator.cpp:1547
+#: ../src/ui/tool/path-manipulator.cpp:1557
msgid "Drag handle"
msgstr "ПеретÑÐ³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÑƒÑа"
-#: ../src/ui/tool/path-manipulator.cpp:1556
+#: ../src/ui/tool/path-manipulator.cpp:1566
msgid "Retract handle"
msgstr "Вилучити вуÑ"
@@ -23025,7 +23029,7 @@ msgstr ""
"напрÑмної, <b>Клавіші-Ñтрілки</b> — Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð¾Ð²Ñ‰Ð¸Ð½Ð¸ (ліворуч/праворуч) "
"і кута (вгору/вниз)."
-#: ../src/ui/tools-switch.cpp:107 ../src/ui/tools/text-tool.cpp:1584
+#: ../src/ui/tools-switch.cpp:107 ../src/ui/tools/text-tool.cpp:1583
msgid ""
"<b>Click</b> to select or create text, <b>drag</b> to create flowed text; "
"then type."
@@ -23102,7 +23106,7 @@ msgstr ""
"<b>Ctrl</b>: Ñтворює коло або ÐµÐ»Ñ–Ð¿Ñ Ð· цілим відношеннÑм Ñторін, обмежує кут "
"дуги/Ñегмента"
-#: ../src/ui/tools/arc-tool.cpp:243 ../src/ui/tools/rect-tool.cpp:279
+#: ../src/ui/tools/arc-tool.cpp:243 ../src/ui/tools/rect-tool.cpp:278
msgid "<b>Shift</b>: draw around the starting point"
msgstr "<b>Shift</b>: малювати навколо початкової точки"
@@ -23198,17 +23202,17 @@ msgstr ""
"<b>Кінцева з'єднувальна точка</b>: перетÑгніть щоб змінити напрÑмок "
"з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· новими фігурами"
-#: ../src/ui/tools/connector-tool.cpp:1326
+#: ../src/ui/tools/connector-tool.cpp:1324
msgid "Select <b>at least one non-connector object</b>."
msgstr "Позначте <b>принаймні два об'єкти</b> Ð´Ð»Ñ Ð·'єднаннÑ."
-#: ../src/ui/tools/connector-tool.cpp:1331
-#: ../src/widgets/connector-toolbar.cpp:314
+#: ../src/ui/tools/connector-tool.cpp:1329
+#: ../src/widgets/connector-toolbar.cpp:310
msgid "Make connectors avoid selected objects"
msgstr "ЗмуÑити лінії огинати вибрані об'єкти"
-#: ../src/ui/tools/connector-tool.cpp:1332
-#: ../src/widgets/connector-toolbar.cpp:324
+#: ../src/ui/tools/connector-tool.cpp:1330
+#: ../src/widgets/connector-toolbar.cpp:320
msgid "Make connectors ignore selected objects"
msgstr "ЗмуÑити лінії ігнорувати вибрані об'єкти"
@@ -23242,39 +23246,39 @@ msgstr "Ð’Ñтановити знÑтий піпеткою колір"
msgid "<b>Drawing</b> an eraser stroke"
msgstr "<b>МалюваннÑ</b> штриха гумки"
-#: ../src/ui/tools/eraser-tool.cpp:760
+#: ../src/ui/tools/eraser-tool.cpp:753
msgid "Draw eraser stroke"
msgstr "Ðамалювати штрих гумкою"
-#: ../src/ui/tools/flood-tool.cpp:182
+#: ../src/ui/tools/flood-tool.cpp:90
msgid "Visible Colors"
msgstr "Видимі кольори"
-#: ../src/ui/tools/flood-tool.cpp:200
+#: ../src/ui/tools/flood-tool.cpp:102
msgctxt "Flood autogap"
msgid "None"
msgstr "Ðемає"
-#: ../src/ui/tools/flood-tool.cpp:201
+#: ../src/ui/tools/flood-tool.cpp:103
msgctxt "Flood autogap"
msgid "Small"
msgstr "Малий"
-#: ../src/ui/tools/flood-tool.cpp:202
+#: ../src/ui/tools/flood-tool.cpp:104
msgctxt "Flood autogap"
msgid "Medium"
msgstr "Середній"
-#: ../src/ui/tools/flood-tool.cpp:203
+#: ../src/ui/tools/flood-tool.cpp:105
msgctxt "Flood autogap"
msgid "Large"
msgstr "Великий"
-#: ../src/ui/tools/flood-tool.cpp:425
+#: ../src/ui/tools/flood-tool.cpp:415
msgid "<b>Too much inset</b>, the result is empty."
msgstr "<b>Ðадто багато втÑгувань</b>, результат порожній."
-#: ../src/ui/tools/flood-tool.cpp:466
+#: ../src/ui/tools/flood-tool.cpp:456
#, c-format
msgid ""
"Area filled, path with <b>%d</b> node created and unioned with selection."
@@ -23290,7 +23294,7 @@ msgstr[2] ""
"ОблаÑть заповнено, контур з <b>%d</b> вузлами Ñтворено та поєднано з "
"позначеною облаÑтю."
-#: ../src/ui/tools/flood-tool.cpp:472
+#: ../src/ui/tools/flood-tool.cpp:462
#, c-format
msgid "Area filled, path with <b>%d</b> node created."
msgid_plural "Area filled, path with <b>%d</b> nodes created."
@@ -23298,11 +23302,11 @@ msgstr[0] "ОблаÑть заповнено, Ñтворено контур з <
msgstr[1] "ОблаÑть заповнено, Ñтворено контур з <b>%d</b> вузлами."
msgstr[2] "ОблаÑть заповнено, Ñтворено контур з <b>%d</b> вузлами."
-#: ../src/ui/tools/flood-tool.cpp:740 ../src/ui/tools/flood-tool.cpp:1050
+#: ../src/ui/tools/flood-tool.cpp:730 ../src/ui/tools/flood-tool.cpp:1040
msgid "<b>Area is not bounded</b>, cannot fill."
msgstr "<b>ОблаÑть не обмежена</b>, Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ."
-#: ../src/ui/tools/flood-tool.cpp:1055
+#: ../src/ui/tools/flood-tool.cpp:1045
msgid ""
"<b>Only the visible part of the bounded area was filled.</b> If you want to "
"fill all of the area, undo, zoom out, and fill again."
@@ -23311,15 +23315,15 @@ msgstr ""
"заповнити вÑÑŽ облаÑть, верніть зміни, зробіть меншим маÑштаб та заповніть "
"знову."
-#: ../src/ui/tools/flood-tool.cpp:1073 ../src/ui/tools/flood-tool.cpp:1224
+#: ../src/ui/tools/flood-tool.cpp:1063 ../src/ui/tools/flood-tool.cpp:1214
msgid "Fill bounded area"
msgstr "Ð—Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð·Ð°Ð¼ÐºÐ½ÐµÐ½Ð¾Ñ— облаÑті"
-#: ../src/ui/tools/flood-tool.cpp:1089
+#: ../src/ui/tools/flood-tool.cpp:1079
msgid "Set style on object"
msgstr "Ð’Ñтановити Ñтиль об'єкта"
-#: ../src/ui/tools/flood-tool.cpp:1149
+#: ../src/ui/tools/flood-tool.cpp:1139
msgid "<b>Draw over</b> areas to add to fill, hold <b>Alt</b> for touch fill"
msgstr ""
"<b>Малювати по</b> облаÑÑ‚Ñм Ð´Ð»Ñ Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ, при утриманні <b>Alt</"
@@ -23413,23 +23417,23 @@ msgstr[2] "<b>Жодного</b> вуÑа градієнта з %d в %d вибÑ
msgid "Simplify gradient"
msgstr "СпроÑтити градієнт"
-#: ../src/ui/tools/gradient-tool.cpp:509
+#: ../src/ui/tools/gradient-tool.cpp:510
msgid "Create default gradient"
msgstr "Створити типовий градієнт"
-#: ../src/ui/tools/gradient-tool.cpp:568 ../src/ui/tools/mesh-tool.cpp:560
+#: ../src/ui/tools/gradient-tool.cpp:569 ../src/ui/tools/mesh-tool.cpp:561
msgid "<b>Draw around</b> handles to select them"
msgstr "<b>Обведіть</b> вуÑа, щоб вибрати Ñ—Ñ…"
-#: ../src/ui/tools/gradient-tool.cpp:691
+#: ../src/ui/tools/gradient-tool.cpp:692
msgid "<b>Ctrl</b>: snap gradient angle"
msgstr "<b>Ctrl</b>: обмежити кут градієнта"
-#: ../src/ui/tools/gradient-tool.cpp:692
+#: ../src/ui/tools/gradient-tool.cpp:693
msgid "<b>Shift</b>: draw gradient around the starting point"
msgstr "<b>Shift</b>: малювати навколо початкової точки"
-#: ../src/ui/tools/gradient-tool.cpp:946 ../src/ui/tools/mesh-tool.cpp:983
+#: ../src/ui/tools/gradient-tool.cpp:947 ../src/ui/tools/mesh-tool.cpp:984
#, 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"
@@ -23437,7 +23441,7 @@ msgstr[0] "<b>Градієнт</b> Ð´Ð»Ñ %d об'єкта; <b>Ctrl</b> обме
msgstr[1] "<b>Градієнт</b> Ð´Ð»Ñ %d об'єктів; <b>Ctrl</b> обмежує кут"
msgstr[2] "<b>Градієнт</b> Ð´Ð»Ñ %d об'єктів; <b>Ctrl</b> обмежує кут"
-#: ../src/ui/tools/gradient-tool.cpp:950 ../src/ui/tools/mesh-tool.cpp:987
+#: ../src/ui/tools/gradient-tool.cpp:951 ../src/ui/tools/mesh-tool.cpp:988
msgid "Select <b>objects</b> on which to create gradient."
msgstr "Позначте <b>об'єкти</b> до Ñких буде заÑтоÑовано градієнт."
@@ -23498,19 +23502,19 @@ msgstr "Колір згладженого кута Ñітки."
msgid "Picked mesh corner color."
msgstr "Вибраний колір кута Ñітки."
-#: ../src/ui/tools/mesh-tool.cpp:488
+#: ../src/ui/tools/mesh-tool.cpp:489
msgid "Create default mesh"
msgstr "Створити типову Ñітку"
-#: ../src/ui/tools/mesh-tool.cpp:708
+#: ../src/ui/tools/mesh-tool.cpp:709
msgid "FIXME<b>Ctrl</b>: snap mesh angle"
msgstr "<b>Ctrl</b>: Ð¿Ñ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ кута Ñітки"
-#: ../src/ui/tools/mesh-tool.cpp:709
+#: ../src/ui/tools/mesh-tool.cpp:710
msgid "FIXME<b>Shift</b>: draw mesh around the starting point"
msgstr "<b>Shift</b>: намалювати навколо початкової точки Ñітку"
-#: ../src/ui/tools/node-tool.cpp:602
+#: ../src/ui/tools/node-tool.cpp:601
msgctxt "Node tool tip"
msgid ""
"<b>Shift</b>: drag to add nodes to the selection, click to toggle object "
@@ -23519,12 +23523,12 @@ msgstr ""
"<b>Shift</b>: перетÑгніть, щоб додати вузли до позначеного, клацніть, щоб "
"перемкнути режим Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð±'єктів"
-#: ../src/ui/tools/node-tool.cpp:606
+#: ../src/ui/tools/node-tool.cpp:605
msgctxt "Node tool tip"
msgid "<b>Shift</b>: drag to add nodes to the selection"
msgstr "<b>Shift</b>: перетÑÐ³ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ” вузли до позначеного фрагмента"
-#: ../src/ui/tools/node-tool.cpp:618
+#: ../src/ui/tools/node-tool.cpp:617
#, c-format
msgid "<b>%u of %u</b> node selected."
msgid_plural "<b>%u of %u</b> nodes selected."
@@ -23532,7 +23536,7 @@ msgstr[0] "Позначено <b>%u з %u</b> вузла."
msgstr[1] "Позначено <b>%u з %u</b> вузлів."
msgstr[2] "Позначено <b>%u з %u</b> вузлів."
-#: ../src/ui/tools/node-tool.cpp:624
+#: ../src/ui/tools/node-tool.cpp:623
#, c-format
msgctxt "Node tool tip"
msgid "%s Drag to select nodes, click to edit only this object (more: Shift)"
@@ -23540,38 +23544,38 @@ msgstr ""
"%s ПеретÑгніть, щоб позначити вузли, клацніть, щоб редагувати лише цей "
"об'єкт (інше: Shift)"
-#: ../src/ui/tools/node-tool.cpp:630
+#: ../src/ui/tools/node-tool.cpp:629
#, c-format
msgctxt "Node tool tip"
msgid "%s Drag to select nodes, click clear the selection"
msgstr ""
"%s ПеретÑгніть вказівник, щоб позначити вузли, клацніть, щоб знÑти позначеннÑ"
-#: ../src/ui/tools/node-tool.cpp:639
+#: ../src/ui/tools/node-tool.cpp:638
msgctxt "Node tool tip"
msgid "Drag to select nodes, click to edit only this object"
msgstr ""
"ПеретÑгніть, щоб позначити вузли, клацніть, щоб редагувати лише цей об'єкт"
-#: ../src/ui/tools/node-tool.cpp:642
+#: ../src/ui/tools/node-tool.cpp:641
msgctxt "Node tool tip"
msgid "Drag to select nodes, click to clear the selection"
msgstr ""
"ПеретÑгніть вказівник, щоб позначити вузли, клацніть, щоб знÑти позначеннÑ"
-#: ../src/ui/tools/node-tool.cpp:647
+#: ../src/ui/tools/node-tool.cpp:646
msgctxt "Node tool tip"
msgid "Drag to select objects to edit, click to edit this object (more: Shift)"
msgstr ""
"ПеретÑгніть, щоб позначити об'єкти редагуваннÑ, клацніть Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ "
"поточного об'єкта (більше: Shift)"
-#: ../src/ui/tools/node-tool.cpp:650
+#: ../src/ui/tools/node-tool.cpp:649
msgctxt "Node tool tip"
msgid "Drag to select objects to edit"
msgstr "ПеретÑгніть вказівник Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð±'єктів редагуваннÑ"
-#: ../src/ui/tools/pen-tool.cpp:224 ../src/ui/tools/pencil-tool.cpp:457
+#: ../src/ui/tools/pen-tool.cpp:224 ../src/ui/tools/pencil-tool.cpp:454
msgid "Drawing cancelled"
msgstr "ÐœÐ°Ð»ÑŽÐ²Ð°Ð½Ð½Ñ ÑкаÑовано"
@@ -23692,11 +23696,11 @@ msgid "<b>Drag</b> to continue the path from this point."
msgstr "<b>ПеретÑгніть</b> Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñƒ з цієї точки."
#. Write curves to object
-#: ../src/ui/tools/pencil-tool.cpp:403
+#: ../src/ui/tools/pencil-tool.cpp:401
msgid "Finishing freehand"
msgstr "Контур Ñтворено"
-#: ../src/ui/tools/pencil-tool.cpp:506
+#: ../src/ui/tools/pencil-tool.cpp:503
msgid ""
"<b>Sketch mode</b>: holding <b>Alt</b> interpolates between sketched paths. "
"Release <b>Alt</b> to finalize."
@@ -23704,11 +23708,11 @@ msgstr ""
"<b>Режим еÑкіза</b>: ÑƒÑ‚Ñ€Ð¸Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ <b>Alt</b> виконає інтерполÑцію контурів "
"еÑкіза. ВідпуÑтіть <b>Alt</b>, щоб завершити малюваннÑ."
-#: ../src/ui/tools/pencil-tool.cpp:533
+#: ../src/ui/tools/pencil-tool.cpp:530
msgid "Finishing freehand sketch"
msgstr "Ð—Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð´Ð¾Ð²Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ еÑкіза"
-#: ../src/ui/tools/rect-tool.cpp:278
+#: ../src/ui/tools/rect-tool.cpp:277
msgid ""
"<b>Ctrl</b>: make square or integer-ratio rect, lock a rounded corner "
"circular"
@@ -23716,7 +23720,7 @@ msgstr ""
"<b>Ctrl</b>: квадрати чи прÑмокутник з цілим відношеннÑм Ñторін, кругле "
"округленнÑ"
-#: ../src/ui/tools/rect-tool.cpp:439
+#: ../src/ui/tools/rect-tool.cpp:438
#, c-format
msgid ""
"<b>Rectangle</b>: %s &#215; %s (constrained to ratio %d:%d); with <b>Shift</"
@@ -23725,7 +23729,7 @@ msgstr ""
"<b>ПрÑмокутник</b>: %s &#215; %s (обмежено відношеннÑм %d:%d); за допомогою "
"<b>Shift</b> можна малювати навколо початкової точки"
-#: ../src/ui/tools/rect-tool.cpp:442
+#: ../src/ui/tools/rect-tool.cpp:441
#, c-format
msgid ""
"<b>Rectangle</b>: %s &#215; %s (constrained to golden ratio 1.618 : 1); with "
@@ -23734,7 +23738,7 @@ msgstr ""
"<b>ПрÑмокутник</b>: %s &#215; %s (обмежено параметром «золотого» перерізу "
"1,618 : 1); за допомогою <b>Shift</b> можна малювати навколо початкової точки"
-#: ../src/ui/tools/rect-tool.cpp:444
+#: ../src/ui/tools/rect-tool.cpp:443
#, c-format
msgid ""
"<b>Rectangle</b>: %s &#215; %s (constrained to golden ratio 1 : 1.618); with "
@@ -23743,7 +23747,7 @@ msgstr ""
"<b>ПрÑмокутник</b>: %s &#215; %s (обмежено параметром «золотого» перерізу "
"1 : 1,618); за допомогою <b>Shift</b> можна малювати навколо початкової точки"
-#: ../src/ui/tools/rect-tool.cpp:448
+#: ../src/ui/tools/rect-tool.cpp:447
#, c-format
msgid ""
"<b>Rectangle</b>: %s &#215; %s; with <b>Ctrl</b> to make square or integer-"
@@ -23752,7 +23756,7 @@ msgstr ""
"<b>ПрÑмокутник</b>: %s &#215; %s; <b>Ctrl</b> — квадрат чи прÑмокутник з "
"цілим відношеннÑм Ñторін, <b>Shift</b> — малювати навколо початкової точки"
-#: ../src/ui/tools/rect-tool.cpp:471
+#: ../src/ui/tools/rect-tool.cpp:470
msgid "Create rectangle"
msgstr "Створити прÑмокутник"
@@ -23793,19 +23797,19 @@ msgstr ""
"<b>Малювати навколо</b> об'єктів Ð´Ð»Ñ Ñ—Ñ…Ð½ÑŒÐ¾Ð³Ð¾ позначеннÑ; відпуÑтіть <b>Alt</"
"b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ до Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ñ‚Ð¸ÐºÐ¾Ð¼"
-#: ../src/ui/tools/select-tool.cpp:941
+#: ../src/ui/tools/select-tool.cpp:939
msgid "<b>Ctrl</b>: click to select in groups; drag to move hor/vert"
msgstr ""
"<b>Ctrl</b>: Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ групі; перетÑÐ³ÑƒÐ²Ð°Ð½Ð½Ñ â€” Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾ горизонталі/"
"вертикалі"
-#: ../src/ui/tools/select-tool.cpp:942
+#: ../src/ui/tools/select-tool.cpp:940
msgid "<b>Shift</b>: click to toggle select; drag for rubberband selection"
msgstr ""
"<b>Shift</b>: позначити/знÑти позначеннÑ; перетÑÐ³ÑƒÐ²Ð°Ð½Ð½Ñ â€” Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð³ÑƒÐ¼Ð¾Ð²Ð¾ÑŽ "
"ниткою"
-#: ../src/ui/tools/select-tool.cpp:943
+#: ../src/ui/tools/select-tool.cpp:941
msgid ""
"<b>Alt</b>: click to select under; scroll mouse-wheel to cycle-select; drag "
"to move selected or select by touch"
@@ -23813,7 +23817,7 @@ msgstr ""
"<b>Alt</b>: клацніть Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ; Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‡ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð»Ñ–Ñ‰Ð°Ñ‚ÐºÐ° — циклічний "
"вибір; перетÑÐ³ÑƒÐ²Ð°Ð½Ð½Ñ â€” Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¾Ñ— облаÑті чи вибір торканнÑм"
-#: ../src/ui/tools/select-tool.cpp:1151
+#: ../src/ui/tools/select-tool.cpp:1149
msgid "Selected object is not a group. Cannot enter."
msgstr "позначений об'єкт не Ñ” групою. Ðеможливо увійти."
@@ -23874,19 +23878,19 @@ msgstr ""
"%s. ПеретÑгніть, клацніть або натиÑніть Ñ– прокрутіть коліщатко миші, щоб "
"розкидати <b>окремий контур</b> позначеної облаÑті."
-#: ../src/ui/tools/spray-tool.cpp:654
+#: ../src/ui/tools/spray-tool.cpp:648
msgid "<b>Nothing selected!</b> Select objects to spray."
msgstr "<b>Ðічого не позначено!</b> Позначте об'єкти, Ñкі Ñлід розкидати."
-#: ../src/ui/tools/spray-tool.cpp:729 ../src/widgets/spray-toolbar.cpp:166
+#: ../src/ui/tools/spray-tool.cpp:723 ../src/widgets/spray-toolbar.cpp:166
msgid "Spray with copies"
msgstr "Ð Ð¾Ð·ÐºÐ¸Ð´Ð°Ð½Ð½Ñ ÐºÐ¾Ð¿Ñ–Ð¹"
-#: ../src/ui/tools/spray-tool.cpp:733 ../src/widgets/spray-toolbar.cpp:173
+#: ../src/ui/tools/spray-tool.cpp:727 ../src/widgets/spray-toolbar.cpp:173
msgid "Spray with clones"
msgstr "Ð Ð¾Ð·ÐºÐ¸Ð´Ð°Ð½Ð½Ñ ÐºÐ»Ð¾Ð½Ñ–Ð²"
-#: ../src/ui/tools/spray-tool.cpp:737
+#: ../src/ui/tools/spray-tool.cpp:731
msgid "Spray in single path"
msgstr "Ð Ð¾Ð·ÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð¾ÐºÑ€ÐµÐ¼Ð¾Ð³Ð¾ контуру"
@@ -24037,7 +24041,7 @@ msgstr "Ð—Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ð¼Ñ–Ð¶Ñ€Ñдкового проміжку"
msgid "Paste text"
msgstr "Ð’Ñтавити текÑÑ‚"
-#: ../src/ui/tools/text-tool.cpp:1574
+#: ../src/ui/tools/text-tool.cpp:1573
#, c-format
msgid ""
"Type or edit flowed text (%d character%s); <b>Enter</b> to start new "
@@ -24055,7 +24059,7 @@ msgstr[2] ""
"Введіть або змініть текÑÑ‚ за контуром (%d Ñимволів%s); <b>Enter</b> починає "
"новий абзац."
-#: ../src/ui/tools/text-tool.cpp:1576
+#: ../src/ui/tools/text-tool.cpp:1575
#, c-format
msgid "Type or edit text (%d character%s); <b>Enter</b> to start new line."
msgid_plural ""
@@ -24069,11 +24073,11 @@ msgstr[2] ""
"Введіть або змініть текÑÑ‚ (%d Ñимволів%s); <b>Enter</b> — початок нового "
"Ñ€Ñдка."
-#: ../src/ui/tools/text-tool.cpp:1686
+#: ../src/ui/tools/text-tool.cpp:1685
msgid "Type text"
msgstr "Друк текÑту"
-#: ../src/ui/tools/tool-base.cpp:705
+#: ../src/ui/tools/tool-base.cpp:701
msgid "<b>Space+mouse move</b> to pan canvas"
msgstr "<b>Пробіл+переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¸ÑˆÑ–</b> Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ð¾Ñ‚Ð½Ð°"
@@ -24158,59 +24162,59 @@ msgstr ""
"%s. ПеретÑгніть або клацніть Ð´Ð»Ñ <b>Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ð¸Ð²Ð°Ð½Ð½Ñ</b>; з Shift — Ð´Ð»Ñ "
"<b>зменшеннÑ</b>."
-#: ../src/ui/tools/tweak-tool.cpp:1195
+#: ../src/ui/tools/tweak-tool.cpp:1192
msgid "<b>Nothing selected!</b> Select objects to tweak."
msgstr "<b>Ðічого не вибрано!</b> Оберіть об'єкт(и) Ð´Ð»Ñ ÐºÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ—."
-#: ../src/ui/tools/tweak-tool.cpp:1229
+#: ../src/ui/tools/tweak-tool.cpp:1226
msgid "Move tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ Ð¿ÐµÑ€ÐµÑуваннÑм"
-#: ../src/ui/tools/tweak-tool.cpp:1233
+#: ../src/ui/tools/tweak-tool.cpp:1230
msgid "Move in/out tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ Ð¿Ñ€Ð¸Ñ‚ÑгуваннÑм/відштовхуваннÑм"
-#: ../src/ui/tools/tweak-tool.cpp:1237
+#: ../src/ui/tools/tweak-tool.cpp:1234
msgid "Move jitter tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¼ переÑуваннÑм"
-#: ../src/ui/tools/tweak-tool.cpp:1241
+#: ../src/ui/tools/tweak-tool.cpp:1238
msgid "Scale tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ Ð¼Ð°ÑштабуваннÑм"
-#: ../src/ui/tools/tweak-tool.cpp:1245
+#: ../src/ui/tools/tweak-tool.cpp:1242
msgid "Rotate tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñм"
-#: ../src/ui/tools/tweak-tool.cpp:1249
+#: ../src/ui/tools/tweak-tool.cpp:1246
msgid "Duplicate/delete tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ/вилученнÑ"
-#: ../src/ui/tools/tweak-tool.cpp:1253
+#: ../src/ui/tools/tweak-tool.cpp:1250
msgid "Push path tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ ÑˆÑ‚Ð¾Ð²Ñ…Ð°Ð½Ð½Ñм контурів"
-#: ../src/ui/tools/tweak-tool.cpp:1257
+#: ../src/ui/tools/tweak-tool.cpp:1254
msgid "Shrink/grow path tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ Ð²Ñ‚ÑгуваннÑм/витÑгуваннÑм контурів"
-#: ../src/ui/tools/tweak-tool.cpp:1261
+#: ../src/ui/tools/tweak-tool.cpp:1258
msgid "Attract/repel path tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ Ð¿Ñ€Ð¸Ñ‚ÑганнÑм/відштовхуваннÑм контурів"
-#: ../src/ui/tools/tweak-tool.cpp:1265
+#: ../src/ui/tools/tweak-tool.cpp:1262
msgid "Roughen path tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ Ð³Ñ€ÑƒÐ±Ñ–ÑˆÐ°Ð½Ð½Ñм контурів"
-#: ../src/ui/tools/tweak-tool.cpp:1269
+#: ../src/ui/tools/tweak-tool.cpp:1266
msgid "Color paint tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ Ð·Ð°Ð»Ð¸Ð²Ð°Ð½Ð½Ñм кольором"
-#: ../src/ui/tools/tweak-tool.cpp:1273
+#: ../src/ui/tools/tweak-tool.cpp:1270
msgid "Color jitter tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ Ð¿ÐµÑ€ÐµÐ±Ð¾Ñ€Ð¾Ð¼ кольорів"
-#: ../src/ui/tools/tweak-tool.cpp:1277
+#: ../src/ui/tools/tweak-tool.cpp:1274
msgid "Blur tweak"
msgstr "ÐšÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ Ñ€Ð¾Ð·Ð¼Ð¸Ð²Ð°Ð½Ð½Ñм"
@@ -24256,86 +24260,102 @@ msgstr "Оновлено умови Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°"
msgid "Opacity (%)"
msgstr "ÐепрозоріÑть (у %)"
-#: ../src/ui/widget/object-composite-settings.cpp:159
+#: ../src/ui/widget/object-composite-settings.cpp:160
msgid "Change blur"
msgstr "Зміна розмиваннÑ"
-#: ../src/ui/widget/object-composite-settings.cpp:199
+#: ../src/ui/widget/object-composite-settings.cpp:200
#: ../src/ui/widget/selected-style.cpp:943
#: ../src/ui/widget/selected-style.cpp:1245
msgid "Change opacity"
msgstr "Зміна непрозороÑті"
-#: ../src/ui/widget/page-sizer.cpp:235
+#: ../src/ui/widget/page-sizer.cpp:236
msgid "U_nits:"
msgstr "О_диниці:"
-#: ../src/ui/widget/page-sizer.cpp:236
+#: ../src/ui/widget/page-sizer.cpp:237
msgid "Width of paper"
msgstr "Ширина полотна"
-#: ../src/ui/widget/page-sizer.cpp:237
+#: ../src/ui/widget/page-sizer.cpp:238
msgid "Height of paper"
msgstr "ВиÑота полотна"
-#: ../src/ui/widget/page-sizer.cpp:238
+#: ../src/ui/widget/page-sizer.cpp:239
msgid "T_op margin:"
msgstr "_Верхнє поле:"
-#: ../src/ui/widget/page-sizer.cpp:238
+#: ../src/ui/widget/page-sizer.cpp:239
msgid "Top margin"
msgstr "Верхнє поле"
-#: ../src/ui/widget/page-sizer.cpp:239
+#: ../src/ui/widget/page-sizer.cpp:240
msgid "L_eft:"
msgstr "_Ліве:"
-#: ../src/ui/widget/page-sizer.cpp:239
+#: ../src/ui/widget/page-sizer.cpp:240
msgid "Left margin"
msgstr "Ліве поле"
-#: ../src/ui/widget/page-sizer.cpp:240
+#: ../src/ui/widget/page-sizer.cpp:241
msgid "Ri_ght:"
msgstr "_Праве:"
-#: ../src/ui/widget/page-sizer.cpp:240
+#: ../src/ui/widget/page-sizer.cpp:241
msgid "Right margin"
msgstr "Праве поле"
-#: ../src/ui/widget/page-sizer.cpp:241
+#: ../src/ui/widget/page-sizer.cpp:242
msgid "Botto_m:"
msgstr "Ðи_жнє:"
-#: ../src/ui/widget/page-sizer.cpp:241
+#: ../src/ui/widget/page-sizer.cpp:242
msgid "Bottom margin"
msgstr "Ðижнє поле"
-#: ../src/ui/widget/page-sizer.cpp:296
+#: ../src/ui/widget/page-sizer.cpp:244
+msgid "Scale _x:"
+msgstr "МаÑштаб за _x:"
+
+#: ../src/ui/widget/page-sizer.cpp:244
+msgid "Scale X"
+msgstr "МаÑштаб за X"
+
+#: ../src/ui/widget/page-sizer.cpp:245
+msgid "Scale _y:"
+msgstr "МаÑштаб за _y:"
+
+#: ../src/ui/widget/page-sizer.cpp:245
+msgid "Scale Y"
+msgstr "МаÑштаб за Y"
+
+#: ../src/ui/widget/page-sizer.cpp:321
msgid "Orientation:"
msgstr "ОрієнтаціÑ:"
-#: ../src/ui/widget/page-sizer.cpp:299
+#: ../src/ui/widget/page-sizer.cpp:324
msgid "_Landscape"
msgstr "_Ðльбомна"
-#: ../src/ui/widget/page-sizer.cpp:304
+#: ../src/ui/widget/page-sizer.cpp:329
msgid "_Portrait"
msgstr "Кни_жкова"
#. ## Set up custom size frame
-#: ../src/ui/widget/page-sizer.cpp:322
+#: ../src/ui/widget/page-sizer.cpp:348
msgid "Custom size"
msgstr "ОÑобливий розмір"
-#: ../src/ui/widget/page-sizer.cpp:367
+#: ../src/ui/widget/page-sizer.cpp:393
msgid "Resi_ze page to content..."
msgstr "_Розмір Ñторінки за вміÑтом…"
-#: ../src/ui/widget/page-sizer.cpp:419
+#: ../src/ui/widget/page-sizer.cpp:445
msgid "_Resize page to drawing or selection"
msgstr "_Підігнати розмір за малюнком або позначеною облаÑтю"
-#: ../src/ui/widget/page-sizer.cpp:420
+#: ../src/ui/widget/page-sizer.cpp:446
msgid ""
"Resize the page to fit the current selection, or the entire drawing if there "
"is no selection"
@@ -24343,105 +24363,131 @@ msgstr ""
"Змінити маÑштаб Ñторінки Ð´Ð»Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾Ñті поточному фрагменту або вÑьому "
"риÑунку, Ñкщо фрагмент не позначений"
-#: ../src/ui/widget/page-sizer.cpp:489
+#: ../src/ui/widget/page-sizer.cpp:477
+msgid ""
+"While SVG allows non-uniform scaling it is recommended to use only uniform "
+"scaling in Inkscape. To set a non-uniform scaling, set the 'viewBox' "
+"directly."
+msgstr ""
+"Хоча у SVG передбачено неоднорідне маÑштабуваннÑ, рекомендуємо вам "
+"викориÑтовувати у Inkscape лише однорідне маÑштабуваннÑ. Щоб вÑтановити "
+"неоднорідне маÑштабуваннÑ, вкажіть «viewBox» безпоÑередньо."
+
+#: ../src/ui/widget/page-sizer.cpp:481
+msgid "_Viewbox..."
+msgstr "Поле п_ереглÑду…"
+
+#: ../src/ui/widget/page-sizer.cpp:588
msgid "Set page size"
msgstr "Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ Ñторінки"
-#: ../src/ui/widget/panel.cpp:117
+#: ../src/ui/widget/page-sizer.cpp:834
+msgid "User units per "
+msgstr "Одиниць кориÑтувача "
+
+#: ../src/ui/widget/page-sizer.cpp:930
+msgid "Set page scale"
+msgstr "Ð’Ñтановити маÑштаб Ñторінки"
+
+#: ../src/ui/widget/page-sizer.cpp:956
+msgid "Set 'viewBox'"
+msgstr "Ð’Ñтановити «viewBox»"
+
+#: ../src/ui/widget/panel.cpp:113
msgid "List"
msgstr "СпиÑок"
-#: ../src/ui/widget/panel.cpp:140
+#: ../src/ui/widget/panel.cpp:136
msgctxt "Swatches"
msgid "Size"
msgstr "Розмір"
-#: ../src/ui/widget/panel.cpp:144
+#: ../src/ui/widget/panel.cpp:140
msgctxt "Swatches height"
msgid "Tiny"
msgstr "Крихітна"
-#: ../src/ui/widget/panel.cpp:145
+#: ../src/ui/widget/panel.cpp:141
msgctxt "Swatches height"
msgid "Small"
msgstr "Мала"
-#: ../src/ui/widget/panel.cpp:146
+#: ../src/ui/widget/panel.cpp:142
msgctxt "Swatches height"
msgid "Medium"
msgstr "СереднÑ"
-#: ../src/ui/widget/panel.cpp:147
+#: ../src/ui/widget/panel.cpp:143
msgctxt "Swatches height"
msgid "Large"
msgstr "Велика"
-#: ../src/ui/widget/panel.cpp:148
+#: ../src/ui/widget/panel.cpp:144
msgctxt "Swatches height"
msgid "Huge"
msgstr "Величезна"
-#: ../src/ui/widget/panel.cpp:170
+#: ../src/ui/widget/panel.cpp:166
msgctxt "Swatches"
msgid "Width"
msgstr "Ширина"
-#: ../src/ui/widget/panel.cpp:174
+#: ../src/ui/widget/panel.cpp:170
msgctxt "Swatches width"
msgid "Narrower"
msgstr "Вужча"
-#: ../src/ui/widget/panel.cpp:175
+#: ../src/ui/widget/panel.cpp:171
msgctxt "Swatches width"
msgid "Narrow"
msgstr "Вузька"
-#: ../src/ui/widget/panel.cpp:176
+#: ../src/ui/widget/panel.cpp:172
msgctxt "Swatches width"
msgid "Medium"
msgstr "СереднÑ"
-#: ../src/ui/widget/panel.cpp:177
+#: ../src/ui/widget/panel.cpp:173
msgctxt "Swatches width"
msgid "Wide"
msgstr "Широка"
-#: ../src/ui/widget/panel.cpp:178
+#: ../src/ui/widget/panel.cpp:174
msgctxt "Swatches width"
msgid "Wider"
msgstr "Ширша"
-#: ../src/ui/widget/panel.cpp:208
+#: ../src/ui/widget/panel.cpp:204
msgctxt "Swatches"
msgid "Border"
msgstr "Рамка"
-#: ../src/ui/widget/panel.cpp:212
+#: ../src/ui/widget/panel.cpp:208
msgctxt "Swatches border"
msgid "None"
msgstr "Ðемає"
-#: ../src/ui/widget/panel.cpp:213
+#: ../src/ui/widget/panel.cpp:209
msgctxt "Swatches border"
msgid "Solid"
msgstr "Суцільна"
-#: ../src/ui/widget/panel.cpp:214
+#: ../src/ui/widget/panel.cpp:210
msgctxt "Swatches border"
msgid "Wide"
msgstr "Широка"
#. TRANSLATORS: "Wrap" indicates how colour swatches are displayed
-#: ../src/ui/widget/panel.cpp:245
+#: ../src/ui/widget/panel.cpp:241
msgctxt "Swatches"
msgid "Wrap"
msgstr "З перенеÑеннÑм"
-#: ../src/ui/widget/preferences-widget.cpp:802
+#: ../src/ui/widget/preferences-widget.cpp:798
msgid "_Browse..."
msgstr "Ви_брати…"
-#: ../src/ui/widget/preferences-widget.cpp:888
+#: ../src/ui/widget/preferences-widget.cpp:884
msgid "Select a bitmap editor"
msgstr "Виберіть редактор раÑтрової графіки"
@@ -24509,7 +24555,7 @@ msgstr "Ð/Д"
#: ../src/ui/widget/selected-style.cpp:181
#: ../src/ui/widget/selected-style.cpp:1112
#: ../src/ui/widget/selected-style.cpp:1113
-#: ../src/widgets/gradient-toolbar.cpp:162
+#: ../src/widgets/gradient-toolbar.cpp:163
msgid "Nothing selected"
msgstr "Ðічого не позначено"
@@ -24536,7 +24582,7 @@ msgid "No stroke"
msgstr "Без штриха"
#: ../src/ui/widget/selected-style.cpp:192
-#: ../src/ui/widget/style-swatch.cpp:300 ../src/widgets/paint-selector.cpp:234
+#: ../src/ui/widget/style-swatch.cpp:300 ../src/widgets/paint-selector.cpp:231
msgid "Pattern"
msgstr "Ð—Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð²Ñ–Ð·ÐµÑ€ÑƒÐ½ÐºÐ¾Ð¼"
@@ -24611,14 +24657,14 @@ msgstr "<b>Ðе вÑтановлено</b>"
#: ../src/ui/widget/selected-style.cpp:237
#: ../src/ui/widget/selected-style.cpp:295
#: ../src/ui/widget/selected-style.cpp:575
-#: ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:709
+#: ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:705
msgid "Unset fill"
msgstr "Ðе заливати"
#: ../src/ui/widget/selected-style.cpp:237
#: ../src/ui/widget/selected-style.cpp:295
#: ../src/ui/widget/selected-style.cpp:591
-#: ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:709
+#: ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:705
msgid "Unset stroke"
msgstr "ЗнÑÑ‚Ñ‚Ñ ÑˆÑ‚Ñ€Ð¸Ñ…Ð°"
@@ -24696,12 +24742,12 @@ msgid "Make stroke opaque"
msgstr "Зробити штрихи непрозорими"
#: ../src/ui/widget/selected-style.cpp:299
-#: ../src/ui/widget/selected-style.cpp:557 ../src/widgets/fill-style.cpp:508
+#: ../src/ui/widget/selected-style.cpp:557 ../src/widgets/fill-style.cpp:504
msgid "Remove fill"
msgstr "Вилучити заповненнÑ"
#: ../src/ui/widget/selected-style.cpp:299
-#: ../src/ui/widget/selected-style.cpp:566 ../src/widgets/fill-style.cpp:508
+#: ../src/ui/widget/selected-style.cpp:566 ../src/widgets/fill-style.cpp:504
msgid "Remove stroke"
msgstr "Вилучити штрих"
@@ -24905,7 +24951,7 @@ msgstr "Об'єднати точки Ñходу"
msgid "3D box: Move vanishing point"
msgstr "ПроÑторовий об'єкт: ПереÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸ Ñходу"
-#: ../src/vanishing-point.cpp:327
+#: ../src/vanishing-point.cpp:328
#, c-format
msgid "<b>Finite</b> vanishing point shared by <b>%d</b> box"
msgid_plural ""
@@ -24917,7 +24963,7 @@ msgstr[2] "<b>Скінченна</b> точка Ñходу, Ñпільна длÑ
#. This won't make sense any more when infinite VPs are not shown on the canvas,
#. but currently we update the status message anyway
-#: ../src/vanishing-point.cpp:334
+#: ../src/vanishing-point.cpp:335
#, c-format
msgid "<b>Infinite</b> vanishing point shared by <b>%d</b> box"
msgid_plural ""
@@ -24927,7 +24973,7 @@ msgstr[0] "<b>ÐеÑкінченна</b> точка Ñходу Ð´Ð»Ñ <b>%d</b>
msgstr[1] "<b>ÐеÑкінченна</b> точка Ñходу, Ñпільна Ð´Ð»Ñ <b>%d</b> об'єктів"
msgstr[2] "<b>ÐеÑкінченна</b> точка Ñходу, Ñпільна Ð´Ð»Ñ <b>%d</b> об'єктів"
-#: ../src/vanishing-point.cpp:342
+#: ../src/vanishing-point.cpp:343
#, c-format
msgid ""
"shared by <b>%d</b> box; drag with <b>Shift</b> to separate selected box(es)"
@@ -24944,269 +24990,264 @@ msgstr[2] ""
"міÑтитьÑÑ Ñƒ <b>%d</b> об'єктах; перетÑгніть, утримуючи <b>Shift</b>, щоб "
"відокремити вибрані об'єкти"
-#: ../src/verbs.cpp:138
+#: ../src/verbs.cpp:137
msgid "File"
msgstr "Файл"
-#: ../src/verbs.cpp:233 ../share/extensions/interp_att_g.inx.h:22
+#: ../src/verbs.cpp:232 ../share/extensions/interp_att_g.inx.h:22
msgid "Tag"
msgstr "Мітка"
-#: ../src/verbs.cpp:252
+#: ../src/verbs.cpp:251
msgid "Context"
msgstr "КонтекÑÑ‚"
-#: ../src/verbs.cpp:271 ../src/verbs.cpp:2302
+#: ../src/verbs.cpp:270 ../src/verbs.cpp:2271
#: ../share/extensions/jessyInk_view.inx.h:1
#: ../share/extensions/polyhedron_3d.inx.h:26
msgid "View"
msgstr "ПереглÑд"
-#: ../src/verbs.cpp:291
+#: ../src/verbs.cpp:290
msgid "Dialog"
msgstr "Діалогове вікно"
-#: ../src/verbs.cpp:1260
+#: ../src/verbs.cpp:1259
msgid "Switch to next layer"
msgstr "ПеремкнутиÑÑ Ð½Ð° наÑтупний шар"
-#: ../src/verbs.cpp:1261
+#: ../src/verbs.cpp:1260
msgid "Switched to next layer."
msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð½Ð° наÑтупний шар."
-#: ../src/verbs.cpp:1263
+#: ../src/verbs.cpp:1262
msgid "Cannot go past last layer."
msgstr "Ðеможливо переміÑтитиÑÑ Ð²Ð¸Ñ‰Ðµ за оÑтанній шар."
-#: ../src/verbs.cpp:1272
+#: ../src/verbs.cpp:1271
msgid "Switch to previous layer"
msgstr "ПеремкнутиÑÑ Ð½Ð° попередній шар"
-#: ../src/verbs.cpp:1273
+#: ../src/verbs.cpp:1272
msgid "Switched to previous layer."
msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð½Ð° попередній шар."
-#: ../src/verbs.cpp:1275
+#: ../src/verbs.cpp:1274
msgid "Cannot go before first layer."
msgstr "Ðеможливо переміÑтитиÑÑ Ð½Ð¸Ð¶Ñ‡Ðµ за перший шар."
-#: ../src/verbs.cpp:1296 ../src/verbs.cpp:1393 ../src/verbs.cpp:1429
-#: ../src/verbs.cpp:1435 ../src/verbs.cpp:1459 ../src/verbs.cpp:1474
+#: ../src/verbs.cpp:1295 ../src/verbs.cpp:1362 ../src/verbs.cpp:1398
+#: ../src/verbs.cpp:1404 ../src/verbs.cpp:1428 ../src/verbs.cpp:1443
msgid "No current layer."
msgstr "Ðемає поточного шару."
-#: ../src/verbs.cpp:1325 ../src/verbs.cpp:1329
+#: ../src/verbs.cpp:1324 ../src/verbs.cpp:1328
#, c-format
msgid "Raised layer <b>%s</b>."
msgstr "Шар <b>%s</b> піднÑто."
-#: ../src/verbs.cpp:1326
+#: ../src/verbs.cpp:1325
msgid "Layer to top"
msgstr "ПіднÑти шар нагору"
-#: ../src/verbs.cpp:1330
+#: ../src/verbs.cpp:1329
msgid "Raise layer"
msgstr "ПіднÑти шар"
-#: ../src/verbs.cpp:1333 ../src/verbs.cpp:1337
+#: ../src/verbs.cpp:1332 ../src/verbs.cpp:1336
#, c-format
msgid "Lowered layer <b>%s</b>."
msgstr "Шар <b>%s</b> опущено."
-#: ../src/verbs.cpp:1334
+#: ../src/verbs.cpp:1333
msgid "Layer to bottom"
msgstr "ОпуÑтити шар додолу"
-#: ../src/verbs.cpp:1338
+#: ../src/verbs.cpp:1337
msgid "Lower layer"
msgstr "ОпуÑтити шар"
-#: ../src/verbs.cpp:1347
+#: ../src/verbs.cpp:1346
msgid "Cannot move layer any further."
msgstr "Ðеможливо переміÑтити шар далі."
-#: ../src/verbs.cpp:1361 ../src/verbs.cpp:1380
-#, c-format
-msgid "%s copy"
-msgstr "ÐšÐ¾Ð¿Ñ–Ñ %s"
-
-#: ../src/verbs.cpp:1388
+#: ../src/verbs.cpp:1357
msgid "Duplicate layer"
msgstr "Дублювати шар"
#. TRANSLATORS: this means "The layer has been duplicated."
-#: ../src/verbs.cpp:1391
+#: ../src/verbs.cpp:1360
msgid "Duplicated layer."
msgstr "Дубльований шар."
-#: ../src/verbs.cpp:1424
+#: ../src/verbs.cpp:1393
msgid "Delete layer"
msgstr "Вилучити шар"
#. TRANSLATORS: this means "The layer has been deleted."
-#: ../src/verbs.cpp:1427
+#: ../src/verbs.cpp:1396
msgid "Deleted layer."
msgstr "Шар вилучено."
-#: ../src/verbs.cpp:1444
+#: ../src/verbs.cpp:1413
msgid "Show all layers"
msgstr "Показати вÑÑ– шари"
-#: ../src/verbs.cpp:1449
+#: ../src/verbs.cpp:1418
msgid "Hide all layers"
msgstr "Приховати вÑÑ– шари"
-#: ../src/verbs.cpp:1454
+#: ../src/verbs.cpp:1423
msgid "Lock all layers"
msgstr "Заблокувати вÑÑ– шари"
-#: ../src/verbs.cpp:1468
+#: ../src/verbs.cpp:1437
msgid "Unlock all layers"
msgstr "Розблокувати вÑÑ– шари"
-#: ../src/verbs.cpp:1552
+#: ../src/verbs.cpp:1521
msgid "Flip horizontally"
msgstr "Віддзеркалити горизонтально"
-#: ../src/verbs.cpp:1557
+#: ../src/verbs.cpp:1526
msgid "Flip vertically"
msgstr "Віддзеркалити вертикально"
-#: ../src/verbs.cpp:1614 ../src/verbs.cpp:2727
+#: ../src/verbs.cpp:1583 ../src/verbs.cpp:2696
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:2184
+#: ../src/verbs.cpp:2153
msgid "tutorial-basic.svg"
msgstr "tutorial-basic.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2188
+#: ../src/verbs.cpp:2157
msgid "tutorial-shapes.svg"
msgstr "tutorial-shapes.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2192
+#: ../src/verbs.cpp:2161
msgid "tutorial-advanced.svg"
msgstr "tutorial-advanced.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2196
+#: ../src/verbs.cpp:2165
msgid "tutorial-tracing.svg"
msgstr "tutorial-tracing.svg"
-#: ../src/verbs.cpp:2199
+#: ../src/verbs.cpp:2168
msgid "tutorial-tracing-pixelart.svg"
msgstr "tutorial-tracing-pixelart.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2203
+#: ../src/verbs.cpp:2172
msgid "tutorial-calligraphy.svg"
msgstr "tutorial-calligraphy.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2207
+#: ../src/verbs.cpp:2176
msgid "tutorial-interpolate.svg"
msgstr "tutorial-interpolate.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2211
+#: ../src/verbs.cpp:2180
msgid "tutorial-elements.svg"
msgstr "tutorial-elements.svg"
#. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:2215
+#: ../src/verbs.cpp:2184
msgid "tutorial-tips.svg"
msgstr "tutorial-tips.svg"
-#: ../src/verbs.cpp:2401 ../src/verbs.cpp:3000
+#: ../src/verbs.cpp:2370 ../src/verbs.cpp:2969
msgid "Unlock all objects in the current layer"
msgstr "Розблокувати уÑÑ– об'єкти у поточному шарі"
-#: ../src/verbs.cpp:2405 ../src/verbs.cpp:3002
+#: ../src/verbs.cpp:2374 ../src/verbs.cpp:2971
msgid "Unlock all objects in all layers"
msgstr "Розблокувати уÑÑ– об'єкти в уÑÑ–Ñ… шарах"
-#: ../src/verbs.cpp:2409 ../src/verbs.cpp:3004
+#: ../src/verbs.cpp:2378 ../src/verbs.cpp:2973
msgid "Unhide all objects in the current layer"
msgstr "Розблокувати уÑÑ– об'єкти у поточному шарі"
-#: ../src/verbs.cpp:2413 ../src/verbs.cpp:3006
+#: ../src/verbs.cpp:2382 ../src/verbs.cpp:2975
msgid "Unhide all objects in all layers"
msgstr "Показати уÑÑ– об'єкти в уÑÑ–Ñ… шарах"
-#: ../src/verbs.cpp:2428
+#: ../src/verbs.cpp:2397
msgctxt "Verb"
msgid "None"
msgstr "Ðемає"
-#: ../src/verbs.cpp:2428
+#: ../src/verbs.cpp:2397
msgid "Does nothing"
msgstr "Ðемає дій"
#. File
#. Tag
-#: ../src/verbs.cpp:2431 ../src/verbs.cpp:2726
+#: ../src/verbs.cpp:2400 ../src/verbs.cpp:2695
msgid "_New"
msgstr "_Створити"
-#: ../src/verbs.cpp:2431
+#: ../src/verbs.cpp:2400
msgid "Create new document from the default template"
msgstr "Створити новий документ зі Ñтандартного шаблону"
-#: ../src/verbs.cpp:2433
+#: ../src/verbs.cpp:2402
msgid "_Open..."
msgstr "_Відкрити…"
-#: ../src/verbs.cpp:2434
+#: ../src/verbs.cpp:2403
msgid "Open an existing document"
msgstr "Відкрити Ñ–Ñнуючий документ"
-#: ../src/verbs.cpp:2435
+#: ../src/verbs.cpp:2404
msgid "Re_vert"
msgstr "Від_новити"
-#: ../src/verbs.cpp:2436
+#: ../src/verbs.cpp:2405
msgid "Revert to the last saved version of document (changes will be lost)"
msgstr "Відновити оÑтанню збережену верÑÑ–ÑŽ документа (зміни будуть втрачені)"
-#: ../src/verbs.cpp:2437
+#: ../src/verbs.cpp:2406
msgid "Save document"
msgstr "Зберегти документ"
-#: ../src/verbs.cpp:2439
+#: ../src/verbs.cpp:2408
msgid "Save _As..."
msgstr "Зберегти _Ñк…"
-#: ../src/verbs.cpp:2440
+#: ../src/verbs.cpp:2409
msgid "Save document under a new name"
msgstr "Зберегти документ під іншою назвою"
-#: ../src/verbs.cpp:2441
+#: ../src/verbs.cpp:2410
msgid "Save a Cop_y..."
msgstr "Зберегти _копію…"
-#: ../src/verbs.cpp:2442
+#: ../src/verbs.cpp:2411
msgid "Save a copy of the document under a new name"
msgstr "Зберегти копію документа під іншою назвою"
-#: ../src/verbs.cpp:2443
+#: ../src/verbs.cpp:2412
msgid "_Print..."
msgstr "Ðад_рукувати…"
-#: ../src/verbs.cpp:2443
+#: ../src/verbs.cpp:2412
msgid "Print document"
msgstr "Ðадрукувати документ"
#. TRANSLATORS: "Vacuum Defs" means "Clean up defs" (so as to remove unused definitions)
-#: ../src/verbs.cpp:2446
+#: ../src/verbs.cpp:2415
msgid "Clean _up document"
msgstr "О_чиÑтити документ"
-#: ../src/verbs.cpp:2446
+#: ../src/verbs.cpp:2415
msgid ""
"Remove unused definitions (such as gradients or clipping paths) from the &lt;"
"defs&gt; of the document"
@@ -25214,145 +25255,145 @@ msgstr ""
"Прибрати непотрібні Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (наприклад, градієнти чи вирізаннÑ) з &lt;"
"defs&gt; документа"
-#: ../src/verbs.cpp:2448
+#: ../src/verbs.cpp:2417
msgid "_Import..."
msgstr "_Імпортувати…"
-#: ../src/verbs.cpp:2449
+#: ../src/verbs.cpp:2418
msgid "Import a bitmap or SVG image into this document"
msgstr "Імпортувати Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ (раÑтрове чи SVG) до документа"
#. 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:2451
+#: ../src/verbs.cpp:2420
msgid "Import Clip Art..."
msgstr "_Імпортувати шаблон…"
-#: ../src/verbs.cpp:2452
+#: ../src/verbs.cpp:2421
msgid "Import clipart from Open Clip Art Library"
msgstr "Імпортувати шаблон з бібліотеки Open Clip Art"
#. 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:2454
+#: ../src/verbs.cpp:2423
msgid "N_ext Window"
msgstr "_ÐаÑтупне вікно"
-#: ../src/verbs.cpp:2455
+#: ../src/verbs.cpp:2424
msgid "Switch to the next document window"
msgstr "Перейти до наÑтупного вікна документа"
-#: ../src/verbs.cpp:2456
+#: ../src/verbs.cpp:2425
msgid "P_revious Window"
msgstr "_Попереднє вікно"
-#: ../src/verbs.cpp:2457
+#: ../src/verbs.cpp:2426
msgid "Switch to the previous document window"
msgstr "Перейти до попереднього вікна документа"
-#: ../src/verbs.cpp:2458
+#: ../src/verbs.cpp:2427
msgid "_Close"
msgstr "_Закрити"
-#: ../src/verbs.cpp:2459
+#: ../src/verbs.cpp:2428
msgid "Close this document window"
msgstr "Закрити це вікно документа"
-#: ../src/verbs.cpp:2460
+#: ../src/verbs.cpp:2429
msgid "_Quit"
msgstr "Ви_йти"
-#: ../src/verbs.cpp:2460
+#: ../src/verbs.cpp:2429
msgid "Quit Inkscape"
msgstr "Вийти з Inkscape"
-#: ../src/verbs.cpp:2461
+#: ../src/verbs.cpp:2430
msgid "New from _Template..."
msgstr "Створити з _шаблона…"
-#: ../src/verbs.cpp:2462
+#: ../src/verbs.cpp:2431
msgid "Create new project from template"
msgstr "Створити новий проект на оÑнові шаблону"
-#: ../src/verbs.cpp:2465
+#: ../src/verbs.cpp:2434
msgid "Undo last action"
msgstr "СкаÑувати оÑтанню операцію"
-#: ../src/verbs.cpp:2468
+#: ../src/verbs.cpp:2437
msgid "Do again the last undone action"
msgstr "Повторити оÑтанню ÑкаÑовану дію"
-#: ../src/verbs.cpp:2469
+#: ../src/verbs.cpp:2438
msgid "Cu_t"
msgstr "_Вирізати"
-#: ../src/verbs.cpp:2470
+#: ../src/verbs.cpp:2439
msgid "Cut selection to clipboard"
msgstr "Вирізати позначені об'єкти у буфер обміну"
-#: ../src/verbs.cpp:2471
+#: ../src/verbs.cpp:2440
msgid "_Copy"
msgstr "_Копіювати"
-#: ../src/verbs.cpp:2472
+#: ../src/verbs.cpp:2441
msgid "Copy selection to clipboard"
msgstr "Скопіювати позначені об'єкти у буфер обміну"
-#: ../src/verbs.cpp:2473
+#: ../src/verbs.cpp:2442
msgid "_Paste"
msgstr "Ð’ÑÑ‚_авити"
-#: ../src/verbs.cpp:2474
+#: ../src/verbs.cpp:2443
msgid "Paste objects from clipboard to mouse point, or paste text"
msgstr "Ð’Ñтавити об'єкти з буферу обміну або текÑÑ‚ у позицію курÑора миші"
-#: ../src/verbs.cpp:2475
+#: ../src/verbs.cpp:2444
msgid "Paste _Style"
msgstr "Ð’Ñтавити _Ñтиль"
-#: ../src/verbs.cpp:2476
+#: ../src/verbs.cpp:2445
msgid "Apply the style of the copied object to selection"
msgstr "ЗаÑтоÑувати Ñтиль Ñкопійованого об'єкта до позначених об'єктів"
-#: ../src/verbs.cpp:2478
+#: ../src/verbs.cpp:2447
msgid "Scale selection to match the size of the copied object"
msgstr ""
"Зміна маÑштабу позначених об'єктів з метою задовольнити розміру копійованого "
"об'єкта"
-#: ../src/verbs.cpp:2479
+#: ../src/verbs.cpp:2448
msgid "Paste _Width"
msgstr "Ð’Ñтавити _ширину"
-#: ../src/verbs.cpp:2480
+#: ../src/verbs.cpp:2449
msgid "Scale selection horizontally to match the width of the copied object"
msgstr ""
"Змінити маÑштаб позначених об'єктів за горизонтальним розміром з метою "
"відповідноÑті ширині копійованого об'єкта"
-#: ../src/verbs.cpp:2481
+#: ../src/verbs.cpp:2450
msgid "Paste _Height"
msgstr "Ð’Ñтавити _виÑоту"
-#: ../src/verbs.cpp:2482
+#: ../src/verbs.cpp:2451
msgid "Scale selection vertically to match the height of the copied object"
msgstr ""
"Змінити маÑштаб позначених об'єктів за вертикальним розміром з метою "
"відповідноÑті виÑоті копійованого об'єкта"
-#: ../src/verbs.cpp:2483
+#: ../src/verbs.cpp:2452
msgid "Paste Size Separately"
msgstr "Ð’Ñтавити розмір окремо"
-#: ../src/verbs.cpp:2484
+#: ../src/verbs.cpp:2453
msgid "Scale each selected object to match the size of the copied object"
msgstr ""
"Змінити кожного позначеного об'єкта з метою відповідноÑті розміру "
"копійованого об'єкта"
-#: ../src/verbs.cpp:2485
+#: ../src/verbs.cpp:2454
msgid "Paste Width Separately"
msgstr "Ð’Ñтавити ширину окремо"
-#: ../src/verbs.cpp:2486
+#: ../src/verbs.cpp:2455
msgid ""
"Scale each selected object horizontally to match the width of the copied "
"object"
@@ -25360,11 +25401,11 @@ msgstr ""
"Змінити маÑштаб кожного позначеного об'єкта за горизонтальним розміром з "
"метою відповідноÑті ширині копійованого об'єкта"
-#: ../src/verbs.cpp:2487
+#: ../src/verbs.cpp:2456
msgid "Paste Height Separately"
msgstr "Ð’Ñтавити виÑоту окремо"
-#: ../src/verbs.cpp:2488
+#: ../src/verbs.cpp:2457
msgid ""
"Scale each selected object vertically to match the height of the copied "
"object"
@@ -25372,67 +25413,67 @@ msgstr ""
"Змінити маÑштаб кожного позначеного об'єкта за вертикальним розміром з метою "
"відповідноÑті виÑоті копійованого об'єкта"
-#: ../src/verbs.cpp:2489
+#: ../src/verbs.cpp:2458
msgid "Paste _In Place"
msgstr "Ð’Ñтавити на _міÑце"
-#: ../src/verbs.cpp:2490
+#: ../src/verbs.cpp:2459
msgid "Paste objects from clipboard to the original location"
msgstr "Ð’Ñтавити об'єкти з буфера у міÑце, де вони були раніше"
-#: ../src/verbs.cpp:2491
+#: ../src/verbs.cpp:2460
msgid "Paste Path _Effect"
msgstr "Ð’Ñтавити _ефект контуру"
-#: ../src/verbs.cpp:2492
+#: ../src/verbs.cpp:2461
msgid "Apply the path effect of the copied object to selection"
msgstr "ЗаÑтоÑувати ефект контуру Ñкопійованого об'єкта до позначених об'єктів"
-#: ../src/verbs.cpp:2493
+#: ../src/verbs.cpp:2462
msgid "Remove Path _Effect"
msgstr "Вилучити _ефект контуру"
-#: ../src/verbs.cpp:2494
+#: ../src/verbs.cpp:2463
msgid "Remove any path effects from selected objects"
msgstr "Вилучити вÑÑ– ефекти контурів з позначених об'єктів"
-#: ../src/verbs.cpp:2495
+#: ../src/verbs.cpp:2464
msgid "_Remove Filters"
msgstr "В_илучити фільтри"
-#: ../src/verbs.cpp:2496
+#: ../src/verbs.cpp:2465
msgid "Remove any filters from selected objects"
msgstr "Вилучити вÑÑ– наÑлідки заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ñ–Ð² з позначених об'єктів"
-#: ../src/verbs.cpp:2497
+#: ../src/verbs.cpp:2466
msgid "_Delete"
msgstr "В_илучити"
-#: ../src/verbs.cpp:2498
+#: ../src/verbs.cpp:2467
msgid "Delete selection"
msgstr "Вилучити позначені об'єкти"
-#: ../src/verbs.cpp:2499
+#: ../src/verbs.cpp:2468
msgid "Duplic_ate"
msgstr "_Дублювати"
-#: ../src/verbs.cpp:2500
+#: ../src/verbs.cpp:2469
msgid "Duplicate selected objects"
msgstr "Дублювати позначені об'єкти"
-#: ../src/verbs.cpp:2501
+#: ../src/verbs.cpp:2470
msgid "Create Clo_ne"
msgstr "Створити к_лон"
-#: ../src/verbs.cpp:2502
+#: ../src/verbs.cpp:2471
msgid "Create a clone (a copy linked to the original) of selected object"
msgstr "Створити клон (копію, пов'Ñзану з оригіналом) позначеного об'єкта"
-#: ../src/verbs.cpp:2503
+#: ../src/verbs.cpp:2472
msgid "Unlin_k Clone"
msgstr "В_ід'єднати клон"
-#: ../src/verbs.cpp:2504
+#: ../src/verbs.cpp:2473
msgid ""
"Cut the selected clones' links to the originals, turning them into "
"standalone objects"
@@ -25440,29 +25481,29 @@ msgstr ""
"Вирізати вибрані поÑÐ¸Ð»Ð°Ð½Ð½Ñ ÐºÐ»Ð¾Ð½Ñ–Ð² на оригінали з перетвореннÑм Ñ—Ñ… на окремі "
"об'єкти"
-#: ../src/verbs.cpp:2505
+#: ../src/verbs.cpp:2474
msgid "Relink to Copied"
msgstr "Перез'єднати з копійованим"
-#: ../src/verbs.cpp:2506
+#: ../src/verbs.cpp:2475
msgid "Relink the selected clones to the object currently on the clipboard"
msgstr ""
"Перез'єднати вибрані клони з об'єктом, Ñкий зараз перебуває у буфері обміну "
"даними"
-#: ../src/verbs.cpp:2507
+#: ../src/verbs.cpp:2476
msgid "Select _Original"
msgstr "Позначити о_ригінал"
-#: ../src/verbs.cpp:2508
+#: ../src/verbs.cpp:2477
msgid "Select the object to which the selected clone is linked"
msgstr "Позначити об'єкт, з Ñким пов'Ñзаний вибраний клон"
-#: ../src/verbs.cpp:2509
+#: ../src/verbs.cpp:2478
msgid "Clone original path (LPE)"
msgstr "Клонувати початковий контур (геометрично)"
-#: ../src/verbs.cpp:2510
+#: ../src/verbs.cpp:2479
msgid ""
"Creates a new path, applies the Clone original LPE, and refers it to the "
"selected path"
@@ -25470,19 +25511,19 @@ msgstr ""
"Створює новий контур, заÑтоÑовує геометричне Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ»Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ "
"початкового контуру Ñ– пов'Ñзує його з вибраним контуром"
-#: ../src/verbs.cpp:2511
+#: ../src/verbs.cpp:2480
msgid "Objects to _Marker"
msgstr "Об'єкти у _маркер"
-#: ../src/verbs.cpp:2512
+#: ../src/verbs.cpp:2481
msgid "Convert selection to a line marker"
msgstr "Перетворити вибране на маркер лінії"
-#: ../src/verbs.cpp:2513
+#: ../src/verbs.cpp:2482
msgid "Objects to Gu_ides"
msgstr "Об'єкти у на_прÑмні"
-#: ../src/verbs.cpp:2514
+#: ../src/verbs.cpp:2483
msgid ""
"Convert selected objects to a collection of guidelines aligned with their "
"edges"
@@ -25490,92 +25531,92 @@ msgstr ""
"Перетворити вибрані об'єкти на декілька напрÑмних, вирівнÑних за краÑми "
"об'єктів"
-#: ../src/verbs.cpp:2515
+#: ../src/verbs.cpp:2484
msgid "Objects to Patter_n"
msgstr "О_б'єкти у візерунок"
-#: ../src/verbs.cpp:2516
+#: ../src/verbs.cpp:2485
msgid "Convert selection to a rectangle with tiled pattern fill"
msgstr "Перетворити позначені об'єкти у прÑмокутник, заповнений візерунком"
-#: ../src/verbs.cpp:2517
+#: ../src/verbs.cpp:2486
msgid "Pattern to _Objects"
msgstr "_Візерунок у об'єкти"
-#: ../src/verbs.cpp:2518
+#: ../src/verbs.cpp:2487
msgid "Extract objects from a tiled pattern fill"
msgstr "ВитÑгнути об'єкти з текÑтурного заповненнÑ"
-#: ../src/verbs.cpp:2519
+#: ../src/verbs.cpp:2488
msgid "Group to Symbol"
msgstr "Групу на Ñимвол"
-#: ../src/verbs.cpp:2520
+#: ../src/verbs.cpp:2489
msgid "Convert group to a symbol"
msgstr "Перетворити групу на Ñимвол"
-#: ../src/verbs.cpp:2521
+#: ../src/verbs.cpp:2490
msgid "Symbol to Group"
msgstr "Символ у групу"
-#: ../src/verbs.cpp:2522
+#: ../src/verbs.cpp:2491
msgid "Extract group from a symbol"
msgstr "Видобути групу з Ñимволу"
-#: ../src/verbs.cpp:2523
+#: ../src/verbs.cpp:2492
msgid "Clea_r All"
msgstr "О_чиÑтити вÑе"
-#: ../src/verbs.cpp:2524
+#: ../src/verbs.cpp:2493
msgid "Delete all objects from document"
msgstr "Вилучити уÑÑ– об'єкти з документа"
-#: ../src/verbs.cpp:2525
+#: ../src/verbs.cpp:2494
msgid "Select Al_l"
msgstr "Поз_начити вÑе"
-#: ../src/verbs.cpp:2526
+#: ../src/verbs.cpp:2495
msgid "Select all objects or all nodes"
msgstr "Позначити вÑÑ– об'єкти чи вÑÑ– вузли"
-#: ../src/verbs.cpp:2527
+#: ../src/verbs.cpp:2496
msgid "Select All in All La_yers"
msgstr "Позначити вÑе в уÑÑ–Ñ… _шарах"
-#: ../src/verbs.cpp:2528
+#: ../src/verbs.cpp:2497
msgid "Select all objects in all visible and unlocked layers"
msgstr "Позначити уÑÑ– об'єкти в уÑÑ–Ñ… видимих та розблокованих шарах"
-#: ../src/verbs.cpp:2529
+#: ../src/verbs.cpp:2498
msgid "Fill _and Stroke"
msgstr "Ð—Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ _та штрих"
-#: ../src/verbs.cpp:2530
+#: ../src/verbs.cpp:2499
msgid ""
"Select all objects with the same fill and stroke as the selected objects"
msgstr "Позначити вÑÑ– об'єкти з тим Ñамим заповненнÑм та штрихом"
-#: ../src/verbs.cpp:2531
+#: ../src/verbs.cpp:2500
msgid "_Fill Color"
msgstr "За_повнити кольором"
-#: ../src/verbs.cpp:2532
+#: ../src/verbs.cpp:2501
msgid "Select all objects with the same fill as the selected objects"
msgstr "Позначити вÑÑ– об'єкти з тим Ñамим заповненнÑм"
-#: ../src/verbs.cpp:2533
+#: ../src/verbs.cpp:2502
msgid "_Stroke Color"
msgstr "Колір _штриха"
-#: ../src/verbs.cpp:2534
+#: ../src/verbs.cpp:2503
msgid "Select all objects with the same stroke as the selected objects"
msgstr "Позначити вÑÑ– об'єкти з тим Ñамим штрихом"
-#: ../src/verbs.cpp:2535
+#: ../src/verbs.cpp:2504
msgid "Stroke St_yle"
msgstr "С_тиль штриха"
-#: ../src/verbs.cpp:2536
+#: ../src/verbs.cpp:2505
msgid ""
"Select all objects with the same stroke style (width, dash, markers) as the "
"selected objects"
@@ -25583,11 +25624,11 @@ msgstr ""
"Позначити вÑÑ– об'єкти з тим Ñамим типом штриха (товщиною, риÑками, "
"позначками)"
-#: ../src/verbs.cpp:2537
+#: ../src/verbs.cpp:2506
msgid "_Object Type"
msgstr "Тип _об'єкта"
-#: ../src/verbs.cpp:2538
+#: ../src/verbs.cpp:2507
msgid ""
"Select all objects with the same object type (rect, arc, text, path, bitmap "
"etc) as the selected objects"
@@ -25595,156 +25636,156 @@ msgstr ""
"Позначити вÑÑ– об'єкти з тим Ñамим типом об'єкта (прÑмокутник, дуга, текÑÑ‚, "
"контур, раÑтрове Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð¾Ñ‰Ð¾), що Ñ– позначені об'єкти"
-#: ../src/verbs.cpp:2539
+#: ../src/verbs.cpp:2508
msgid "In_vert Selection"
msgstr "_Інвертувати позначеннÑ"
-#: ../src/verbs.cpp:2540
+#: ../src/verbs.cpp:2509
msgid "Invert selection (unselect what is selected and select everything else)"
msgstr ""
"Інвертувати Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (знÑти Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð· позначеного та позначити решту)"
-#: ../src/verbs.cpp:2541
+#: ../src/verbs.cpp:2510
msgid "Invert in All Layers"
msgstr "Інвертувати в уÑÑ–Ñ… шарах"
-#: ../src/verbs.cpp:2542
+#: ../src/verbs.cpp:2511
msgid "Invert selection in all visible and unlocked layers"
msgstr "Інвертувати Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð² уÑÑ–Ñ… видимих та незаблокованих шарах"
-#: ../src/verbs.cpp:2543
+#: ../src/verbs.cpp:2512
msgid "Select Next"
msgstr "Обрати наÑтупний"
-#: ../src/verbs.cpp:2544
+#: ../src/verbs.cpp:2513
msgid "Select next object or node"
msgstr "Обрати наÑтупний об'єкт або вузол"
-#: ../src/verbs.cpp:2545
+#: ../src/verbs.cpp:2514
msgid "Select Previous"
msgstr "Обрати попереднє"
-#: ../src/verbs.cpp:2546
+#: ../src/verbs.cpp:2515
msgid "Select previous object or node"
msgstr "Обрати попередній об'єкт чи вузол"
-#: ../src/verbs.cpp:2547
+#: ../src/verbs.cpp:2516
msgid "D_eselect"
msgstr "Зн_Ñти позначеннÑ"
-#: ../src/verbs.cpp:2548
+#: ../src/verbs.cpp:2517
msgid "Deselect any selected objects or nodes"
msgstr "ЗнÑти Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð· уÑÑ–Ñ… об'єктів чи вузлів"
-#: ../src/verbs.cpp:2550
+#: ../src/verbs.cpp:2519
msgid "Delete all the guides in the document"
msgstr "Вилучити уÑÑ– напрÑмні у документі"
-#: ../src/verbs.cpp:2551
+#: ../src/verbs.cpp:2520
msgid "Create _Guides Around the Page"
msgstr "Створити _напрÑмні навколо Ñторінки"
-#: ../src/verbs.cpp:2552
+#: ../src/verbs.cpp:2521
msgid "Create four guides aligned with the page borders"
msgstr "Створити чотири напрÑмні за краÑми Ñторінки"
-#: ../src/verbs.cpp:2553
+#: ../src/verbs.cpp:2522
msgid "Next path effect parameter"
msgstr "ÐаÑтупний параметр ефекту контуру"
-#: ../src/verbs.cpp:2554
+#: ../src/verbs.cpp:2523
msgid "Show next editable path effect parameter"
msgstr "Показати наÑтупний придатний до Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ ефекту контуру"
#. Selection
-#: ../src/verbs.cpp:2557
+#: ../src/verbs.cpp:2526
msgid "Raise to _Top"
msgstr "ПіднÑти на п_ередній план"
-#: ../src/verbs.cpp:2558
+#: ../src/verbs.cpp:2527
msgid "Raise selection to top"
msgstr "ПіднÑти позначені об'єкти на передній план"
-#: ../src/verbs.cpp:2559
+#: ../src/verbs.cpp:2528
msgid "Lower to _Bottom"
msgstr "ОпуÑтити на з_адній план"
-#: ../src/verbs.cpp:2560
+#: ../src/verbs.cpp:2529
msgid "Lower selection to bottom"
msgstr "ОпуÑтити позначені об'єкти на задній план"
-#: ../src/verbs.cpp:2561
+#: ../src/verbs.cpp:2530
msgid "_Raise"
msgstr "_ПіднÑти"
-#: ../src/verbs.cpp:2562
+#: ../src/verbs.cpp:2531
msgid "Raise selection one step"
msgstr "ПіднÑти позначені об'єкти на один рівень"
-#: ../src/verbs.cpp:2563
+#: ../src/verbs.cpp:2532
msgid "_Lower"
msgstr "_ОпуÑтити"
-#: ../src/verbs.cpp:2564
+#: ../src/verbs.cpp:2533
msgid "Lower selection one step"
msgstr "ОпуÑтити позначені об'єкти на один рівень"
-#: ../src/verbs.cpp:2566
+#: ../src/verbs.cpp:2535
msgid "Group selected objects"
msgstr "Згрупувати позначені об'єкти"
-#: ../src/verbs.cpp:2568
+#: ../src/verbs.cpp:2537
msgid "Ungroup selected groups"
msgstr "Розгрупувати позначені групи"
-#: ../src/verbs.cpp:2570
+#: ../src/verbs.cpp:2539
msgid "_Put on Path"
msgstr "_РозміÑтити по контуру"
-#: ../src/verbs.cpp:2572
+#: ../src/verbs.cpp:2541
msgid "_Remove from Path"
msgstr "Відокрем_ити від контуру"
-#: ../src/verbs.cpp:2574
+#: ../src/verbs.cpp:2543
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:2577
+#: ../src/verbs.cpp:2546
msgid "Remove all manual kerns and glyph rotations from a text object"
msgstr ""
"Вилучити з текÑтового об'єкта уÑÑ– додані вручну повороти кернів та гліфів"
-#: ../src/verbs.cpp:2579
+#: ../src/verbs.cpp:2548
msgid "_Union"
msgstr "С_ума"
-#: ../src/verbs.cpp:2580
+#: ../src/verbs.cpp:2549
msgid "Create union of selected paths"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ… контурів"
-#: ../src/verbs.cpp:2581
+#: ../src/verbs.cpp:2550
msgid "_Intersection"
msgstr "_Перетин"
-#: ../src/verbs.cpp:2582
+#: ../src/verbs.cpp:2551
msgid "Create intersection of selected paths"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑ‚Ð¸Ð½Ñƒ позначених контурів"
-#: ../src/verbs.cpp:2583
+#: ../src/verbs.cpp:2552
msgid "_Difference"
msgstr "Р_ізницÑ"
-#: ../src/verbs.cpp:2584
+#: ../src/verbs.cpp:2553
msgid "Create difference of selected paths (bottom minus top)"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ†Ñ– позначених контурів (низ Ð¼Ñ–Ð½ÑƒÑ Ð²ÐµÑ€Ñ…)"
-#: ../src/verbs.cpp:2585
+#: ../src/verbs.cpp:2554
msgid "E_xclusion"
msgstr "Виключне _ÐБО"
-#: ../src/verbs.cpp:2586
+#: ../src/verbs.cpp:2555
msgid ""
"Create exclusive OR of selected paths (those parts that belong to only one "
"path)"
@@ -25752,21 +25793,21 @@ msgstr ""
"Створити контур шлÑхом виключного ÐБО з позначених контурів (ті чаÑтини, що "
"належать тільки одному з контурів)"
-#: ../src/verbs.cpp:2587
+#: ../src/verbs.cpp:2556
msgid "Di_vision"
msgstr "_ДіленнÑ"
-#: ../src/verbs.cpp:2588
+#: ../src/verbs.cpp:2557
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:2591
+#: ../src/verbs.cpp:2560
msgid "Cut _Path"
msgstr "Розрізати _контур"
-#: ../src/verbs.cpp:2592
+#: ../src/verbs.cpp:2561
msgid "Cut the bottom path's stroke into pieces, removing fill"
msgstr ""
"Розрізати штрих нижнього контуру верхнім на чаÑтини, з вилученнÑм заповненнÑ"
@@ -25774,357 +25815,357 @@ 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:2596
+#: ../src/verbs.cpp:2565
msgid "Outs_et"
msgstr "Ро_зтÑгнути"
-#: ../src/verbs.cpp:2597
+#: ../src/verbs.cpp:2566
msgid "Outset selected paths"
msgstr "РозтÑгнути позначені контури"
-#: ../src/verbs.cpp:2599
+#: ../src/verbs.cpp:2568
msgid "O_utset Path by 1 px"
msgstr "Р_озтÑгнути на 1 точку"
-#: ../src/verbs.cpp:2600
+#: ../src/verbs.cpp:2569
msgid "Outset selected paths by 1 px"
msgstr "РозтÑгнути позначені контури на 1 точку"
-#: ../src/verbs.cpp:2602
+#: ../src/verbs.cpp:2571
msgid "O_utset Path by 10 px"
msgstr "Р_озтÑгнути на 10 точок"
-#: ../src/verbs.cpp:2603
+#: ../src/verbs.cpp:2572
msgid "Outset selected paths by 10 px"
msgstr "РозтÑгнути позначені контури на 10 точок"
#. 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:2607
+#: ../src/verbs.cpp:2576
msgid "I_nset"
msgstr "Ð’_Ñ‚Ñгнути"
-#: ../src/verbs.cpp:2608
+#: ../src/verbs.cpp:2577
msgid "Inset selected paths"
msgstr "Ð’Ñ‚Ñгнути позначені контури"
-#: ../src/verbs.cpp:2610
+#: ../src/verbs.cpp:2579
msgid "I_nset Path by 1 px"
msgstr "Ð’Ñ‚_Ñгнути контур на 1 точку"
-#: ../src/verbs.cpp:2611
+#: ../src/verbs.cpp:2580
msgid "Inset selected paths by 1 px"
msgstr "Ð’Ñ‚Ñгнути позначені контури на 1 точку"
-#: ../src/verbs.cpp:2613
+#: ../src/verbs.cpp:2582
msgid "I_nset Path by 10 px"
msgstr "Ð’Ñ‚_Ñгнути контур на 10 точок"
-#: ../src/verbs.cpp:2614
+#: ../src/verbs.cpp:2583
msgid "Inset selected paths by 10 px"
msgstr "Ð’Ñ‚Ñгнути позначені контури на 10 точок"
-#: ../src/verbs.cpp:2616
+#: ../src/verbs.cpp:2585
msgid "D_ynamic Offset"
msgstr "Д_инамічний відÑтуп"
-#: ../src/verbs.cpp:2616
+#: ../src/verbs.cpp:2585
msgid "Create a dynamic offset object"
msgstr ""
"Створити об'єкт, втÑгуваннÑ/розтÑÐ³ÑƒÐ²Ð°Ð½Ð½Ñ Ñкого можна змінювати динамічно"
-#: ../src/verbs.cpp:2618
+#: ../src/verbs.cpp:2587
msgid "_Linked Offset"
msgstr "Зв'_Ñзане втÑгуваннÑ"
-#: ../src/verbs.cpp:2619
+#: ../src/verbs.cpp:2588
msgid "Create a dynamic offset object linked to the original path"
msgstr ""
"Створити втÑгуваннÑ/розтÑгуваннÑ, динамічно пов'Ñзане з початковим контуром"
-#: ../src/verbs.cpp:2621
+#: ../src/verbs.cpp:2590
msgid "_Stroke to Path"
msgstr "_Штрих у контур"
-#: ../src/verbs.cpp:2622
+#: ../src/verbs.cpp:2591
msgid "Convert selected object's stroke to paths"
msgstr "Перетворити штрих позначеного об'єкта на контури"
-#: ../src/verbs.cpp:2623
+#: ../src/verbs.cpp:2592
msgid "Si_mplify"
msgstr "_СпроÑтити"
-#: ../src/verbs.cpp:2624
+#: ../src/verbs.cpp:2593
msgid "Simplify selected paths (remove extra nodes)"
msgstr "СпроÑтити позначені контури вилученнÑм зайвих вузлів"
-#: ../src/verbs.cpp:2625
+#: ../src/verbs.cpp:2594
msgid "_Reverse"
msgstr "Роз_вернути"
-#: ../src/verbs.cpp:2626
+#: ../src/verbs.cpp:2595
msgid "Reverse the direction of selected paths (useful for flipping markers)"
msgstr ""
"Змінити напрÑмок позначених контурів на протилежний (кориÑно Ð´Ð»Ñ "
"Ð²Ñ–Ð´Ð´Ð·ÐµÑ€ÐºÐ°Ð»ÐµÐ½Ð½Ñ Ð¼Ð°Ñ€ÐºÐµÑ€Ñ–Ð²)"
-#: ../src/verbs.cpp:2629
+#: ../src/verbs.cpp:2598
msgid "Create one or more paths from a bitmap by tracing it"
msgstr ""
"Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ або більше контурів з раÑтрового файла шлÑхом траÑуваннÑ"
-#: ../src/verbs.cpp:2630
+#: ../src/verbs.cpp:2599
msgid "Trace Pixel Art..."
msgstr "ТраÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ð°Ñтрової графіки…"
-#: ../src/verbs.cpp:2631
+#: ../src/verbs.cpp:2600
msgid "Create paths using Kopf-Lischinski algorithm to vectorize pixel art"
msgstr ""
"Створити контури за алгоритмом Копфа-ЛіщинÑького Ð´Ð»Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ñ–Ñ— раÑтрової "
"графіки"
-#: ../src/verbs.cpp:2632
+#: ../src/verbs.cpp:2601
msgid "Make a _Bitmap Copy"
msgstr "З_робити раÑтрову копію"
-#: ../src/verbs.cpp:2633
+#: ../src/verbs.cpp:2602
msgid "Export selection to a bitmap and insert it into document"
msgstr "ЕкÑпортувати позначені об'єкти у раÑтр та вÑтавити його у документ"
-#: ../src/verbs.cpp:2634
+#: ../src/verbs.cpp:2603
msgid "_Combine"
msgstr "Об'_єднати"
-#: ../src/verbs.cpp:2635
+#: ../src/verbs.cpp:2604
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:2638
+#: ../src/verbs.cpp:2607
msgid "Break _Apart"
msgstr "_Розділити"
-#: ../src/verbs.cpp:2639
+#: ../src/verbs.cpp:2608
msgid "Break selected paths into subpaths"
msgstr "Розділити позначені контури на чаÑтини"
-#: ../src/verbs.cpp:2640
+#: ../src/verbs.cpp:2609
msgid "_Arrange..."
msgstr "_Компонувати…"
-#: ../src/verbs.cpp:2641
+#: ../src/verbs.cpp:2610
msgid "Arrange selected objects in a table or circle"
msgstr "Компонувати позначені об'єкти у формі таблиці або за колом"
#. Layer
-#: ../src/verbs.cpp:2643
+#: ../src/verbs.cpp:2612
msgid "_Add Layer..."
msgstr "_Додати шар…"
-#: ../src/verbs.cpp:2644
+#: ../src/verbs.cpp:2613
msgid "Create a new layer"
msgstr "Створити новий шар"
-#: ../src/verbs.cpp:2645
+#: ../src/verbs.cpp:2614
msgid "Re_name Layer..."
msgstr "Пере_йменувати шар…"
-#: ../src/verbs.cpp:2646
+#: ../src/verbs.cpp:2615
msgid "Rename the current layer"
msgstr "Перейменувати поточний шар"
-#: ../src/verbs.cpp:2647
+#: ../src/verbs.cpp:2616
msgid "Switch to Layer Abov_e"
msgstr "Перейти на шар _вище"
-#: ../src/verbs.cpp:2648
+#: ../src/verbs.cpp:2617
msgid "Switch to the layer above the current"
msgstr "Перейти на шар, що знаходитьÑÑ Ð²Ð¸Ñ‰Ðµ від поточного"
-#: ../src/verbs.cpp:2649
+#: ../src/verbs.cpp:2618
msgid "Switch to Layer Belo_w"
msgstr "Перейти на шар _нижче"
-#: ../src/verbs.cpp:2650
+#: ../src/verbs.cpp:2619
msgid "Switch to the layer below the current"
msgstr "Перейти на шар, що знаходитьÑÑ Ð½Ð¸Ð¶Ñ‡Ðµ від поточного"
-#: ../src/verbs.cpp:2651
+#: ../src/verbs.cpp:2620
msgid "Move Selection to Layer Abo_ve"
msgstr "ПереміÑтити позначені об'єкти на шар ви_ще"
-#: ../src/verbs.cpp:2652
+#: ../src/verbs.cpp:2621
msgid "Move selection to the layer above the current"
msgstr "ПереміÑтити на шар, що знаходитьÑÑ Ð½Ð°Ð´ поточним"
-#: ../src/verbs.cpp:2653
+#: ../src/verbs.cpp:2622
msgid "Move Selection to Layer Bel_ow"
msgstr "ПереміÑтити на шар ни_жче"
-#: ../src/verbs.cpp:2654
+#: ../src/verbs.cpp:2623
msgid "Move selection to the layer below the current"
msgstr "ПереміÑтити на шар, що знаходитьÑÑ Ð¿Ñ–Ð´ поточним"
-#: ../src/verbs.cpp:2655
+#: ../src/verbs.cpp:2624
msgid "Move Selection to Layer..."
msgstr "ПереÑунути позначене до шару…"
-#: ../src/verbs.cpp:2657
+#: ../src/verbs.cpp:2626
msgid "Layer to _Top"
msgstr "ПіднÑти шар до_гори"
-#: ../src/verbs.cpp:2658
+#: ../src/verbs.cpp:2627
msgid "Raise the current layer to the top"
msgstr "ПіднÑти поточний шар догори"
-#: ../src/verbs.cpp:2659
+#: ../src/verbs.cpp:2628
msgid "Layer to _Bottom"
msgstr "ОпуÑтити шар в _оÑнову"
-#: ../src/verbs.cpp:2660
+#: ../src/verbs.cpp:2629
msgid "Lower the current layer to the bottom"
msgstr "ОпуÑтити поточний шар на найнижчий рівень"
-#: ../src/verbs.cpp:2661
+#: ../src/verbs.cpp:2630
msgid "_Raise Layer"
msgstr "_ПіднÑти шар"
-#: ../src/verbs.cpp:2662
+#: ../src/verbs.cpp:2631
msgid "Raise the current layer"
msgstr "ПіднÑти поточний шар"
-#: ../src/verbs.cpp:2663
+#: ../src/verbs.cpp:2632
msgid "_Lower Layer"
msgstr "_ОпуÑтити шар"
-#: ../src/verbs.cpp:2664
+#: ../src/verbs.cpp:2633
msgid "Lower the current layer"
msgstr "ОпуÑтити поточний шар"
-#: ../src/verbs.cpp:2665
+#: ../src/verbs.cpp:2634
msgid "D_uplicate Current Layer"
msgstr "Д_ублювати поточний шар"
-#: ../src/verbs.cpp:2666
+#: ../src/verbs.cpp:2635
msgid "Duplicate an existing layer"
msgstr "Дублювати поточний шар"
-#: ../src/verbs.cpp:2667
+#: ../src/verbs.cpp:2636
msgid "_Delete Current Layer"
msgstr "В_илучити поточний шар"
-#: ../src/verbs.cpp:2668
+#: ../src/verbs.cpp:2637
msgid "Delete the current layer"
msgstr "Вилучити поточний шар"
-#: ../src/verbs.cpp:2669
+#: ../src/verbs.cpp:2638
msgid "_Show/hide other layers"
msgstr "_Показати або Ñховати інші шари"
-#: ../src/verbs.cpp:2670
+#: ../src/verbs.cpp:2639
msgid "Solo the current layer"
msgstr "Виокремити поточний шар"
-#: ../src/verbs.cpp:2671
+#: ../src/verbs.cpp:2640
msgid "_Show all layers"
msgstr "По_казати вÑÑ– шари"
-#: ../src/verbs.cpp:2672
+#: ../src/verbs.cpp:2641
msgid "Show all the layers"
msgstr "Показати вÑÑ– шари"
-#: ../src/verbs.cpp:2673
+#: ../src/verbs.cpp:2642
msgid "_Hide all layers"
msgstr "При_ховати вÑÑ– шари"
-#: ../src/verbs.cpp:2674
+#: ../src/verbs.cpp:2643
msgid "Hide all the layers"
msgstr "Приховати вÑÑ– шари"
-#: ../src/verbs.cpp:2675
+#: ../src/verbs.cpp:2644
msgid "_Lock all layers"
msgstr "За_блокувати вÑÑ– шари"
-#: ../src/verbs.cpp:2676
+#: ../src/verbs.cpp:2645
msgid "Lock all the layers"
msgstr "Заблокувати вÑÑ– шари"
-#: ../src/verbs.cpp:2677
+#: ../src/verbs.cpp:2646
msgid "Lock/Unlock _other layers"
msgstr "Заблокувати чи розблокувати ін_ші шари"
-#: ../src/verbs.cpp:2678
+#: ../src/verbs.cpp:2647
msgid "Lock all the other layers"
msgstr "Заблокувати вÑÑ– інші шари"
-#: ../src/verbs.cpp:2679
+#: ../src/verbs.cpp:2648
msgid "_Unlock all layers"
msgstr "_Розблокувати вÑÑ– шари"
-#: ../src/verbs.cpp:2680
+#: ../src/verbs.cpp:2649
msgid "Unlock all the layers"
msgstr "Розблокувати вÑÑ– шари"
-#: ../src/verbs.cpp:2681
+#: ../src/verbs.cpp:2650
msgid "_Lock/Unlock Current Layer"
msgstr "За_блокувати чи розблокувати поточний шар"
-#: ../src/verbs.cpp:2682
+#: ../src/verbs.cpp:2651
msgid "Toggle lock on current layer"
msgstr "Заблокувати або розблокувати поточний шар"
-#: ../src/verbs.cpp:2683
+#: ../src/verbs.cpp:2652
msgid "_Show/hide Current Layer"
msgstr "_Показати або Ñховати поточний шар"
-#: ../src/verbs.cpp:2684
+#: ../src/verbs.cpp:2653
msgid "Toggle visibility of current layer"
msgstr "Увімкнути/Вимкнути видиміÑть поточного шару"
#. Object
-#: ../src/verbs.cpp:2687
+#: ../src/verbs.cpp:2656
msgid "Rotate _90° CW"
msgstr "Обернути на _90° за годинниковою Ñтрілкою"
#. This is shared between tooltips and statusbar, so they
#. must use UTF-8, not HTML entities for special characters.
-#: ../src/verbs.cpp:2690
+#: ../src/verbs.cpp:2659
msgid "Rotate selection 90° clockwise"
msgstr "Обернути позначені об'єкти на 90° за годинниковою Ñтрілкою"
-#: ../src/verbs.cpp:2691
+#: ../src/verbs.cpp:2660
msgid "Rotate 9_0° CCW"
msgstr "Обернути на 9_0° проти годинникової Ñтрілки"
#. This is shared between tooltips and statusbar, so they
#. must use UTF-8, not HTML entities for special characters.
-#: ../src/verbs.cpp:2694
+#: ../src/verbs.cpp:2663
msgid "Rotate selection 90° counter-clockwise"
msgstr "Обернути позначені об'єкти на 90° проти годинникової Ñтрілки"
-#: ../src/verbs.cpp:2695
+#: ../src/verbs.cpp:2664
msgid "Remove _Transformations"
msgstr "Прибрати _транÑформацію"
-#: ../src/verbs.cpp:2696
+#: ../src/verbs.cpp:2665
msgid "Remove transformations from object"
msgstr "Прибрати транÑформації з об'єкта"
-#: ../src/verbs.cpp:2697
+#: ../src/verbs.cpp:2666
msgid "_Object to Path"
msgstr "_Об'єкт у контур"
-#: ../src/verbs.cpp:2698
+#: ../src/verbs.cpp:2667
msgid "Convert selected object to path"
msgstr "Перетворити позначений об'єкт на контур"
-#: ../src/verbs.cpp:2699
+#: ../src/verbs.cpp:2668
msgid "_Flow into Frame"
msgstr "_Огорнути в рамку"
-#: ../src/verbs.cpp:2700
+#: ../src/verbs.cpp:2669
msgid ""
"Put text into a frame (path or shape), creating a flowed text linked to the "
"frame object"
@@ -26132,750 +26173,750 @@ msgstr ""
"ВклаÑти текÑÑ‚ у рамку (контур чи форму), Ñтворивши контурний текÑÑ‚ "
"прив'Ñзаний до об'єкта рамки"
-#: ../src/verbs.cpp:2701
+#: ../src/verbs.cpp:2670
msgid "_Unflow"
msgstr "_ВийнÑти з рамки"
-#: ../src/verbs.cpp:2702
+#: ../src/verbs.cpp:2671
msgid "Remove text from frame (creates a single-line text object)"
msgstr "ВийнÑти теÑÑ‚ з рамки, Ñтворивши звичайний теÑтовий об'єкт в один Ñ€Ñдок"
-#: ../src/verbs.cpp:2703
+#: ../src/verbs.cpp:2672
msgid "_Convert to Text"
msgstr "_Перетворити у текÑÑ‚"
-#: ../src/verbs.cpp:2704
+#: ../src/verbs.cpp:2673
msgid "Convert flowed text to regular text object (preserves appearance)"
msgstr "Перетворити контурний текÑÑ‚ у звичайний текÑÑ‚ (із збереженнÑм виглÑду)"
-#: ../src/verbs.cpp:2706
+#: ../src/verbs.cpp:2675
msgid "Flip _Horizontal"
msgstr "Віддзеркалити гор_изонтально"
-#: ../src/verbs.cpp:2706
+#: ../src/verbs.cpp:2675
msgid "Flip selected objects horizontally"
msgstr "Віддзеркалити позначені об'єкти горизонтально"
-#: ../src/verbs.cpp:2709
+#: ../src/verbs.cpp:2678
msgid "Flip _Vertical"
msgstr "Віддзеркалити _вертикально"
-#: ../src/verbs.cpp:2709
+#: ../src/verbs.cpp:2678
msgid "Flip selected objects vertically"
msgstr "Віддзеркалити позначені об'єкти вертикально"
-#: ../src/verbs.cpp:2712
+#: ../src/verbs.cpp:2681
msgid "Apply mask to selection (using the topmost object as mask)"
msgstr ""
"ЗаÑтоÑувати маÑку до позначених об'єктів (викориÑтовуючи найвищий об'єкт Ñк "
"маÑку)"
-#: ../src/verbs.cpp:2714
+#: ../src/verbs.cpp:2683
msgid "Edit mask"
msgstr "Змінити маÑку"
-#: ../src/verbs.cpp:2715 ../src/verbs.cpp:2723
+#: ../src/verbs.cpp:2684 ../src/verbs.cpp:2692
msgid "_Release"
msgstr "_Скинути"
-#: ../src/verbs.cpp:2716
+#: ../src/verbs.cpp:2685
msgid "Remove mask from selection"
msgstr "Вилучити маÑку з позначеного"
-#: ../src/verbs.cpp:2718
+#: ../src/verbs.cpp:2687
msgid ""
"Apply clipping path to selection (using the topmost object as clipping path)"
msgstr ""
"ЗаÑтоÑувати контур-обгортку до позначених об'єктів (викориÑтовуючи найвищий "
"об'єкт Ñк контур-обгортку)"
-#: ../src/verbs.cpp:2719
+#: ../src/verbs.cpp:2688
msgid "Create Cl_ip Group"
msgstr "Створити групу-обгор_тку"
-#: ../src/verbs.cpp:2720
+#: ../src/verbs.cpp:2689
msgid "Creates a clip group using the selected objects as a base"
msgstr "Створити групу-обгортку на оÑнові позначених об’єктів"
-#: ../src/verbs.cpp:2722
+#: ../src/verbs.cpp:2691
msgid "Edit clipping path"
msgstr "Змінити контур-обгортку"
-#: ../src/verbs.cpp:2724
+#: ../src/verbs.cpp:2693
msgid "Remove clipping path from selection"
msgstr "Вилучити контур-обгортку з позначених об'єктів'"
#. Tools
-#: ../src/verbs.cpp:2729
+#: ../src/verbs.cpp:2698
msgctxt "ContextVerb"
msgid "Select"
msgstr "ПозначеннÑ"
-#: ../src/verbs.cpp:2730
+#: ../src/verbs.cpp:2699
msgid "Select and transform objects"
msgstr "ÐŸÐ¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð° транÑÑ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¾Ð±'єктів"
-#: ../src/verbs.cpp:2731
+#: ../src/verbs.cpp:2700
msgctxt "ContextVerb"
msgid "Node Edit"
msgstr "Редактор вузлів"
-#: ../src/verbs.cpp:2732
+#: ../src/verbs.cpp:2701
msgid "Edit paths by nodes"
msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ñ–Ð² за вузлами"
-#: ../src/verbs.cpp:2733
+#: ../src/verbs.cpp:2702
msgctxt "ContextVerb"
msgid "Tweak"
msgstr "КорекціÑ"
-#: ../src/verbs.cpp:2734
+#: ../src/verbs.cpp:2703
msgid "Tweak objects by sculpting or painting"
msgstr "Коригувати об'єкти за допомогою Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ розфарбовуваннÑ"
-#: ../src/verbs.cpp:2735
+#: ../src/verbs.cpp:2704
msgctxt "ContextVerb"
msgid "Spray"
msgstr "РозкиданнÑ"
-#: ../src/verbs.cpp:2736
+#: ../src/verbs.cpp:2705
msgid "Spray objects by sculpting or painting"
msgstr "Розкидати об'єкти за допомогою Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ розфарбовуваннÑ"
-#: ../src/verbs.cpp:2737
+#: ../src/verbs.cpp:2706
msgctxt "ContextVerb"
msgid "Rectangle"
msgstr "ПрÑмокутник"
-#: ../src/verbs.cpp:2738
+#: ../src/verbs.cpp:2707
msgid "Create rectangles and squares"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ñ€Ñмокутників та квадратів"
-#: ../src/verbs.cpp:2739
+#: ../src/verbs.cpp:2708
msgctxt "ContextVerb"
msgid "3D Box"
msgstr "ПроÑторовий об'єкт"
-#: ../src/verbs.cpp:2740
+#: ../src/verbs.cpp:2709
msgid "Create 3D boxes"
msgstr "Створити тривимірні об'єкти"
-#: ../src/verbs.cpp:2741
+#: ../src/verbs.cpp:2710
msgctxt "ContextVerb"
msgid "Ellipse"
msgstr "ЕліпÑ"
-#: ../src/verbs.cpp:2742
+#: ../src/verbs.cpp:2711
msgid "Create circles, ellipses, and arcs"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÑ–Ð», еліпÑів та дуг"
-#: ../src/verbs.cpp:2743
+#: ../src/verbs.cpp:2712
msgctxt "ContextVerb"
msgid "Star"
msgstr "Зірка"
-#: ../src/verbs.cpp:2744
+#: ../src/verbs.cpp:2713
msgid "Create stars and polygons"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ñ–Ñ€Ð¾Ðº та багатокутників"
-#: ../src/verbs.cpp:2745
+#: ../src/verbs.cpp:2714
msgctxt "ContextVerb"
msgid "Spiral"
msgstr "Спіраль"
-#: ../src/verbs.cpp:2746
+#: ../src/verbs.cpp:2715
msgid "Create spirals"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñпіралей"
-#: ../src/verbs.cpp:2747
+#: ../src/verbs.cpp:2716
msgctxt "ContextVerb"
msgid "Pencil"
msgstr "Олівець"
-#: ../src/verbs.cpp:2748
+#: ../src/verbs.cpp:2717
msgid "Draw freehand lines"
msgstr "ÐœÐ°Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ð²Ñ–Ð»ÑŒÐ½Ð¸Ñ… контурів"
-#: ../src/verbs.cpp:2749
+#: ../src/verbs.cpp:2718
msgctxt "ContextVerb"
msgid "Pen"
msgstr "Перо"
-#: ../src/verbs.cpp:2750
+#: ../src/verbs.cpp:2719
msgid "Draw Bezier curves and straight lines"
msgstr "ÐœÐ°Ð»ÑŽÐ²Ð°Ð½Ð½Ñ ÐºÑ€Ð¸Ð²Ð¸Ñ… Безьє чи прÑмих ліній"
-#: ../src/verbs.cpp:2751
+#: ../src/verbs.cpp:2720
msgctxt "ContextVerb"
msgid "Calligraphy"
msgstr "КаліграфіÑ"
-#: ../src/verbs.cpp:2752
+#: ../src/verbs.cpp:2721
msgid "Draw calligraphic or brush strokes"
msgstr "Малювати каліграфічним пером або пензлем"
-#: ../src/verbs.cpp:2754
+#: ../src/verbs.cpp:2723
msgid "Create and edit text objects"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚Ð° зміна текÑтових об'єктів"
-#: ../src/verbs.cpp:2755
+#: ../src/verbs.cpp:2724
msgctxt "ContextVerb"
msgid "Gradient"
msgstr "Градієнт"
-#: ../src/verbs.cpp:2756
+#: ../src/verbs.cpp:2725
msgid "Create and edit gradients"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚Ð° зміна градієнтів"
-#: ../src/verbs.cpp:2757
+#: ../src/verbs.cpp:2726
msgctxt "ContextVerb"
msgid "Mesh"
msgstr "Сітка"
-#: ../src/verbs.cpp:2758
+#: ../src/verbs.cpp:2727
msgid "Create and edit meshes"
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚Ð° зміна Ñіток"
-#: ../src/verbs.cpp:2759
+#: ../src/verbs.cpp:2728
msgctxt "ContextVerb"
msgid "Zoom"
msgstr "МаÑштаб"
-#: ../src/verbs.cpp:2760
+#: ../src/verbs.cpp:2729
msgid "Zoom in or out"
msgstr "Змінити маÑштаб"
-#: ../src/verbs.cpp:2762
+#: ../src/verbs.cpp:2731
msgid "Measurement tool"
msgstr "ІнÑтрумент вимірюваннÑ"
-#: ../src/verbs.cpp:2763
+#: ../src/verbs.cpp:2732
msgctxt "ContextVerb"
msgid "Dropper"
msgstr "Піпетка"
-#: ../src/verbs.cpp:2764 ../src/widgets/sp-color-notebook.cpp:396
+#: ../src/verbs.cpp:2733 ../src/widgets/sp-color-notebook.cpp:396
msgid "Pick colors from image"
msgstr "ВзÑти кольори з зображеннÑ"
-#: ../src/verbs.cpp:2765
+#: ../src/verbs.cpp:2734
msgctxt "ContextVerb"
msgid "Connector"
msgstr "Ð›Ñ–Ð½Ñ–Ñ Ð·'єднаннÑ"
-#: ../src/verbs.cpp:2766
+#: ../src/verbs.cpp:2735
msgid "Create diagram connectors"
msgstr "Створити лінії з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð½Ð° діаграмі"
-#: ../src/verbs.cpp:2767
+#: ../src/verbs.cpp:2736
msgctxt "ContextVerb"
msgid "Paint Bucket"
msgstr "Відро з фарбою"
-#: ../src/verbs.cpp:2768
+#: ../src/verbs.cpp:2737
msgid "Fill bounded areas"
msgstr "Заповнити замкнені облаÑті"
-#: ../src/verbs.cpp:2769
+#: ../src/verbs.cpp:2738
msgctxt "ContextVerb"
msgid "LPE Edit"
msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð³ÐµÐ¾Ð¼ÐµÑ‚Ñ€Ð¸Ñ‡Ð½Ð¸Ñ… побудов"
-#: ../src/verbs.cpp:2770
+#: ../src/verbs.cpp:2739
msgid "Edit Path Effect parameters"
msgstr "Змінити параметри ефекту контуру"
-#: ../src/verbs.cpp:2771
+#: ../src/verbs.cpp:2740
msgctxt "ContextVerb"
msgid "Eraser"
msgstr "Гумка"
-#: ../src/verbs.cpp:2772
+#: ../src/verbs.cpp:2741
msgid "Erase existing paths"
msgstr "Витерти Ñ–Ñнуючі контури"
-#: ../src/verbs.cpp:2773
+#: ../src/verbs.cpp:2742
msgctxt "ContextVerb"
msgid "LPE Tool"
msgstr "ІнÑтрумент геометричної побудови"
-#: ../src/verbs.cpp:2774
+#: ../src/verbs.cpp:2743
msgid "Do geometric constructions"
msgstr "Виконати геометричну побудову"
#. Tool prefs
-#: ../src/verbs.cpp:2776
+#: ../src/verbs.cpp:2745
msgid "Selector Preferences"
msgstr "Параметри Ñелектора"
-#: ../src/verbs.cpp:2777
+#: ../src/verbs.cpp:2746
msgid "Open Preferences for the Selector tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента позначеннÑ"
-#: ../src/verbs.cpp:2778
+#: ../src/verbs.cpp:2747
msgid "Node Tool Preferences"
msgstr "Параметри редактора вузлів"
-#: ../src/verbs.cpp:2779
+#: ../src/verbs.cpp:2748
msgid "Open Preferences for the Node tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Редактор вузлів»"
-#: ../src/verbs.cpp:2780
+#: ../src/verbs.cpp:2749
msgid "Tweak Tool Preferences"
msgstr "Параметри інÑтрумента «КорекціÑ»"
-#: ../src/verbs.cpp:2781
+#: ../src/verbs.cpp:2750
msgid "Open Preferences for the Tweak tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «КорекціÑ»"
-#: ../src/verbs.cpp:2782
+#: ../src/verbs.cpp:2751
msgid "Spray Tool Preferences"
msgstr "Параметри інÑтрумента «РозкиданнÑ»"
-#: ../src/verbs.cpp:2783
+#: ../src/verbs.cpp:2752
msgid "Open Preferences for the Spray tool"
msgstr "Відкрити вікно параметрів Ð´Ð»Ñ Ñ–Ð½Ñтрумента «РозкиданнÑ»"
-#: ../src/verbs.cpp:2784
+#: ../src/verbs.cpp:2753
msgid "Rectangle Preferences"
msgstr "Параметри прÑмокутника"
-#: ../src/verbs.cpp:2785
+#: ../src/verbs.cpp:2754
msgid "Open Preferences for the Rectangle tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «ПрÑмокутник»"
-#: ../src/verbs.cpp:2786
+#: ../src/verbs.cpp:2755
msgid "3D Box Preferences"
msgstr "Параметри проÑторового об'єкта"
-#: ../src/verbs.cpp:2787
+#: ../src/verbs.cpp:2756
msgid "Open Preferences for the 3D Box tool"
msgstr ""
"Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «ПроÑторовий об'єкт»"
-#: ../src/verbs.cpp:2788
+#: ../src/verbs.cpp:2757
msgid "Ellipse Preferences"
msgstr "Параметри еліпÑа"
-#: ../src/verbs.cpp:2789
+#: ../src/verbs.cpp:2758
msgid "Open Preferences for the Ellipse tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «ЕліпÑ»"
-#: ../src/verbs.cpp:2790
+#: ../src/verbs.cpp:2759
msgid "Star Preferences"
msgstr "ВлаÑтивоÑті зірки"
-#: ../src/verbs.cpp:2791
+#: ../src/verbs.cpp:2760
msgid "Open Preferences for the Star tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Зірка»"
-#: ../src/verbs.cpp:2792
+#: ../src/verbs.cpp:2761
msgid "Spiral Preferences"
msgstr "ВлаÑтивоÑті Ñпіралі"
-#: ../src/verbs.cpp:2793
+#: ../src/verbs.cpp:2762
msgid "Open Preferences for the Spiral tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Спіраль»"
-#: ../src/verbs.cpp:2794
+#: ../src/verbs.cpp:2763
msgid "Pencil Preferences"
msgstr "Параметри олівцÑ"
-#: ../src/verbs.cpp:2795
+#: ../src/verbs.cpp:2764
msgid "Open Preferences for the Pencil tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Олівець»"
-#: ../src/verbs.cpp:2796
+#: ../src/verbs.cpp:2765
msgid "Pen Preferences"
msgstr "Параметри пера"
-#: ../src/verbs.cpp:2797
+#: ../src/verbs.cpp:2766
msgid "Open Preferences for the Pen tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Перо»"
-#: ../src/verbs.cpp:2798
+#: ../src/verbs.cpp:2767
msgid "Calligraphic Preferences"
msgstr "Параметри каліграфічного пера"
-#: ../src/verbs.cpp:2799
+#: ../src/verbs.cpp:2768
msgid "Open Preferences for the Calligraphy tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Каліграфічне перо»"
-#: ../src/verbs.cpp:2800
+#: ../src/verbs.cpp:2769
msgid "Text Preferences"
msgstr "Параметри текÑту"
-#: ../src/verbs.cpp:2801
+#: ../src/verbs.cpp:2770
msgid "Open Preferences for the Text tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «ТекÑт»"
-#: ../src/verbs.cpp:2802
+#: ../src/verbs.cpp:2771
msgid "Gradient Preferences"
msgstr "Параметри градієнта"
-#: ../src/verbs.cpp:2803
+#: ../src/verbs.cpp:2772
msgid "Open Preferences for the Gradient tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Градієнт»"
-#: ../src/verbs.cpp:2804
+#: ../src/verbs.cpp:2773
msgid "Mesh Preferences"
msgstr "Параметри Ñітки"
-#: ../src/verbs.cpp:2805
+#: ../src/verbs.cpp:2774
msgid "Open Preferences for the Mesh tool"
msgstr "Відкрити вікно параметрів Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Сітка»"
-#: ../src/verbs.cpp:2806
+#: ../src/verbs.cpp:2775
msgid "Zoom Preferences"
msgstr "Параметри маÑштабу"
-#: ../src/verbs.cpp:2807
+#: ../src/verbs.cpp:2776
msgid "Open Preferences for the Zoom tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «МаÑштаб»"
-#: ../src/verbs.cpp:2808
+#: ../src/verbs.cpp:2777
msgid "Measure Preferences"
msgstr "ВлаÑтивоÑті вимірюваннÑ"
-#: ../src/verbs.cpp:2809
+#: ../src/verbs.cpp:2778
msgid "Open Preferences for the Measure tool"
msgstr "Відкрити вікно параметрів Ð´Ð»Ñ Ñ–Ð½Ñтрумента «ВимірюваннÑ»"
-#: ../src/verbs.cpp:2810
+#: ../src/verbs.cpp:2779
msgid "Dropper Preferences"
msgstr "Параметри піпетки"
-#: ../src/verbs.cpp:2811
+#: ../src/verbs.cpp:2780
msgid "Open Preferences for the Dropper tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Піпетка»"
-#: ../src/verbs.cpp:2812
+#: ../src/verbs.cpp:2781
msgid "Connector Preferences"
msgstr "Параметри лінії з'єднаннÑ"
-#: ../src/verbs.cpp:2813
+#: ../src/verbs.cpp:2782
msgid "Open Preferences for the Connector tool"
msgstr "Відкрити вікно параметрів Inkscape Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Лінії з'єднаннÑ»"
-#: ../src/verbs.cpp:2814
+#: ../src/verbs.cpp:2783
msgid "Paint Bucket Preferences"
msgstr "Параметри відра з фарбою"
-#: ../src/verbs.cpp:2815
+#: ../src/verbs.cpp:2784
msgid "Open Preferences for the Paint Bucket tool"
msgstr "Відкрити параметри Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Відро з фарбою»"
-#: ../src/verbs.cpp:2816
+#: ../src/verbs.cpp:2785
msgid "Eraser Preferences"
msgstr "ВлаÑтивоÑті гумки"
-#: ../src/verbs.cpp:2817
+#: ../src/verbs.cpp:2786
msgid "Open Preferences for the Eraser tool"
msgstr "Відкрити вікно параметрів Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Гумка»"
-#: ../src/verbs.cpp:2818
+#: ../src/verbs.cpp:2787
msgid "LPE Tool Preferences"
msgstr "Параметри інÑтрумента «Геометричні побудови»"
-#: ../src/verbs.cpp:2819
+#: ../src/verbs.cpp:2788
msgid "Open Preferences for the LPETool tool"
msgstr "Відкрити вікно параметрів Ð´Ð»Ñ Ñ–Ð½Ñтрумента «Геометричні побудови»"
#. Zoom/View
-#: ../src/verbs.cpp:2821
+#: ../src/verbs.cpp:2790
msgid "Zoom In"
msgstr "Збільшити"
-#: ../src/verbs.cpp:2821
+#: ../src/verbs.cpp:2790
msgid "Zoom in"
msgstr "Збільшити"
-#: ../src/verbs.cpp:2822
+#: ../src/verbs.cpp:2791
msgid "Zoom Out"
msgstr "Зменшити"
-#: ../src/verbs.cpp:2822
+#: ../src/verbs.cpp:2791
msgid "Zoom out"
msgstr "Зменшити"
-#: ../src/verbs.cpp:2823
+#: ../src/verbs.cpp:2792
msgid "_Rulers"
msgstr "_Лінійки"
-#: ../src/verbs.cpp:2823
+#: ../src/verbs.cpp:2792
msgid "Show or hide the canvas rulers"
msgstr "Показати або Ñховати лінійки полотна"
-#: ../src/verbs.cpp:2824
+#: ../src/verbs.cpp:2793
msgid "Scroll_bars"
msgstr "_Смуги гортаннÑ"
-#: ../src/verbs.cpp:2824
+#: ../src/verbs.cpp:2793
msgid "Show or hide the canvas scrollbars"
msgstr "Показати/Сховати Ñмуги Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð¿Ð¾Ð»Ð¾Ñ‚Ð½Ð°"
-#: ../src/verbs.cpp:2825
+#: ../src/verbs.cpp:2794
msgid "Page _Grid"
msgstr "С_ітка Ñторінки"
-#: ../src/verbs.cpp:2825
+#: ../src/verbs.cpp:2794
msgid "Show or hide the page grid"
msgstr "Показати або Ñховати Ñітку Ñторінки"
-#: ../src/verbs.cpp:2826
+#: ../src/verbs.cpp:2795
msgid "G_uides"
msgstr "Ðап_Ñ€Ñмні"
-#: ../src/verbs.cpp:2826
+#: ../src/verbs.cpp:2795
msgid "Show or hide guides (drag from a ruler to create a guide)"
msgstr ""
"Показати чи Ñховати напрÑмні (потÑгніть від лінійки Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð°Ð¿Ñ€Ñмної)"
-#: ../src/verbs.cpp:2827
+#: ../src/verbs.cpp:2796
msgid "Enable snapping"
msgstr "Дозволити прилипаннÑ"
-#: ../src/verbs.cpp:2828
+#: ../src/verbs.cpp:2797
msgid "_Commands Bar"
msgstr "Панель ко_манд"
-#: ../src/verbs.cpp:2828
+#: ../src/verbs.cpp:2797
msgid "Show or hide the Commands bar (under the menu)"
msgstr "Показати/Ñховати панель команд (під меню)"
-#: ../src/verbs.cpp:2829
+#: ../src/verbs.cpp:2798
msgid "Sn_ap Controls Bar"
msgstr "Панель ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸_липаннÑм"
-#: ../src/verbs.cpp:2829
+#: ../src/verbs.cpp:2798
msgid "Show or hide the snapping controls"
msgstr "Показати або Ñховати інÑтрументи ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñм"
-#: ../src/verbs.cpp:2830
+#: ../src/verbs.cpp:2799
msgid "T_ool Controls Bar"
msgstr "Па_нель параметрів інÑтрументів"
-#: ../src/verbs.cpp:2830
+#: ../src/verbs.cpp:2799
msgid "Show or hide the Tool Controls bar"
msgstr "Показати або Ñховати панель з параметрами інÑтрументів"
-#: ../src/verbs.cpp:2831
+#: ../src/verbs.cpp:2800
msgid "_Toolbox"
msgstr "Панель _інÑтрументів"
-#: ../src/verbs.cpp:2831
+#: ../src/verbs.cpp:2800
msgid "Show or hide the main toolbox (on the left)"
msgstr "Показати або Ñховати головну панель інÑтрументів (зліва)"
-#: ../src/verbs.cpp:2832
+#: ../src/verbs.cpp:2801
msgid "_Palette"
msgstr "_Палітру"
-#: ../src/verbs.cpp:2832
+#: ../src/verbs.cpp:2801
msgid "Show or hide the color palette"
msgstr "Показати або Ñховати панель з палітрою кольорів"
-#: ../src/verbs.cpp:2833
+#: ../src/verbs.cpp:2802
msgid "_Statusbar"
msgstr "_РÑдок Ñтану"
-#: ../src/verbs.cpp:2833
+#: ../src/verbs.cpp:2802
msgid "Show or hide the statusbar (at the bottom of the window)"
msgstr "Показати або Ñховати Ñ€Ñдок Ñтану (внизу вікна)"
-#: ../src/verbs.cpp:2834
+#: ../src/verbs.cpp:2803
msgid "Nex_t Zoom"
msgstr "Ð_аÑтупний маÑштаб"
-#: ../src/verbs.cpp:2834
+#: ../src/verbs.cpp:2803
msgid "Next zoom (from the history of zooms)"
msgstr "ÐаÑтупний маÑштаб (з Ñ–Ñторії зміни маÑштабу)"
-#: ../src/verbs.cpp:2836
+#: ../src/verbs.cpp:2805
msgid "Pre_vious Zoom"
msgstr "П_опередній маÑштаб"
-#: ../src/verbs.cpp:2836
+#: ../src/verbs.cpp:2805
msgid "Previous zoom (from the history of zooms)"
msgstr "Попередній маÑштаб (з Ñ–Ñторії зміни маÑштабу)"
-#: ../src/verbs.cpp:2838
+#: ../src/verbs.cpp:2807
msgid "Zoom 1:_1"
msgstr "МаÑштаб 1:_1"
-#: ../src/verbs.cpp:2838
+#: ../src/verbs.cpp:2807
msgid "Zoom to 1:1"
msgstr "МаÑштаб 1:1"
-#: ../src/verbs.cpp:2840
+#: ../src/verbs.cpp:2809
msgid "Zoom 1:_2"
msgstr "МаÑштаб 1:_2"
-#: ../src/verbs.cpp:2840
+#: ../src/verbs.cpp:2809
msgid "Zoom to 1:2"
msgstr "МаÑштаб 1:2"
-#: ../src/verbs.cpp:2842
+#: ../src/verbs.cpp:2811
msgid "_Zoom 2:1"
msgstr "МаÑ_штаб 2:1"
-#: ../src/verbs.cpp:2842
+#: ../src/verbs.cpp:2811
msgid "Zoom to 2:1"
msgstr "МаÑштаб 2:1"
-#: ../src/verbs.cpp:2845
+#: ../src/verbs.cpp:2814
msgid "_Fullscreen"
msgstr "Ðа веÑÑŒ _екран"
-#: ../src/verbs.cpp:2845 ../src/verbs.cpp:2847
+#: ../src/verbs.cpp:2814 ../src/verbs.cpp:2816
msgid "Stretch this document window to full screen"
msgstr "РозтÑгнути вікно документа на веÑÑŒ екран"
-#: ../src/verbs.cpp:2847
+#: ../src/verbs.cpp:2816
msgid "Fullscreen & Focus Mode"
msgstr "Повноекранний режим та режим фокуÑуваннÑ"
-#: ../src/verbs.cpp:2850
+#: ../src/verbs.cpp:2819
msgid "Toggle _Focus Mode"
msgstr "Перемкнути режим _фокуÑуваннÑ"
-#: ../src/verbs.cpp:2850
+#: ../src/verbs.cpp:2819
msgid "Remove excess toolbars to focus on drawing"
msgstr "Вилучити зайві панелі інÑтрументів Ð´Ð»Ñ Ñ„Ð¾ÐºÑƒÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° малюванні"
-#: ../src/verbs.cpp:2852
+#: ../src/verbs.cpp:2821
msgid "Duplic_ate Window"
msgstr "_Дублювати вікно"
-#: ../src/verbs.cpp:2852
+#: ../src/verbs.cpp:2821
msgid "Open a new window with the same document"
msgstr "Відкрити нове вікно з цим Ñамим документом"
-#: ../src/verbs.cpp:2854
+#: ../src/verbs.cpp:2823
msgid "_New View Preview"
msgstr "_Створити попередній переглÑд"
-#: ../src/verbs.cpp:2855
+#: ../src/verbs.cpp:2824
msgid "New View Preview"
msgstr "Створити нове вікно попереднього переглÑду"
#. "view_new_preview"
-#: ../src/verbs.cpp:2857 ../src/verbs.cpp:2865
+#: ../src/verbs.cpp:2826 ../src/verbs.cpp:2834
msgid "_Normal"
msgstr "_Звичайний"
-#: ../src/verbs.cpp:2858
+#: ../src/verbs.cpp:2827
msgid "Switch to normal display mode"
msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð½Ð° звичайний режим відображеннÑ"
-#: ../src/verbs.cpp:2859
+#: ../src/verbs.cpp:2828
msgid "No _Filters"
msgstr "Без _фільтрів"
-#: ../src/verbs.cpp:2860
+#: ../src/verbs.cpp:2829
msgid "Switch to normal display without filters"
msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð½Ð° звичайний режим без фільтрів"
-#: ../src/verbs.cpp:2861
+#: ../src/verbs.cpp:2830
msgid "_Outline"
msgstr "_ОбриÑ"
-#: ../src/verbs.cpp:2862
+#: ../src/verbs.cpp:2831
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:2863 ../src/verbs.cpp:2871
+#: ../src/verbs.cpp:2832 ../src/verbs.cpp:2840
msgid "_Toggle"
msgstr "_ПеремкнутиÑÑ"
-#: ../src/verbs.cpp:2864
+#: ../src/verbs.cpp:2833
msgid "Toggle between normal and outline display modes"
msgstr "Перемикач між нормальним та каркаÑним режимами відображеннÑ"
-#: ../src/verbs.cpp:2866
+#: ../src/verbs.cpp:2835
msgid "Switch to normal color display mode"
msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð½Ð° звичайний режим показу кольорів"
-#: ../src/verbs.cpp:2867
+#: ../src/verbs.cpp:2836
msgid "_Grayscale"
msgstr "Сі_рі півтони"
-#: ../src/verbs.cpp:2868
+#: ../src/verbs.cpp:2837
msgid "Switch to grayscale display mode"
msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð½Ð° режим показу тонів Ñірого"
-#: ../src/verbs.cpp:2872
+#: ../src/verbs.cpp:2841
msgid "Toggle between normal and grayscale color display modes"
msgstr ""
"Перемикач між нормальним режимом показу та режимом показу у відтінках Ñірого"
-#: ../src/verbs.cpp:2874
+#: ../src/verbs.cpp:2843
msgid "Color-managed view"
msgstr "ПереглÑд ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ð¾Ð¼"
-#: ../src/verbs.cpp:2875
+#: ../src/verbs.cpp:2844
msgid "Toggle color-managed display for this document window"
msgstr ""
"Перемикач ÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñ–Ð² диÑплеєм Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ вікна документа"
-#: ../src/verbs.cpp:2877
+#: ../src/verbs.cpp:2846
msgid "Ico_n Preview..."
msgstr "ПереглÑнути Ñк п_іктограму…"
-#: ../src/verbs.cpp:2878
+#: ../src/verbs.cpp:2847
msgid "Open a window to preview objects at different icon resolutions"
msgstr "ПереглÑнути позначений елемент у формі піктограми різних розмірів"
-#: ../src/verbs.cpp:2880
+#: ../src/verbs.cpp:2849
msgid "Zoom to fit page in window"
msgstr "Змінити маÑштаб, щоб розміÑтити Ñторінку цілком"
-#: ../src/verbs.cpp:2881
+#: ../src/verbs.cpp:2850
msgid "Page _Width"
msgstr "Ш_ирина Ñторінки"
-#: ../src/verbs.cpp:2882
+#: ../src/verbs.cpp:2851
msgid "Zoom to fit page width in window"
msgstr "Змінити маÑштаб, щоб розміÑтити Ñторінку по ширині"
-#: ../src/verbs.cpp:2884
+#: ../src/verbs.cpp:2853
msgid "Zoom to fit drawing in window"
msgstr "Змінити маÑштаб, щоб розміÑтити малюнок цілком"
-#: ../src/verbs.cpp:2886
+#: ../src/verbs.cpp:2855
msgid "Zoom to fit selection in window"
msgstr "Змінити маÑштаб, щоб розміÑтити позначену облаÑть"
#. Dialogs
-#: ../src/verbs.cpp:2889
+#: ../src/verbs.cpp:2858
msgid "P_references..."
msgstr "Ðа_лаштуваннÑ…"
-#: ../src/verbs.cpp:2890
+#: ../src/verbs.cpp:2859
msgid "Edit global Inkscape preferences"
msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¸Ñ… параметрів Inkscape"
-#: ../src/verbs.cpp:2891
+#: ../src/verbs.cpp:2860
msgid "_Document Properties..."
msgstr "Параметри д_окумента…"
-#: ../src/verbs.cpp:2892
+#: ../src/verbs.cpp:2861
msgid "Edit properties of this document (to be saved with the document)"
msgstr ""
"Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей поточного документа (вони будуть збережені разом з "
"ним)"
-#: ../src/verbs.cpp:2893
+#: ../src/verbs.cpp:2862
msgid "Document _Metadata..."
msgstr "_Метадані документа"
-#: ../src/verbs.cpp:2894
+#: ../src/verbs.cpp:2863
msgid "Edit document metadata (to be saved with the document)"
msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð¸Ñ… документа (вони будуть збережені разом з ним)"
-#: ../src/verbs.cpp:2896
+#: ../src/verbs.cpp:2865
msgid ""
"Edit objects' colors, gradients, arrowheads, and other fill and stroke "
"properties..."
@@ -26884,118 +26925,118 @@ msgstr ""
"Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñ‚Ð° штриха…"
#. FIXME: Probably better to either use something from the icon naming spec or ship our own "select-font" icon
-#: ../src/verbs.cpp:2898
+#: ../src/verbs.cpp:2867
msgid "Gl_yphs..."
msgstr "Г_ліфи…"
-#: ../src/verbs.cpp:2899
+#: ../src/verbs.cpp:2868
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:2902
+#: ../src/verbs.cpp:2871
msgid "S_watches..."
msgstr "Зразки _кольорів…"
-#: ../src/verbs.cpp:2903
+#: ../src/verbs.cpp:2872
msgid "Select colors from a swatches palette"
msgstr "Виберіть колір з палітри зразків"
-#: ../src/verbs.cpp:2904
+#: ../src/verbs.cpp:2873
msgid "S_ymbols..."
msgstr "С_имволи…"
-#: ../src/verbs.cpp:2905
+#: ../src/verbs.cpp:2874
msgid "Select symbol from a symbols palette"
msgstr "Виберіть Ñимвол з палітри Ñимволів"
-#: ../src/verbs.cpp:2906
+#: ../src/verbs.cpp:2875
msgid "Transfor_m..."
msgstr "_ТранÑформувати…"
-#: ../src/verbs.cpp:2907
+#: ../src/verbs.cpp:2876
msgid "Precisely control objects' transformations"
msgstr "Контролювати точніÑть перетворень об'єктів"
-#: ../src/verbs.cpp:2908
+#: ../src/verbs.cpp:2877
msgid "_Align and Distribute..."
msgstr "Вирів_нÑти та розподілити…"
-#: ../src/verbs.cpp:2909
+#: ../src/verbs.cpp:2878
msgid "Align and distribute objects"
msgstr "ВирівнÑти та розподілити об'єкти"
-#: ../src/verbs.cpp:2910
+#: ../src/verbs.cpp:2879
msgid "_Spray options..."
msgstr "Параметри _розкиданнÑ…"
-#: ../src/verbs.cpp:2911
+#: ../src/verbs.cpp:2880
msgid "Some options for the spray"
msgstr "Параметри розкиданнÑ"
-#: ../src/verbs.cpp:2912
+#: ../src/verbs.cpp:2881
msgid "Undo _History..."
msgstr "ІÑто_Ñ€Ñ–Ñ Ð·Ð¼Ñ–Ð½â€¦"
-#: ../src/verbs.cpp:2913
+#: ../src/verbs.cpp:2882
msgid "Undo History"
msgstr "ІÑÑ‚Ð¾Ñ€Ñ–Ñ Ð´Ð»Ñ ÑкаÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½"
-#: ../src/verbs.cpp:2915
+#: ../src/verbs.cpp:2884
msgid "View and select font family, font size and other text properties"
msgstr ""
"ПереглÑд та вибір назви шрифту, його розміру та інших влаÑтивоÑтей текÑту"
-#: ../src/verbs.cpp:2916
+#: ../src/verbs.cpp:2885
msgid "_XML Editor..."
msgstr "Редактор _XML…"
-#: ../src/verbs.cpp:2917
+#: ../src/verbs.cpp:2886
msgid "View and edit the XML tree of the document"
msgstr "ПереглÑд та Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð´ÐµÑ€ÐµÐ²Ð° XML поточного документа"
-#: ../src/verbs.cpp:2918
+#: ../src/verbs.cpp:2887
msgid "_Find/Replace..."
msgstr "Знайти і з_амінити…"
-#: ../src/verbs.cpp:2919
+#: ../src/verbs.cpp:2888
msgid "Find objects in document"
msgstr "Знайти об'єкти у документі"
-#: ../src/verbs.cpp:2920
+#: ../src/verbs.cpp:2889
msgid "Find and _Replace Text..."
msgstr "Знайти Ñ– з_амінити текÑт…"
-#: ../src/verbs.cpp:2921
+#: ../src/verbs.cpp:2890
msgid "Find and replace text in document"
msgstr "Знайти Ñ– замінити текÑÑ‚ у документі"
-#: ../src/verbs.cpp:2923
+#: ../src/verbs.cpp:2892
msgid "Check spelling of text in document"
msgstr "Перевірити Ð¿Ñ€Ð°Ð²Ð¾Ð¿Ð¸Ñ Ñ‚ÐµÐºÑту у документі"
-#: ../src/verbs.cpp:2924
+#: ../src/verbs.cpp:2893
msgid "_Messages..."
msgstr "По_відомленнÑ…"
-#: ../src/verbs.cpp:2925
+#: ../src/verbs.cpp:2894
msgid "View debug messages"
msgstr "ПереглÑнути діагноÑтичні повідомленнÑ"
-#: ../src/verbs.cpp:2926
+#: ../src/verbs.cpp:2895
msgid "Show/Hide D_ialogs"
msgstr "Показати/Ñховати діало_ги"
-#: ../src/verbs.cpp:2927
+#: ../src/verbs.cpp:2896
msgid "Show or hide all open dialogs"
msgstr "Показати чи Ñховати вÑÑ– активні діалогові вікна"
-#: ../src/verbs.cpp:2928
+#: ../src/verbs.cpp:2897
msgid "Create Tiled Clones..."
msgstr "Створити мозаїку з клонів…"
-#: ../src/verbs.cpp:2929
+#: ../src/verbs.cpp:2898
msgid ""
"Create multiple clones of selected object, arranging them into a pattern or "
"scattering"
@@ -27003,237 +27044,237 @@ msgstr ""
"Створити множину клонів позначеного об'єкта, з розташуваннÑм Ñ—Ñ… у формі "
"візерунку або покриттÑ"
-#: ../src/verbs.cpp:2930
+#: ../src/verbs.cpp:2899
msgid "_Object attributes..."
msgstr "_Ðтрибути об'єкта…"
-#: ../src/verbs.cpp:2931
+#: ../src/verbs.cpp:2900
msgid "Edit the object attributes..."
msgstr "Змінити атрибути об'єкта…"
-#: ../src/verbs.cpp:2933
+#: ../src/verbs.cpp:2902
msgid "Edit the ID, locked and visible status, and other object properties"
msgstr ""
"Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ð°, Ñтану заблокованоÑті та видимоÑті та інших "
"влаÑтивоÑтей об'єкта"
-#: ../src/verbs.cpp:2934
+#: ../src/verbs.cpp:2903
msgid "_Input Devices..."
msgstr "_ПриÑтрої введеннÑ…"
-#: ../src/verbs.cpp:2935
+#: ../src/verbs.cpp:2904
msgid "Configure extended input devices, such as a graphics tablet"
msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ… приÑтроїв введеннÑ"
-#: ../src/verbs.cpp:2936
+#: ../src/verbs.cpp:2905
msgid "_Extensions..."
msgstr "_Про додатки…"
-#: ../src/verbs.cpp:2937
+#: ../src/verbs.cpp:2906
msgid "Query information about extensions"
msgstr "Зібрати інформацію про додатки"
-#: ../src/verbs.cpp:2938
+#: ../src/verbs.cpp:2907
msgid "Layer_s..."
msgstr "_Шари…"
-#: ../src/verbs.cpp:2939
+#: ../src/verbs.cpp:2908
msgid "View Layers"
msgstr "ПереглÑнути шари"
-#: ../src/verbs.cpp:2940
+#: ../src/verbs.cpp:2909
msgid "Object_s..."
msgstr "Об'_єкти…"
-#: ../src/verbs.cpp:2941
+#: ../src/verbs.cpp:2910
msgid "View Objects"
msgstr "ПереглÑнути об'єкти"
-#: ../src/verbs.cpp:2942
+#: ../src/verbs.cpp:2911
msgid "Selection se_ts..."
msgstr "Ðа_бори позначеного…"
-#: ../src/verbs.cpp:2943
+#: ../src/verbs.cpp:2912
msgid "View Tags"
msgstr "ПереглÑнути теґи"
-#: ../src/verbs.cpp:2944
+#: ../src/verbs.cpp:2913
msgid "Path E_ffects ..."
msgstr "Е_фекти контурів…"
-#: ../src/verbs.cpp:2945
+#: ../src/verbs.cpp:2914
msgid "Manage, edit, and apply path effects"
msgstr "КеруваннÑ, Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ– заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ ÐµÑ„ÐµÐºÑ‚Ñ–Ð² контурів"
-#: ../src/verbs.cpp:2946
+#: ../src/verbs.cpp:2915
msgid "Filter _Editor..."
msgstr "Р_едактор фільтрів…"
-#: ../src/verbs.cpp:2947
+#: ../src/verbs.cpp:2916
msgid "Manage, edit, and apply SVG filters"
msgstr "КеруваннÑ, Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ– заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ñ–Ð² SVG"
-#: ../src/verbs.cpp:2948
+#: ../src/verbs.cpp:2917
msgid "SVG Font Editor..."
msgstr "Редактор шрифтів SVG…"
-#: ../src/verbs.cpp:2949
+#: ../src/verbs.cpp:2918
msgid "Edit SVG fonts"
msgstr "Редагувати шрифти SVG"
-#: ../src/verbs.cpp:2950
+#: ../src/verbs.cpp:2919
msgid "Print Colors..."
msgstr "Друкувати кольори…"
-#: ../src/verbs.cpp:2951
+#: ../src/verbs.cpp:2920
msgid ""
"Select which color separations to render in Print Colors Preview rendermode"
msgstr ""
"Вкажіть ділÑнки кольорів, Ñкі Ñлід оброблÑти у режимі обробки попереднього "
"переглÑду кольорів друку."
-#: ../src/verbs.cpp:2952
+#: ../src/verbs.cpp:2921
msgid "_Export PNG Image..."
msgstr "_ЕкÑпортувати Ñк Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ PNG…"
-#: ../src/verbs.cpp:2953
+#: ../src/verbs.cpp:2922
msgid "Export this document or a selection as a PNG image"
msgstr "ЕкÑпортувати документ чи позначену чаÑтину Ñк Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ PNG"
#. Help
-#: ../src/verbs.cpp:2955
+#: ../src/verbs.cpp:2924
msgid "About E_xtensions"
msgstr "Про _додатки"
-#: ../src/verbs.cpp:2956
+#: ../src/verbs.cpp:2925
msgid "Information on Inkscape extensions"
msgstr "Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ додатки Inkscape"
-#: ../src/verbs.cpp:2957
+#: ../src/verbs.cpp:2926
msgid "About _Memory"
msgstr "Про п_ам'Ñть"
-#: ../src/verbs.cpp:2958
+#: ../src/verbs.cpp:2927
msgid "Memory usage information"
msgstr "Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼'Ñті"
-#: ../src/verbs.cpp:2959
+#: ../src/verbs.cpp:2928
msgid "_About Inkscape"
msgstr "_Про програму Inkscape"
-#: ../src/verbs.cpp:2960
+#: ../src/verbs.cpp:2929
msgid "Inkscape version, authors, license"
msgstr "ВерÑÑ–Ñ, автори та Ð»Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ Inkscape"
#. new HelpVerb(SP_VERB_SHOW_LICENSE, "ShowLicense", N_("_License"),
#. N_("Distribution terms"), /*"show_license"*/"inkscape_options"),
#. Tutorials
-#: ../src/verbs.cpp:2965
+#: ../src/verbs.cpp:2934
msgid "Inkscape: _Basic"
msgstr "Inkscape: _Початковий рівень"
-#: ../src/verbs.cpp:2966
+#: ../src/verbs.cpp:2935
msgid "Getting started with Inkscape"
msgstr "Починаємо роботу з Inkscape"
#. "tutorial_basic"
-#: ../src/verbs.cpp:2967
+#: ../src/verbs.cpp:2936
msgid "Inkscape: _Shapes"
msgstr "Inkscape: _Фігури"
-#: ../src/verbs.cpp:2968
+#: ../src/verbs.cpp:2937
msgid "Using shape tools to create and edit shapes"
msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ñ–Ð½Ñтрументів Ð¼Ð°Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ñ–Ð³ÑƒÑ€"
-#: ../src/verbs.cpp:2969
+#: ../src/verbs.cpp:2938
msgid "Inkscape: _Advanced"
msgstr "Inkscape: _Другий рівень"
-#: ../src/verbs.cpp:2970
+#: ../src/verbs.cpp:2939
msgid "Advanced Inkscape topics"
msgstr "Додаткові теми з Inkscape"
#. "tutorial_advanced"
#. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize)
-#: ../src/verbs.cpp:2972
+#: ../src/verbs.cpp:2941
msgid "Inkscape: T_racing"
msgstr "Inkscape: _ВекторизаціÑ"
-#: ../src/verbs.cpp:2973
+#: ../src/verbs.cpp:2942
msgid "Using bitmap tracing"
msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ñ–Ñ— раÑтру"
#. "tutorial_tracing"
-#: ../src/verbs.cpp:2974
+#: ../src/verbs.cpp:2943
msgid "Inkscape: Tracing Pixel Art"
msgstr "Inkscape: ТраÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ð°Ñтрової графіки"
-#: ../src/verbs.cpp:2975
+#: ../src/verbs.cpp:2944
msgid "Using Trace Pixel Art dialog"
msgstr "КориÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ñ–Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¸Ð¼ вікном траÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ð°Ñтрової графіки"
-#: ../src/verbs.cpp:2976
+#: ../src/verbs.cpp:2945
msgid "Inkscape: _Calligraphy"
msgstr "Inkscape: _КаліграфіÑ"
-#: ../src/verbs.cpp:2977
+#: ../src/verbs.cpp:2946
msgid "Using the Calligraphy pen tool"
msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ ÐºÐ°Ð»Ñ–Ð³Ñ€Ð°Ñ„Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ пера"
-#: ../src/verbs.cpp:2978
+#: ../src/verbs.cpp:2947
msgid "Inkscape: _Interpolate"
msgstr "Inkscape: _ІнтерполÑціÑ"
-#: ../src/verbs.cpp:2979
+#: ../src/verbs.cpp:2948
msgid "Using the interpolate extension"
msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ° інтерполÑції"
#. "tutorial_interpolate"
-#: ../src/verbs.cpp:2980
+#: ../src/verbs.cpp:2949
msgid "_Elements of Design"
msgstr "_Елементи дизайну"
-#: ../src/verbs.cpp:2981
+#: ../src/verbs.cpp:2950
msgid "Principles of design in the tutorial form"
msgstr "Підручник з принципів дизайну"
#. "tutorial_design"
-#: ../src/verbs.cpp:2982
+#: ../src/verbs.cpp:2951
msgid "_Tips and Tricks"
msgstr "_Поради та прийоми"
-#: ../src/verbs.cpp:2983
+#: ../src/verbs.cpp:2952
msgid "Miscellaneous tips and tricks"
msgstr "Різноманітні поради та прийоми"
#. "tutorial_tips"
#. Effect -- renamed Extension
-#: ../src/verbs.cpp:2986
+#: ../src/verbs.cpp:2955
msgid "Previous Exte_nsion"
msgstr "Попередній _додаток"
-#: ../src/verbs.cpp:2987
+#: ../src/verbs.cpp:2956
msgid "Repeat the last extension with the same settings"
msgstr ""
"Повторити ефекти викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ додатка з тими Ñамими параметрами"
-#: ../src/verbs.cpp:2988
+#: ../src/verbs.cpp:2957
msgid "_Previous Extension Settings..."
msgstr "П_араметри попереднього додатка…"
-#: ../src/verbs.cpp:2989
+#: ../src/verbs.cpp:2958
msgid "Repeat the last extension with new settings"
msgstr "Повторити оÑтанній ефект з новими параметрами"
-#: ../src/verbs.cpp:2993
+#: ../src/verbs.cpp:2962
msgid "Fit the page to the current selection"
msgstr "Підігнати полотно до поточного позначеної облаÑті"
-#: ../src/verbs.cpp:2995
+#: ../src/verbs.cpp:2964
msgid "Fit the page to the drawing"
msgstr "ПідганÑÑ” полотно під вже намальоване"
-#: ../src/verbs.cpp:2997
+#: ../src/verbs.cpp:2966
msgid ""
"Fit the page to the current selection or the drawing if there is no selection"
msgstr ""
@@ -27241,139 +27282,139 @@ msgstr ""
"креÑленнÑ, Ñкщо нічого не позначено"
#. LockAndHide
-#: ../src/verbs.cpp:2999
+#: ../src/verbs.cpp:2968
msgid "Unlock All"
msgstr "Розблокувати вÑе"
-#: ../src/verbs.cpp:3001
+#: ../src/verbs.cpp:2970
msgid "Unlock All in All Layers"
msgstr "Розблокувати вÑе в уÑÑ–Ñ… шарах"
-#: ../src/verbs.cpp:3003
+#: ../src/verbs.cpp:2972
msgid "Unhide All"
msgstr "Показати вÑе"
-#: ../src/verbs.cpp:3005
+#: ../src/verbs.cpp:2974
msgid "Unhide All in All Layers"
msgstr "Показати вÑе в уÑÑ–Ñ… шарах"
-#: ../src/verbs.cpp:3009
+#: ../src/verbs.cpp:2978
msgid "Link an ICC color profile"
msgstr "ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° профіль кольорів ICC"
-#: ../src/verbs.cpp:3010
+#: ../src/verbs.cpp:2979
msgid "Remove Color Profile"
msgstr "Вилучити профіль кольорів"
-#: ../src/verbs.cpp:3011
+#: ../src/verbs.cpp:2980
msgid "Remove a linked ICC color profile"
msgstr "Вилучити пов'Ñзаний профіль кольорів ICC"
-#: ../src/verbs.cpp:3014
+#: ../src/verbs.cpp:2983
msgid "Add External Script"
msgstr "Додати зовнішній Ñкрипт"
-#: ../src/verbs.cpp:3014
+#: ../src/verbs.cpp:2983
msgid "Add an external script"
msgstr "Додати зовнішній Ñкрипт"
-#: ../src/verbs.cpp:3016
+#: ../src/verbs.cpp:2985
msgid "Add Embedded Script"
msgstr "Додати вбудований Ñкрипт"
-#: ../src/verbs.cpp:3016
+#: ../src/verbs.cpp:2985
msgid "Add an embedded script"
msgstr "Додати вбудований Ñкрипт"
-#: ../src/verbs.cpp:3018
+#: ../src/verbs.cpp:2987
msgid "Edit Embedded Script"
msgstr "Редагувати вбудований Ñкрипт"
-#: ../src/verbs.cpp:3018
+#: ../src/verbs.cpp:2987
msgid "Edit an embedded script"
msgstr "Редагувати вбудований Ñкрипт"
-#: ../src/verbs.cpp:3020
+#: ../src/verbs.cpp:2989
msgid "Remove External Script"
msgstr "Вилучити зовнішній Ñкрипт"
-#: ../src/verbs.cpp:3020
+#: ../src/verbs.cpp:2989
msgid "Remove an external script"
msgstr "Вилучити зовнішній Ñкрипт"
-#: ../src/verbs.cpp:3022
+#: ../src/verbs.cpp:2991
msgid "Remove Embedded Script"
msgstr "Вилучити вбудований Ñкрипт"
-#: ../src/verbs.cpp:3022
+#: ../src/verbs.cpp:2991
msgid "Remove an embedded script"
msgstr "Вилучити вбудований Ñкрипт"
-#: ../src/verbs.cpp:3044 ../src/verbs.cpp:3045
+#: ../src/verbs.cpp:3013 ../src/verbs.cpp:3014
msgid "Center on horizontal and vertical axis"
msgstr "Центрувати на горизонтальній Ñ– вертикальній оÑÑ–"
-#: ../src/widgets/arc-toolbar.cpp:132
+#: ../src/widgets/arc-toolbar.cpp:129
msgid "Arc: Change start/end"
msgstr "Дуга: змінити початок/кінець"
-#: ../src/widgets/arc-toolbar.cpp:198
+#: ../src/widgets/arc-toolbar.cpp:191
msgid "Arc: Change open/closed"
msgstr "Дуга: змінити відкритіÑть/замкненіÑть"
-#: ../src/widgets/arc-toolbar.cpp:289 ../src/widgets/arc-toolbar.cpp:319
+#: ../src/widgets/arc-toolbar.cpp:280 ../src/widgets/arc-toolbar.cpp:310
#: ../src/widgets/rect-toolbar.cpp:260 ../src/widgets/rect-toolbar.cpp:299
-#: ../src/widgets/spiral-toolbar.cpp:214 ../src/widgets/spiral-toolbar.cpp:238
-#: ../src/widgets/star-toolbar.cpp:384 ../src/widgets/star-toolbar.cpp:446
+#: ../src/widgets/spiral-toolbar.cpp:210 ../src/widgets/spiral-toolbar.cpp:234
+#: ../src/widgets/star-toolbar.cpp:382 ../src/widgets/star-toolbar.cpp:444
msgid "<b>New:</b>"
msgstr "<b>Ðовий:</b>"
#. FIXME: implement averaging of all parameters for multiple selected
#. gtk_label_set_markup(GTK_LABEL(l), _("<b>Average:</b>"));
-#: ../src/widgets/arc-toolbar.cpp:292 ../src/widgets/arc-toolbar.cpp:303
+#: ../src/widgets/arc-toolbar.cpp:283 ../src/widgets/arc-toolbar.cpp:294
#: ../src/widgets/rect-toolbar.cpp:268 ../src/widgets/rect-toolbar.cpp:286
-#: ../src/widgets/spiral-toolbar.cpp:216 ../src/widgets/spiral-toolbar.cpp:227
-#: ../src/widgets/star-toolbar.cpp:386
+#: ../src/widgets/spiral-toolbar.cpp:212 ../src/widgets/spiral-toolbar.cpp:223
+#: ../src/widgets/star-toolbar.cpp:384
msgid "<b>Change:</b>"
msgstr "<b>Змінити:</b>"
-#: ../src/widgets/arc-toolbar.cpp:328
+#: ../src/widgets/arc-toolbar.cpp:319
msgid "Start:"
msgstr "Початок:"
-#: ../src/widgets/arc-toolbar.cpp:329
+#: ../src/widgets/arc-toolbar.cpp:320
msgid "The angle (in degrees) from the horizontal to the arc's start point"
msgstr "Кут (у градуÑах) від горизонталі до початкової точки дуги"
-#: ../src/widgets/arc-toolbar.cpp:341
+#: ../src/widgets/arc-toolbar.cpp:332
msgid "End:"
msgstr "Кінець:"
-#: ../src/widgets/arc-toolbar.cpp:342
+#: ../src/widgets/arc-toolbar.cpp:333
msgid "The angle (in degrees) from the horizontal to the arc's end point"
msgstr "Кут (у градуÑах) від горизонталі до кінцевої точки дуги"
-#: ../src/widgets/arc-toolbar.cpp:358
+#: ../src/widgets/arc-toolbar.cpp:349
msgid "Closed arc"
msgstr "Закрита дуга"
-#: ../src/widgets/arc-toolbar.cpp:359
+#: ../src/widgets/arc-toolbar.cpp:350
msgid "Switch to segment (closed shape with two radii)"
msgstr "Перетворити на Ñегмент (замкнутої фігури з двома радіуÑами-Ñторонами)"
-#: ../src/widgets/arc-toolbar.cpp:365
+#: ../src/widgets/arc-toolbar.cpp:356
msgid "Open Arc"
msgstr "Відкрита дуга"
-#: ../src/widgets/arc-toolbar.cpp:366
+#: ../src/widgets/arc-toolbar.cpp:357
msgid "Switch to arc (unclosed shape)"
msgstr "Перейти до дуги (незакриту фігуру)"
-#: ../src/widgets/arc-toolbar.cpp:389
+#: ../src/widgets/arc-toolbar.cpp:380
msgid "Make whole"
msgstr "Зробити цілим"
-#: ../src/widgets/arc-toolbar.cpp:390
+#: ../src/widgets/arc-toolbar.cpp:381
msgid "Make the shape a whole ellipse, not arc or segment"
msgstr "Робить фігуру цілим еліпÑом, а не дугою чи Ñегментом"
@@ -27737,88 +27778,88 @@ msgstr "Додати/Змінити профіль"
msgid "Add or edit calligraphic profile"
msgstr "Додати або змінити профіль каліграфії"
-#: ../src/widgets/connector-toolbar.cpp:120
+#: ../src/widgets/connector-toolbar.cpp:118
msgid "Set connector type: orthogonal"
msgstr "Ð’Ñтановити тип з'єднаннÑ: під прÑмим кутом"
-#: ../src/widgets/connector-toolbar.cpp:120
+#: ../src/widgets/connector-toolbar.cpp:118
msgid "Set connector type: polyline"
msgstr "Ð’Ñтановити тип з'єднаннÑ: ламана"
-#: ../src/widgets/connector-toolbar.cpp:169
+#: ../src/widgets/connector-toolbar.cpp:165
msgid "Change connector curvature"
msgstr "Змінити кривину з'єднаннÑ"
-#: ../src/widgets/connector-toolbar.cpp:220
+#: ../src/widgets/connector-toolbar.cpp:216
msgid "Change connector spacing"
msgstr "Зміна відÑтаней Ð´Ð»Ñ Ð»Ñ–Ð½Ñ–Ñ— з'єднаннÑ"
-#: ../src/widgets/connector-toolbar.cpp:313
+#: ../src/widgets/connector-toolbar.cpp:309
msgid "Avoid"
msgstr "Уникати"
-#: ../src/widgets/connector-toolbar.cpp:323
+#: ../src/widgets/connector-toolbar.cpp:319
msgid "Ignore"
msgstr "Ігнорувати"
-#: ../src/widgets/connector-toolbar.cpp:334
+#: ../src/widgets/connector-toolbar.cpp:330
msgid "Orthogonal"
msgstr "Під прÑмим кутом"
-#: ../src/widgets/connector-toolbar.cpp:335
+#: ../src/widgets/connector-toolbar.cpp:331
msgid "Make connector orthogonal or polyline"
msgstr "Зробити з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·'єднаннÑм під прÑмим кутом або з'єднаннÑм у ламаній"
-#: ../src/widgets/connector-toolbar.cpp:349
+#: ../src/widgets/connector-toolbar.cpp:345
msgid "Connector Curvature"
msgstr "Кривина з'єднаннÑ"
-#: ../src/widgets/connector-toolbar.cpp:349
+#: ../src/widgets/connector-toolbar.cpp:345
msgid "Curvature:"
msgstr "Кривина:"
-#: ../src/widgets/connector-toolbar.cpp:350
+#: ../src/widgets/connector-toolbar.cpp:346
msgid "The amount of connectors curvature"
msgstr "Кривина з'єднань"
-#: ../src/widgets/connector-toolbar.cpp:360
+#: ../src/widgets/connector-toolbar.cpp:356
msgid "Connector Spacing"
msgstr "ВідÑтань Ð´Ð»Ñ Ð·'єднаннÑ"
-#: ../src/widgets/connector-toolbar.cpp:360
+#: ../src/widgets/connector-toolbar.cpp:356
msgid "Spacing:"
msgstr "Інтервал:"
-#: ../src/widgets/connector-toolbar.cpp:361
+#: ../src/widgets/connector-toolbar.cpp:357
msgid "The amount of space left around objects by auto-routing connectors"
msgstr "ПроÑтір, що залишаєтьÑÑ Ð½Ð°Ð²ÐºÐ¾Ð»Ð¾ об'єктів під Ñ‡Ð°Ñ Ð°Ð²Ñ‚Ð¾Ð·'єднаннÑ"
-#: ../src/widgets/connector-toolbar.cpp:372
+#: ../src/widgets/connector-toolbar.cpp:368
msgid "Graph"
msgstr "Графік"
-#: ../src/widgets/connector-toolbar.cpp:382
+#: ../src/widgets/connector-toolbar.cpp:378
msgid "Connector Length"
msgstr "Довжина з'єднаннÑ"
-#: ../src/widgets/connector-toolbar.cpp:382
+#: ../src/widgets/connector-toolbar.cpp:378
msgid "Length:"
msgstr "Довжина:"
-#: ../src/widgets/connector-toolbar.cpp:383
+#: ../src/widgets/connector-toolbar.cpp:379
msgid "Ideal length for connectors when layout is applied"
msgstr ""
"Зразкова довжина ліній з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ виглÑду"
-#: ../src/widgets/connector-toolbar.cpp:395
+#: ../src/widgets/connector-toolbar.cpp:391
msgid "Downwards"
msgstr "Вниз"
-#: ../src/widgets/connector-toolbar.cpp:396
+#: ../src/widgets/connector-toolbar.cpp:392
msgid "Make connectors with end-markers (arrows) point downwards"
msgstr "ЗмуÑити кінцеві Ñтрілки ліній з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·ÑƒÐ²Ð°Ñ‚Ð¸ вниз"
-#: ../src/widgets/connector-toolbar.cpp:412
+#: ../src/widgets/connector-toolbar.cpp:408
msgid "Do not allow overlapping shapes"
msgstr "Ðе дозволÑти Ð¿ÐµÑ€ÐµÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ„Ð¾Ñ€Ð¼"
@@ -28003,36 +28044,36 @@ msgstr "Вирізати з об'єктів"
msgid "The width of the eraser pen (relative to the visible canvas area)"
msgstr "Ширина гумки (відноÑно видимої облаÑті полотна)"
-#: ../src/widgets/fill-style.cpp:360
+#: ../src/widgets/fill-style.cpp:356
msgid "Change fill rule"
msgstr "Зміна правила заповненнÑ"
-#: ../src/widgets/fill-style.cpp:445 ../src/widgets/fill-style.cpp:524
+#: ../src/widgets/fill-style.cpp:441 ../src/widgets/fill-style.cpp:520
msgid "Set fill color"
msgstr "Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñƒ заповненнÑ"
-#: ../src/widgets/fill-style.cpp:445 ../src/widgets/fill-style.cpp:524
+#: ../src/widgets/fill-style.cpp:441 ../src/widgets/fill-style.cpp:520
msgid "Set stroke color"
msgstr "Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñƒ штрихів"
-#: ../src/widgets/fill-style.cpp:622
+#: ../src/widgets/fill-style.cpp:618
msgid "Set gradient on fill"
msgstr "Створити градієнт у заповненні"
-#: ../src/widgets/fill-style.cpp:622
+#: ../src/widgets/fill-style.cpp:618
msgid "Set gradient on stroke"
msgstr "Створити градієнт у штриху"
-#: ../src/widgets/fill-style.cpp:682
+#: ../src/widgets/fill-style.cpp:678
msgid "Set pattern on fill"
msgstr "Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð·ÐµÑ€ÑƒÐ½ÐºÑƒ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ"
-#: ../src/widgets/fill-style.cpp:683
+#: ../src/widgets/fill-style.cpp:679
msgid "Set pattern on stroke"
msgstr "Додати візерунок до штриха"
-#: ../src/widgets/font-selector.cpp:120 ../src/widgets/text-toolbar.cpp:947
-#: ../src/widgets/text-toolbar.cpp:1259
+#: ../src/widgets/font-selector.cpp:120 ../src/widgets/text-toolbar.cpp:953
+#: ../src/widgets/text-toolbar.cpp:1265
msgid "Font size"
msgstr "Розмір шрифту"
@@ -28064,7 +28105,7 @@ msgid "Edit gradient"
msgstr "Змінити градієнт"
#: ../src/widgets/gradient-selector.cpp:281
-#: ../src/widgets/paint-selector.cpp:236
+#: ../src/widgets/paint-selector.cpp:233
msgid "Swatch"
msgstr "Зразок"
@@ -28072,112 +28113,116 @@ msgstr "Зразок"
msgid "Rename gradient"
msgstr "Перейменувати градієнт"
-#: ../src/widgets/gradient-toolbar.cpp:156
-#: ../src/widgets/gradient-toolbar.cpp:169
-#: ../src/widgets/gradient-toolbar.cpp:758
-#: ../src/widgets/gradient-toolbar.cpp:1097
+#: ../src/widgets/gradient-toolbar.cpp:157
+#: ../src/widgets/gradient-toolbar.cpp:170
+#: ../src/widgets/gradient-toolbar.cpp:761
+#: ../src/widgets/gradient-toolbar.cpp:1100
msgid "No gradient"
msgstr "Без градієнта"
-#: ../src/widgets/gradient-toolbar.cpp:176
+#: ../src/widgets/gradient-toolbar.cpp:177
msgid "Multiple gradients"
msgstr "Декілька градієнтів"
-#: ../src/widgets/gradient-toolbar.cpp:678
+#: ../src/widgets/gradient-toolbar.cpp:681
msgid "Multiple stops"
msgstr "Декілька опорних точок"
-#: ../src/widgets/gradient-toolbar.cpp:776
-#: ../src/widgets/gradient-vector.cpp:609
+#: ../src/widgets/gradient-toolbar.cpp:779
+#: ../src/widgets/gradient-vector.cpp:610
msgid "No stops in gradient"
msgstr "У градієнті немає опорних точок"
-#: ../src/widgets/gradient-toolbar.cpp:930
+#: ../src/widgets/gradient-toolbar.cpp:933
msgid "Assign gradient to object"
msgstr "ПрипиÑати об'єктові градієнт"
-#: ../src/widgets/gradient-toolbar.cpp:952
+#: ../src/widgets/gradient-toolbar.cpp:955
msgid "Set gradient repeat"
msgstr "Ð’Ñтановити повторюваніÑть градієнта"
-#: ../src/widgets/gradient-toolbar.cpp:990
-#: ../src/widgets/gradient-vector.cpp:720
+#: ../src/widgets/gradient-toolbar.cpp:993
+#: ../src/widgets/gradient-vector.cpp:721
msgid "Change gradient stop offset"
msgstr "Змінити Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¾Ð¿Ð¾Ñ€Ð½Ð¾Ñ— точки градієнта"
-#: ../src/widgets/gradient-toolbar.cpp:1037
+#: ../src/widgets/gradient-toolbar.cpp:1040
msgid "linear"
msgstr "лінійний"
-#: ../src/widgets/gradient-toolbar.cpp:1037
+#: ../src/widgets/gradient-toolbar.cpp:1040
msgid "Create linear gradient"
msgstr "Створити лінійний градієнт"
-#: ../src/widgets/gradient-toolbar.cpp:1041
+#: ../src/widgets/gradient-toolbar.cpp:1044
msgid "radial"
msgstr "радіальний"
-#: ../src/widgets/gradient-toolbar.cpp:1041
+#: ../src/widgets/gradient-toolbar.cpp:1044
msgid "Create radial (elliptic or circular) gradient"
msgstr "Створити радіальний (еліптичний чи круговий) градієнт"
-#: ../src/widgets/gradient-toolbar.cpp:1044
-#: ../src/widgets/mesh-toolbar.cpp:341
+#: ../src/widgets/gradient-toolbar.cpp:1047
+#: ../src/widgets/mesh-toolbar.cpp:343
msgid "New:"
msgstr "Створити:"
-#: ../src/widgets/gradient-toolbar.cpp:1067
-#: ../src/widgets/mesh-toolbar.cpp:364
+#: ../src/widgets/gradient-toolbar.cpp:1070
+#: ../src/widgets/mesh-toolbar.cpp:366
msgid "fill"
msgstr "заповненнÑ"
-#: ../src/widgets/gradient-toolbar.cpp:1067
-#: ../src/widgets/mesh-toolbar.cpp:364
+#: ../src/widgets/gradient-toolbar.cpp:1070
+#: ../src/widgets/mesh-toolbar.cpp:366
msgid "Create gradient in the fill"
msgstr "Створити градієнт у заповненні"
-#: ../src/widgets/gradient-toolbar.cpp:1071
-#: ../src/widgets/mesh-toolbar.cpp:368
+#: ../src/widgets/gradient-toolbar.cpp:1074
+#: ../src/widgets/mesh-toolbar.cpp:370
msgid "stroke"
msgstr "штрих"
-#: ../src/widgets/gradient-toolbar.cpp:1071
-#: ../src/widgets/mesh-toolbar.cpp:368
+#: ../src/widgets/gradient-toolbar.cpp:1074
+#: ../src/widgets/mesh-toolbar.cpp:370
msgid "Create gradient in the stroke"
msgstr "Створити градієнт у штриху"
-#: ../src/widgets/gradient-toolbar.cpp:1074
-#: ../src/widgets/mesh-toolbar.cpp:371
+#: ../src/widgets/gradient-toolbar.cpp:1077
+#: ../src/widgets/mesh-toolbar.cpp:373
msgid "on:"
msgstr "на:"
-#: ../src/widgets/gradient-toolbar.cpp:1099
+#: ../src/widgets/gradient-toolbar.cpp:1102
msgid "Select"
msgstr "Селектор"
-#: ../src/widgets/gradient-toolbar.cpp:1099
+#: ../src/widgets/gradient-toolbar.cpp:1102
msgid "Choose a gradient"
msgstr "Вибрати градієнт"
-#: ../src/widgets/gradient-toolbar.cpp:1100
+#: ../src/widgets/gradient-toolbar.cpp:1103
msgid "Select:"
msgstr "ПозначеннÑ:"
-#: ../src/widgets/gradient-toolbar.cpp:1115
+#: ../src/widgets/gradient-toolbar.cpp:1118
msgctxt "Gradient repeat type"
msgid "None"
msgstr "Ðемає"
#: ../src/widgets/gradient-toolbar.cpp:1121
+msgid "Reflected"
+msgstr "Відбитий"
+
+#: ../src/widgets/gradient-toolbar.cpp:1124
msgid "Direct"
msgstr "ПрÑмий"
-#: ../src/widgets/gradient-toolbar.cpp:1123
+#: ../src/widgets/gradient-toolbar.cpp:1126
msgid "Repeat"
msgstr "Повторити"
#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/pservers.html#LinearGradientSpreadMethodAttribute
-#: ../src/widgets/gradient-toolbar.cpp:1125
+#: ../src/widgets/gradient-toolbar.cpp:1128
msgid ""
"Whether to fill with flat color beyond the ends of the gradient vector "
"(spreadMethod=\"pad\"), or repeat the gradient in the same direction "
@@ -28188,62 +28233,62 @@ msgstr ""
"\"pad\"), чи повторювати початковий градієнт (spreadMethod=\"repeat\"), "
"повторювати відбитий градієнт (spreadMethod=\"reflect\")"
-#: ../src/widgets/gradient-toolbar.cpp:1130
+#: ../src/widgets/gradient-toolbar.cpp:1133
msgid "Repeat:"
msgstr "Повтор:"
-#: ../src/widgets/gradient-toolbar.cpp:1144
+#: ../src/widgets/gradient-toolbar.cpp:1147
msgid "No stops"
msgstr "Без опорних точок"
-#: ../src/widgets/gradient-toolbar.cpp:1146
+#: ../src/widgets/gradient-toolbar.cpp:1149
msgid "Stops"
msgstr "Опорні точки"
-#: ../src/widgets/gradient-toolbar.cpp:1146
+#: ../src/widgets/gradient-toolbar.cpp:1149
msgid "Select a stop for the current gradient"
msgstr "Позначте опорну точку поточного градієнта"
-#: ../src/widgets/gradient-toolbar.cpp:1147
+#: ../src/widgets/gradient-toolbar.cpp:1150
msgid "Stops:"
msgstr "Опорні точки:"
#. Label
-#: ../src/widgets/gradient-toolbar.cpp:1159
-#: ../src/widgets/gradient-vector.cpp:906
+#: ../src/widgets/gradient-toolbar.cpp:1162
+#: ../src/widgets/gradient-vector.cpp:907
msgctxt "Gradient"
msgid "Offset:"
msgstr "ЗÑув:"
-#: ../src/widgets/gradient-toolbar.cpp:1159
+#: ../src/widgets/gradient-toolbar.cpp:1162
msgid "Offset of selected stop"
msgstr "ВідÑтуп позначеної опорної точки"
-#: ../src/widgets/gradient-toolbar.cpp:1177
-#: ../src/widgets/gradient-toolbar.cpp:1178
+#: ../src/widgets/gradient-toolbar.cpp:1180
+#: ../src/widgets/gradient-toolbar.cpp:1181
msgid "Insert new stop"
msgstr "Ð’Ñтавити нову опорну точку"
-#: ../src/widgets/gradient-toolbar.cpp:1191
-#: ../src/widgets/gradient-toolbar.cpp:1192
-#: ../src/widgets/gradient-vector.cpp:888
+#: ../src/widgets/gradient-toolbar.cpp:1194
+#: ../src/widgets/gradient-toolbar.cpp:1195
+#: ../src/widgets/gradient-vector.cpp:889
msgid "Delete stop"
msgstr "Вилучити опорну точку"
-#: ../src/widgets/gradient-toolbar.cpp:1206
+#: ../src/widgets/gradient-toolbar.cpp:1209
msgid "Reverse the direction of the gradient"
msgstr "Обернути напрÑмок градієнта"
-#: ../src/widgets/gradient-toolbar.cpp:1220
+#: ../src/widgets/gradient-toolbar.cpp:1223
msgid "Link gradients"
msgstr "Зв'Ñзати градієнти"
-#: ../src/widgets/gradient-toolbar.cpp:1221
+#: ../src/widgets/gradient-toolbar.cpp:1224
msgid "Link gradients to change all related gradients"
msgstr "Зв'Ñзати градієнти, щоб вони змінювалиÑÑ Ñƒ вÑÑ–Ñ… пов'Ñзаних градієнтів"
#: ../src/widgets/gradient-vector.cpp:312
-#: ../src/widgets/paint-selector.cpp:947
+#: ../src/widgets/paint-selector.cpp:957
#: ../src/widgets/stroke-marker-selector.cpp:154
msgid "No document selected"
msgstr "Документ не вибрано"
@@ -28257,28 +28302,28 @@ msgid "No gradient selected"
msgstr "Ðе вибрано жодного градієнта"
#. TRANSLATORS: "Stop" means: a "phase" of a gradient
-#: ../src/widgets/gradient-vector.cpp:883
+#: ../src/widgets/gradient-vector.cpp:884
msgid "Add stop"
msgstr "Додати опорну точку"
-#: ../src/widgets/gradient-vector.cpp:886
+#: ../src/widgets/gradient-vector.cpp:887
msgid "Add another control stop to gradient"
msgstr "Додати ще одну опорну точку у градієнт"
-#: ../src/widgets/gradient-vector.cpp:891
+#: ../src/widgets/gradient-vector.cpp:892
msgid "Delete current control stop from gradient"
msgstr "Вилучити опорну точку градієнта"
#. TRANSLATORS: "Stop" means: a "phase" of a gradient
-#: ../src/widgets/gradient-vector.cpp:959
+#: ../src/widgets/gradient-vector.cpp:960
msgid "Stop Color"
msgstr "Колір опорної точки"
-#: ../src/widgets/gradient-vector.cpp:987
+#: ../src/widgets/gradient-vector.cpp:988
msgid "Gradient editor"
msgstr "Редактор градієнтів"
-#: ../src/widgets/gradient-vector.cpp:1324
+#: ../src/widgets/gradient-vector.cpp:1325
msgid "Change gradient stop color"
msgstr "Змінити колір опорної точки градієнта"
@@ -28341,7 +28386,7 @@ msgstr "Показувати відомоÑті щодо виміру Ð´Ð»Ñ Ð²Ð
#. Add the units menu.
#: ../src/widgets/lpe-toolbar.cpp:387 ../src/widgets/node-toolbar.cpp:613
-#: ../src/widgets/paintbucket-toolbar.cpp:168
+#: ../src/widgets/paintbucket-toolbar.cpp:167
#: ../src/widgets/rect-toolbar.cpp:378 ../src/widgets/select-toolbar.cpp:538
msgid "Units"
msgstr "Одиниці"
@@ -28356,7 +28401,7 @@ msgstr ""
"Відкрити діалогове вікно геометричних побудов (Ð´Ð»Ñ Ñ‡Ð¸Ñлового Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ "
"параметрів)"
-#: ../src/widgets/measure-toolbar.cpp:86 ../src/widgets/text-toolbar.cpp:1262
+#: ../src/widgets/measure-toolbar.cpp:86 ../src/widgets/text-toolbar.cpp:1268
msgid "Font Size"
msgstr "Розмір шрифту"
@@ -28373,100 +28418,100 @@ msgstr "Розмір шрифту, Ñкий буде викориÑтано дл
msgid "The units to be used for the measurements"
msgstr "Одиниці, Ñкі буде викориÑтано Ð´Ð»Ñ Ð²Ð¸Ð¼Ñ–Ñ€ÑŽÐ²Ð°Ð½Ð½Ñ"
-#: ../src/widgets/mesh-toolbar.cpp:311
+#: ../src/widgets/mesh-toolbar.cpp:313
msgid "Set mesh type"
msgstr "Ð’Ñтановити тип Ñітки"
-#: ../src/widgets/mesh-toolbar.cpp:334
+#: ../src/widgets/mesh-toolbar.cpp:336
msgid "normal"
msgstr "звичайне"
-#: ../src/widgets/mesh-toolbar.cpp:334
+#: ../src/widgets/mesh-toolbar.cpp:336
msgid "Create mesh gradient"
msgstr "Створити Ñітковий градієнт"
-#: ../src/widgets/mesh-toolbar.cpp:338
+#: ../src/widgets/mesh-toolbar.cpp:340
msgid "conical"
msgstr "конічний"
-#: ../src/widgets/mesh-toolbar.cpp:338
+#: ../src/widgets/mesh-toolbar.cpp:340
msgid "Create conical gradient"
msgstr "Створити конічний градієнт"
-#: ../src/widgets/mesh-toolbar.cpp:393
+#: ../src/widgets/mesh-toolbar.cpp:395
msgid "Rows"
msgstr "РÑдки"
-#: ../src/widgets/mesh-toolbar.cpp:393
+#: ../src/widgets/mesh-toolbar.cpp:395
#: ../share/extensions/guides_creator.inx.h:5
#: ../share/extensions/layout_nup.inx.h:12
msgid "Rows:"
msgstr "РÑдків:"
-#: ../src/widgets/mesh-toolbar.cpp:393
+#: ../src/widgets/mesh-toolbar.cpp:395
msgid "Number of rows in new mesh"
msgstr "КількіÑть Ñ€Ñдків у новій Ñітці"
-#: ../src/widgets/mesh-toolbar.cpp:409
+#: ../src/widgets/mesh-toolbar.cpp:411
msgid "Columns"
msgstr "Стовпчики"
-#: ../src/widgets/mesh-toolbar.cpp:409
+#: ../src/widgets/mesh-toolbar.cpp:411
#: ../share/extensions/guides_creator.inx.h:4
msgid "Columns:"
msgstr "Стовпчиків:"
-#: ../src/widgets/mesh-toolbar.cpp:409
+#: ../src/widgets/mesh-toolbar.cpp:411
msgid "Number of columns in new mesh"
msgstr "КількіÑть Ñтовпчиків у новій Ñітці"
-#: ../src/widgets/mesh-toolbar.cpp:423
+#: ../src/widgets/mesh-toolbar.cpp:425
msgid "Edit Fill"
msgstr "Редагувати заповненнÑ"
-#: ../src/widgets/mesh-toolbar.cpp:424
+#: ../src/widgets/mesh-toolbar.cpp:426
msgid "Edit fill mesh"
msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñітки заповненнÑ"
-#: ../src/widgets/mesh-toolbar.cpp:435
+#: ../src/widgets/mesh-toolbar.cpp:437
msgid "Edit Stroke"
msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÑ‚Ñ€Ð¸Ñ…Ð°"
-#: ../src/widgets/mesh-toolbar.cpp:436
+#: ../src/widgets/mesh-toolbar.cpp:438
msgid "Edit stroke mesh"
msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñітки штриха"
-#: ../src/widgets/mesh-toolbar.cpp:447 ../src/widgets/node-toolbar.cpp:521
+#: ../src/widgets/mesh-toolbar.cpp:449 ../src/widgets/node-toolbar.cpp:521
msgid "Show Handles"
msgstr "Показувати елементи керуваннÑ"
-#: ../src/widgets/mesh-toolbar.cpp:448
+#: ../src/widgets/mesh-toolbar.cpp:450
msgid "Show side and tensor handles"
msgstr "Показати бічний елемент та елемент ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐ½Ð·Ð¾Ñ€Ð¾Ð¼"
-#: ../src/widgets/mesh-toolbar.cpp:463
+#: ../src/widgets/mesh-toolbar.cpp:465
msgid "WARNING: Mesh SVG Syntax Subject to Change"
msgstr "ПОПЕРЕДЖЕÐÐЯ: ÑинтакÑична конÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ Ñітки SVG змінюєтьÑÑ"
-#: ../src/widgets/mesh-toolbar.cpp:473
+#: ../src/widgets/mesh-toolbar.cpp:475
msgctxt "Type"
msgid "Coons"
msgstr "КоонÑа"
-#: ../src/widgets/mesh-toolbar.cpp:476
+#: ../src/widgets/mesh-toolbar.cpp:478
msgid "Bicubic"
msgstr "Бікубічний"
-#: ../src/widgets/mesh-toolbar.cpp:478
+#: ../src/widgets/mesh-toolbar.cpp:480
msgid "Coons"
msgstr "КоонÑа"
-#: ../src/widgets/mesh-toolbar.cpp:479
+#: ../src/widgets/mesh-toolbar.cpp:481
msgid "Coons: no smoothing. Bicubic: smoothing across patch boundaries."
msgstr ""
"КоонÑа: без згладжуваннÑ. Бікубічний: Ð·Ð³Ð»Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ ÑƒÐ¿Ð¾Ð¿ÐµÑ€ÐµÐº до меж фрагмента."
-#: ../src/widgets/mesh-toolbar.cpp:481 ../src/widgets/pencil-toolbar.cpp:278
+#: ../src/widgets/mesh-toolbar.cpp:483 ../src/widgets/pencil-toolbar.cpp:278
msgid "Smoothing:"
msgstr "ЗгладжуваннÑ:"
@@ -28670,34 +28715,34 @@ msgstr "Y координата:"
msgid "Y coordinate of selected node(s)"
msgstr "Y-координата вибраних вузлів"
-#: ../src/widgets/paint-selector.cpp:222
+#: ../src/widgets/paint-selector.cpp:219
msgid "No paint"
msgstr "Ðемає заповненнÑ"
-#: ../src/widgets/paint-selector.cpp:224
+#: ../src/widgets/paint-selector.cpp:221
msgid "Flat color"
msgstr "Суцільний колір"
-#: ../src/widgets/paint-selector.cpp:226
+#: ../src/widgets/paint-selector.cpp:223
msgid "Linear gradient"
msgstr "Лінійний градієнт"
-#: ../src/widgets/paint-selector.cpp:228
+#: ../src/widgets/paint-selector.cpp:225
msgid "Radial gradient"
msgstr "Радіальний градієнт"
-#: ../src/widgets/paint-selector.cpp:231
+#: ../src/widgets/paint-selector.cpp:228
msgid "Mesh gradient"
msgstr "Сітковий градієнт"
-#: ../src/widgets/paint-selector.cpp:238
+#: ../src/widgets/paint-selector.cpp:235
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:255
+#: ../src/widgets/paint-selector.cpp:252
msgid ""
"Any path self-intersections or subpaths create holes in the fill (fill-rule: "
"evenodd)"
@@ -28706,47 +28751,47 @@ msgstr ""
"(fill-rule: evenodd)"
#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty
-#: ../src/widgets/paint-selector.cpp:266
+#: ../src/widgets/paint-selector.cpp:263
msgid ""
"Fill is solid unless a subpath is counterdirectional (fill-rule: nonzero)"
msgstr ""
"Ð—Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¼Ð°Ñ” дірку, лише Ñкщо внутрішній підконтур напрÑмлений у "
"протилежному напрÑмку відноÑно зовнішнього (fill-rule: nonzero)"
-#: ../src/widgets/paint-selector.cpp:600
+#: ../src/widgets/paint-selector.cpp:597
msgid "<b>No objects</b>"
msgstr "<b>Ðемає об'єктів</b>"
-#: ../src/widgets/paint-selector.cpp:611
+#: ../src/widgets/paint-selector.cpp:608
msgid "<b>Multiple styles</b>"
msgstr "<b>Множинні Ñтилі</b>"
-#: ../src/widgets/paint-selector.cpp:622
+#: ../src/widgets/paint-selector.cpp:619
msgid "<b>Paint is undefined</b>"
msgstr "<b>Ð—Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð½Ðµ визначено</b>"
-#: ../src/widgets/paint-selector.cpp:633
+#: ../src/widgets/paint-selector.cpp:630
msgid "<b>No paint</b>"
msgstr "<b>Ðемає заповненнÑ</b>"
-#: ../src/widgets/paint-selector.cpp:704
+#: ../src/widgets/paint-selector.cpp:714
msgid "<b>Flat color</b>"
msgstr "<b>Суцільний колір</b>"
#. sp_gradient_selector_set_mode(SP_GRADIENT_SELECTOR(gsel), SP_GRADIENT_SELECTOR_MODE_LINEAR);
-#: ../src/widgets/paint-selector.cpp:773
+#: ../src/widgets/paint-selector.cpp:783
msgid "<b>Linear gradient</b>"
msgstr "<b>Лінійний градієнт</b>"
-#: ../src/widgets/paint-selector.cpp:776
+#: ../src/widgets/paint-selector.cpp:786
msgid "<b>Radial gradient</b>"
msgstr "<b>Радіальний градієнт</b>"
-#: ../src/widgets/paint-selector.cpp:781
+#: ../src/widgets/paint-selector.cpp:791
msgid "<b>Mesh gradient</b>"
msgstr "<b>Сітковий градієнт</b>"
-#: ../src/widgets/paint-selector.cpp:1080
+#: ../src/widgets/paint-selector.cpp:1090
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 "
@@ -28757,27 +28802,27 @@ msgstr ""
"Візерунок &gt; Об'єкти у візерунок</b>, щоб Ñтворити новий візерунок з "
"позначеної облаÑті."
-#: ../src/widgets/paint-selector.cpp:1093
+#: ../src/widgets/paint-selector.cpp:1103
msgid "<b>Pattern fill</b>"
msgstr "<b>Ð—Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð²Ñ–Ð·ÐµÑ€ÑƒÐ½ÐºÐ¾Ð¼</b>"
-#: ../src/widgets/paint-selector.cpp:1187
+#: ../src/widgets/paint-selector.cpp:1197
msgid "<b>Swatch fill</b>"
msgstr "<b>Ð—Ð°Ð»Ð¸Ð²Ð°Ð½Ð½Ñ Ð·Ð° зразком</b>"
-#: ../src/widgets/paintbucket-toolbar.cpp:135
+#: ../src/widgets/paintbucket-toolbar.cpp:134
msgid "Fill by"
msgstr "Залити"
-#: ../src/widgets/paintbucket-toolbar.cpp:136
+#: ../src/widgets/paintbucket-toolbar.cpp:135
msgid "Fill by:"
msgstr "Чим залити:"
-#: ../src/widgets/paintbucket-toolbar.cpp:148
+#: ../src/widgets/paintbucket-toolbar.cpp:147
msgid "Fill Threshold"
msgstr "Поріг залиттÑ"
-#: ../src/widgets/paintbucket-toolbar.cpp:149
+#: ../src/widgets/paintbucket-toolbar.cpp:148
msgid ""
"The maximum allowed difference between the clicked pixel and the neighboring "
"pixels to be counted in the fill"
@@ -28785,36 +28830,36 @@ msgstr ""
"МакÑимальна допуÑтима Ñ€Ñ–Ð·Ð½Ð¸Ñ†Ñ Ð¼Ñ–Ð¶ точкою, на Ñкій клацнули та ÑуÑідніми "
"точками Ñкі обчиÑлені у заповненні"
-#: ../src/widgets/paintbucket-toolbar.cpp:176
+#: ../src/widgets/paintbucket-toolbar.cpp:175
msgid "Grow/shrink by"
msgstr "Збільшити/зменшити на"
-#: ../src/widgets/paintbucket-toolbar.cpp:176
+#: ../src/widgets/paintbucket-toolbar.cpp:175
msgid "Grow/shrink by:"
msgstr "Збільшити/зменшити на:"
-#: ../src/widgets/paintbucket-toolbar.cpp:177
+#: ../src/widgets/paintbucket-toolbar.cpp:176
msgid ""
"The amount to grow (positive) or shrink (negative) the created fill path"
msgstr ""
"Величина Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ (додатне чиÑло) або Ð·Ð¼ÐµÐ½ÑˆÐµÐ½Ð½Ñ (від'ємне) Ñтвореного "
"контуру заповненнÑ"
-#: ../src/widgets/paintbucket-toolbar.cpp:202
+#: ../src/widgets/paintbucket-toolbar.cpp:199
msgid "Close gaps"
msgstr "Закрити проміжки"
-#: ../src/widgets/paintbucket-toolbar.cpp:203
+#: ../src/widgets/paintbucket-toolbar.cpp:200
msgid "Close gaps:"
msgstr "Закриті проміжки:"
-#: ../src/widgets/paintbucket-toolbar.cpp:214
-#: ../src/widgets/pencil-toolbar.cpp:299 ../src/widgets/spiral-toolbar.cpp:289
-#: ../src/widgets/star-toolbar.cpp:566
+#: ../src/widgets/paintbucket-toolbar.cpp:211
+#: ../src/widgets/pencil-toolbar.cpp:299 ../src/widgets/spiral-toolbar.cpp:285
+#: ../src/widgets/star-toolbar.cpp:564
msgid "Defaults"
msgstr "Типово"
-#: ../src/widgets/paintbucket-toolbar.cpp:215
+#: ../src/widgets/paintbucket-toolbar.cpp:212
msgid ""
"Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools "
"to change defaults)"
@@ -28911,7 +28956,7 @@ msgstr ""
"Відновити типові параметри пера (типові параметри можна змінити у вікні "
"Параметри Inkscape->ІнÑтрументи)"
-#: ../src/widgets/rect-toolbar.cpp:124
+#: ../src/widgets/rect-toolbar.cpp:125
msgid "Change rectangle"
msgstr "Змінити прÑмокутник"
@@ -29295,91 +29340,91 @@ msgstr "ЗначеннÑ"
msgid "Type text in a text node"
msgstr "Ðадрукувати текÑÑ‚ у текÑтовому вузлі"
-#: ../src/widgets/spiral-toolbar.cpp:100
+#: ../src/widgets/spiral-toolbar.cpp:98
msgid "Change spiral"
msgstr "Змінити Ñпіраль"
-#: ../src/widgets/spiral-toolbar.cpp:246
+#: ../src/widgets/spiral-toolbar.cpp:242
msgid "just a curve"
msgstr "проÑто крива"
-#: ../src/widgets/spiral-toolbar.cpp:246
+#: ../src/widgets/spiral-toolbar.cpp:242
msgid "one full revolution"
msgstr "один повний оберт"
-#: ../src/widgets/spiral-toolbar.cpp:249
+#: ../src/widgets/spiral-toolbar.cpp:245
msgid "Number of turns"
msgstr "КількіÑть витків"
-#: ../src/widgets/spiral-toolbar.cpp:249
+#: ../src/widgets/spiral-toolbar.cpp:245
msgid "Turns:"
msgstr "Витків:"
-#: ../src/widgets/spiral-toolbar.cpp:249
+#: ../src/widgets/spiral-toolbar.cpp:245
msgid "Number of revolutions"
msgstr "КількіÑть витків"
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "circle"
msgstr "коло"
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "edge is much denser"
msgstr "Ð±Ñ–Ð»Ñ ÐºÑ€Ð°ÑŽ набагато чаÑтіше"
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "edge is denser"
msgstr "Ð±Ñ–Ð»Ñ ÐºÑ€Ð°ÑŽ чаÑтіше"
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "even"
msgstr "рівна Ñпіраль"
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "center is denser"
msgstr "Ð±Ñ–Ð»Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ñƒ чаÑтіше"
-#: ../src/widgets/spiral-toolbar.cpp:260
+#: ../src/widgets/spiral-toolbar.cpp:256
msgid "center is much denser"
msgstr "Ð±Ñ–Ð»Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ñƒ набагато чаÑтіше"
-#: ../src/widgets/spiral-toolbar.cpp:263
+#: ../src/widgets/spiral-toolbar.cpp:259
msgid "Divergence"
msgstr "РозходженнÑ"
-#: ../src/widgets/spiral-toolbar.cpp:263
+#: ../src/widgets/spiral-toolbar.cpp:259
msgid "Divergence:"
msgstr "РозходженнÑ:"
-#: ../src/widgets/spiral-toolbar.cpp:263
+#: ../src/widgets/spiral-toolbar.cpp:259
msgid "How much denser/sparser are outer revolutions; 1 = uniform"
msgstr "Ступінь збільшеннÑ/Ð·Ð¼ÐµÐ½ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ñтані між витками; 1 = рівномірно"
-#: ../src/widgets/spiral-toolbar.cpp:274
+#: ../src/widgets/spiral-toolbar.cpp:270
msgid "starts from center"
msgstr "почати від центру"
-#: ../src/widgets/spiral-toolbar.cpp:274
+#: ../src/widgets/spiral-toolbar.cpp:270
msgid "starts mid-way"
msgstr "почати на півдорозі"
-#: ../src/widgets/spiral-toolbar.cpp:274
+#: ../src/widgets/spiral-toolbar.cpp:270
msgid "starts near edge"
msgstr "почати порÑд з краєм"
-#: ../src/widgets/spiral-toolbar.cpp:277
+#: ../src/widgets/spiral-toolbar.cpp:273
msgid "Inner radius"
msgstr "Внутрішній радіуÑ"
-#: ../src/widgets/spiral-toolbar.cpp:277
+#: ../src/widgets/spiral-toolbar.cpp:273
msgid "Inner radius:"
msgstr "Внутрішній радіуÑ:"
-#: ../src/widgets/spiral-toolbar.cpp:277
+#: ../src/widgets/spiral-toolbar.cpp:273
msgid "Radius of the innermost revolution (relative to the spiral size)"
msgstr "Ð Ð°Ð´Ñ–ÑƒÑ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ внутрішнього витка (відноÑно розміру Ñпіралі)"
-#: ../src/widgets/spiral-toolbar.cpp:290 ../src/widgets/star-toolbar.cpp:567
+#: ../src/widgets/spiral-toolbar.cpp:286 ../src/widgets/star-toolbar.cpp:565
msgid ""
"Reset shape parameters to defaults (use Inkscape Preferences > Tools to "
"change defaults)"
@@ -29553,149 +29598,149 @@ msgstr "Зірка: Зміна заокругленнÑ"
msgid "Star: Change randomization"
msgstr "Зірка: Зміна випадковоÑті викривленнÑ"
-#: ../src/widgets/star-toolbar.cpp:465
+#: ../src/widgets/star-toolbar.cpp:463
msgid "Regular polygon (with one handle) instead of a star"
msgstr "Правильний багатокутник, а не зірка"
-#: ../src/widgets/star-toolbar.cpp:472
+#: ../src/widgets/star-toolbar.cpp:470
msgid "Star instead of a regular polygon (with one handle)"
msgstr "Зірка заміÑть звичайного багатокутника (з одним вуÑом)"
-#: ../src/widgets/star-toolbar.cpp:493
+#: ../src/widgets/star-toolbar.cpp:491
msgid "triangle/tri-star"
msgstr "трикутник/зірка з 3 променÑми"
-#: ../src/widgets/star-toolbar.cpp:493
+#: ../src/widgets/star-toolbar.cpp:491
msgid "square/quad-star"
msgstr "квадрат/зірка з 4 променÑми"
-#: ../src/widgets/star-toolbar.cpp:493
+#: ../src/widgets/star-toolbar.cpp:491
msgid "pentagon/five-pointed star"
msgstr "п'Ñтикутник/зірка з 5 променÑми"
-#: ../src/widgets/star-toolbar.cpp:493
+#: ../src/widgets/star-toolbar.cpp:491
msgid "hexagon/six-pointed star"
msgstr "шеÑтикутник/зірка з 6 променÑми"
-#: ../src/widgets/star-toolbar.cpp:496
+#: ../src/widgets/star-toolbar.cpp:494
msgid "Corners"
msgstr "Кути"
-#: ../src/widgets/star-toolbar.cpp:496
+#: ../src/widgets/star-toolbar.cpp:494
msgid "Corners:"
msgstr "Кути:"
-#: ../src/widgets/star-toolbar.cpp:496
+#: ../src/widgets/star-toolbar.cpp:494
msgid "Number of corners of a polygon or star"
msgstr "КількіÑть кутів багатокутника чи зірки"
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "thin-ray star"
msgstr "зірка з тонкими променÑми"
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "pentagram"
msgstr "пентаграма"
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "hexagram"
msgstr "гекÑаграма"
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "heptagram"
msgstr "гептаграма"
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "octagram"
msgstr "октаграма"
-#: ../src/widgets/star-toolbar.cpp:509
+#: ../src/widgets/star-toolbar.cpp:507
msgid "regular polygon"
msgstr "звичайний багатокутник"
-#: ../src/widgets/star-toolbar.cpp:512
+#: ../src/widgets/star-toolbar.cpp:510
msgid "Spoke ratio"
msgstr "Ð’Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñ€Ð°Ð´Ñ–ÑƒÑів"
-#: ../src/widgets/star-toolbar.cpp:512
+#: ../src/widgets/star-toolbar.cpp:510
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:515
+#: ../src/widgets/star-toolbar.cpp:513
msgid "Base radius to tip radius ratio"
msgstr "Ð’Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñ€Ð°Ð´Ñ–ÑƒÑів оÑнови та вершини променÑ"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "stretched"
msgstr "розтÑгнений"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "twisted"
msgstr "перекручений"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "slightly pinched"
msgstr "трохи затиÑнутий"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "NOT rounded"
msgstr "ÐЕ округлений"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "slightly rounded"
msgstr "трохи округлений"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "visibly rounded"
msgstr "помітно округлений"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "well rounded"
msgstr "значно округлений"
-#: ../src/widgets/star-toolbar.cpp:533
+#: ../src/widgets/star-toolbar.cpp:531
msgid "amply rounded"
msgstr "дуже округлений"
-#: ../src/widgets/star-toolbar.cpp:533 ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:531 ../src/widgets/star-toolbar.cpp:546
msgid "blown up"
msgstr "надутий"
-#: ../src/widgets/star-toolbar.cpp:536
+#: ../src/widgets/star-toolbar.cpp:534
msgid "Rounded:"
msgstr "ОкругленіÑть:"
-#: ../src/widgets/star-toolbar.cpp:536
+#: ../src/widgets/star-toolbar.cpp:534
msgid "How much rounded are the corners (0 for sharp)"
msgstr "ÐаÑкільки згладжені кути (0 — гоÑтрі)"
-#: ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:546
msgid "NOT randomized"
msgstr "БЕЗ випадковоÑті"
-#: ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:546
msgid "slightly irregular"
msgstr "трохи неправильно"
-#: ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:546
msgid "visibly randomized"
msgstr "помітно випадково"
-#: ../src/widgets/star-toolbar.cpp:548
+#: ../src/widgets/star-toolbar.cpp:546
msgid "strongly randomized"
msgstr "дуже випадково"
-#: ../src/widgets/star-toolbar.cpp:551
+#: ../src/widgets/star-toolbar.cpp:549
msgid "Randomized"
msgstr "Випадково"
-#: ../src/widgets/star-toolbar.cpp:551
+#: ../src/widgets/star-toolbar.cpp:549
msgid "Randomized:"
msgstr "Викривлено:"
-#: ../src/widgets/star-toolbar.cpp:551
+#: ../src/widgets/star-toolbar.cpp:549
msgid "Scatter randomly the corners and angles"
msgstr "Випадковим чином переміÑтити кути та повернути радіуÑи"
@@ -29795,7 +29840,7 @@ msgstr "Кінцеві маркери малюютьÑÑ Ð½Ð° оÑтанньом
msgid "Set markers"
msgstr "Ð’Ñтановити маркери"
-#: ../src/widgets/stroke-style.cpp:1030 ../src/widgets/stroke-style.cpp:1114
+#: ../src/widgets/stroke-style.cpp:1029 ../src/widgets/stroke-style.cpp:1113
msgid "Set stroke style"
msgstr "Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñтилю штриха"
@@ -29807,412 +29852,412 @@ msgstr "Ð’Ñтановити колір маркера"
msgid "Change swatch color"
msgstr "Змінити колір зразка"
-#: ../src/widgets/text-toolbar.cpp:169
+#: ../src/widgets/text-toolbar.cpp:173
msgid "Text: Change font family"
msgstr "ТекÑÑ‚: Зміна ÑімейÑтва шрифту"
-#: ../src/widgets/text-toolbar.cpp:233
+#: ../src/widgets/text-toolbar.cpp:239
msgid "Text: Change font size"
msgstr "ТекÑÑ‚: Зміна розміру шрифту"
-#: ../src/widgets/text-toolbar.cpp:269
+#: ../src/widgets/text-toolbar.cpp:275
msgid "Text: Change font style"
msgstr "ТекÑÑ‚: Зміна нариÑу шрифту"
-#: ../src/widgets/text-toolbar.cpp:347
+#: ../src/widgets/text-toolbar.cpp:353
msgid "Text: Change superscript or subscript"
msgstr "ТекÑÑ‚: змінити на верхній або нижній індекÑ"
-#: ../src/widgets/text-toolbar.cpp:489
+#: ../src/widgets/text-toolbar.cpp:496
msgid "Text: Change alignment"
msgstr "ТекÑÑ‚: Зміна вирівнюваннÑ"
-#: ../src/widgets/text-toolbar.cpp:532
+#: ../src/widgets/text-toolbar.cpp:539
msgid "Text: Change line-height"
msgstr "ТекÑÑ‚: Зміна виÑоти Ñ€Ñдків"
-#: ../src/widgets/text-toolbar.cpp:580
+#: ../src/widgets/text-toolbar.cpp:587
msgid "Text: Change word-spacing"
msgstr "ТекÑÑ‚: Зміна інтервалів між Ñловами"
-#: ../src/widgets/text-toolbar.cpp:620
+#: ../src/widgets/text-toolbar.cpp:627
msgid "Text: Change letter-spacing"
msgstr "ТекÑÑ‚: Зміна інтервалів між літерами"
-#: ../src/widgets/text-toolbar.cpp:658
+#: ../src/widgets/text-toolbar.cpp:665
msgid "Text: Change dx (kern)"
msgstr "ТекÑÑ‚: Зміна прироÑту за x (керна)"
-#: ../src/widgets/text-toolbar.cpp:692
+#: ../src/widgets/text-toolbar.cpp:699
msgid "Text: Change dy"
msgstr "ТекÑÑ‚: Зміна прироÑту за y"
-#: ../src/widgets/text-toolbar.cpp:727
+#: ../src/widgets/text-toolbar.cpp:734
msgid "Text: Change rotate"
msgstr "ТекÑÑ‚: Зміна кута обертаннÑ"
-#: ../src/widgets/text-toolbar.cpp:774
+#: ../src/widgets/text-toolbar.cpp:781
msgid "Text: Change orientation"
msgstr "ТекÑÑ‚: Зміна орієнтації"
-#: ../src/widgets/text-toolbar.cpp:1210
+#: ../src/widgets/text-toolbar.cpp:1216
msgid "Font Family"
msgstr "Гарнітура шрифту"
-#: ../src/widgets/text-toolbar.cpp:1211
+#: ../src/widgets/text-toolbar.cpp:1217
msgid "Select Font Family (Alt-X to access)"
msgstr "Виберіть гарнітуру шрифту (Alt-X Ð´Ð»Ñ Ð´Ð¾Ñтупу)"
#. Focus widget
#. Enable entry completion
-#: ../src/widgets/text-toolbar.cpp:1221
+#: ../src/widgets/text-toolbar.cpp:1227
msgid "Select all text with this font-family"
msgstr "Позначити вÑÑ– фрагменти текÑту з цією гарнітурою шрифту"
-#: ../src/widgets/text-toolbar.cpp:1225
+#: ../src/widgets/text-toolbar.cpp:1231
msgid "Font not found on system"
msgstr "Шрифту у ÑиÑтемі не виÑвлено"
-#: ../src/widgets/text-toolbar.cpp:1284
+#: ../src/widgets/text-toolbar.cpp:1290
msgid "Font Style"
msgstr "Стиль шрифту"
-#: ../src/widgets/text-toolbar.cpp:1285
+#: ../src/widgets/text-toolbar.cpp:1291
msgid "Font style"
msgstr "Стиль шрифту"
#. Name
-#: ../src/widgets/text-toolbar.cpp:1302
+#: ../src/widgets/text-toolbar.cpp:1308
msgid "Toggle Superscript"
msgstr "Увімкнути/Вимкнути режим верхнього індекÑу"
#. Label
-#: ../src/widgets/text-toolbar.cpp:1303
+#: ../src/widgets/text-toolbar.cpp:1309
msgid "Toggle superscript"
msgstr "Увімкнути/Вимкнути режим верхнього індекÑу"
#. Name
-#: ../src/widgets/text-toolbar.cpp:1315
+#: ../src/widgets/text-toolbar.cpp:1321
msgid "Toggle Subscript"
msgstr "Увімкнути/Вимкнути режим нижнього індекÑу"
#. Label
-#: ../src/widgets/text-toolbar.cpp:1316
+#: ../src/widgets/text-toolbar.cpp:1322
msgid "Toggle subscript"
msgstr "Увімкнути/Вимкнути режим нижнього індекÑу"
-#: ../src/widgets/text-toolbar.cpp:1357
+#: ../src/widgets/text-toolbar.cpp:1363
msgid "Justify"
msgstr "ВирівнÑти з заповненнÑм"
#. Name
-#: ../src/widgets/text-toolbar.cpp:1364
+#: ../src/widgets/text-toolbar.cpp:1370
msgid "Alignment"
msgstr "ВирівнюваннÑ"
#. Label
-#: ../src/widgets/text-toolbar.cpp:1365
+#: ../src/widgets/text-toolbar.cpp:1371
msgid "Text alignment"
msgstr "Ð’Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту"
-#: ../src/widgets/text-toolbar.cpp:1392
+#: ../src/widgets/text-toolbar.cpp:1398
msgid "Horizontal"
msgstr "Горизонтально"
-#: ../src/widgets/text-toolbar.cpp:1399
+#: ../src/widgets/text-toolbar.cpp:1405
msgid "Vertical"
msgstr "Вертикально"
#. Label
-#: ../src/widgets/text-toolbar.cpp:1406
+#: ../src/widgets/text-toolbar.cpp:1412
msgid "Text orientation"
msgstr "ÐžÑ€Ñ–Ñ”Ð½Ñ‚Ð°Ñ†Ñ–Ñ Ñ‚ÐµÐºÑту"
#. Drop down menu
-#: ../src/widgets/text-toolbar.cpp:1429
+#: ../src/widgets/text-toolbar.cpp:1435
msgid "Smaller spacing"
msgstr "Менший інтервал"
-#: ../src/widgets/text-toolbar.cpp:1429 ../src/widgets/text-toolbar.cpp:1460
-#: ../src/widgets/text-toolbar.cpp:1491
+#: ../src/widgets/text-toolbar.cpp:1435 ../src/widgets/text-toolbar.cpp:1466
+#: ../src/widgets/text-toolbar.cpp:1497
msgctxt "Text tool"
msgid "Normal"
msgstr "Звичайний"
-#: ../src/widgets/text-toolbar.cpp:1429
+#: ../src/widgets/text-toolbar.cpp:1435
msgid "Larger spacing"
msgstr "Більший інтервал"
#. name
-#: ../src/widgets/text-toolbar.cpp:1434
+#: ../src/widgets/text-toolbar.cpp:1440
msgid "Line Height"
msgstr "ВиÑота Ñ€Ñдка"
#. label
-#: ../src/widgets/text-toolbar.cpp:1435
+#: ../src/widgets/text-toolbar.cpp:1441
msgid "Line:"
msgstr "РÑдок:"
#. short label
-#: ../src/widgets/text-toolbar.cpp:1436
+#: ../src/widgets/text-toolbar.cpp:1442
msgid "Spacing between lines (times font size)"
msgstr "Інтервал між Ñ€Ñдками (у одиницÑÑ… розміру шрифту)"
#. Drop down menu
-#: ../src/widgets/text-toolbar.cpp:1460 ../src/widgets/text-toolbar.cpp:1491
+#: ../src/widgets/text-toolbar.cpp:1466 ../src/widgets/text-toolbar.cpp:1497
msgid "Negative spacing"
msgstr "Від'ємний інтервал"
-#: ../src/widgets/text-toolbar.cpp:1460 ../src/widgets/text-toolbar.cpp:1491
+#: ../src/widgets/text-toolbar.cpp:1466 ../src/widgets/text-toolbar.cpp:1497
msgid "Positive spacing"
msgstr "Додатний інтервал"
#. name
-#: ../src/widgets/text-toolbar.cpp:1465
+#: ../src/widgets/text-toolbar.cpp:1471
msgid "Word spacing"
msgstr "Інтервал між Ñловами"
#. label
-#: ../src/widgets/text-toolbar.cpp:1466
+#: ../src/widgets/text-toolbar.cpp:1472
msgid "Word:"
msgstr "Слово:"
#. short label
-#: ../src/widgets/text-toolbar.cpp:1467
+#: ../src/widgets/text-toolbar.cpp:1473
msgid "Spacing between words (px)"
msgstr "Інтервал між Ñловами (у пікÑелÑÑ…)"
#. name
-#: ../src/widgets/text-toolbar.cpp:1496
+#: ../src/widgets/text-toolbar.cpp:1502
msgid "Letter spacing"
msgstr "Інтервал між літерами"
#. label
-#: ../src/widgets/text-toolbar.cpp:1497
+#: ../src/widgets/text-toolbar.cpp:1503
msgid "Letter:"
msgstr "Літера:"
#. short label
-#: ../src/widgets/text-toolbar.cpp:1498
+#: ../src/widgets/text-toolbar.cpp:1504
msgid "Spacing between letters (px)"
msgstr "Інтервал між літерами (у пікÑелÑÑ…)"
#. name
-#: ../src/widgets/text-toolbar.cpp:1527
+#: ../src/widgets/text-toolbar.cpp:1533
msgid "Kerning"
msgstr "Кернінґ"
#. label
-#: ../src/widgets/text-toolbar.cpp:1528
+#: ../src/widgets/text-toolbar.cpp:1534
msgid "Kern:"
msgstr "Керн:"
#. short label
-#: ../src/widgets/text-toolbar.cpp:1529
+#: ../src/widgets/text-toolbar.cpp:1535
msgid "Horizontal kerning (px)"
msgstr "Горизонтальний кернінґ (у пікÑелÑÑ…)"
#. name
-#: ../src/widgets/text-toolbar.cpp:1558
+#: ../src/widgets/text-toolbar.cpp:1564
msgid "Vertical Shift"
msgstr "Вертикальний зÑув"
#. label
-#: ../src/widgets/text-toolbar.cpp:1559
+#: ../src/widgets/text-toolbar.cpp:1565
msgid "Vert:"
msgstr "Верт.:"
#. short label
-#: ../src/widgets/text-toolbar.cpp:1560
+#: ../src/widgets/text-toolbar.cpp:1566
msgid "Vertical shift (px)"
msgstr "Вертикальний зÑув (у пікÑелÑÑ…)"
#. name
-#: ../src/widgets/text-toolbar.cpp:1589
+#: ../src/widgets/text-toolbar.cpp:1595
msgid "Letter rotation"
msgstr "ÐžÐ±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ð»Ñ–Ñ‚ÐµÑ€"
#. label
-#: ../src/widgets/text-toolbar.cpp:1590
+#: ../src/widgets/text-toolbar.cpp:1596
msgid "Rot:"
msgstr "Обер.:"
#. short label
-#: ../src/widgets/text-toolbar.cpp:1591
+#: ../src/widgets/text-toolbar.cpp:1597
msgid "Character rotation (degrees)"
msgstr "ÐžÐ±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ Ñимволів (у градуÑах)"
-#: ../src/widgets/toolbox.cpp:181
+#: ../src/widgets/toolbox.cpp:177
msgid "Color/opacity used for color tweaking"
msgstr "Колір/непрозоріÑть, що викориÑтовуватимутьÑÑ Ð´Ð»Ñ ÐºÐ¾Ñ€ÐµÐºÑ†Ñ–Ñ— кольору"
-#: ../src/widgets/toolbox.cpp:189
+#: ../src/widgets/toolbox.cpp:185
msgid "Style of new stars"
msgstr "Стиль нових зірок"
-#: ../src/widgets/toolbox.cpp:191
+#: ../src/widgets/toolbox.cpp:187
msgid "Style of new rectangles"
msgstr "Стиль нових прÑмокутників"
-#: ../src/widgets/toolbox.cpp:193
+#: ../src/widgets/toolbox.cpp:189
msgid "Style of new 3D boxes"
msgstr "Стиль нових проÑторових об'єктів"
-#: ../src/widgets/toolbox.cpp:195
+#: ../src/widgets/toolbox.cpp:191
msgid "Style of new ellipses"
msgstr "Стиль нових еліпÑів"
-#: ../src/widgets/toolbox.cpp:197
+#: ../src/widgets/toolbox.cpp:193
msgid "Style of new spirals"
msgstr "Стиль нових Ñпіралей"
-#: ../src/widgets/toolbox.cpp:199
+#: ../src/widgets/toolbox.cpp:195
msgid "Style of new paths created by Pencil"
msgstr "Стиль нових контурів, що Ñтворені Олівцем"
-#: ../src/widgets/toolbox.cpp:201
+#: ../src/widgets/toolbox.cpp:197
msgid "Style of new paths created by Pen"
msgstr "Стиль нових контурів, що Ñтворені Пером"
-#: ../src/widgets/toolbox.cpp:203
+#: ../src/widgets/toolbox.cpp:199
msgid "Style of new calligraphic strokes"
msgstr "Стиль нових каліграфічних штрихів"
-#: ../src/widgets/toolbox.cpp:205 ../src/widgets/toolbox.cpp:207
+#: ../src/widgets/toolbox.cpp:201 ../src/widgets/toolbox.cpp:203
msgid "TBD"
msgstr "Ще не визначено"
-#: ../src/widgets/toolbox.cpp:219
+#: ../src/widgets/toolbox.cpp:215
msgid "Style of Paint Bucket fill objects"
msgstr "Стиль нових об'єктів, що Ñтворені інÑтрументом заповненнÑ"
-#: ../src/widgets/toolbox.cpp:1683
+#: ../src/widgets/toolbox.cpp:1679
msgid "Bounding box"
msgstr "Рамка-обгортка"
-#: ../src/widgets/toolbox.cpp:1683
+#: ../src/widgets/toolbox.cpp:1679
msgid "Snap bounding boxes"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ рамок-обгорток"
-#: ../src/widgets/toolbox.cpp:1692
+#: ../src/widgets/toolbox.cpp:1688
msgid "Bounding box edges"
msgstr "Краї рамок-обгорток"
-#: ../src/widgets/toolbox.cpp:1692
+#: ../src/widgets/toolbox.cpp:1688
msgid "Snap to edges of a bounding box"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ країв рамок-обгорток"
-#: ../src/widgets/toolbox.cpp:1701
+#: ../src/widgets/toolbox.cpp:1697
msgid "Bounding box corners"
msgstr "Кути рамок-обгорток"
-#: ../src/widgets/toolbox.cpp:1701
+#: ../src/widgets/toolbox.cpp:1697
msgid "Snap bounding box corners"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ кутів рамок-обгорток"
-#: ../src/widgets/toolbox.cpp:1710
+#: ../src/widgets/toolbox.cpp:1706
msgid "BBox Edge Midpoints"
msgstr "Середні точки країв рамки-обгортки"
-#: ../src/widgets/toolbox.cpp:1710
+#: ../src/widgets/toolbox.cpp:1706
msgid "Snap midpoints of bounding box edges"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ Ñередніх точок країв рамок-обгорток"
-#: ../src/widgets/toolbox.cpp:1720
+#: ../src/widgets/toolbox.cpp:1716
msgid "BBox Centers"
msgstr "Центри рамок-обгорток"
-#: ../src/widgets/toolbox.cpp:1720
+#: ../src/widgets/toolbox.cpp:1716
msgid "Snapping centers of bounding boxes"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ центрів рамок-обгорток"
-#: ../src/widgets/toolbox.cpp:1729
+#: ../src/widgets/toolbox.cpp:1725
msgid "Snap nodes, paths, and handles"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ вузлів, контурів та вуÑів"
-#: ../src/widgets/toolbox.cpp:1737
+#: ../src/widgets/toolbox.cpp:1733
msgid "Snap to paths"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ контурів"
-#: ../src/widgets/toolbox.cpp:1746
+#: ../src/widgets/toolbox.cpp:1742
msgid "Path intersections"
msgstr "Перетин контурів"
-#: ../src/widgets/toolbox.cpp:1746
+#: ../src/widgets/toolbox.cpp:1742
msgid "Snap to path intersections"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ перетинів контурів"
-#: ../src/widgets/toolbox.cpp:1755
+#: ../src/widgets/toolbox.cpp:1751
msgid "To nodes"
msgstr "До вузлів"
-#: ../src/widgets/toolbox.cpp:1755
+#: ../src/widgets/toolbox.cpp:1751
msgid "Snap cusp nodes, incl. rectangle corners"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ вузлів-вершин, зокрема кутів прÑмокутників"
-#: ../src/widgets/toolbox.cpp:1764
+#: ../src/widgets/toolbox.cpp:1760
msgid "Smooth nodes"
msgstr "Гладкі вузли"
-#: ../src/widgets/toolbox.cpp:1764
+#: ../src/widgets/toolbox.cpp:1760
msgid "Snap smooth nodes, incl. quadrant points of ellipses"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ гладких вузлів, зокрема вершин еліпÑів"
-#: ../src/widgets/toolbox.cpp:1773
+#: ../src/widgets/toolbox.cpp:1769
msgid "Line Midpoints"
msgstr "Середні точки лінії"
-#: ../src/widgets/toolbox.cpp:1773
+#: ../src/widgets/toolbox.cpp:1769
msgid "Snap midpoints of line segments"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ Ñередніх точок Ñегментів лінії"
-#: ../src/widgets/toolbox.cpp:1782
+#: ../src/widgets/toolbox.cpp:1778
msgid "Others"
msgstr "Інші"
-#: ../src/widgets/toolbox.cpp:1782
+#: ../src/widgets/toolbox.cpp:1778
msgid "Snap other points (centers, guide origins, gradient handles, etc.)"
msgstr ""
"ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ інших точок (центрів, початків напрÑмних, опорних точок "
"градієнтів тощо)"
-#: ../src/widgets/toolbox.cpp:1790
+#: ../src/widgets/toolbox.cpp:1786
msgid "Object Centers"
msgstr "Центри об'єктів"
-#: ../src/widgets/toolbox.cpp:1790
+#: ../src/widgets/toolbox.cpp:1786
msgid "Snap centers of objects"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ центрів об'єктів"
-#: ../src/widgets/toolbox.cpp:1799
+#: ../src/widgets/toolbox.cpp:1795
msgid "Rotation Centers"
msgstr "Центри обертаннÑ"
-#: ../src/widgets/toolbox.cpp:1799
+#: ../src/widgets/toolbox.cpp:1795
msgid "Snap an item's rotation center"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ центру Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°"
-#: ../src/widgets/toolbox.cpp:1808
+#: ../src/widgets/toolbox.cpp:1804
msgid "Text baseline"
msgstr "Базова Ð»Ñ–Ð½Ñ–Ñ Ñ‚ÐµÐºÑту"
-#: ../src/widgets/toolbox.cpp:1808
+#: ../src/widgets/toolbox.cpp:1804
msgid "Snap text anchors and baselines"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ прив'Ñзок текÑту та центрів об'єктів"
-#: ../src/widgets/toolbox.cpp:1818
+#: ../src/widgets/toolbox.cpp:1814
msgid "Page border"
msgstr "Межа Ñторінки"
-#: ../src/widgets/toolbox.cpp:1818
+#: ../src/widgets/toolbox.cpp:1814
msgid "Snap to the page border"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ межі Ñторінки"
-#: ../src/widgets/toolbox.cpp:1827
+#: ../src/widgets/toolbox.cpp:1823
msgid "Snap to grids"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ Ñітки"
-#: ../src/widgets/toolbox.cpp:1836
+#: ../src/widgets/toolbox.cpp:1832
msgid "Snap guides"
msgstr "ÐŸÑ€Ð¸Ð»Ð¸Ð¿Ð°Ð½Ð½Ñ Ð´Ð¾ напрÑмних"
@@ -30425,7 +30470,7 @@ msgid "Use the pressure of the input device to alter the force of tweak action"
msgstr ""
"ВикориÑтовувати Ñилу натиÑку приÑтрою Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ Ñили дії корекції"
-#: ../share/extensions/convert2dashes.py:93
+#: ../share/extensions/convert2dashes.py:100
msgid ""
"The selected object is not a path.\n"
"Try using the procedure Path->Object to Path."
@@ -30492,7 +30537,7 @@ msgstr ""
"Ðе вдалоÑÑ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ñ‚Ð¸ модулі numpy або numpy.linalg. Ці модулі потрібні Ð´Ð»Ñ "
"цього додатку. Будь лаÑка, вÑтановіть модулі Ñ– повторіть Ñпробу."
-#: ../share/extensions/dxf_outlines.py:300
+#: ../share/extensions/dxf_outlines.py:299
msgid ""
"Error: Field 'Layer match name' must be filled when using 'By name match' "
"option"
@@ -30500,7 +30545,7 @@ msgstr ""
"Помилка: Ñкщо викориÑтовуєтьÑÑ Ð²Ð°Ñ€Ñ–Ð°Ð½Ñ‚ «ВідповідніÑть за назвою», Ñлід "
"заповнити поле «Ðазва відповідного шару»"
-#: ../share/extensions/dxf_outlines.py:341
+#: ../share/extensions/dxf_outlines.py:340
#, python-format
msgid "Warning: Layer '%s' not found!"
msgstr "ПопередженнÑ: шару «%s» не знайдено."
@@ -30560,8 +30605,8 @@ msgid ""
"y-interval cannot be zero. Please modify 'Y value of rectangle's top' or 'Y "
"value of rectangle's bottom'"
msgstr ""
-"Інтервал за y не може бути нульовим. Будь лаÑка, змініть Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "
-"«Y-координата верху прÑмокутника» або «Y-координата оÑнови прÑмокутника»"
+"Інтервал за y не може бути нульовим. Будь лаÑка, змініть Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«Y-"
+"координата верху прÑмокутника» або «Y-координата оÑнови прÑмокутника»"
#: ../share/extensions/funcplot.py:315
msgid "Please select a rectangle"
@@ -31257,14 +31302,14 @@ msgstr ""
"Спробуйте ÑкориÑтатиÑÑ Ð¿ÑƒÐ½ÐºÑ‚Ð¾Ð¼ меню Контур -> Об'єкт у контур."
#. issue error if no paths found
-#: ../share/extensions/plotter.py:67
+#: ../share/extensions/plotter.py:70
msgid ""
"No paths where found. Please convert all objects you want to plot into paths."
msgstr ""
"Контурів не знайдено. Будь лаÑка, перетворіть уÑÑ– потрібні вам об’єкти Ð´Ð»Ñ "
"Ð²Ð¸Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ Ð½Ð° контури."
-#: ../share/extensions/plotter.py:144
+#: ../share/extensions/plotter.py:148
msgid ""
"pySerial is not installed.\n"
"\n"
@@ -31282,7 +31327,7 @@ msgstr ""
"\\[Program files]\\inkscape\\python\\Lib\\\n"
"3. ПерезапуÑтіть Inkscape."
-#: ../share/extensions/plotter.py:164
+#: ../share/extensions/plotter.py:200
msgid ""
"Could not open port. Please check that your plotter is running, connected "
"and the settings are correct."
@@ -34056,13 +34101,13 @@ msgstr ""
#: ../share/extensions/hpgl_input.inx.h:3
#: ../share/extensions/hpgl_output.inx.h:4
-#: ../share/extensions/plotter.inx.h:25
+#: ../share/extensions/plotter.inx.h:34
msgid "Resolution X (dpi):"
msgstr "Роздільна здатніÑть за X (у Ñ‚/дюйм):"
#: ../share/extensions/hpgl_input.inx.h:4
#: ../share/extensions/hpgl_output.inx.h:5
-#: ../share/extensions/plotter.inx.h:26
+#: ../share/extensions/plotter.inx.h:35
msgid ""
"The amount of steps the plotter moves if it moves for 1 inch on the X axis "
"(Default: 1016.0)"
@@ -34071,13 +34116,13 @@ msgstr ""
#: ../share/extensions/hpgl_input.inx.h:5
#: ../share/extensions/hpgl_output.inx.h:6
-#: ../share/extensions/plotter.inx.h:27
+#: ../share/extensions/plotter.inx.h:36
msgid "Resolution Y (dpi):"
msgstr "Роздільна здатніÑть за Y (у Ñ‚/дюйм):"
#: ../share/extensions/hpgl_input.inx.h:6
#: ../share/extensions/hpgl_output.inx.h:7
-#: ../share/extensions/plotter.inx.h:28
+#: ../share/extensions/plotter.inx.h:37
msgid ""
"The amount of steps the plotter moves if it moves for 1 inch on the Y axis "
"(Default: 1016.0)"
@@ -34095,7 +34140,7 @@ msgstr ""
"(Типове значеннÑ: не позначено)"
#: ../share/extensions/hpgl_input.inx.h:9
-#: ../share/extensions/hpgl_output.inx.h:34
+#: ../share/extensions/hpgl_output.inx.h:35
msgid "HP Graphics Language file (*.hpgl)"
msgstr "Файли графічної мови HP (*.hpgl)"
@@ -34118,28 +34163,28 @@ msgstr ""
"Ð²Ð¸Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ Ð±ÐµÐ·Ð¿Ð¾Ñередньо за допомогою поÑлідовного з’єднаннÑ."
#: ../share/extensions/hpgl_output.inx.h:3
-#: ../share/extensions/plotter.inx.h:24
+#: ../share/extensions/plotter.inx.h:33
msgid "Plotter Settings "
msgstr "Параметри Ð²Ð¸Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ "
#: ../share/extensions/hpgl_output.inx.h:8
-#: ../share/extensions/plotter.inx.h:29
+#: ../share/extensions/plotter.inx.h:38
msgid "Pen number:"
msgstr "Ðомер різцÑ:"
#: ../share/extensions/hpgl_output.inx.h:9
-#: ../share/extensions/plotter.inx.h:30
+#: ../share/extensions/plotter.inx.h:39
msgid "The number of the pen (tool) to use (Standard: '1')"
msgstr ""
"Ðомер Ñ€Ñ–Ð·Ñ†Ñ (інÑтрумента), Ñким Ñлід ÑкориÑтатиÑÑ. (Типове значеннÑ: 1)"
#: ../share/extensions/hpgl_output.inx.h:10
-#: ../share/extensions/plotter.inx.h:31
+#: ../share/extensions/plotter.inx.h:40
msgid "Pen force (g):"
msgstr "ТиÑк Ñ€Ñ–Ð·Ñ†Ñ (у грамах):"
#: ../share/extensions/hpgl_output.inx.h:11
-#: ../share/extensions/plotter.inx.h:32
+#: ../share/extensions/plotter.inx.h:41
msgid ""
"The amount of force pushing down the pen in grams, set to 0 to omit command; "
"most plotters ignore this command (Default: 0)"
@@ -34149,7 +34194,7 @@ msgstr ""
"(Типове значеннÑ: 0)"
#: ../share/extensions/hpgl_output.inx.h:12
-#: ../share/extensions/plotter.inx.h:33
+#: ../share/extensions/plotter.inx.h:42
msgid "Pen speed (cm/s or mm/s):"
msgstr "ШвидкіÑть Ñ€Ñ–Ð·Ñ†Ñ (у Ñм/Ñ Ð°Ð±Ð¾ мм/Ñ):"
@@ -34168,41 +34213,41 @@ msgid "Rotation (°, Clockwise):"
msgstr "ÐžÐ±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ (у °, за годинниковою Ñтрілкою):"
#: ../share/extensions/hpgl_output.inx.h:15
-#: ../share/extensions/plotter.inx.h:36
+#: ../share/extensions/plotter.inx.h:45
msgid "Rotation of the drawing (Default: 0°)"
msgstr "Кут Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ ÐºÑ€ÐµÑленнÑ. (Типове значеннÑ: 0°)"
#: ../share/extensions/hpgl_output.inx.h:16
-#: ../share/extensions/plotter.inx.h:37
+#: ../share/extensions/plotter.inx.h:46
msgid "Mirror X axis"
msgstr "Віддзеркалити віÑÑŒ Y"
#: ../share/extensions/hpgl_output.inx.h:17
-#: ../share/extensions/plotter.inx.h:38
+#: ../share/extensions/plotter.inx.h:47
msgid "Check this to mirror the X axis (Default: Unchecked)"
msgstr ""
"Позначте цей пункт, щоб Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð±ÑƒÐ»Ð¾ віддзеркалено за віÑÑÑŽ X. (Типове "
"значеннÑ: не позначено)"
#: ../share/extensions/hpgl_output.inx.h:18
-#: ../share/extensions/plotter.inx.h:39
+#: ../share/extensions/plotter.inx.h:48
msgid "Mirror Y axis"
msgstr "Віддзеркалити віÑÑŒ Y"
#: ../share/extensions/hpgl_output.inx.h:19
-#: ../share/extensions/plotter.inx.h:40
+#: ../share/extensions/plotter.inx.h:49
msgid "Check this to mirror the Y axis (Default: Unchecked)"
msgstr ""
"Позначте цей пункт, щоб Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð±ÑƒÐ»Ð¾ віддзеркалено за віÑÑÑŽ Y. (Типове "
"значеннÑ: не позначено)"
#: ../share/extensions/hpgl_output.inx.h:20
-#: ../share/extensions/plotter.inx.h:41
+#: ../share/extensions/plotter.inx.h:50
msgid "Center zero point"
msgstr "Центральна нульова точка"
#: ../share/extensions/hpgl_output.inx.h:21
-#: ../share/extensions/plotter.inx.h:42
+#: ../share/extensions/plotter.inx.h:51
msgid ""
"Check this if your plotter uses a centered zero point (Default: Unchecked)"
msgstr ""
@@ -34210,17 +34255,29 @@ msgstr ""
"точка. (Типове значеннÑ: не позначено)"
#: ../share/extensions/hpgl_output.inx.h:22
-#: ../share/extensions/plotter.inx.h:43
+#: ../share/extensions/plotter.inx.h:52
+msgid ""
+"If you want to use multiple pens on your pen plotter create one layer for "
+"each pen, name the layers \"Pen 1\", \"Pen 2\", etc., and put your drawings "
+"in the corresponding layers. This overrules the pen number option above."
+msgstr ""
+"Якщо ви хочете ÑкориÑтатиÑÑ Ð´ÐµÐºÑ–Ð»ÑŒÐºÐ¾Ð¼Ð° різцÑми на вашому плотері, Ñтворіть "
+"окремий шар Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ різцÑ, назвіть шари «Різець 1», «Різець 2» тощо Ñ– "
+"розташуйте відповідні креÑÐ»ÐµÐ½Ð½Ñ Ñƒ шарах. Такі Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð°Ñ‚Ð¸Ð¼ÑƒÑ‚ÑŒ перевагу "
+"перед параметром кількоÑті різців, вказаним вище."
+
+#: ../share/extensions/hpgl_output.inx.h:23
+#: ../share/extensions/plotter.inx.h:53
msgid "Plot Features "
msgstr "ОÑобливоÑті Ð²Ð¸Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ "
-#: ../share/extensions/hpgl_output.inx.h:23
-#: ../share/extensions/plotter.inx.h:44
+#: ../share/extensions/hpgl_output.inx.h:24
+#: ../share/extensions/plotter.inx.h:54
msgid "Overcut (mm):"
msgstr "Ðадріз (у мм):"
-#: ../share/extensions/hpgl_output.inx.h:24
-#: ../share/extensions/plotter.inx.h:45
+#: ../share/extensions/hpgl_output.inx.h:25
+#: ../share/extensions/plotter.inx.h:55
msgid ""
"The distance in mm that will be cut over the starting point of the path to "
"prevent open paths, set to 0.0 to omit command (Default: 1.00)"
@@ -34229,13 +34286,13 @@ msgstr ""
"Ð·Ð°Ð¿Ð¾Ð±Ñ–Ð³Ð°Ð½Ð½Ñ ÑƒÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½ÑŽ незамкнених контурів. Вкажіть Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 0.0, щоб "
"пропуÑтити команду. (Типове значеннÑ: 1.00)"
-#: ../share/extensions/hpgl_output.inx.h:25
-#: ../share/extensions/plotter.inx.h:46
+#: ../share/extensions/hpgl_output.inx.h:26
+#: ../share/extensions/plotter.inx.h:56
msgid "Tool offset (mm):"
msgstr "ВідÑтуп інÑтрумента (у мм):"
-#: ../share/extensions/hpgl_output.inx.h:26
-#: ../share/extensions/plotter.inx.h:47
+#: ../share/extensions/hpgl_output.inx.h:27
+#: ../share/extensions/plotter.inx.h:57
msgid ""
"The offset from the tool tip to the tool axis in mm, set to 0.0 to omit "
"command (Default: 0.25)"
@@ -34243,13 +34300,13 @@ msgstr ""
"ВідÑтуп від краю інÑтрумента до віÑÑ– інÑтрумента у мм. Вкажіть Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 0.0, "
"щоб пропуÑтити команду. (Типове значеннÑ: 0.25)"
-#: ../share/extensions/hpgl_output.inx.h:27
-#: ../share/extensions/plotter.inx.h:48
+#: ../share/extensions/hpgl_output.inx.h:28
+#: ../share/extensions/plotter.inx.h:58
msgid "Use precut"
msgstr "ВикориÑтовувати підрізаннÑ"
-#: ../share/extensions/hpgl_output.inx.h:28
-#: ../share/extensions/plotter.inx.h:49
+#: ../share/extensions/hpgl_output.inx.h:29
+#: ../share/extensions/plotter.inx.h:59
msgid ""
"Check this to cut a small line before the real drawing starts to correctly "
"align the tool orientation. (Default: Checked)"
@@ -34258,13 +34315,13 @@ msgstr ""
"виконати оÑновну процедуру вирізаннÑ. Така Ð»Ñ–Ð½Ñ–Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð° Ð´Ð»Ñ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ "
"орієнтації інÑтрумента Ð´Ð»Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ вирізаннÑ. (Типове значеннÑ: позначено)"
-#: ../share/extensions/hpgl_output.inx.h:29
-#: ../share/extensions/plotter.inx.h:50
+#: ../share/extensions/hpgl_output.inx.h:30
+#: ../share/extensions/plotter.inx.h:60
msgid "Curve flatness:"
msgstr "ПлаÑкіÑть кривої:"
-#: ../share/extensions/hpgl_output.inx.h:30
-#: ../share/extensions/plotter.inx.h:51
+#: ../share/extensions/hpgl_output.inx.h:31
+#: ../share/extensions/plotter.inx.h:61
msgid ""
"Curves are divided into lines, this number controls how fine the curves will "
"be reproduced, the smaller the finer (Default: '1.2')"
@@ -34272,13 +34329,13 @@ msgstr ""
"Криві буде розділено на прÑмі відрізки. Це Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐµÑ€ÑƒÑ” точніÑтю такого "
"поділу. Чим меншим воно буде, тим точнішим буде поділ. (Типове значеннÑ: 1.2)"
-#: ../share/extensions/hpgl_output.inx.h:31
-#: ../share/extensions/plotter.inx.h:52
+#: ../share/extensions/hpgl_output.inx.h:32
+#: ../share/extensions/plotter.inx.h:62
msgid "Auto align"
msgstr "ÐвтовирівнюваннÑ"
-#: ../share/extensions/hpgl_output.inx.h:32
-#: ../share/extensions/plotter.inx.h:53
+#: ../share/extensions/hpgl_output.inx.h:33
+#: ../share/extensions/plotter.inx.h:63
msgid ""
"Check this to auto align the drawing to the zero point (Plus the tool offset "
"if used). If unchecked you have to make sure that all parts of your drawing "
@@ -34289,8 +34346,8 @@ msgstr ""
"буде позначено, Ñлід переконатиÑÑ, що уÑÑ–Ñ… чаÑтини креÑÐ»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ²Ð°ÑŽÑ‚ÑŒ у "
"межах документа! (Типовий Ñтан: позначено)"
-#: ../share/extensions/hpgl_output.inx.h:33
-#: ../share/extensions/plotter.inx.h:56
+#: ../share/extensions/hpgl_output.inx.h:34
+#: ../share/extensions/plotter.inx.h:66
msgid ""
"All these settings depend on the plotter you use, for more information "
"please consult the manual or homepage for your plotter."
@@ -34299,7 +34356,7 @@ msgstr ""
"Докладнішу інформацію можна отримати з підручника до плотера або домашньої "
"Ñторінки компанії-виробника."
-#: ../share/extensions/hpgl_output.inx.h:35
+#: ../share/extensions/hpgl_output.inx.h:36
msgid "Export an HP Graphics Language file"
msgstr "ЕкÑпортувати до файла графічної мови HP"
@@ -35680,10 +35737,49 @@ msgstr ""
"значеннÑ: 9600)"
#: ../share/extensions/plotter.inx.h:8
-msgid "Flow control:"
-msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¾Ð¼:"
+msgid "Serial byte size:"
+msgstr "Розмір байта поÑлідовного порту:"
+
+#: ../share/extensions/plotter.inx.h:10
+#, no-c-format
+msgid ""
+"The Byte size of your serial connection, 99% of all plotters use the default "
+"setting (Default: 8 Bits)"
+msgstr ""
+"Розмір байта вашого поÑлідовного з’єднаннÑ, 99% уÑÑ–Ñ… плотерів викориÑтовують "
+"типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (Типове значеннÑ: 8 бітів)"
+
+#: ../share/extensions/plotter.inx.h:11
+msgid "Serial stop bits:"
+msgstr "Стопові біти поÑлідовного порту:"
-#: ../share/extensions/plotter.inx.h:9
+#: ../share/extensions/plotter.inx.h:13
+#, no-c-format
+msgid ""
+"The Stop bits of your serial connection, 99% of all plotters use the default "
+"setting (Default: 1 Bit)"
+msgstr ""
+"КількіÑть Ñтопових бітів вашого поÑлідовного з’єднаннÑ, 99% уÑÑ–Ñ… плотерів "
+"викориÑтовують типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (Типове значеннÑ: 1 біт)"
+
+#: ../share/extensions/plotter.inx.h:14
+msgid "Serial parity:"
+msgstr "ПарніÑть поÑлідовного порту:"
+
+#: ../share/extensions/plotter.inx.h:16
+#, no-c-format
+msgid ""
+"The Parity of your serial connection, 99% of all plotters use the default "
+"setting (Default: None)"
+msgstr ""
+"ПарніÑть вашого поÑлідовного з’єднаннÑ, 99% уÑÑ–Ñ… плотерів викориÑтовують "
+"типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (Типове значеннÑ: немає)"
+
+#: ../share/extensions/plotter.inx.h:17
+msgid "Serial flow control:"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñлідовним потоком:"
+
+#: ../share/extensions/plotter.inx.h:18
msgid ""
"The Software / Hardware flow control of your serial connection (Default: "
"Software)"
@@ -35691,19 +35787,19 @@ msgstr ""
"Програмне або апаратне ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ð½Ð½Ñм даних вашим поÑлідовним "
"з’єднаннÑм. (Типове значеннÑ: програмне керуваннÑ)"
-#: ../share/extensions/plotter.inx.h:10
+#: ../share/extensions/plotter.inx.h:19
msgid "Command language:"
msgstr "Мова команд:"
-#: ../share/extensions/plotter.inx.h:11
+#: ../share/extensions/plotter.inx.h:20
msgid "The command language to use (Default: HPGL)"
msgstr "Мова команд, Ñку Ñлід викориÑтовувати (Типове значеннÑ: HPGL)"
-#: ../share/extensions/plotter.inx.h:12
+#: ../share/extensions/plotter.inx.h:21
msgid "Initialization commands:"
msgstr "Команди ініціалізації:"
-#: ../share/extensions/plotter.inx.h:13
+#: ../share/extensions/plotter.inx.h:22
msgid ""
"Commands that will be sent to the plotter before the main data stream, only "
"use this if you know what you are doing! (Default: Empty)"
@@ -35711,36 +35807,36 @@ msgstr ""
"Команди, Ñкі буде надіÑлано на плотер до оÑновного потоку даних. "
"КориÑтуйтеÑÑ, лише Ñкщо вам відомі уÑÑ– наÑлідки! (Типове значеннÑ: порожньо)"
-#: ../share/extensions/plotter.inx.h:14
+#: ../share/extensions/plotter.inx.h:23
msgid "Software (XON/XOFF)"
msgstr "програмне (XON/XOFF)"
-#: ../share/extensions/plotter.inx.h:15
+#: ../share/extensions/plotter.inx.h:24
msgid "Hardware (RTS/CTS)"
msgstr "апаратне (RTS/CTS)"
-#: ../share/extensions/plotter.inx.h:16
+#: ../share/extensions/plotter.inx.h:25
msgid "Hardware (DSR/DTR + RTS/CTS)"
msgstr "апаратне (DSR/DTR + RTS/CTS)"
-#: ../share/extensions/plotter.inx.h:17
+#: ../share/extensions/plotter.inx.h:26
msgctxt "Flow control"
msgid "None"
msgstr "Ðемає"
-#: ../share/extensions/plotter.inx.h:18
+#: ../share/extensions/plotter.inx.h:27
msgid "HPGL"
msgstr "HPGL"
-#: ../share/extensions/plotter.inx.h:19
+#: ../share/extensions/plotter.inx.h:28
msgid "DMPL"
msgstr "DMPL"
-#: ../share/extensions/plotter.inx.h:20
+#: ../share/extensions/plotter.inx.h:29
msgid "KNK Plotter (HPGL variant)"
msgstr "Плотер KNK (варіант HPGL)"
-#: ../share/extensions/plotter.inx.h:21
+#: ../share/extensions/plotter.inx.h:30
msgid ""
"Using wrong settings can under certain circumstances cause Inkscape to "
"freeze. Always save your work before plotting!"
@@ -35749,7 +35845,7 @@ msgstr ""
"завиÑÐ°Ð½Ð½Ñ Inkscape. Завжди зберігайте вашу роботу до того, Ñк розпочати "
"процедуру вирізаннÑ."
-#: ../share/extensions/plotter.inx.h:22
+#: ../share/extensions/plotter.inx.h:31
msgid ""
"This can be a physical serial connection or a USB-to-Serial bridge. Ask your "
"plotter manufacturer for drivers if needed."
@@ -35758,11 +35854,11 @@ msgstr ""
"з’єднаннÑ. Якщо потрібно, надішліть запит до виробника плотера щодо Ð½Ð°Ð´Ð°Ð½Ð½Ñ "
"драйвера."
-#: ../share/extensions/plotter.inx.h:23
+#: ../share/extensions/plotter.inx.h:32
msgid "Parallel (LPT) connections are not supported."
msgstr "Підтримки паралельних з’єднань (LPT) не передбачено."
-#: ../share/extensions/plotter.inx.h:34
+#: ../share/extensions/plotter.inx.h:43
msgid ""
"The speed the pen will move with in centimeters or millimeters per second "
"(depending on your plotter model), set to 0 to omit command. Most plotters "
@@ -35772,15 +35868,15 @@ msgstr ""
"моделі плотера). Ð’Ñтановіть Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 0, щоб вимкнути команду. БільшіÑть "
"плотерів ігнорує цю команду. (Типове значеннÑ: 20)"
-#: ../share/extensions/plotter.inx.h:35
+#: ../share/extensions/plotter.inx.h:44
msgid "Rotation (°, clockwise):"
msgstr "ÐžÐ±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ (у °, за годинниковою Ñтрілкою):"
-#: ../share/extensions/plotter.inx.h:54
+#: ../share/extensions/plotter.inx.h:64
msgid "Show debug information"
msgstr "Показувати діагноÑтичну інформацію"
-#: ../share/extensions/plotter.inx.h:55
+#: ../share/extensions/plotter.inx.h:65
msgid ""
"Check this to get verbose information about the plot without actually "
"sending something to the plotter (A.k.a. data dump) (Default: Unchecked)"
@@ -37563,15 +37659,42 @@ msgstr "ПопулÑрний графічний формат Ð´Ð»Ñ ÐºÐ»Ñ–Ð¿Ð°Ñ€
msgid "XAML Input"
msgstr "Імпорт з XAML"
+#~ msgid "Show helper paths"
+#~ msgstr "Показати допоміжні контури"
+
+#~ msgid "Leaned"
+#~ msgstr "Ðахилений"
+
+#~ msgid "Start path lean"
+#~ msgstr "Початок контуру нахилу"
+
+#~ msgid "End path lean"
+#~ msgstr "Кінець контуру нахилу"
+
+#~ msgid "<b>Roughen unit</b>"
+#~ msgstr "<b>ÐžÐ´Ð¸Ð½Ð¸Ñ†Ñ Ð·Ð³Ñ€ÑƒÐ±Ñ–ÑˆÐ°Ð½Ð½Ñ</b>"
+
+#~ msgid "Helper nodes"
+#~ msgstr "Допоміжні вузли"
+
+#~ msgid "Show helper nodes"
+#~ msgstr "Показувати допоміжні вузли"
+
+#~ msgid "Helper handles"
+#~ msgstr "Допоміжні вуÑа"
+
+#~ msgid "Show helper handles"
+#~ msgstr "Показувати допоміжні елементи керуваннÑ"
+
+#~ msgid "%1 (%2):"
+#~ msgstr "%1 (%2):"
+
#~ msgid "PS+LaTeX: Omit text in PS, and create LaTeX file"
#~ msgstr "PS+LaTeX: пропуÑтити текÑÑ‚ у PS Ñ– Ñтворити файл LaTeX"
#~ msgid "EPS+LaTeX: Omit text in EPS, and create LaTeX file"
#~ msgstr "EPS+LaTeX: пропуÑтити текÑÑ‚ у EPS Ñ– Ñтворити файл LaTeX"
-#~ msgid "Miter limit"
-#~ msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ„Ð°Ñ†ÐµÑ‚Ð°"
-
#~ msgid "Radius "
#~ msgstr "РадіуÑ: "
@@ -38627,15 +38750,9 @@ msgstr "Імпорт з XAML"
#~ msgid "Print unit after path length"
#~ msgstr "Показувати одиницю порÑд з довжиною контуру"
-#~ msgid "Scale x"
-#~ msgstr "МаÑштаб за x"
-
#~ msgid "Scale factor in x direction"
#~ msgstr "Коефіцієнт маÑÑˆÑ‚Ð°Ð±ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ напрÑмку віÑÑ– x"
-#~ msgid "Scale y"
-#~ msgstr "МаÑштаб за y"
-
#~ msgid "Scale factor in y direction"
#~ msgstr "Коефіцієнт маÑÑˆÑ‚Ð°Ð±ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ напрÑмку віÑÑ– y"
diff --git a/share/extensions/image_attributes.inx b/share/extensions/image_attributes.inx
new file mode 100644
index 000000000..a353d17e5
--- /dev/null
+++ b/share/extensions/image_attributes.inx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
+
+ <_name>Set Image Attributes</_name>
+ <id>org.inkscape.effect.image_attributes</id>
+
+ <dependency type="executable" location="extensions">image_attributes.py</dependency>
+ <dependency type="executable" location="extensions">inkex.py</dependency>
+
+ <param name="tab_main" type="notebook">
+
+ <!-- render images like in 0.48 -->
+ <page name="tab_basic" _gui-text="Basic">
+ <_param name="basic_desc1" type="description">Render all bitmap images like in older Inskcape versions.
+
+Available options:</_param>
+ <param name="fix_scaling" type="boolean" _gui-text="Support non-unifom scaling">true</param>
+ <param name="fix_rendering" type="boolean" _gui-text="Render images blocky">false</param>
+ </page>
+
+ <!-- image aspect ratio -->
+ <page name="tab_aspectRatio" _gui-text="Image Aspect Ratio">
+ <param name="aspect_ratio" type="enum" _gui-text="preserveAspectRatio attribute:">
+ <item value="none">none</item>
+ <_item value="unset">Unset</_item>
+ <item value="xMinYMin">xMinYMin</item>
+ <item value="xMidYMin">xMidYMin</item>
+ <item value="xMaxYMin">xMaxYMin</item>
+ <item value="xMinYMid">xMinYMid</item>
+ <item value="xMidYMid">xMidYMid</item>
+ <item value="xMaxYMid">xMaxYMid</item>
+ <item value="xMinYMax">xMinYMax</item>
+ <item value="xMidYMax">xMidYMax</item>
+ <item value="xMaxYMax">xMaxYMax</item>
+ </param>
+ <param name="aspect_clip" type="enum" _gui-text="meetOrSlice:">
+ <item value="unset">-</item>
+ <item value="meet">meet</item>
+ <item value="slice">slice</item>
+ </param>
+ <param name="aspect_ratio_scope" type="enum" _gui-text="Scope:">
+ <_item value="selected_only">Change only selected image(s)</_item>
+ <_item value="in_selection">Change all images in selection</_item>
+ <_item value="in_document">Change all images in document</_item>
+ </param>
+ </page>
+
+ <!-- image-rendering -->
+ <page name="tab_image_rendering" _gui-text="Image Rendering Quality">
+ <param name="image_rendering" type="enum" _gui-text="Image rendering attribute:">
+ <_item value="unset">Unset</_item>
+ <item value="auto">auto</item>
+ <item value="optimizeQuality">optimizeQuality</item>
+ <item value="optimizeSpeed">optimizeSpeed</item>
+ <item value="inherit">inherit</item>
+ </param>
+ <param name="image_rendering_scope" type="enum" _gui-text="Scope:">
+ <_item value="selected_only">Change only selected image(s)</_item>
+ <_item value="in_selection">Change all images in selection</_item>
+ <_item value="in_document">Change all images in document</_item>
+ <_item value="on_parent_group">Apply attribute to parent group of selection</_item>
+ <_item value="on_root_only" >Apply attribute to SVG root</_item>
+ </param>
+ </page>
+
+ </param>
+
+ <effect needs-document="true" needs-live-preview="true">
+ <object-type>all</object-type>
+ <effects-menu>
+ <submenu _name="Images"/>
+ </effects-menu>
+ </effect>
+
+ <script>
+ <command reldir="extensions" interpreter="python">image_attributes.py</command>
+ </script>
+
+ <options silent="false"></options>
+
+</inkscape-extension>
+
diff --git a/share/extensions/image_attributes.py b/share/extensions/image_attributes.py
new file mode 100755
index 000000000..ddd5a8b87
--- /dev/null
+++ b/share/extensions/image_attributes.py
@@ -0,0 +1,169 @@
+#!/usr/bin/env python
+'''
+image_attributes.py - adjust image attributes which don't have global
+GUI options yet
+
+Tool for Inkscape 0.91 to adjust rendering of drawings with linked
+or embedded bitmap images created with older versions of Inkscape
+or third-party applications.
+
+Copyright (C) 2015, ~suv <suv-sf@users.sf.net>
+
+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
+'''
+
+# local library
+import inkex
+import simplestyle
+
+try:
+ inkex.localize()
+except:
+ import gettext
+ _ = gettext.gettext
+
+
+class SetAttrImage(inkex.Effect):
+ def __init__(self):
+ inkex.Effect.__init__(self)
+ # main options
+ self.OptionParser.add_option("--fix_scaling",
+ action="store", type="inkbool",
+ dest="fix_scaling", default=True,
+ help="")
+ self.OptionParser.add_option("--fix_rendering",
+ action="store", type="inkbool",
+ dest="fix_rendering", default=False,
+ help="")
+ self.OptionParser.add_option("--aspect_ratio",
+ action="store", type="string",
+ dest="aspect_ratio", default="none",
+ help="Value for attribute 'preserveAspectRatio'")
+ self.OptionParser.add_option("--aspect_clip",
+ action="store", type="string",
+ dest="aspect_clip", default="unset",
+ help="optional 'meetOrSlice' value")
+ self.OptionParser.add_option("--aspect_ratio_scope",
+ action="store", type="string",
+ dest="aspect_ratio_scope", default="selected_only",
+ help="scope within which to edit 'preserveAspectRatio' attribute")
+ self.OptionParser.add_option("--image_rendering",
+ action="store", type="string",
+ dest="image_rendering", default="unset",
+ help="Value for attribute 'image-rendering'")
+ self.OptionParser.add_option("--image_rendering_scope",
+ action="store", type="string",
+ dest="image_rendering_scope", default="selected_only",
+ help="scope within which to edit 'image-rendering' attribute")
+ # tabs
+ self.OptionParser.add_option("--tab_main",
+ action="store", type="string",
+ dest="tab_main")
+
+ # core method
+
+ def change_attribute(self, node, attribute):
+ for key, value in attribute.items():
+ if key == 'preserveAspectRatio':
+ # set presentation attribute
+ if value != "unset":
+ node.set(key, str(value))
+ else:
+ if node.get(key):
+ del node.attrib[key]
+ elif key == 'image-rendering':
+ node_style = simplestyle.parseStyle(node.get('style'))
+ if key not in node_style:
+ # set presentation attribute
+ if value != "unset":
+ node.set(key, str(value))
+ else:
+ if node.get(key):
+ del node.attrib[key]
+ else:
+ # set style property
+ if value != "unset":
+ node_style[key] = str(value)
+ else:
+ del node_style[key]
+ node.set('style', simplestyle.formatStyle(node_style))
+ else:
+ pass
+
+ def change_all_images(self, node, attribute):
+ path = 'descendant-or-self::svg:image'
+ for img in node.xpath(path, namespaces=inkex.NSS):
+ self.change_attribute(img, attribute)
+
+ # methods called via dispatcher
+
+ def change_selected_only(self, selected, attribute):
+ if selected:
+ for node_id, node in selected.iteritems():
+ if node.tag == inkex.addNS('image', 'svg'):
+ self.change_attribute(node, attribute)
+
+ def change_in_selection(self, selected, attribute):
+ if selected:
+ for node_id, node in selected.iteritems():
+ self.change_all_images(node, attribute)
+
+ def change_in_document(self, selected, attribute):
+ self.change_all_images(self.document.getroot(), attribute)
+
+ def change_on_parent_group(self, selected, attribute):
+ if selected:
+ for node_id, node in selected.iteritems():
+ self.change_attribute(node.getparent(), attribute)
+
+ def change_on_root_only(self, selected, attribute):
+ self.change_attribute(self.document.getroot(), attribute)
+
+ # main
+
+ def effect(self):
+ attr_val = []
+ attr_dict = {}
+ cmd_scope = None
+ if self.options.tab_main == '"tab_basic"':
+ cmd_scope = "in_document"
+ attr_dict['preserveAspectRatio'] = ("none" if self.options.fix_scaling else "unset")
+ attr_dict['image-rendering'] = ("optimizeSpeed" if self.options.fix_rendering else "unset")
+ elif self.options.tab_main == '"tab_aspectRatio"':
+ attr_val = [self.options.aspect_ratio]
+ if self.options.aspect_clip != "unset":
+ attr_val.append(self.options.aspect_clip)
+ attr_dict['preserveAspectRatio'] = ' '.join(attr_val)
+ cmd_scope = self.options.aspect_ratio_scope
+ elif self.options.tab_main == '"tab_image_rendering"':
+ attr_dict['image-rendering'] = self.options.image_rendering
+ cmd_scope = self.options.image_rendering_scope
+ else: # help tab
+ pass
+ # dispatcher
+ if cmd_scope is not None:
+ try:
+ change_cmd = getattr(self, 'change_{0}'.format(cmd_scope))
+ change_cmd(self.selected, attr_dict)
+ except AttributeError:
+ inkex.errormsg('Scope "{0}" not supported'.format(cmd_scope))
+
+
+if __name__ == '__main__':
+ e = SetAttrImage()
+ e.affect()
+
+
+# vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 fileencoding=utf-8 textwidth=99
diff --git a/share/extensions/layout_nup.inx b/share/extensions/layout_nup.inx
index 2b7734fc3..1d4d1ef0f 100644
--- a/share/extensions/layout_nup.inx
+++ b/share/extensions/layout_nup.inx
@@ -3,7 +3,6 @@
<_name>N-up layout</_name>
<id>org.greygreen.inkscape.effects.nup</id>
<dependency type="executable" location="extensions">layout_nup.py</dependency>
- <dependency type="executable" location="extensions">layout_nup_pageframe.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<param name="tab" type="notebook">
diff --git a/share/extensions/layout_nup.py b/share/extensions/layout_nup.py
index 5f8451c45..266a3950d 100755
--- a/share/extensions/layout_nup.py
+++ b/share/extensions/layout_nup.py
@@ -19,7 +19,19 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
import inkex
import sys
-import layout_nup_pageframe
+try:
+ import xml.etree.ElementTree as ElementTree
+except:
+ try:
+ from lxml import etree as ElementTree
+ except:
+ try:
+ from elementtree.ElementTree import ElementTree
+ except:
+ sys.stderr.write("""Requires ElementTree module, included
+in Python 2.5 or supplied by lxml or elementtree modules.
+
+""")
class Nup(inkex.Effect):
def __init__(self):
@@ -64,7 +76,7 @@ class Nup(inkex.Effect):
if getattr(self.options, i):
showList.append(i.lower().replace('show', ''))
o = self.options
- self.pf = layout_nup_pageframe.GenerateNup(
+ self.pf = self.GenerateNup(
unit=o.unit,
pgSize=(o.pgSizeX,o.pgSizeY),
pgMargin=(o.pgMarginTop,o.pgMarginRight,o.pgMarginBottom,o.pgMarginLeft),
@@ -84,7 +96,203 @@ class Nup(inkex.Effect):
def output(self):
sys.stdout.write(self.pf)
+ def expandTuple(self, unit, x, length = 4):
+ try:
+ iter(x)
+ except:
+ return None
+
+ if len(x) != length: x = x*2
+ if len(x) != length:
+ raise Exception("expandTuple: requires 2 or 4 item tuple")
+ try:
+ return tuple(map(lambda ev: (self.unittouu(str(eval(str(ev)))+unit)/self.unittouu('1px')), x))
+ except:
+ return None
+
+ def GenerateNup(self,
+ unit="px",
+ pgSize=("8.5*96","11*96"),
+ pgMargin=(0,0),
+ pgPadding=(0,0),
+ num=(2,2),
+ calculateSize=True,
+ size=None,
+ margin=(0,0),
+ padding=(20,20),
+ show=['default'],
+ container='svg',
+ returnTree = False,
+ ):
+ """Generate the SVG. Inputs are run through 'eval(str(x))' so you can use
+ '8.5*72' instead of 612. Margin / padding dimension tuples can be
+ (top & bottom, left & right) or (top, right, bottom, left).
+
+ Keyword arguments:
+ pgSize -- page size, width x height
+ pgMargin -- extra space around each page
+ pgPadding -- added to pgMargin
+ n -- rows x cols
+ size -- override calculated size, width x height
+ margin -- white space around each piece
+ padding -- inner padding for each piece
+ show -- list of keywords indicating what to show
+ - 'crosses' - cutting guides
+ - 'inner' - inner boundary
+ - 'outer' - outer boundary
+ container -- 'svg' or 'g'
+ returnTree -- whether to return the ElementTree or the string
+ """
+
+ if 'default' in show:
+ show = set(show).union(['inner', 'innerbox', 'holder', 'crosses'])
+
+ pgMargin = self.expandTuple(unit, pgMargin)
+ pgPadding = self.expandTuple(unit, pgPadding)
+ margin = self.expandTuple(unit, margin)
+ padding = self.expandTuple(unit, padding)
+
+ pgSize = self.expandTuple(unit, pgSize, length = 2)
+ # num = tuple(map(lambda ev: eval(str(ev)), num))
+
+ pgEdge = map(sum,zip(pgMargin, pgPadding))
+
+ top, right, bottom, left = 0,1,2,3
+ width, height = 0,1
+ rows, cols = 0,1
+ size = self.expandTuple(unit, size, length = 2)
+ if size == None or calculateSize == True or len(size) < 2 or size[0] == 0 or size[1] == 0:
+ size = ((pgSize[width]
+ - pgEdge[left] - pgEdge[right]
+ - num[cols]*(margin[left] + margin[right])) / num[cols],
+ (pgSize[height]
+ - pgEdge[top] - pgEdge[bottom]
+ - num[rows]*(margin[top] + margin[bottom])) / num[rows]
+ )
+ else:
+ size = self.expandTuple(unit, size, length = 2)
+
+ # sep is separation between same points on pieces
+ sep = (size[width]+margin[right]+margin[left],
+ size[height]+margin[top]+margin[bottom])
+
+ style = 'stroke:#000000;stroke-opacity:1;fill:none;fill-opacity:1;'
+
+ padbox = 'rect', {
+ 'x': str(pgEdge[left] + margin[left] + padding[left]),
+ 'y': str(pgEdge[top] + margin[top] + padding[top]),
+ 'width': str(size[width] - padding[left] - padding[right]),
+ 'height': str(size[height] - padding[top] - padding[bottom]),
+ 'style': style,
+ }
+ margbox = 'rect', {
+ 'x': str(pgEdge[left] + margin[left]),
+ 'y': str(pgEdge[top] + margin[top]),
+ 'width': str(size[width]),
+ 'height': str(size[height]),
+ 'style': style,
+ }
+
+ doc = ElementTree.ElementTree(ElementTree.Element(container,
+ {'xmlns:inkscape':"http://www.inkscape.org/namespaces/inkscape",
+ 'xmlns:xlink':"http://www.w3.org/1999/xlink",
+ 'width':str(pgSize[width]),
+ 'height':str(pgSize[height]),
+ }))
+
+ sub = ElementTree.SubElement
+
+ root = doc.getroot()
+
+ def makeClones(under, to):
+ for r in range(0,num[rows]):
+ for c in range(0,num[cols]):
+ if r == 0 and c == 0: continue
+ sub(under, 'use', {
+ 'xlink:href': '#' + to,
+ 'transform': 'translate(%f,%f)' %
+ (c*sep[width], r*sep[height])})
+
+ # guidelayer #####################################################
+ if set(['inner', 'outer']).intersection(show):
+ layer = sub(root, 'g', {'id':'guidelayer',
+ 'inkscape:groupmode':'layer'})
+ if 'inner' in show:
+ padbox[1]['id'] = 'innerguide'
+ padbox[1]['style'] = padbox[1]['style'].replace('stroke:#000000',
+ 'stroke:#8080ff')
+ sub(layer, *padbox)
+ del padbox[1]['id']
+ padbox[1]['style'] = padbox[1]['style'].replace('stroke:#8080ff',
+ 'stroke:#000000')
+ makeClones(layer, 'innerguide')
+ if 'outer' in show:
+ margbox[1]['id'] = 'outerguide'
+ margbox[1]['style'] = padbox[1]['style'].replace('stroke:#000000',
+ 'stroke:#8080ff')
+ sub(layer, *margbox)
+ del margbox[1]['id']
+ margbox[1]['style'] = padbox[1]['style'].replace('stroke:#8080ff',
+ 'stroke:#000000')
+ makeClones(layer, 'outerguide')
+
+ # crosslayer #####################################################
+ if set(['crosses']).intersection(show):
+ layer = sub(root, 'g', {'id':'cutlayer',
+ 'inkscape:groupmode':'layer'})
+
+ if 'crosses' in show:
+ crosslen = 12
+ group = sub(layer, 'g', id='cross')
+ x,y = 0,0
+ path = 'M%f %f' % (x+pgEdge[left] + margin[left],
+ y+pgEdge[top] + margin[top]-crosslen)
+ path += ' L%f %f' % (x+pgEdge[left] + margin[left],
+ y+pgEdge[top] + margin[top]+crosslen)
+ path += ' M%f %f' % (x+pgEdge[left] + margin[left]-crosslen,
+ y+pgEdge[top] + margin[top])
+ path += ' L%f %f' % (x+pgEdge[left] + margin[left]+crosslen,
+ y+pgEdge[top] + margin[top])
+ sub(group, 'path', style=style+'stroke-width:0.05',
+ d = path, id = 'crossmarker')
+ for r in 0, 1:
+ for c in 0, 1:
+ if r or c:
+ x,y = c*size[width], r*size[height]
+ sub(group, 'use', {
+ 'xlink:href': '#crossmarker',
+ 'transform': 'translate(%f,%f)' %
+ (x,y)})
+ makeClones(layer, 'cross')
+
+ # clonelayer #####################################################
+ layer = sub(root, 'g', {'id':'clonelayer', 'inkscape:groupmode':'layer'})
+ makeClones(layer, 'main')
+
+ # mainlayer ######################################################
+ layer = sub(root, 'g', {'id':'mainlayer', 'inkscape:groupmode':'layer'})
+ group = sub(layer, 'g', {'id':'main'})
+
+ if 'innerbox' in show:
+ sub(group, *padbox)
+ if 'outerbox' in show:
+ sub(group, *margbox)
+ if 'holder' in show:
+ x, y = (pgEdge[left] + margin[left] + padding[left],
+ pgEdge[top] + margin[top] + padding[top])
+ w, h = (size[width] - padding[left] - padding[right],
+ size[height] - padding[top] - padding[bottom])
+ path = 'M%f %f' % (x + w/2., y)
+ path += ' L%f %f' % (x + w, y + h/2.)
+ path += ' L%f %f' % (x + w/2., y + h)
+ path += ' L%f %f' % (x, y + h/2.)
+ path += ' Z'
+ sub(group, 'path', style=style, d = path)
+
+ if returnTree:
+ return doc
+ else:
+ return ElementTree.tostring(root)
+
e = Nup()
e.affect()
-
-
diff --git a/share/extensions/layout_nup_pageframe.py b/share/extensions/layout_nup_pageframe.py
deleted file mode 100755
index 471a75dd3..000000000
--- a/share/extensions/layout_nup_pageframe.py
+++ /dev/null
@@ -1,230 +0,0 @@
-#!/usr/bin/env python
-#@+leo-ver=4-thin
-#@+node:tbrown.20070622094435.1:@thin pageframe.py
-"""Create n-up SVG layouts"""
-
-#@+others
-#@+node:tbrown.20070622103716:imports
-import sys, inkex
-
-try:
- import xml.etree.ElementTree as ElementTree
-except:
- try:
- from lxml import etree as ElementTree
- except:
- try:
- from elementtree.ElementTree import ElementTree
- except:
- sys.stderr.write("""Requires ElementTree module, included
-in Python 2.5 or supplied by lxml or elementtree modules.
-
-""")
-#@-node:tbrown.20070622103716:imports
-#@+node:tbrown.20070622103716.1:expandTuple
-def expandTuple(unit, x, length = 4):
- try:
- iter(x)
- except:
- return None
-
- if len(x) != length: x = x*2
- if len(x) != length:
- raise Exception("expandTuple: requires 2 or 4 item tuple")
- try:
- return tuple(map(lambda ev: (self.unittouu(str(eval(str(ev)))+unit)), x))
- except:
- return None
-#@-node:tbrown.20070622103716.1:expandTuple
-#@+node:tbrown.20070622103716.2:GenerateNup
-def GenerateNup(unit="px",
- pgSize=("8.5*96","11*96"),
- pgMargin=(0,0),
- pgPadding=(0,0),
- num=(2,2),
- calculateSize=True,
- size=None,
- margin=(0,0),
- padding=(20,20),
- show=['default'],
- container='svg',
- returnTree = False,
- ):
- """Generate the SVG. Inputs are run through 'eval(str(x))' so you can use
-'8.5*72' instead of 612. Margin / padding dimension tuples can be
-(top & bottom, left & right) or (top, right, bottom, left).
-
-Keyword arguments:
-pgSize -- page size, width x height
-pgMargin -- extra space around each page
-pgPadding -- added to pgMargin
-n -- rows x cols
-size -- override calculated size, width x height
-margin -- white space around each piece
-padding -- inner padding for each piece
-show -- list of keywords indicating what to show
- - 'crosses' - cutting guides
- - 'inner' - inner boundary
- - 'outer' - outer boundary
-container -- 'svg' or 'g'
-returnTree -- whether to return the ElementTree or the string
-"""
-
- if 'default' in show:
- show = set(show).union(['inner', 'innerbox', 'holder', 'crosses'])
-
- pgMargin = expandTuple(unit, pgMargin)
- pgPadding = expandTuple(unit, pgPadding)
- margin = expandTuple(unit, margin)
- padding = expandTuple(unit, padding)
-
- pgSize = expandTuple(unit, pgSize, length = 2)
-# num = tuple(map(lambda ev: eval(str(ev)), num))
-
- pgEdge = map(sum,zip(pgMargin, pgPadding))
-
- top, right, bottom, left = 0,1,2,3
- width, height = 0,1
- rows, cols = 0,1
- size = expandTuple(unit, size, length = 2)
- if size == None or calculateSize == True or len(size) < 2 or size[0] == 0 or size[1] == 0:
- size = ((pgSize[width]
- - pgEdge[left] - pgEdge[right]
- - num[cols]*(margin[left] + margin[right])) / num[cols],
- (pgSize[height]
- - pgEdge[top] - pgEdge[bottom]
- - num[rows]*(margin[top] + margin[bottom])) / num[rows]
- )
- else:
- size = expandTuple(unit, size, length = 2)
-
- # sep is separation between same points on pieces
- sep = (size[width]+margin[right]+margin[left],
- size[height]+margin[top]+margin[bottom])
-
- style = 'stroke:#000000;stroke-opacity:1;fill:none;fill-opacity:1;'
-
- padbox = 'rect', {
- 'x': str(pgEdge[left] + margin[left] + padding[left]),
- 'y': str(pgEdge[top] + margin[top] + padding[top]),
- 'width': str(size[width] - padding[left] - padding[right]),
- 'height': str(size[height] - padding[top] - padding[bottom]),
- 'style': style,
- }
- margbox = 'rect', {
- 'x': str(pgEdge[left] + margin[left]),
- 'y': str(pgEdge[top] + margin[top]),
- 'width': str(size[width]),
- 'height': str(size[height]),
- 'style': style,
- }
-
- doc = ElementTree.ElementTree(ElementTree.Element(container,
- {'xmlns:inkscape':"http://www.inkscape.org/namespaces/inkscape",
- 'xmlns:xlink':"http://www.w3.org/1999/xlink",
- 'width':str(pgSize[width]),
- 'height':str(pgSize[height]),
- }))
-
- sub = ElementTree.SubElement
-
- root = doc.getroot()
-
- def makeClones(under, to):
- for r in range(0,num[rows]):
- for c in range(0,num[cols]):
- if r == 0 and c == 0: continue
- sub(under, 'use', {
- 'xlink:href': '#' + to,
- 'transform': 'translate(%f,%f)' %
- (c*sep[width], r*sep[height])})
-
- # guidelayer #####################################################
- if set(['inner', 'outer']).intersection(show):
- layer = sub(root, 'g', {'id':'guidelayer',
- 'inkscape:groupmode':'layer'})
- if 'inner' in show:
- padbox[1]['id'] = 'innerguide'
- padbox[1]['style'] = padbox[1]['style'].replace('stroke:#000000',
- 'stroke:#8080ff')
- sub(layer, *padbox)
- del padbox[1]['id']
- padbox[1]['style'] = padbox[1]['style'].replace('stroke:#8080ff',
- 'stroke:#000000')
- makeClones(layer, 'innerguide')
- if 'outer' in show:
- margbox[1]['id'] = 'outerguide'
- margbox[1]['style'] = padbox[1]['style'].replace('stroke:#000000',
- 'stroke:#8080ff')
- sub(layer, *margbox)
- del margbox[1]['id']
- margbox[1]['style'] = padbox[1]['style'].replace('stroke:#8080ff',
- 'stroke:#000000')
- makeClones(layer, 'outerguide')
-
- # crosslayer #####################################################
- if set(['crosses']).intersection(show):
- layer = sub(root, 'g', {'id':'cutlayer',
- 'inkscape:groupmode':'layer'})
-
- if 'crosses' in show:
- crosslen = 12
- group = sub(layer, 'g', id='cross')
- x,y = 0,0
- path = 'M%f %f' % (x+pgEdge[left] + margin[left],
- y+pgEdge[top] + margin[top]-crosslen)
- path += ' L%f %f' % (x+pgEdge[left] + margin[left],
- y+pgEdge[top] + margin[top]+crosslen)
- path += ' M%f %f' % (x+pgEdge[left] + margin[left]-crosslen,
- y+pgEdge[top] + margin[top])
- path += ' L%f %f' % (x+pgEdge[left] + margin[left]+crosslen,
- y+pgEdge[top] + margin[top])
- sub(group, 'path', style=style+'stroke-width:0.05',
- d = path, id = 'crossmarker')
- for r in 0, 1:
- for c in 0, 1:
- if r or c:
- x,y = c*size[width], r*size[height]
- sub(group, 'use', {
- 'xlink:href': '#crossmarker',
- 'transform': 'translate(%f,%f)' %
- (x,y)})
- makeClones(layer, 'cross')
-
- # clonelayer #####################################################
- layer = sub(root, 'g', {'id':'clonelayer', 'inkscape:groupmode':'layer'})
- makeClones(layer, 'main')
-
- # mainlayer ######################################################
- layer = sub(root, 'g', {'id':'mainlayer', 'inkscape:groupmode':'layer'})
- group = sub(layer, 'g', {'id':'main'})
-
- if 'innerbox' in show:
- sub(group, *padbox)
- if 'outerbox' in show:
- sub(group, *margbox)
- if 'holder' in show:
- x, y = (pgEdge[left] + margin[left] + padding[left],
- pgEdge[top] + margin[top] + padding[top])
- w, h = (size[width] - padding[left] - padding[right],
- size[height] - padding[top] - padding[bottom])
- path = 'M%f %f' % (x + w/2., y)
- path += ' L%f %f' % (x + w, y + h/2.)
- path += ' L%f %f' % (x + w/2., y + h)
- path += ' L%f %f' % (x, y + h/2.)
- path += ' Z'
- sub(group, 'path', style=style, d = path)
-
- if returnTree:
- return doc
- else:
- return ElementTree.tostring(root)
-
-if __name__ == '__main__':
- print GenerateNup(num=(10,3), margin=(5,5), show=['default', 'outer'])
-#@-node:tbrown.20070622103716.2:GenerateNup
-#@-others
-#@-node:tbrown.20070622094435.1:@thin pageframe.py
-#@-leo
-
-
diff --git a/src/2geom/sbasis-to-bezier.cpp b/src/2geom/sbasis-to-bezier.cpp
index fe7bbc91c..dfd07d84c 100644
--- a/src/2geom/sbasis-to-bezier.cpp
+++ b/src/2geom/sbasis-to-bezier.cpp
@@ -239,6 +239,8 @@ void sbasis_to_cubic_bezier (std::vector<Point> & bz, D2<SBasis> const& sb)
midx = 8*midx - 4*bz[0][X] - 4*bz[3][X]; // re-define relative to center
midy = 8*midy - 4*bz[0][Y] - 4*bz[3][Y];
+ if ((std::abs(midx) < EPSILON) && (std::abs(midy) < EPSILON))
+ return;
if ((std::abs(xprime[0]) < EPSILON) && (std::abs(yprime[0]) < EPSILON)
&& ((std::abs(xprime[1]) > EPSILON) || (std::abs(yprime[1]) > EPSILON))) { // degenerate handle at 0 : use distance of closest approach
@@ -258,11 +260,15 @@ void sbasis_to_cubic_bezier (std::vector<Point> & bz, D2<SBasis> const& sb)
dely[1] = 0;
} else if (std::abs(xprime[1]*yprime[0] - yprime[1]*xprime[0]) > // general case : fit mid fxn value
0.002 * std::abs(xprime[1]*xprime[0] + yprime[1]*yprime[0])) { // approx. 0.1 degree of angle
- denom = 3.0*(xprime[1]*yprime[0] - yprime[1]*xprime[0]);
+ double test1 = (bz[1][Y] - bz[0][Y])*(bz[3][X] - bz[0][X]) - (bz[1][X] - bz[0][X])*(bz[3][Y] - bz[0][Y]);
+ double test2 = (bz[2][Y] - bz[0][Y])*(bz[3][X] - bz[0][X]) - (bz[2][X] - bz[0][X])*(bz[3][Y] - bz[0][Y]);
+ if (test1*test2 < 0) // reject anti-symmetric case, LP Bug 1428267 & Bug 1428683
+ return;
+ denom = xprime[1]*yprime[0] - yprime[1]*xprime[0];
for (int i = 0; i < 2; ++i) {
numer = xprime[1 - i]*midy - yprime[1 - i]*midx;
- delx[i] = xprime[i]*numer/denom;
- dely[i] = yprime[i]*numer/denom;
+ delx[i] = xprime[i]*numer/denom/3;
+ dely[i] = yprime[i]*numer/denom/3;
}
} else if ((xprime[0]*xprime[1] < 0) || (yprime[0]*yprime[1] < 0)) { // symmetric case : use distance of closest approach
numer = midx*xprime[0] + midy*yprime[0];
@@ -509,10 +515,10 @@ path_from_sbasis(D2<SBasis> const &B, double tol, bool only_cubicbeziers) {
TODO: some of this logic should be lifted into svg-path
*/
PathVector
-path_from_piecewise(Geom::Piecewise<Geom::D2<Geom::SBasis> > const &B, double tol, bool only_cubicbeziers) {
- Geom::PathBuilder pb;
+path_from_piecewise(Piecewise<D2<SBasis> > const &B, double tol, bool only_cubicbeziers) {
+ PathBuilder pb;
if(B.size() == 0) return pb.peek();
- Geom::Point start = B[0].at0();
+ Point start = B[0].at0();
pb.moveTo(start);
for(unsigned i = 0; ; i++) {
if ( (i+1 == B.size())
diff --git a/src/attributes-test.h b/src/attributes-test.h
index 7379e4e85..411304ec3 100644
--- a/src/attributes-test.h
+++ b/src/attributes-test.h
@@ -40,6 +40,10 @@ public:
I've added these manually.
SVG 2: white-space, shape-inside, shape-outside, shape-padding, shape-margin
+ SVG 2: text-decoration-fill, text-decoration-stroke
+ SVG 2: solid-color, solid-opacity
+ SVG 2: Hatches and Meshes
+ CSS 3: font-variant-xxx, font-feature-settings
*/
struct {char const *attr; bool supported;} const all_attrs[] = {
{"attributeName", true},
@@ -124,11 +128,18 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"flood-color", true},
{"flood-opacity", true},
{"font-family", true},
+ {"font-feature-settings", true},
{"font-size", true},
{"font-size-adjust", true},
{"font-stretch", true},
{"font-style", true},
{"font-variant", true},
+ {"font-variant-ligatures", true},
+ {"font-variant-position", true},
+ {"font-variant-caps", true},
+ {"font-variant-numeric", true},
+ {"font-variant-east-asian", true},
+ {"font-variant-alternates", true},
{"font-weight", true},
{"format", false},
{"from", true},
@@ -288,6 +299,8 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"text-decoration-line", true},
{"text-decoration-style", true},
{"text-decoration-color", true},
+ {"text-decoration-fill", true},
+ {"text-decoration-stroke", true},
{"text-indent", true},
{"text-rendering", true},
{"text-transform", true},
@@ -381,8 +394,11 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"inkscape:pageopacity", true},
{"inkscape:pageshadow", true},
{"inkscape:path-effect", true},
+ // SPItem
{"inkscape:transform-center-x", true},
{"inkscape:transform-center-y", true},
+ {"inkscape:highlight-color", true},
+ // Namedview
{"inkscape:zoom", true},
{"inkscape:cx", true},
{"inkscape:cy", true},
@@ -392,6 +408,7 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"inkscape:window-y", true},
{"inkscape:window-maximized", true},
{"inkscape:current-layer", true},
+ // Connector tool
{"inkscape:connector-type", true},
{"inkscape:connection-start", true},
{"inkscape:connection-end", true},
@@ -401,10 +418,12 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"inkscape:connector-curvature", true},
{"inkscape:connector-avoid", true},
{"inkscape:connector-spacing", true},
+ // Ellipse, Spiral, Star
{"sodipodi:cx", true},
{"sodipodi:cy", true},
{"sodipodi:rx", true},
{"sodipodi:ry", true},
+ // Box tool
{"inkscape:perspectiveID", true},
{"inkscape:corner0", true},
{"inkscape:corner7", true},
@@ -414,6 +433,7 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"inkscape:vp_y", true},
{"inkscape:vp_z", true},
{"inkscape:persp3d-origin", true},
+ // Star tool
{"sodipodi:start", true},
{"sodipodi:end", true},
{"sodipodi:open", true},
@@ -446,9 +466,19 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"inkscape:layoutOptions", true},
{"osb:paint", true},
+ /* SPSolidColor" */
+ {"solid-color", true},
+ {"solid-opacity", true},
+
/* SPMeshPatch */
{"tensor", true},
+ /* SPHash */
+ {"hatchUnits", true},
+ {"hatchContentUnits", true},
+ {"hatchTransform", true},
+ {"pitch", true},
+
/* SPNamedView */
{"fit-margin-top", true},
{"fit-margin-left", true},
@@ -485,8 +515,10 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"pagecolor", true},
/* SPGuide */
- {"position", true}
+ {"position", true},
+ /* SPTag */
+ {"inkscape:expanded", true}
};
diff --git a/src/desktop-style.cpp b/src/desktop-style.cpp
index afdc3064a..d2109c03c 100644
--- a/src/desktop-style.cpp
+++ b/src/desktop-style.cpp
@@ -576,8 +576,8 @@ objects_query_fillstroke (const std::vector<SPItem*> &objects, SPStyle *style_re
return QUERY_STYLE_MULTIPLE_DIFFERENT; // different kind of server
}
- SPPattern *pat = pattern_getroot (pattern);
- SPPattern *pat_res = pattern_getroot (pattern_res);
+ SPPattern *pat = SP_PATTERN (server)->rootPattern();
+ SPPattern *pat_res = SP_PATTERN (server_res)->rootPattern();
if (pat_res != pat) {
return QUERY_STYLE_MULTIPLE_DIFFERENT; // different pattern roots
}
@@ -1168,6 +1168,94 @@ objects_query_fontstyle (const std::vector<SPItem*> &objects, SPStyle *style_res
}
}
+int
+objects_query_fontvariants (const std::vector<SPItem*> &objects, SPStyle *style_res)
+{
+ bool set = false;
+
+ int texts = 0;
+
+ SPILigatures* ligatures_res = &(style_res->font_variant_ligatures);
+ SPIEnum* position_res = &(style_res->font_variant_position);
+ SPIEnum* caps_res = &(style_res->font_variant_caps);
+ SPINumeric* numeric_res = &(style_res->font_variant_numeric);
+
+ // Stores 'and' of all values
+ ligatures_res->computed = SP_CSS_FONT_VARIANT_LIGATURES_NORMAL;
+ position_res->computed = SP_CSS_FONT_VARIANT_POSITION_NORMAL;
+ caps_res->computed = SP_CSS_FONT_VARIANT_CAPS_NORMAL;
+ numeric_res->computed = SP_CSS_FONT_VARIANT_NUMERIC_NORMAL;
+
+ // Stores only differences
+ ligatures_res->value = 0;
+ position_res->value = 0;
+ caps_res->value = 0;
+ numeric_res->value = 0;
+
+ for (std::vector<SPItem*>::const_iterator i = objects.begin(); i != objects.end(); i++) {
+ SPObject *obj = *i;
+
+ if (!isTextualItem(obj)) {
+ continue;
+ }
+
+ SPStyle *style = obj->style;
+ if (!style) {
+ continue;
+ }
+
+ texts ++;
+
+ SPILigatures* ligatures_in = &(style->font_variant_ligatures);
+ SPIEnum* position_in = &(style->font_variant_position);
+ SPIEnum* caps_in = &(style->font_variant_caps);
+ SPINumeric* numeric_in = &(style->font_variant_numeric);
+ // computed stores which bits are on/off, only valid if same between all selected objects.
+ // value stores which bits are different between objects. This is a bit of an abuse of
+ // the values but then we don't need to add new variables to class.
+ if (set) {
+ ligatures_res->value |= (ligatures_res->computed ^ ligatures_in->computed );
+ ligatures_res->computed &= ligatures_in->computed;
+
+ position_res->value |= (position_res->computed ^ position_in->computed );
+ position_res->computed &= position_in->computed;
+
+ caps_res->value |= (caps_res->computed ^ caps_in->computed );
+ caps_res->computed &= caps_in->computed;
+
+ numeric_res->value |= (numeric_res->computed ^ numeric_in->computed );
+ numeric_res->computed &= numeric_in->computed;
+
+ } else {
+ ligatures_res->computed = ligatures_in->computed;
+ position_res->computed = position_in->computed;
+ caps_res->computed = caps_in->computed;
+ numeric_res->computed = numeric_in->computed;
+ }
+
+ set = true;
+ }
+
+ bool different = (style_res->font_variant_ligatures.value != 0 ||
+ style_res->font_variant_position.value != 0 ||
+ style_res->font_variant_caps.value != 0 ||
+ style_res->font_variant_numeric.value != 0 );
+
+ if (texts == 0 || !set)
+ return QUERY_STYLE_NOTHING;
+
+ if (texts > 1) {
+ if (different) {
+ return QUERY_STYLE_MULTIPLE_DIFFERENT;
+ } else {
+ return QUERY_STYLE_MULTIPLE_SAME;
+ }
+ } else {
+ return QUERY_STYLE_SINGLE;
+ }
+}
+
+
/**
* Write to style_res the baseline numbers.
*/
@@ -1577,6 +1665,8 @@ sp_desktop_query_style_from_list (const std::vector<SPItem*> &list, SPStyle *sty
return objects_query_fontfamily (list, style);
} else if (property == QUERY_STYLE_PROPERTY_FONTSTYLE) {
return objects_query_fontstyle (list, style);
+ } else if (property == QUERY_STYLE_PROPERTY_FONTVARIANTS) {
+ return objects_query_fontvariants (list, style);
} else if (property == QUERY_STYLE_PROPERTY_FONTNUMBERS) {
return objects_query_fontnumbers (list, style);
} else if (property == QUERY_STYLE_PROPERTY_BASELINES) {
@@ -1598,6 +1688,7 @@ sp_desktop_query_style_from_list (const std::vector<SPItem*> &list, SPStyle *sty
int
sp_desktop_query_style(SPDesktop *desktop, SPStyle *style, int property)
{
+ // Used by text tool and in gradient dragging
int ret = desktop->_query_style_signal.emit(style, property);
if (ret != QUERY_STYLE_NOTHING)
diff --git a/src/desktop-style.h b/src/desktop-style.h
index a72f49776..e5fe50440 100644
--- a/src/desktop-style.h
+++ b/src/desktop-style.h
@@ -47,6 +47,7 @@ enum { // which property was queried (add when you need more)
QUERY_STYLE_PROPERTY_FONT_SPECIFICATION, //-inkscape-font-specification
QUERY_STYLE_PROPERTY_FONTFAMILY, // font-family
QUERY_STYLE_PROPERTY_FONTSTYLE, // font style
+ QUERY_STYLE_PROPERTY_FONTVARIANTS, // font variants (OpenType features)
QUERY_STYLE_PROPERTY_FONTNUMBERS, // size, spacings
QUERY_STYLE_PROPERTY_BASELINES, // baseline-shift
QUERY_STYLE_PROPERTY_MASTEROPACITY, // opacity
@@ -71,6 +72,7 @@ int objects_query_fillstroke (const std::vector<SPItem*> &objects, SPStyle *styl
int objects_query_fontnumbers (const std::vector<SPItem*> &objects, SPStyle *style_res);
int objects_query_fontstyle (const std::vector<SPItem*> &objects, SPStyle *style_res);
int objects_query_fontfamily (const std::vector<SPItem*> &objects, SPStyle *style_res);
+int objects_query_fontvariants (const std::vector<SPItem*> &objects, SPStyle *style_res);
int objects_query_opacity (const std::vector<SPItem*> &objects, SPStyle *style_res);
int objects_query_strokewidth (const std::vector<SPItem*> &objects, SPStyle *style_res);
int objects_query_miterlimit (const std::vector<SPItem*> &objects, SPStyle *style_res);
diff --git a/src/display/drawing-text.cpp b/src/display/drawing-text.cpp
index e20a7ff2a..3928ad796 100644
--- a/src/display/drawing-text.cpp
+++ b/src/display/drawing-text.cpp
@@ -367,7 +367,7 @@ void DrawingText::decorateStyle(DrawingContext &dc, double vextent, double xphas
/* returns scaled line thickness */
void DrawingText::decorateItem(DrawingContext &dc, double phase_length, bool under)
{
- if (_nrstyle.font_size < 1.0e-32)return; // would cause a divide by zero and nothing would be visible anyway
+ if ( _nrstyle.font_size <= 1.0e-32 )return; // might cause a divide by zero or overflow and nothing would be visible anyway
double tsp_width_adj = _nrstyle.tspan_width / _nrstyle.font_size;
double tsp_asc_adj = _nrstyle.ascender / _nrstyle.font_size;
double tsp_size_adj = (_nrstyle.ascender + _nrstyle.descender) / _nrstyle.font_size;
@@ -381,6 +381,7 @@ void DrawingText::decorateItem(DrawingContext &dc, double phase_length, bool und
Geom::Point p2;
// All lines must be the same thickness, in combinations, line_through trumps underline
double thickness = final_underline_thickness;
+ if ( thickness <= 1.0e-32 )return; // might cause a divide by zero or overflow and nothing would be visible anyway
dc.setTolerance(0.5); // Is this really necessary... could effect dots.
if( under ) {
diff --git a/src/extension/CMakeLists.txt b/src/extension/CMakeLists.txt
index d1104f3cc..21e652563 100644
--- a/src/extension/CMakeLists.txt
+++ b/src/extension/CMakeLists.txt
@@ -36,7 +36,6 @@ set(extension_SRC
internal/cairo-render-context.cpp
internal/cairo-renderer.cpp
internal/cairo-renderer-pdf-out.cpp
- internal/cdr-input.cpp
internal/emf-inout.cpp
internal/emf-print.cpp
internal/gdkpixbuf-input.cpp
@@ -54,10 +53,8 @@ set(extension_SRC
internal/svg.cpp
internal/svgz.cpp
internal/text_reassemble.c
- internal/vsd-input.cpp
internal/wmf-inout.cpp
internal/wmf-print.cpp
- internal/wpg-input.cpp
internal/filter/filter-all.cpp
internal/filter/filter-file.cpp
@@ -104,7 +101,6 @@ set(extension_SRC
internal/cairo-render-context.h
internal/cairo-renderer-pdf-out.h
internal/cairo-renderer.h
- internal/cdr-input.h
internal/clear-n_.h
internal/emf-inout.h
internal/emf-print.h
@@ -140,10 +136,8 @@ set(extension_SRC
internal/svg.h
internal/svgz.h
internal/text_reassemble.h
- internal/vsd-input.h
internal/wmf-inout.h
internal/wmf-print.h
- internal/wpg-input.h
)
if(WIN32)
@@ -151,6 +145,20 @@ if(WIN32)
)
endif()
+if(WITH_LIBCDR)
+ list(APPEND extension_SRC
+ internal/cdr-input.cpp
+ internal/cdr-input.h
+ )
+endif()
+
+if(WITH_LIBVISIO)
+ list(APPEND extension_SRC
+ internal/vsd-input.cpp
+ internal/vsd-input.h
+ )
+endif()
+
if(WITH_LIBWPG)
list(APPEND extension_SRC
internal/wpg-input.cpp
@@ -158,7 +166,7 @@ if(WITH_LIBWPG)
)
endif()
-if(ImageMagick_FOUND)
+if(WITH_IMAGE_MAGICK)
list(APPEND extension_SRC
internal/bitmap/adaptiveThreshold.cpp
internal/bitmap/adaptiveThreshold.h
diff --git a/src/extension/internal/cairo-render-context.cpp b/src/extension/internal/cairo-render-context.cpp
index 27e34dbcf..c3e416184 100644
--- a/src/extension/internal/cairo-render-context.cpp
+++ b/src/extension/internal/cairo-render-context.cpp
@@ -1008,17 +1008,16 @@ CairoRenderContext::_createPatternPainter(SPPaintServer const *const paintserver
ps2user = Geom::identity();
pcs2dev = Geom::identity();
- double x = pattern_x(pat);
- double y = pattern_y(pat);
- double width = pattern_width(pat);
- double height = pattern_height(pat);
+ double x = pat->x();
+ double y = pat->y();
+ double width = pat->width();
+ double height = pat->height();
double bbox_width_scaler;
double bbox_height_scaler;
TRACE(("%f x %f pattern\n", width, height));
- if (pbox && pattern_patternUnits(pat) == SP_PATTERN_UNITS_OBJECTBOUNDINGBOX) {
- //Geom::Affine bbox2user (pbox->x1 - pbox->x0, 0.0, 0.0, pbox->y1 - pbox->y0, pbox->x0, pbox->y0);
+ if (pbox && pat->patternUnits() == SPPattern::UNITS_OBJECTBOUNDINGBOX) {
bbox_width_scaler = pbox->width();
bbox_height_scaler = pbox->height();
ps2user[4] = x * bbox_width_scaler + pbox->left();
@@ -1031,13 +1030,13 @@ CairoRenderContext::_createPatternPainter(SPPaintServer const *const paintserver
}
// apply pattern transformation
- Geom::Affine pattern_transform(pattern_patternTransform(pat));
+ Geom::Affine pattern_transform(pat->getTransform());
ps2user *= pattern_transform;
Geom::Point ori (ps2user[4], ps2user[5]);
// create pattern contents coordinate system
if (pat->viewBox_set) {
- Geom::Rect view_box = *pattern_viewBox(pat);
+ Geom::Rect view_box = *pat->viewbox();
double x, y, w, h;
x = 0;
@@ -1050,7 +1049,7 @@ CairoRenderContext::_createPatternPainter(SPPaintServer const *const paintserver
pcs2dev[3] = h / view_box.height();
pcs2dev[4] = x - view_box.left() * pcs2dev[0];
pcs2dev[5] = y - view_box.top() * pcs2dev[3];
- } else if (pbox && pattern_patternContentUnits(pat) == SP_PATTERN_UNITS_OBJECTBOUNDINGBOX) {
+ } else if (pbox && pat->patternContentUnits() == SPPattern::UNITS_OBJECTBOUNDINGBOX) {
pcs2dev[0] = pbox->width();
pcs2dev[3] = pbox->height();
}
diff --git a/src/extension/internal/emf-print.cpp b/src/extension/internal/emf-print.cpp
index 7c514d6e7..5b8aae655 100644
--- a/src/extension/internal/emf-print.cpp
+++ b/src/extension/internal/emf-print.cpp
@@ -388,8 +388,8 @@ int PrintEmf::create_brush(SPStyle const *style, PU_COLORREF fcolor)
} else if (SP_IS_PATTERN(SP_STYLE_FILL_SERVER(style))) { // must be paint-server
SPPaintServer *paintserver = style->fill.value.href->getObject();
SPPattern *pat = SP_PATTERN(paintserver);
- double dwidth = pattern_width(pat);
- double dheight = pattern_height(pat);
+ double dwidth = pat->width();
+ double dheight = pat->height();
width = dwidth;
height = dheight;
brush_classify(pat, 0, &pixbuf, &hatchType, &hatchColor, &bkColor);
@@ -573,8 +573,8 @@ int PrintEmf::create_pen(SPStyle const *style, const Geom::Affine &transform)
if (SP_IS_PATTERN(SP_STYLE_STROKE_SERVER(style))) { // must be paint-server
SPPaintServer *paintserver = style->stroke.value.href->getObject();
SPPattern *pat = SP_PATTERN(paintserver);
- double dwidth = pattern_width(pat);
- double dheight = pattern_height(pat);
+ double dwidth = pat->width();
+ double dheight = pat->height();
width = dwidth;
height = dheight;
brush_classify(pat, 0, &pixbuf, &hatchType, &hatchColor, &bkColor);
diff --git a/src/extension/internal/filter/color.h b/src/extension/internal/filter/color.h
index c3c26bf8b..b9c76615c 100644
--- a/src/extension/internal/filter/color.h
+++ b/src/extension/internal/filter/color.h
@@ -258,7 +258,7 @@ public:
"<param name=\"type\" gui-text=\"" N_("Blindness type:") "\" type=\"enum\">\n"
"<_item value=\"0.618 0.32 0.062 0 0 0.163 0.775 0.062 0 0 0.163 0.32 0.516 0 0 0 0 0 1 0 \">" N_("Rod monochromacy (atypical achromatopsia)") "</_item>\n"
"<_item value=\"0.299 0.587 0.114 0 0 0.299 0.587 0.114 0 0 0.299 0.587 0.114 0 0 0 0 0 1 0 \">" N_("Cone monochromacy (typical achromatopsia)") "</_item>\n"
- "<_item value=\"0.8 0.2 0 0 0 0.2583 0.74167 0 0 0 0 0.14167 0.85833 0 0 0 0 0 1 0 \">" N_("Geen weak (deuteranomaly)") "</_item>\n"
+ "<_item value=\"0.8 0.2 0 0 0 0.2583 0.74167 0 0 0 0 0.14167 0.85833 0 0 0 0 0 1 0 \">" N_("Green weak (deuteranomaly)") "</_item>\n"
"<_item value=\"0.625 0.375 0 0 0 0.7 0.3 0 0 0 0 0.3 0.7 0 0 0 0 0 1 0 \">" N_("Green blind (deuteranopia)") "</_item>\n"
"<_item value=\"0.8166 0.1833 0 0 0 0.333 0.666 0 0 0 0 0.125 0.875 0 0 0 0 0 1 0 \">" N_("Red weak (protanomaly)") "</_item>\n"
"<_item value=\"0.566 0.43333 0 0 0 0.55833 0.4416 0 0 0 0 0.24167 0.75833 0 0 0 0 0 1 0 \">" N_("Red blind (protanopia)") "</_item>\n"
diff --git a/src/extension/internal/text_reassemble.c b/src/extension/internal/text_reassemble.c
index d3aafef12..fa983b83d 100644
--- a/src/extension/internal/text_reassemble.c
+++ b/src/extension/internal/text_reassemble.c
@@ -67,8 +67,8 @@ Optional compiler switches for development:
File: text_reassemble.c
-Version: 0.0.16
-Date: 25-FEB-2015
+Version: 0.0.17
+Date: 21-MAY-2015
Author: David Mathog, Biology Division, Caltech
email: mathog@caltech.edu
Copyright: 2015 David Mathog and California Institute of Technology (Caltech)
@@ -2204,10 +2204,10 @@ void TR_layout_2_svg(TR_INFO *tri){
sprintf(obuf,"text-decoration:");
/* multiple text decoration styles may be set */
utmp = tsp->decoration & TXTDECOR_TMASK;
- if(utmp & TXTDECOR_UNDER ){ strcat(obuf,"underline"); }
- if(utmp & TXTDECOR_OVER ){ strcat(obuf,"overline"); }
- if(utmp & TXTDECOR_BLINK ){ strcat(obuf,"blink"); }
- if(utmp & TXTDECOR_STRIKE){ strcat(obuf,"line-through");}
+ if(utmp & TXTDECOR_UNDER ){ strcat(obuf," underline"); }
+ if(utmp & TXTDECOR_OVER ){ strcat(obuf," overline"); }
+ if(utmp & TXTDECOR_BLINK ){ strcat(obuf," blink"); }
+ if(utmp & TXTDECOR_STRIKE){ strcat(obuf," line-through");}
if(*obuf){
/* only a single text decoration line type may be set */
switch(tsp->decoration & TXTDECOR_LMASK){
diff --git a/src/extension/internal/wmf-inout.cpp b/src/extension/internal/wmf-inout.cpp
index f76fa16b4..d17180d91 100644
--- a/src/extension/internal/wmf-inout.cpp
+++ b/src/extension/internal/wmf-inout.cpp
@@ -449,7 +449,8 @@ uint32_t Wmf::add_dib_image(PWMF_CALLBACK_DATA d, const char *dib, uint32_t iUsa
char *rgba_px = NULL; // RGBA pixels
const char *px = NULL; // DIB pixels
const U_RGBQUAD *ct = NULL; // DIB color table
- int32_t width, height, colortype, numCt, invert; // if needed these values will be set by wget_DIB_params
+ uint32_t numCt;
+ int32_t width, height, colortype, invert; // if needed these values will be set by wget_DIB_params
if(iUsage == U_DIB_RGB_COLORS){
// next call returns pointers and values, but allocates no memory
dibparams = wget_DIB_params(dib, &px, &ct, &numCt, &width, &height, &colortype, &invert);
@@ -1318,7 +1319,8 @@ void Wmf::common_dib_to_image(PWMF_CALLBACK_DATA d, const char *dib,
char *sub_px = NULL; // RGBA pixels, subarray
const char *px = NULL; // DIB pixels
const U_RGBQUAD *ct = NULL; // color table
- int32_t width, height, colortype, numCt, invert; // if needed these values will be set in wget_DIB_params
+ uint32_t numCt;
+ int32_t width, height, colortype, invert; // if needed these values will be set in wget_DIB_params
if(iUsage == U_DIB_RGB_COLORS){
// next call returns pointers and values, but allocates no memory
dibparams = wget_DIB_params(dib, &px, &ct, &numCt, &width, &height, &colortype, &invert);
diff --git a/src/extension/internal/wmf-print.cpp b/src/extension/internal/wmf-print.cpp
index 127030832..271dec702 100644
--- a/src/extension/internal/wmf-print.cpp
+++ b/src/extension/internal/wmf-print.cpp
@@ -379,8 +379,8 @@ int PrintWmf::create_brush(SPStyle const *style, U_COLORREF *fcolor)
} else if (SP_IS_PATTERN(SP_STYLE_FILL_SERVER(style))) { // must be paint-server
SPPaintServer *paintserver = style->fill.value.href->getObject();
SPPattern *pat = SP_PATTERN(paintserver);
- double dwidth = pattern_width(pat);
- double dheight = pattern_height(pat);
+ double dwidth = pat->width();
+ double dheight = pat->height();
width = dwidth;
height = dheight;
brush_classify(pat, 0, &pixbuf, &hatchType, &hatchColor, &bkColor);
diff --git a/src/extension/param/color.cpp b/src/extension/param/color.cpp
index b774bac83..3162e8a40 100644
--- a/src/extension/param/color.cpp
+++ b/src/extension/param/color.cpp
@@ -24,41 +24,37 @@
#include "color.h"
#include <color.h>
-#include "widgets/sp-color-selector.h"
-#include "widgets/sp-color-notebook.h"
+#include "ui/widget/color-notebook.h"
#include "preferences.h"
-
namespace Inkscape {
namespace Extension {
-void sp_color_param_changed(SPColorSelector *csel, GObject *cp);
-
-
ParamColor::~ParamColor(void)
{
-
+ _color_changed.disconnect();
}
guint32 ParamColor::set( guint32 in, SPDocument * /*doc*/, Inkscape::XML::Node * /*node*/ )
{
- _value = in;
+ _color_changed.block(true);
+ _color.setValue(in);
+ _color_changed.block(false);
gchar * prefname = this->pref_name();
std::string value;
string(value);
-
+
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
prefs->setString(extension_pref_root + prefname, value);
g_free(prefname);
- return _value;
+ return in;
}
-ParamColor::ParamColor(const gchar *name, const gchar *guitext, const gchar *desc, const Parameter::_scope_t scope,
- bool gui_hidden, const gchar *gui_tip, Inkscape::Extension::Extension *ext,
- Inkscape::XML::Node *xml)
- : Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext), _value(0), _changeSignal(0)
+ParamColor::ParamColor (const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, bool gui_hidden, const gchar * gui_tip, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml) :
+ Parameter(name, guitext, desc, scope, gui_hidden, gui_tip, ext),
+ _changeSignal(0)
{
const char * defaulthex = NULL;
if (xml->firstChild() != NULL)
@@ -72,51 +68,46 @@ ParamColor::ParamColor(const gchar *name, const gchar *guitext, const gchar *des
if (!paramval.empty())
defaulthex = paramval.data();
- if (defaulthex)
- _value = atoi(defaulthex);
+ if (defaulthex) {
+ _color.setValue(atoi(defaulthex));
+ }
+ _color_changed = _color.signal_changed.connect(sigc::mem_fun(this, &ParamColor::_onColorChanged));
+
}
void ParamColor::string(std::string &string) const
{
char str[16];
- sprintf(str, "%i", _value);
+ snprintf(str, 16, "%i", _color.value());
string += str;
}
Gtk::Widget *ParamColor::get_widget( SPDocument * /*doc*/, Inkscape::XML::Node * /*node*/, sigc::signal<void> * changeSignal )
{
- if (_gui_hidden) return NULL;
+ using Inkscape::UI::Widget::ColorNotebook;
+
+ if (_gui_hidden) return NULL;
_changeSignal = new sigc::signal<void>(*changeSignal);
- Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4));
- SPColorSelector* spColorSelector = (SPColorSelector*)sp_color_selector_new(SP_TYPE_COLOR_NOTEBOOK);
- ColorSelector* colorSelector = spColorSelector->base;
- if (_value < 1) {
- _value = 0xFF000000;
+ if (_color.value() < 1) {
+ _color_changed.block(true);
+ _color.setValue(0xFF000000);
+ _color_changed.block(false);
}
- SPColor *color = new SPColor( _value );
- float alpha = (_value & 0xff) / 255.0F;
- colorSelector->setColorAlpha(*color, alpha);
-
- hbox->pack_start (*Glib::wrap(&spColorSelector->vbox), true, true, 0);
- g_signal_connect(G_OBJECT(spColorSelector), "changed", G_CALLBACK(sp_color_param_changed), (void*)this);
- gtk_widget_show(GTK_WIDGET(spColorSelector));
+ Gtk::HBox *hbox = Gtk::manage(new Gtk::HBox(false, 4));
+ Gtk::Widget *selector = Gtk::manage(new ColorNotebook(_color));
+ hbox->pack_start (*selector, true, true, 0);
+ selector->show();
hbox->show();
-
- return dynamic_cast<Gtk::Widget *>(hbox);
+ return hbox;
}
-void sp_color_param_changed(SPColorSelector *csel, GObject *obj)
+void ParamColor::_onColorChanged()
{
- const SPColor color = csel->base->getColor();
- float alpha = csel->base->getAlpha();
-
- ParamColor* ptr = reinterpret_cast<ParamColor*>(obj);
- ptr->set(color.toRGBA32( alpha ), NULL, NULL);
-
- ptr->_changeSignal->emit();
+ if (_changeSignal)
+ _changeSignal->emit();
}
}; /* namespace Extension */
diff --git a/src/extension/param/color.h b/src/extension/param/color.h
index 9894965a9..ed2e57ceb 100644
--- a/src/extension/param/color.h
+++ b/src/extension/param/color.h
@@ -9,6 +9,7 @@
*/
#include "parameter.h"
+#include "ui/selected-color.h"
class SPDocument;
@@ -25,14 +26,17 @@ namespace Extension {
class ParamColor : public Parameter {
private:
- guint32 _value;
+ void _onColorChanged();
+
+ Inkscape::UI::SelectedColor _color;
+ sigc::connection _color_changed;
public:
ParamColor(const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, bool gui_hidden, const gchar * gui_tip, Inkscape::Extension::Extension * ext, Inkscape::XML::Node * xml);
virtual ~ParamColor(void);
/** Returns \c _value, with a \i const to protect it. */
- guint32 get( SPDocument const * /*doc*/, Inkscape::XML::Node const * /*node*/ ) const { return _value; }
+ guint32 get( SPDocument const * /*doc*/, Inkscape::XML::Node const * /*node*/ ) const { return _color.value(); }
guint32 set (guint32 in, SPDocument * doc, Inkscape::XML::Node * node);
@@ -44,6 +48,7 @@ public:
virtual void string (std::string &string) const;
sigc::signal<void> * _changeSignal;
+
}; // class ParamColor
} // namespace Extension
diff --git a/src/extension/param/parameter.cpp b/src/extension/param/parameter.cpp
index 202b8110f..8c99ee55d 100644
--- a/src/extension/param/parameter.cpp
+++ b/src/extension/param/parameter.cpp
@@ -15,6 +15,10 @@
# include "config.h"
#endif
+#if GLIBMM_DISABLE_DEPRECATED && HAVE_GLIBMM_THREADS_H
+#include <glibmm/threads.h>
+#endif
+
#ifdef linux // does the dollar sign need escaping when passed as string parameter?
# define ESCAPE_DOLLAR_COMMANDLINE
#endif
@@ -26,8 +30,7 @@
#include "document-private.h"
#include "sp-object.h"
#include <color.h>
-#include "widgets/sp-color-selector.h"
-#include "widgets/sp-color-notebook.h"
+#include "ui/widget/color-notebook.h"
#include "parameter.h"
#include "bool.h"
diff --git a/src/knot-holder-entity.cpp b/src/knot-holder-entity.cpp
index b66156b09..173025920 100644
--- a/src/knot-holder-entity.cpp
+++ b/src/knot-holder-entity.cpp
@@ -140,19 +140,19 @@ KnotHolderEntity::snap_knot_position_constrained(Geom::Point const &p, Inkscape:
static gdouble sp_pattern_extract_theta(SPPattern const *pat)
{
- Geom::Affine transf = pat->patternTransform;
+ Geom::Affine transf = pat->getTransform();
return Geom::atan2(transf.xAxis());
}
static Geom::Point sp_pattern_extract_scale(SPPattern const *pat)
{
- Geom::Affine transf = pat->patternTransform;
+ Geom::Affine transf = pat->getTransform();
return Geom::Point( transf.expansionX(), transf.expansionY() );
}
static Geom::Point sp_pattern_extract_trans(SPPattern const *pat)
{
- return Geom::Point(pat->patternTransform[4], pat->patternTransform[5]);
+ return Geom::Point(pat->getTransform()[4], pat->getTransform()[5]);
}
void
@@ -191,7 +191,7 @@ PatternKnotHolderEntityAngle::knot_get() const
{
SPPattern *pat = _fill ? SP_PATTERN(item->style->getFillPaintServer()) : SP_PATTERN(item->style->getStrokePaintServer());
- gdouble x = pattern_width(pat);
+ gdouble x = pat->width();
gdouble y = 0;
Geom::Point delta = Geom::Point(x,y);
Geom::Point scale = sp_pattern_extract_scale(pat);
@@ -240,8 +240,8 @@ PatternKnotHolderEntityScale::knot_set(Geom::Point const &p, Geom::Point const &
// Get the new scale from the position of the knotholder
Geom::Point d = p_snapped - sp_pattern_extract_trans(pat);
- gdouble pat_x = pattern_width(pat);
- gdouble pat_y = pattern_height(pat);
+ gdouble pat_x = pat->width();
+ gdouble pat_y = pat->height();
Geom::Scale scl(1);
if ( state & GDK_CONTROL_MASK ) {
// if ctrl is pressed: use 1:1 scaling
@@ -267,10 +267,10 @@ PatternKnotHolderEntityScale::knot_get() const
{
SPPattern *pat = _fill ? SP_PATTERN(item->style->getFillPaintServer()) : SP_PATTERN(item->style->getStrokePaintServer());
- gdouble x = pattern_width(pat);
- gdouble y = pattern_height(pat);
+ gdouble x = pat->width();
+ gdouble y = pat->height();
Geom::Point delta = Geom::Point(x,y);
- Geom::Affine a = pat->patternTransform;
+ Geom::Affine a = pat->getTransform();
a[4] = 0;
a[5] = 0;
delta = delta * a;
diff --git a/src/libnrtype/font-lister.cpp b/src/libnrtype/font-lister.cpp
index a6ab3b239..70374864a 100644
--- a/src/libnrtype/font-lister.cpp
+++ b/src/libnrtype/font-lister.cpp
@@ -335,7 +335,7 @@ Glib::ustring FontLister::system_fontspec(Glib::ustring fontspec)
PangoFontDescription *descr = pango_font_description_from_string(fontspec.c_str());
font_instance *res = (font_factory::Default())->Face(descr);
- if (res->pFont) {
+ if (res && res->pFont) {
PangoFontDescription *nFaceDesc = pango_font_describe(res->pFont);
out = sp_font_description_get_family(nFaceDesc);
}
diff --git a/src/libuemf/uemf.h b/src/libuemf/uemf.h
index 53426cb55..f6ed7da03 100644
--- a/src/libuemf/uemf.h
+++ b/src/libuemf/uemf.h
@@ -95,8 +95,8 @@ these WMF enumerations is by referencing the following table:
/*
File: uemf.h
-Version: 0.0.31
-Date: 23-APR-2015
+Version: 0.0.32
+Date: 28-APR-2015
Author: David Mathog, Biology Division, Caltech
email: mathog@caltech.edu
Copyright: 2015 David Mathog and California Institute of Technology (Caltech)
@@ -168,7 +168,12 @@ extern "C" {
#define U_ROUND(A) ( (A) > 0 ? floor((A)+0.5) : ( (A) < 0 ? -floor(-(A)+0.5) : (A) ) )
#define MAKE_MIN_PTR(A,B) ( A < B ? A : B)
-#define IS_MEM_UNSAFE(A,B,C) ( (int8_t *)(A) > (int8_t *)(C) ? 1 : ((int8_t *)(C) - (int8_t *)(A) >= (int)(B) ? 0 : 1 )) //!< Return 1 when a region of memory starting at A of B bytes extends beyond pointer C
+/* This is tricky. The next one can be called with a size which is either an int or an unsigned int.
+ The former can be negative, which is obviously wrong, but testing for that means that the size cannot
+ be more than INT_MAX/2. Accept that limitation since no reasonable EMF record or file should ever be that large.
+ B must be an INT or size_t.
+ If a uint16_t is used gcc complains about the first test. Force B to be at least as big as int (at run time) */
+#define IS_MEM_UNSAFE(A,B,C) ( (sizeof(B) < sizeof(int) || (int)(B)) < 0 ? 1 : ((int8_t *)(A) > (int8_t *)(C) ? 1 : ((int8_t *)(C) - (int8_t *)(A) >= (int)(B) ? 0 : 1 ))) //!< Return 1 when a region of memory starting at A of B bytes extends beyond pointer C
/** @} */
diff --git a/src/libuemf/uemf_print.c b/src/libuemf/uemf_print.c
index adcf54c0f..4bc9f0206 100644
--- a/src/libuemf/uemf_print.c
+++ b/src/libuemf/uemf_print.c
@@ -6,8 +6,8 @@
/*
File: uemf_print.c
-Version: 0.0.18
-Date: 25-MAR-2015
+Version: 0.0.20
+Date: 21-MAY-2015
Author: David Mathog, Biology Division, Caltech
email: mathog@caltech.edu
Copyright: 2015 David Mathog and California Institute of Technology (Caltech)
@@ -35,6 +35,31 @@ void U_swap4(void *ul, unsigned int count);
//! \endcond
/**
+ \brief calculate a CRC32 value for record
+ \returns CRC32 value calculated for record
+ \param record pointer to the first byte
+ \param Size number of bytes in the record
+
+Code based on example crc32b here:
+ http://www.hackersdelight.org/hdcodetxt/crc.c.txt
+*/
+uint32_t lu_crc32(const char *record, uint32_t Size){
+ const unsigned char *message = record;
+ uint32_t i, j;
+ uint32_t crc, mask;
+
+ crc = 0xFFFFFFFF;
+ for(i=0;i<Size;i++){ // over all bytes
+ crc = crc ^ *message++;
+ for (j = 0; j < 8; j++) { // over all bits
+ mask = -(crc & 1);
+ crc = (crc >> 1) ^ (0xEDB88320 & mask);
+ }
+ }
+ return ~crc;
+}
+
+/**
\brief Print some number of hex bytes
\param buf pointer to the first byte
\param num number of bytes
@@ -45,6 +70,7 @@ void hexbytes_print(uint8_t *buf,unsigned int num){
}
}
+
/* **********************************************************************************************
These functions print standard objects used in the EMR records.
The low level ones do not append EOL.
@@ -2505,7 +2531,7 @@ int U_emf_onerec_print(const char *contents, const char *blimit, int recnum, siz
uint32_t nSize;
uint32_t iType;
const char *record = contents + off;
-
+
if(record < contents)return(-1); // offset wrapped
/* Check that COMMON data in record can be touched without an access violation. If it cannot be
@@ -2514,7 +2540,21 @@ int U_emf_onerec_print(const char *contents, const char *blimit, int recnum, siz
*/
if(!U_emf_record_sizeok(record, blimit, &nSize, &iType, 1))return(-1);
- printf("%-30srecord:%5d type:%-4d offset:%8d rsize:%8d\n",U_emr_names(iType),recnum,iType,(int) off,nSize);
+ uint32_t crc;
+#if U_BYTE_SWAP
+ //This is a Big Endian machine, EMF crc values must be calculated on Little Endian form
+ char *swapbuf=malloc(nSize);
+ if(!swapbuf)return(-1);
+ memcpy(swapbuf,record,nSize);
+ U_emf_endian(swapbuf,nSize,1); // BE to LE
+ crc=lu_crc32(swapbuf,nSize);
+ free(swapbuf);
+#else
+ crc=lu_crc32(record,nSize);
+#endif
+ printf("%-30srecord:%5d type:%-4d offset:%8d rsize:%8d crc32:%8.8X\n",
+ U_emr_names(iType),recnum,iType,(int) off,nSize,crc);
+
fflush(stdout);
/* print the record header before checking further.
diff --git a/src/libuemf/uemf_print.h b/src/libuemf/uemf_print.h
index 6568b4cfa..088a8a302 100644
--- a/src/libuemf/uemf_print.h
+++ b/src/libuemf/uemf_print.h
@@ -6,8 +6,8 @@
/*
File: uemf_print.h
-Version: 0.0.7
-Date: 24-MAR-2015
+Version: 0.0.9
+Date: 21-MAY-2015
Author: David Mathog, Biology Division, Caltech
email: mathog@caltech.edu
Copyright: 2015 David Mathog and California Institute of Technology (Caltech)
@@ -21,6 +21,9 @@ extern "C" {
#endif
//! \cond
+/* prototypes for miscellaneous */
+uint32_t lu_crc32(const char *record, uint32_t Size);
+
/* prototypes for objects used in EMR records */
void hexbytes_print(uint8_t *buf,unsigned int num);
void colorref_print(U_COLORREF color);
diff --git a/src/libuemf/upmf.c b/src/libuemf/upmf.c
index 7d6349185..2ba818fa4 100644
--- a/src/libuemf/upmf.c
+++ b/src/libuemf/upmf.c
@@ -21,8 +21,8 @@
/*
File: upmf.c
-Version: 0.0.9
-Date: 25-MAR-2015
+Version: 0.0.10
+Date: 27-APR-2015
Author: David Mathog, Biology Division, Caltech
email: mathog@caltech.edu
Copyright: 2015 David Mathog and California Institute of Technology (Caltech)
@@ -6575,15 +6575,17 @@ int U_PMF_VARPOINTS_get(const char *contents, uint16_t Flags, int Elements, U_PM
}
}
else if(Flags & U_PPF_C){
- for(XFS = YFS = 0.0; Elements; Elements--, pts++){
+ for(XF = YF = 0.0; Elements; Elements--, pts++){
if(!U_PMF_POINT_get(&contents, &XF, &XF, blimit))break; /* this should never happen */
pts->X = XF;
pts->Y = YF;
}
}
else {
- for(XFS = YFS = 0.0; Elements; Elements--, pts++){
- (void) U_PMF_POINTF_get(&contents, &(pts->X), &(pts->Y), blimit);
+ for(XF = YF = 0.0; Elements; Elements--, pts++){
+ (void) U_PMF_POINTF_get(&contents, &XF, &YF, blimit);
+ pts->X = XF;
+ pts->Y = YF;
}
}
if(Elements){ /* some error in the preceding */
diff --git a/src/libuemf/upmf_print.c b/src/libuemf/upmf_print.c
index 7d9598b0d..58ff4edd0 100644
--- a/src/libuemf/upmf_print.c
+++ b/src/libuemf/upmf_print.c
@@ -6,8 +6,8 @@
/*
File: upmf_print.c
-Version: 0.0.5
-Date: 24-MAR-2015
+Version: 0.0.7
+Date: 21-MAY-2015
Author: David Mathog, Biology Division, Caltech
email: mathog@caltech.edu
Copyright: 2015 David Mathog and California Institute of Technology (Caltech)
@@ -142,7 +142,7 @@ int U_pmf_onerec_print(const char *contents, const char *blimit, int recnum, int
int type = Header.Type & U_PMR_TYPE_MASK; /* strip the U_PMR_RECFLAG bit, leaving the indexable part */
if(type < U_PMR_MIN || type > U_PMR_MAX)return(-1); /* unknown EMF+ record type */
- status = U_PMF_CMN_HDR_print(Header, recnum, off); /* EMF+ part */
+ status = U_PMF_CMN_HDR_print(contents, Header, recnum, off); /* EMF+ part */
/* Buggy EMF+ can set the continue bit and then do something else. In that case, force out the pending
Object. Side effect - clears the pending object. */
@@ -222,14 +222,16 @@ int U_pmf_onerec_print(const char *contents, const char *blimit, int recnum, int
/**
\brief Print data from a U_PMF_CMN_HDR object
\return number of bytes in record, 0 on error
+ \param contents pointer to a buffer holding this EMF+ record
\param Header Header of the record
\param precnum EMF+ record number in file.
\param off Offset in file to the start of this EMF+ record.
common structure present at the beginning of all(*) EMF+ records
*/
-int U_PMF_CMN_HDR_print(U_PMF_CMN_HDR Header, int precnum, int off){
- printf(" %-29srec+:%5d type:%X offset:%8d rsize:%8u dsize:%8u flags:%4.4X\n",
- U_pmr_names(Header.Type &U_PMR_TYPE_MASK),precnum, Header.Type,off,Header.Size,Header.DataSize,Header.Flags);
+int U_PMF_CMN_HDR_print(const char *contents, U_PMF_CMN_HDR Header, int precnum, int off){
+ printf(" %-29srec+:%5d type:%X offset:%8d rsize:%8u dsize:%8u flags:%4.4X crc32:%8.8X\n",
+ U_pmr_names(Header.Type &U_PMR_TYPE_MASK),precnum, Header.Type,off,Header.Size,Header.DataSize,Header.Flags,
+ lu_crc32(contents,Header.Size));
return((int) Header.Size);
}
@@ -1852,7 +1854,12 @@ int U_PMF_TRANSFORMMATRIX_print(const char *contents, const char *blimit){
EMF+ manual 2.2.2.47, Microsoft name: EmfPlusTransformMatrix Object
*/
int U_PMF_TRANSFORMMATRIX2_print(U_PMF_TRANSFORMMATRIX *Tm){
- printf(" Matrix:{%f,%f,%f,%f,%f,%f}", Tm->m11, Tm->m12, Tm->m21, Tm->m22, Tm->dX, Tm->dY);
+ if(Tm){
+ printf(" Matrix:{%f,%f,%f,%f,%f,%f}", Tm->m11, Tm->m12, Tm->m21, Tm->m22, Tm->dX, Tm->dY);
+ }
+ else {
+ printf(" Matrix:(None)");
+ }
return(1);
}
diff --git a/src/libuemf/upmf_print.h b/src/libuemf/upmf_print.h
index fe1c57d60..a25374487 100644
--- a/src/libuemf/upmf_print.h
+++ b/src/libuemf/upmf_print.h
@@ -6,8 +6,8 @@
/*
File: upmf_print.h
-Version: 0.0.4
-Date: 24-MAR-2015
+Version: 0.0.5
+Date: 28-APR-2015
Author: David Mathog, Biology Division, Caltech
email: mathog@caltech.edu
Copyright: 2015 David Mathog and California Institute of Technology (Caltech)
@@ -23,7 +23,7 @@ extern "C" {
#include "upmf.h" /* includes uemf.h */
/* prototypes for simple types and enums used in PMR records */
-int U_PMF_CMN_HDR_print(U_PMF_CMN_HDR Header, int precnum, int off);
+int U_PMF_CMN_HDR_print(const char *contents, U_PMF_CMN_HDR Header, int precnum, int off);
int U_PMF_UINT8_ARRAY_print(const char *Start, const uint8_t *Array, int Elements, char *End);
int U_PMF_BRUSHTYPEENUMERATION_print(int otype);
int U_PMF_HATCHSTYLEENUMERATION_print(int hstype);
diff --git a/src/libuemf/uwmf.c b/src/libuemf/uwmf.c
index 35d38f69a..62e3d3c06 100644
--- a/src/libuemf/uwmf.c
+++ b/src/libuemf/uwmf.c
@@ -19,8 +19,8 @@
/*
File: uwmf.c
-Version: 0.0.16
-Date: 25-MAR-2015
+Version: 0.0.17
+Date: 28-MAR-2015
Author: David Mathog, Biology Division, Caltech
email: mathog@caltech.edu
Copyright: 2014 David Mathog and California Institute of Technology (Caltech)
@@ -696,7 +696,8 @@ int packed_DIB_safe(
int usedbytes;
if(!bitmapinfo_safe(record, blimit))return(0); // this DIB has issues with colors fitting into the record
- uint32_t width, height, colortype, numCt, invert; // these values will be set in get_DIB_params
+ uint32_t numCt; // these values will be set in get_DIB_params
+ int32_t width, height, colortype, invert; // these values will be set in get_DIB_params
// next call returns pointers and values, but allocates no memory
dibparams = wget_DIB_params(record, &px, (const U_RGBQUAD **) &ct, &numCt, &width, &height, &colortype, &invert);
// sanity checking
@@ -1564,7 +1565,7 @@ int wmf_finish(
#if U_BYTE_SWAP
//This is a Big Endian machine, WMF data must be Little Endian
- U_wmf_endian(wt->buf,wt->used,1);
+ U_wmf_endian(wt->buf,wt->used,1,0); // BE to LE, entire file
#endif
(void) U_wmr_properties(U_WMR_INVALID); /* force the release of the lookup table memory, returned value is irrelevant */
@@ -1610,7 +1611,7 @@ int wmf_readdata(
else {
#if U_BYTE_SWAP
//This is a Big Endian machine, WMF data is Little Endian
- U_wmf_endian(*contents,*length,0); // LE to BE
+ U_wmf_endian(*contents,*length,0,0); // LE to BE, entire file
#endif
}
}
@@ -4720,10 +4721,10 @@ int U_WMRCORE_PALETTE_get(
*/
void U_BITMAPCOREHEADER_get(
const char *BmiCh,
- int32_t *Size,
- int32_t *Width,
- int32_t *Height,
- int32_t *BitCount
+ uint32_t *Size,
+ int32_t *Width,
+ int32_t *Height,
+ int32_t *BitCount
){
uint32_t utmp4;
uint16_t utmp2;
@@ -4800,14 +4801,14 @@ int wget_DIB_params(
const char *dib,
const char **px,
const U_RGBQUAD **ct,
- int32_t *numCt,
- int32_t *width,
- int32_t *height,
- int32_t *colortype,
- int32_t *invert
+ uint32_t *numCt,
+ int32_t *width,
+ int32_t *height,
+ int32_t *colortype,
+ int32_t *invert
){
uint32_t bic;
- int32_t Size;
+ uint32_t Size;
bic = U_BI_RGB; // this information is not in the coreheader;
U_BITMAPCOREHEADER_get(dib, &Size, width, height, colortype);
if(Size != 0xC ){ //BitmapCoreHeader
@@ -4816,7 +4817,7 @@ int wget_DIB_params(
*/
uint32_t uig4;
int32_t ig4;
- U_BITMAPINFOHEADER_get(dib, &uig4, width, height,&uig4, (uint32_t *) colortype, &bic, &uig4, &ig4, &ig4,&uig4, &uig4);
+ U_BITMAPINFOHEADER_get(dib, &uig4, width, height,&uig4, (uint32_t *) colortype, &bic, &uig4, &ig4, &ig4, &uig4, &uig4);
}
if(*height < 0){
*height = -*height;
@@ -5559,7 +5560,8 @@ int U_WMRPOLYGON_get(
){
int size = U_WMRCORE_2U16_N16_get(contents, (U_SIZE_WMRPOLYGON), NULL, Length, Data);
if(size){
- if(IS_MEM_UNSAFE(*Data, (*Length)*sizeof(U_POINT16), contents+size))return(0);
+ int iLength = (*Length)*sizeof(U_POINT16);
+ if(IS_MEM_UNSAFE(*Data, iLength, contents+size))return(0);
}
return size;
}
@@ -5578,7 +5580,8 @@ int U_WMRPOLYLINE_get(
){
int size = U_WMRCORE_2U16_N16_get(contents, (U_SIZE_WMRPOLYGON), NULL, Length, Data);
if(size){
- if(IS_MEM_UNSAFE(*Data, (*Length)*sizeof(U_POINT16), contents+size))return(0);
+ int iLength = (*Length)*sizeof(U_POINT16);
+ if(IS_MEM_UNSAFE(*Data, iLength, contents+size))return(0);
}
return size;
}
@@ -5605,7 +5608,8 @@ int U_WMRESCAPE_get(
){
int size = U_WMRCORE_2U16_N16_get(contents, (U_SIZE_WMRESCAPE), Escape, Length, Data);
if(size){
- if(IS_MEM_UNSAFE(*Data, *Length, contents+size))return(0);
+ int iLength=*Length;
+ if(IS_MEM_UNSAFE(*Data, iLength, contents+size))return(0);
}
return size;
}
diff --git a/src/libuemf/uwmf.h b/src/libuemf/uwmf.h
index 2237d2221..027de8e06 100644
--- a/src/libuemf/uwmf.h
+++ b/src/libuemf/uwmf.h
@@ -36,11 +36,11 @@
/*
File: uwmf.h
-Version: 0.0.11
-Date: 23-APR-2014
+Version: 0.0.12
+Date: 28-APR-2015
Author: David Mathog, Biology Division, Caltech
email: mathog@caltech.edu
-Copyright: 2014 David Mathog and California Institute of Technology (Caltech)
+Copyright: 2015 David Mathog and California Institute of Technology (Caltech)
*/
#ifndef _UWMF_
@@ -2407,8 +2407,8 @@ int wmr_arc_points(U_RECT16 rclBox, U_POINT16 ArcStart, U_POINT16 ArcEn
void U_BITMAPINFOHEADER_get(const char *Bmih, uint32_t *Size, int32_t *Width, int32_t *Height,
uint32_t *Planes, uint32_t *BitCount, uint32_t *Compression, uint32_t *SizeImage,
int32_t *XPelsPerMeter, int32_t *YPelsPerMeter, uint32_t *ClrUsed, uint32_t *ClrImportant);
-void U_BITMAPCOREHEADER_get(const char *BmiCh, int32_t *Size, int32_t *Width, int32_t *Height, int32_t *BitCount);
-int wget_DIB_params(const char *dib, const char **px, const U_RGBQUAD **ct, int32_t *numCt,
+void U_BITMAPCOREHEADER_get(const char *BmiCh, uint32_t *Size, int32_t *Width, int32_t *Height, int32_t *BitCount);
+int wget_DIB_params(const char *dib, const char **px, const U_RGBQUAD **ct, uint32_t *numCt,
int32_t *width, int32_t *height, int32_t *colortype, int32_t *invert);
int U_WMREOF_get(const char *contents);
int U_WMRSETBKCOLOR_get(const char *contents, U_COLORREF *Color);
diff --git a/src/libuemf/uwmf_endian.c b/src/libuemf/uwmf_endian.c
index 38a321ad0..de0b3ef87 100644
--- a/src/libuemf/uwmf_endian.c
+++ b/src/libuemf/uwmf_endian.c
@@ -6,11 +6,11 @@
/*
File: uwmf_endian.c
-Version: 0.1.3
-Date: 27-MAR-2014
+Version: 0.1.4
+Date: 28-APR-2015
Author: David Mathog, Biology Division, Caltech
email: mathog@caltech.edu
-Copyright: 2014 David Mathog and California Institute of Technology (Caltech)
+Copyright: 2015 David Mathog and California Institute of Technology (Caltech)
*/
#ifdef __cplusplus
@@ -1470,21 +1470,24 @@ void U_WMRCREATEREGION_swap(char *record, int torev){
\param contents pointer to the buffer holding the entire EMF in memory
\param length number of bytes in the buffer
\param torev 1 for native to reversed, 0 for reversed to native
+ \param onerec 1 if this is operating on a single record instead of an entire file
Normally this would be called immediately before writing the data to a file
or immediately after reading the data from a file.
*/
-int U_wmf_endian(char *contents, size_t length, int torev){
- size_t off;
+int U_wmf_endian(char *contents, size_t length, int torev, int onerec){
+ size_t off=0;
uint32_t OK, Size16;
uint8_t iType;
char *record;
int recnum, offset;
record = contents;
- off = wmfheader_swap(record,torev); fflush(stdout); /* WMF header is not a normal record, handle it separately */
- record += off;
- offset = off;
+ if(!onerec){
+ off = wmfheader_swap(record,torev); fflush(stdout); /* WMF header is not a normal record, handle it separately */
+ record += off;
+ offset = off;
+ }
OK = 1;
recnum = 1; /* used when debugging */
@@ -1759,6 +1762,7 @@ int U_wmf_endian(char *contents, size_t length, int torev){
record += 2*Size16;
offset += 2*Size16;
recnum++;
+ if(onerec)break;
} //end of while
return(1);
}
diff --git a/src/libuemf/uwmf_endian.h b/src/libuemf/uwmf_endian.h
index 57fd4ae44..6ce7f1984 100644
--- a/src/libuemf/uwmf_endian.h
+++ b/src/libuemf/uwmf_endian.h
@@ -6,11 +6,11 @@
/*
File: uwmf_endian.h
-Version: 0.0.2
-Date: 26-NOV-2013
+Version: 0.0.3
+Date: 28-APR-2015
Author: David Mathog, Biology Division, Caltech
email: mathog@caltech.edu
-Copyright: 2013 David Mathog and California Institute of Technology (Caltech)
+Copyright: 2015 David Mathog and California Institute of Technology (Caltech)
*/
#ifndef _UWMF_ENDIAN_
@@ -24,7 +24,7 @@ extern "C" {
//! \cond
// prototypes
-int U_wmf_endian(char *contents, size_t length, int torev);
+int U_wmf_endian(char *contents, size_t length, int torev, int onerec);
//! \endcond
#ifdef __cplusplus
diff --git a/src/libuemf/uwmf_print.c b/src/libuemf/uwmf_print.c
index dd460b2b0..d6d1b584e 100644
--- a/src/libuemf/uwmf_print.c
+++ b/src/libuemf/uwmf_print.c
@@ -6,11 +6,11 @@
/*
File: uwmf_print.c
-Version: 0.0.4
-Date: 05-FEB-2014
+Version: 0.0.6
+Date: 21-MAY-2015
Author: David Mathog, Biology Division, Caltech
email: mathog@caltech.edu
-Copyright: 2014 David Mathog and California Institute of Technology (Caltech)
+Copyright: 2015 David Mathog and California Institute of Technology (Caltech)
*/
#ifdef __cplusplus
@@ -1351,13 +1351,20 @@ int U_wmf_onerec_print(const char *contents, const char *blimit, int recnum, siz
iType = *(uint8_t *)(contents + offsetof(U_METARECORD, iType ) );
-#if 1
- printf("%-30srecord:%5d type:%-4u offset:%8d rsize:%8u\n",
- U_wmr_names(iType), recnum, iType, (int) off, (int) size);
-#else /* show record checksums, this is NOT portable, result changes with endian type, useful for debugging */
- printf("%-30srecord:%5d type:%-4u offset:%8d size:%8u recchecksum:%u\n",
- U_wmr_names(iType), recnum, iType, (int) off, (int) size, U_16_checksum((int16_t *)contents, size));
+ uint32_t crc;
+#if U_BYTE_SWAP
+ //This is a Big Endian machine, WMF crc values must be calculated on Little Endian form
+ char *swapbuf=malloc(size);
+ if(!swapbuf)return(-1);
+ memcpy(swapbuf,contents,size);
+ U_wmf_endian(swapbuf,size,1,1); // BE to LE
+ crc=lu_crc32(swapbuf,size);
+ free(swapbuf);
+#else
+ crc=lu_crc32(contents,size);
#endif
+ printf("%-30srecord:%5d type:%-4u offset:%8d rsize:%8u crc32:%8.8X\n",
+ U_wmr_names(iType), recnum, iType, (int) off, (int) size, crc);
switch (iType)
{
diff --git a/src/live_effects/effect.cpp b/src/live_effects/effect.cpp
index d3ca781e9..332d81777 100644
--- a/src/live_effects/effect.cpp
+++ b/src/live_effects/effect.cpp
@@ -358,7 +358,6 @@ Effect::Effect(LivePathEffectObject *lpeobject)
lpeobj(lpeobject),
concatenate_before_pwd2(false),
sp_lpe_item(NULL),
- defaultUnit("px"),
current_zoom(1),
sp_curve(NULL),
provides_own_flash_paths(true), // is automatically set to false if providesOwnFlashPaths() is not overridden
@@ -448,7 +447,6 @@ 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->getDisplayUnit()->abbr;
/*sp_curve = SP_SHAPE(sp_lpe_item)->getCurve();
pathvector_before_effect = sp_curve->get_pathvector();*/
doOnApply(lpeitem);
@@ -457,7 +455,6 @@ 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->getDisplayUnit()->abbr;
//printf("(SPLPEITEM*) %p\n", sp_lpe_item);
SPShape * shape = dynamic_cast<SPShape *>(sp_lpe_item);
if(shape){
diff --git a/src/live_effects/effect.h b/src/live_effects/effect.h
index 63d357481..ea57ff243 100644
--- a/src/live_effects/effect.h
+++ b/src/live_effects/effect.h
@@ -159,7 +159,6 @@ 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 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;
diff --git a/src/live_effects/lpe-fillet-chamfer.cpp b/src/live_effects/lpe-fillet-chamfer.cpp
index fe03781d4..992c45a43 100644
--- a/src/live_effects/lpe-fillet-chamfer.cpp
+++ b/src/live_effects/lpe-fillet-chamfer.cpp
@@ -29,7 +29,6 @@
// for programmatically updating knots
#include "ui/tools-switch.h"
-#include <util/units.h>
// TODO due to internal breakage in glibmm headers, this must be last:
#include <glibmm/i18n.h>
@@ -57,7 +56,6 @@ LPEFilletChamfer::LPEFilletChamfer(LivePathEffectObject *lpeobject) :
only_selected(_("Change only selected nodes"), _("Change only selected nodes"), "only_selected", &wr, this, false),
flexible(_("Flexible radius size (%)"), _("Flexible radius size (%)"), "flexible", &wr, this, false),
use_knot_distance(_("Use knots distance instead radius"), _("Use knots distance instead radius"), "use_knot_distance", &wr, this, false),
- 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),
@@ -65,7 +63,6 @@ LPEFilletChamfer::LPEFilletChamfer(LivePathEffectObject *lpeobject) :
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);
@@ -223,7 +220,7 @@ void LPEFilletChamfer::updateFillet()
{
double power = 0;
if (!flexible) {
- power = Inkscape::Util::Quantity::convert(radius, unit.get_abbreviation(), defaultUnit) * -1;
+ power = radius * -1;
} else {
power = radius;
}
@@ -444,9 +441,7 @@ void LPEFilletChamfer::doBeforeEffect(SPLPEItem const *lpeItem)
} else {
fillet_chamfer_values.set_helper_size(helper_size);
}
- fillet_chamfer_values.set_document_unit(defaultUnit);
fillet_chamfer_values.set_use_distance(use_knot_distance);
- fillet_chamfer_values.set_unit(unit.get_abbreviation());
SPCurve *c = SP_IS_PATH(lpeItem) ? static_cast<SPPath const *>(lpeItem)
->get_original_curve()
: SP_SHAPE(lpeItem)->getCurve();
diff --git a/src/live_effects/lpe-fillet-chamfer.h b/src/live_effects/lpe-fillet-chamfer.h
index 9c91a18b5..290a37f92 100644
--- a/src/live_effects/lpe-fillet-chamfer.h
+++ b/src/live_effects/lpe-fillet-chamfer.h
@@ -66,7 +66,6 @@ private:
BoolParam only_selected;
BoolParam flexible;
BoolParam use_knot_distance;
- UnitParam unit;
EnumParam<FilletMethod> method;
ScalarParam radius;
ScalarParam chamfer_steps;
diff --git a/src/live_effects/lpe-roughen.cpp b/src/live_effects/lpe-roughen.cpp
index 44ff54554..33ffd96d6 100644
--- a/src/live_effects/lpe-roughen.cpp
+++ b/src/live_effects/lpe-roughen.cpp
@@ -20,7 +20,6 @@
#include "live_effects/parameter/parameter.h"
#include "helper/geom.h"
#include <glibmm/i18n.h>
-#include <util/units.h>
#include <cmath>
namespace Inkscape {
@@ -36,7 +35,6 @@ DMConverter(DivisionMethodData, DM_END);
LPERoughen::LPERoughen(LivePathEffectObject *lpeobject)
: Effect(lpeobject),
// initialise your parameters here:
- unit(_("Unit"), _("Unit"), "unit", &wr, this),
method(_("Method"), _("Division method"), "method", DMConverter, &wr,
this, DM_SEGMENTS),
max_segment_size(_("Max. segment size"), _("Max. segment size"),
@@ -54,7 +52,6 @@ LPERoughen::LPERoughen(LivePathEffectObject *lpeobject)
shift_node_handles(_("Shift node handles"), _("Shift node handles"),
"shift_node_handles", &wr, this, true)
{
- registerParameter(&unit);
registerParameter(&method);
registerParameter(&max_segment_size);
registerParameter(&segments);
@@ -98,14 +95,6 @@ Gtk::Widget *LPERoughen::newWidget()
if ((*it)->widget_is_visible) {
Parameter *param = *it;
Gtk::Widget *widg = dynamic_cast<Gtk::Widget *>(param->param_newWidget());
- if (param->param_key == "unit") {
- Gtk::Label *unit_label = Gtk::manage(new Gtk::Label(
- Glib::ustring(_("<b>Roughen unit</b>")), Gtk::ALIGN_START));
- unit_label->set_use_markup(true);
- vbox->pack_start(*unit_label, false, false, 2);
- vbox->pack_start(*Gtk::manage(new Gtk::HSeparator()),
- Gtk::PACK_EXPAND_WIDGET);
- }
if (param->param_key == "method") {
Gtk::Label *method_label = Gtk::manage(new Gtk::Label(
Glib::ustring(_("<b>Add nodes</b> Subdivide each segment")),
@@ -160,11 +149,8 @@ double LPERoughen::sign(double random_number)
Geom::Point LPERoughen::randomize()
{
- Inkscape::Util::Unit const *svg_units = SP_ACTIVE_DESKTOP->namedview->svg_units;
- double displace_x_parsed = Inkscape::Util::Quantity::convert(
- displace_x * global_randomize, unit.get_abbreviation(), svg_units->abbr);
- double displace_y_parsed = Inkscape::Util::Quantity::convert(
- displace_y * global_randomize, unit.get_abbreviation(), svg_units->abbr);
+ double displace_x_parsed = displace_x * global_randomize;
+ double displace_y_parsed = displace_y * global_randomize;
Geom::Point output = Geom::Point(sign(displace_x_parsed), sign(displace_y_parsed));
return output;
@@ -175,7 +161,6 @@ 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 *svg_units = SP_ACTIVE_DESKTOP->namedview->svg_units;
for (Geom::PathVector::const_iterator path_it = original_pathv.begin();
path_it != original_pathv.end(); ++path_it) {
if (path_it->empty())
@@ -220,8 +205,7 @@ void LPERoughen::doEffect(SPCurve *curve)
} else {
nCurve->lineto(point3);
}
- double length = Inkscape::Util::Quantity::convert(
- curve_it1->length(0.001), svg_units->abbr, unit.get_abbreviation());
+ double length = curve_it1->length(0.001);
std::size_t splits = 0;
if (method == DM_SEGMENTS) {
splits = segments;
diff --git a/src/live_effects/lpe-roughen.h b/src/live_effects/lpe-roughen.h
index ed9f06cf7..2b285cd40 100644
--- a/src/live_effects/lpe-roughen.h
+++ b/src/live_effects/lpe-roughen.h
@@ -17,7 +17,6 @@
#include "live_effects/parameter/parameter.h"
#include "live_effects/parameter/path.h"
#include "live_effects/parameter/bool.h"
-#include "live_effects/parameter/unit.h"
#include "live_effects/parameter/random.h"
namespace Inkscape {
@@ -45,7 +44,6 @@ public:
virtual Gtk::Widget *newWidget();
private:
- UnitParam unit;
EnumParam<DivisionMethod> method;
ScalarParam max_segment_size;
ScalarParam segments;
diff --git a/src/live_effects/parameter/filletchamferpointarray.cpp b/src/live_effects/parameter/filletchamferpointarray.cpp
index cf11d52fc..a3ff4c96f 100644
--- a/src/live_effects/parameter/filletchamferpointarray.cpp
+++ b/src/live_effects/parameter/filletchamferpointarray.cpp
@@ -354,11 +354,6 @@ void FilletChamferPointArrayParam::set_pwd2(
last_pwd2_normal = pwd2_normal_in;
}
-void FilletChamferPointArrayParam::set_document_unit(Glib::ustring value_document_unit)
-{
- documentUnit = value_document_unit;
-}
-
void FilletChamferPointArrayParam::set_helper_size(int hs)
{
helper_size = hs;
@@ -374,11 +369,6 @@ void FilletChamferPointArrayParam::set_use_distance(bool use_knot_distance )
use_distance = use_knot_distance;
}
-void FilletChamferPointArrayParam::set_unit(const gchar *abbr)
-{
- unit = abbr;
-}
-
void FilletChamferPointArrayParam::updateCanvasIndicators()
{
std::vector<Point> ts = data();
@@ -812,7 +802,7 @@ void FilletChamferPointArrayParamKnotHolderEntity::knot_click(guint state)
bool aprox = (A[0].degreesOfFreedom() != 2 || B[0].degreesOfFreedom() != 2) && !_pparam->use_distance?true:false;
Geom::Point offset = Geom::Point(xModified, _pparam->_vector.at(_index).y());
Inkscape::UI::Dialogs::FilletChamferPropertiesDialog::showDialog(
- this->desktop, offset, this, _pparam->unit, _pparam->use_distance, aprox, _pparam->documentUnit);
+ this->desktop, offset, this, _pparam->use_distance, aprox);
}
}
diff --git a/src/live_effects/parameter/filletchamferpointarray.h b/src/live_effects/parameter/filletchamferpointarray.h
index bc05ecfc4..48cd26d2d 100644
--- a/src/live_effects/parameter/filletchamferpointarray.h
+++ b/src/live_effects/parameter/filletchamferpointarray.h
@@ -53,8 +53,6 @@ public:
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_document_unit(Glib::ustring value_document_unit);
- virtual void set_unit(const gchar *abbr);
virtual void addCanvasIndicators(SPLPEItem const *lpeitem,
std::vector<Geom::PathVector> &hp_vec);
virtual bool providesKnotHolderEntities() const {
@@ -89,8 +87,6 @@ private:
int helper_size;
int chamfer_steps;
bool use_distance;
- const gchar *unit;
- Glib::ustring documentUnit;
Geom::PathVector hp;
Geom::Piecewise<Geom::D2<Geom::SBasis> > last_pwd2;
diff --git a/src/rdf.cpp b/src/rdf.cpp
index 16344e520..938dc60c6 100644
--- a/src/rdf.cpp
+++ b/src/rdf.cpp
@@ -39,7 +39,7 @@
</Agent></dc:rights>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:source rdf:resource="source"/>
- <license rdf:resource="http://creativecommons.org/licenses/by/2.0/"
+ <license rdf:resource="http://creativecommons.org/licenses/by/4.0/"
/>
</Work>
@@ -173,32 +173,32 @@ struct rdf_double_t rdf_license_ofl [] = {
struct rdf_license_t rdf_licenses [] = {
{ N_("CC Attribution"),
- "http://creativecommons.org/licenses/by/3.0/",
+ "http://creativecommons.org/licenses/by/4.0/",
rdf_license_cc_a,
},
{ N_("CC Attribution-ShareAlike"),
- "http://creativecommons.org/licenses/by-sa/3.0/",
+ "http://creativecommons.org/licenses/by-sa/4.0/",
rdf_license_cc_a_sa,
},
{ N_("CC Attribution-NoDerivs"),
- "http://creativecommons.org/licenses/by-nd/3.0/",
+ "http://creativecommons.org/licenses/by-nd/4.0/",
rdf_license_cc_a_nd,
},
{ N_("CC Attribution-NonCommercial"),
- "http://creativecommons.org/licenses/by-nc/3.0/",
+ "http://creativecommons.org/licenses/by-nc/4.0/",
rdf_license_cc_a_nc,
},
{ N_("CC Attribution-NonCommercial-ShareAlike"),
- "http://creativecommons.org/licenses/by-nc-sa/3.0/",
+ "http://creativecommons.org/licenses/by-nc-sa/4.0/",
rdf_license_cc_a_nc_sa,
},
{ N_("CC Attribution-NonCommercial-NoDerivs"),
- "http://creativecommons.org/licenses/by-nc-nd/3.0/",
+ "http://creativecommons.org/licenses/by-nc-nd/4.0/",
rdf_license_cc_a_nc_nd,
},
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp
index 2cd4f6b4e..16585413e 100644
--- a/src/selection-chemistry.cpp
+++ b/src/selection-chemistry.cpp
@@ -107,6 +107,7 @@ SPCycleType SP_CYCLING = SP_CYCLE_FOCUS;
#include "live_effects/effect.h"
#include "live_effects/effect-enum.h"
#include "live_effects/parameter/originalpath.h"
+#include "layer-manager.h"
#include "enums.h"
#include "sp-item-group.h"
@@ -438,7 +439,7 @@ static void add_ids_recursive(std::vector<const gchar *> &ids, SPObject *obj)
}
}
-void sp_selection_duplicate(SPDesktop *desktop, bool suppressDone)
+void sp_selection_duplicate(SPDesktop *desktop, bool suppressDone, bool duplicateLayer)
{
if (desktop == NULL) {
return;
@@ -449,12 +450,17 @@ void sp_selection_duplicate(SPDesktop *desktop, bool suppressDone)
Inkscape::Selection *selection = desktop->getSelection();
// check if something is selected
- if (selection->isEmpty()) {
+ if (selection->isEmpty() && !duplicateLayer) {
desktop->messageStack()->flash(Inkscape::WARNING_MESSAGE, _("Select <b>object(s)</b> to duplicate."));
return;
}
std::vector<Inkscape::XML::Node*> reprs(selection->reprList());
+ if(duplicateLayer){
+ reprs.clear();
+ reprs.push_back(desktop->currentLayer()->getRepr());
+ }
+
selection->clear();
// sorting items from different parents sorts each parent's subset without possibly mixing
@@ -474,7 +480,10 @@ void sp_selection_duplicate(SPDesktop *desktop, bool suppressDone)
Inkscape::XML::Node *parent = old_repr->parent();
Inkscape::XML::Node *copy = old_repr->duplicate(xml_doc);
- parent->appendChild(copy);
+ if(! duplicateLayer)
+ parent->appendChild(copy);
+ else
+ parent->addChild(copy, old_repr);
if (relink_clones) {
SPObject *old_obj = doc->getObjectByRepr(old_repr);
@@ -535,8 +544,14 @@ void sp_selection_duplicate(SPDesktop *desktop, bool suppressDone)
DocumentUndo::done(desktop->getDocument(), SP_VERB_EDIT_DUPLICATE,
_("Duplicate"));
}
-
- selection->setReprList(newsel);
+ if(!duplicateLayer)
+ selection->setReprList(newsel);
+ else{
+ SPObject* new_layer = doc->getObjectByRepr(newsel[0]);
+ gchar* name = g_strdup_printf(_("%s copy"), new_layer->label());
+ desktop->layer_manager->renameLayer( new_layer, name, TRUE );
+ g_free(name);
+ }
}
void sp_edit_clear_all(Inkscape::Selection *selection)
@@ -1948,8 +1963,8 @@ std::vector<SPItem*> sp_get_same_fill_or_stroke_color(SPItem *sel, std::vector<S
}
} else if (dynamic_cast<SPPattern *>(sel_server) && dynamic_cast<SPPattern *>(iter_server)) {
- SPPattern *sel_pat = pattern_getroot(dynamic_cast<SPPattern *>(sel_server));
- SPPattern *iter_pat = pattern_getroot(dynamic_cast<SPPattern *>(iter_server));
+ SPPattern *sel_pat = dynamic_cast<SPPattern *>(sel_server)->rootPattern();
+ SPPattern *iter_pat = dynamic_cast<SPPattern *>(iter_server)->rootPattern();
if (sel_pat == iter_pat) {
match = true;
}
@@ -3297,7 +3312,7 @@ sp_selection_tile(SPDesktop *desktop, bool apply)
int saved_compensation = prefs->getInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED);
prefs->setInt("/options/clonecompensation/value", SP_CLONE_COMPENSATION_UNMOVED);
- gchar const *pat_id = pattern_tile(repr_copies, bbox, doc,
+ gchar const *pat_id = SPPattern::produce(repr_copies, bbox, doc,
( Geom::Affine(Geom::Translate(desktop->dt2doc(Geom::Point(r->min()[Geom::X],
r->max()[Geom::Y]))))
* parent_transform.inverse() ),
@@ -3375,9 +3390,9 @@ void sp_selection_untile(SPDesktop *desktop)
did = true;
- SPPattern *pattern = pattern_getroot(basePat);
+ SPPattern *pattern = basePat->rootPattern();
- Geom::Affine pat_transform = pattern_patternTransform(basePat);
+ Geom::Affine pat_transform = basePat->getTransform();
pat_transform *= item->transform;
for (SPObject *child = pattern->firstChild() ; child != NULL; child = child->next ) {
@@ -3787,13 +3802,11 @@ void sp_selection_set_clipgroup(SPDesktop *desktop)
clone->setAttribute("inkscape:transform-center-y", inner->attribute("inkscape:transform-center-y"), false);
const Geom::Affine maskTransform(Geom::Affine::identity());
- GSList *templist = NULL;
-
- templist = g_slist_append(templist, clone);
+ std::vector<Inkscape::XML::Node*> templist;
+ templist.push_back(clone);
// add the new clone to the top of the original's parent
gchar const *mask_id = SPClipPath::create(templist, doc, &maskTransform);
- g_slist_free(templist);
outer->setAttribute("clip-path", g_strdup_printf("url(#%s)", mask_id));
@@ -3851,9 +3864,9 @@ void sp_selection_set_mask(SPDesktop *desktop, bool apply_clip_path, bool apply_
selection->clear();
// create a list of duplicates
- GSList *mask_items = NULL;
- GSList *apply_to_items = NULL;
- GSList *items_to_delete = NULL;
+ std::vector<Inkscape::XML::Node*> mask_items;
+ std::vector<SPItem*> apply_to_items;
+ std::vector<SPItem*> items_to_delete;
std::vector<SPItem*> items_to_select;
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
@@ -3863,54 +3876,36 @@ void sp_selection_set_mask(SPDesktop *desktop, bool apply_clip_path, bool apply_
if (apply_to_layer) {
// all selected items are used for mask, which is applied to a layer
- apply_to_items = g_slist_prepend(apply_to_items, desktop->currentLayer());
+ apply_to_items.push_back(SP_ITEM(desktop->currentLayer()));
+ }
+
+ for (std::vector<SPItem*>::const_iterator i=items.begin();i!=items.end();i++) {
+ if((!topmost && !apply_to_layer && *i == items.front())
+ || (topmost && !apply_to_layer && *i == items.back())
+ || apply_to_layer){
- for (std::vector<SPItem*>::const_iterator i=items.begin();i!=items.end();i++) {
+ Geom::Affine oldtr=(*i)->transform;
+ (*i)->doWriteTransform((*i)->getRepr(), (*i)->i2doc_affine());
Inkscape::XML::Node *dup = (*i)->getRepr()->duplicate(xml_doc);
- mask_items = g_slist_prepend(mask_items, dup);
+ (*i)->doWriteTransform((*i)->getRepr(), oldtr);
+ mask_items.push_back(dup);
- SPObject *item = *i;
if (remove_original) {
- items_to_delete = g_slist_prepend(items_to_delete, item);
+ items_to_delete.push_back(*i);
}
else {
- items_to_select.push_back((SPItem*)item);
+ items_to_select.push_back(*i);
}
- }
- } else if (!topmost) {
- // topmost item is used as a mask, which is applied to other items in a selection
- Inkscape::XML::Node *dup = items[0]->getRepr()->duplicate(xml_doc);
- mask_items = g_slist_prepend(mask_items, dup);
-
- if (remove_original) {
- SPObject *item = items.front();
- items_to_delete = g_slist_prepend(items_to_delete, item);
- }
-
- for (std::vector<SPItem*>::const_iterator i=items.begin();i!=items.end();i++) {
- if(i==items.begin())continue;
- apply_to_items = g_slist_prepend(apply_to_items, *i);
+ continue;
+ }else{
+ apply_to_items.push_back(*i);
items_to_select.push_back(*i);
}
- } else {
- SPItem *i = NULL;
- for (std::vector<SPItem*>::const_iterator j=items.begin();j!=items.end();j++) {
- i=*j;
- apply_to_items = g_slist_prepend(apply_to_items, i);
- items_to_select.push_back(i);
- }
-
- Inkscape::XML::Node *dup = SP_OBJECT(i)->getRepr()->duplicate(xml_doc);
- mask_items = g_slist_prepend(mask_items, dup);
-
- if (remove_original) {
- SPObject *item = reinterpret_cast<SPObject*>(i);
- items_to_delete = g_slist_prepend(items_to_delete, item);
- }
}
+
items.clear();
- if (apply_to_items && grouping == PREFS_MASKOBJECT_GROUPING_ALL) {
+ if (grouping == PREFS_MASKOBJECT_GROUPING_ALL) {
// group all those objects into one group
// and apply mask to that
Inkscape::XML::Node *group = xml_doc->createElement("svg:g");
@@ -3919,48 +3914,35 @@ void sp_selection_set_mask(SPDesktop *desktop, bool apply_clip_path, bool apply_
group->setAttribute("inkscape:groupmode", "maskhelper");
std::vector<Inkscape::XML::Node*> reprs_to_group;
-
- for (GSList *i = apply_to_items ; NULL != i ; i = i->next) {
- reprs_to_group.push_back(static_cast<SPObject*>(i->data)->getRepr());
- items_to_select.erase(remove(items_to_select.begin(), items_to_select.end(), static_cast<SPObject*>(i->data)), items_to_select.end());
+ for (std::vector<SPItem*>::const_iterator i = apply_to_items.begin(); i != apply_to_items.end(); i++) {
+ reprs_to_group.push_back(static_cast<SPObject*>(*i)->getRepr());
}
+ items_to_select.clear();
sp_selection_group_impl(reprs_to_group, group, xml_doc, doc);
// apply clip/mask only to newly created group
- g_slist_free(apply_to_items);
- apply_to_items = NULL;
- apply_to_items = g_slist_prepend(apply_to_items, doc->getObjectByRepr(group));
+ apply_to_items.clear();
+ apply_to_items.push_back(dynamic_cast<SPItem*>(doc->getObjectByRepr(group)));
items_to_select.push_back((SPItem*)(doc->getObjectByRepr(group)));
Inkscape::GC::release(group);
}
+ if (grouping == PREFS_MASKOBJECT_GROUPING_SEPARATE) {
+ items_to_select.clear();
+ }
+
gchar const *attributeName = apply_clip_path ? "clip-path" : "mask";
- for (GSList *i = apply_to_items; NULL != i; i = i->next) {
- SPItem *item = reinterpret_cast<SPItem *>(i->data);
+ for (std::vector<SPItem*>::const_reverse_iterator i = apply_to_items.rbegin(); i != apply_to_items.rend(); i++) {
+ SPItem *item = reinterpret_cast<SPItem *>(*i);
// inverted object transform should be applied to a mask object,
// as mask is calculated in user space (after applying transform)
- Geom::Affine maskTransform(item->transform.inverse());
-
- GSList *mask_items_dup = NULL;
- for (GSList *mask_item = mask_items; NULL != mask_item; mask_item = mask_item->next) {
- Inkscape::XML::Node *dup = reinterpret_cast<Inkscape::XML::Node *>(mask_item->data)->duplicate(xml_doc);
- mask_items_dup = g_slist_prepend(mask_items_dup, dup);
- }
-
- gchar const *mask_id = NULL;
- if (apply_clip_path) {
- mask_id = SPClipPath::create(mask_items_dup, doc, &maskTransform);
- } else {
- mask_id = sp_mask_create(mask_items_dup, doc, &maskTransform);
- }
-
- g_slist_free(mask_items_dup);
- mask_items_dup = NULL;
-
- Inkscape::XML::Node *current = SP_OBJECT(i->data)->getRepr();
+ std::vector<Inkscape::XML::Node*> mask_items_dup;
+ for(std::vector<Inkscape::XML::Node*>::const_iterator it=mask_items.begin();it!=mask_items.end();it++)
+ mask_items_dup.push_back((*it)->duplicate(xml_doc));
+ Inkscape::XML::Node *current = SP_OBJECT(*i)->getRepr();
// Node to apply mask to
Inkscape::XML::Node *apply_mask_to = current;
@@ -3972,7 +3954,6 @@ void sp_selection_set_mask(SPDesktop *desktop, bool apply_clip_path, bool apply_
Inkscape::XML::Node *spnew = current->duplicate(xml_doc);
gint position = current->position();
- items_to_select.erase(remove(items_to_select.begin(), items_to_select.end(), item), items_to_select.end());
current->parent()->appendChild(group);
sp_repr_unparent(current);
group->appendChild(spnew);
@@ -3981,24 +3962,29 @@ void sp_selection_set_mask(SPDesktop *desktop, bool apply_clip_path, bool apply_
// Apply clip/mask to group instead
apply_mask_to = group;
- items_to_select.push_back((SPItem*)(doc->getObjectByRepr(group)));
+ items_to_select.push_back(item = (SPItem*)(doc->getObjectByRepr(group)));
Inkscape::GC::release(spnew);
Inkscape::GC::release(group);
}
+ Geom::Affine maskTransform(item->i2doc_affine().inverse());
+
+ gchar const *mask_id = NULL;
+ if (apply_clip_path) {
+ mask_id = SPClipPath::create(mask_items_dup, doc, &maskTransform);
+ } else {
+ mask_id = sp_mask_create(mask_items_dup, doc, &maskTransform);
+ }
+
apply_mask_to->setAttribute(attributeName, Glib::ustring("url(#") + mask_id + ')');
}
- g_slist_free(mask_items);
- g_slist_free(apply_to_items);
-
- for (GSList *i = items_to_delete; NULL != i; i = i->next) {
- SPObject *item = reinterpret_cast<SPObject*>(i->data);
+ for (std::vector<SPItem*>::const_iterator i = items_to_delete.begin(); i != items_to_delete.end(); i++) {
+ SPObject *item = reinterpret_cast<SPObject*>(*i);
item->deleteObject(false);
items_to_select.erase(remove(items_to_select.begin(), items_to_select.end(), item), items_to_select.end());
}
- g_slist_free(items_to_delete);
selection->addList(items_to_select);
diff --git a/src/selection-chemistry.h b/src/selection-chemistry.h
index 8bcab664b..5bcc5b1ea 100644
--- a/src/selection-chemistry.h
+++ b/src/selection-chemistry.h
@@ -52,7 +52,7 @@ namespace LivePathEffect {
} // namespace Inkscape
void sp_selection_delete(SPDesktop *desktop);
-void sp_selection_duplicate(SPDesktop *desktop, bool suppressDone = false);
+void sp_selection_duplicate(SPDesktop *desktop, bool suppressDone = false, bool duplicateLayer = false);
void sp_edit_clear_all(Inkscape::Selection *selection);
void sp_edit_select_all(SPDesktop *desktop);
diff --git a/src/selection.cpp b/src/selection.cpp
index 7979b5d61..77a507eec 100644
--- a/src/selection.cpp
+++ b/src/selection.cpp
@@ -125,6 +125,7 @@ Selection::_releaseContext(SPObject *obj)
void Selection::_invalidateCachedLists() {
_items.clear();
_reprs.clear();
+ _objs_vector.clear();
}
void Selection::_clear() {
diff --git a/src/sp-clippath.cpp b/src/sp-clippath.cpp
index 3c6167438..d66508eae 100644
--- a/src/sp-clippath.cpp
+++ b/src/sp-clippath.cpp
@@ -296,7 +296,7 @@ sp_clippath_view_list_remove(SPClipPathView *list, SPClipPathView *view)
}
// Create a mask element (using passed elements), add it to <defs>
-const gchar *SPClipPath::create (GSList *reprs, SPDocument *document, Geom::Affine const* applyTransform)
+const gchar *SPClipPath::create (std::vector<Inkscape::XML::Node*> &reprs, SPDocument *document, Geom::Affine const* applyTransform)
{
Inkscape::XML::Node *defsrepr = document->getDefs()->getRepr();
@@ -308,13 +308,12 @@ const gchar *SPClipPath::create (GSList *reprs, SPDocument *document, Geom::Affi
const gchar *id = repr->attribute("id");
SPObject *clip_path_object = document->getObjectById(id);
- for (GSList *it = reprs; it != NULL; it = it->next) {
- Inkscape::XML::Node *node = (Inkscape::XML::Node *)(it->data);
+ for (std::vector<Inkscape::XML::Node*>::const_iterator it = reprs.begin(); it != reprs.end(); it++) {
+ Inkscape::XML::Node *node = (*it);
SPItem *item = SP_ITEM(clip_path_object->appendChildRepr(node));
if (NULL != applyTransform) {
- Geom::Affine transform (item->transform);
- transform *= (*applyTransform);
+ Geom::Affine transform (item->transform * (*applyTransform));
item->doWriteTransform(item->getRepr(), transform);
}
}
diff --git a/src/sp-clippath.h b/src/sp-clippath.h
index eb8b14174..91dcfd625 100644
--- a/src/sp-clippath.h
+++ b/src/sp-clippath.h
@@ -45,7 +45,7 @@ public:
unsigned int clipPathUnits : 1;
SPClipPathView *display;
- static char const *create(GSList *reprs, SPDocument *document, Geom::Affine const* applyTransform);
+ static char const *create(std::vector<Inkscape::XML::Node*> &reprs, SPDocument *document, Geom::Affine const* applyTransform);
//static GType sp_clippath_get_type(void);
Inkscape::DrawingItem *show(Inkscape::Drawing &drawing, unsigned int key);
diff --git a/src/sp-item.cpp b/src/sp-item.cpp
index 8c99e9bcf..410fd9b37 100644
--- a/src/sp-item.cpp
+++ b/src/sp-item.cpp
@@ -349,17 +349,11 @@ void SPItem::lowerToBottom() {
using Inkscape::Util::MutableList;
using Inkscape::Util::reverse_list;
- MutableList<SPObject &> bottom=find_last_if(
- reverse_list<SPObject::SiblingIterator>(
- parent->firstChild(), this
- ),
- MutableList<SPObject &>(),
- &is_item
- );
+ SPObject * bottom=parent->firstChild();
+ while(dynamic_cast<SPObject*>(bottom) && dynamic_cast<SPObject*>(bottom->next) && bottom!=this && !is_item(*(bottom->next))) bottom=bottom->next;
if (bottom) {
- ++bottom;
Inkscape::XML::Node *ref = ( bottom ? bottom->getRepr() : NULL );
- getRepr()->parent()->changeOrder(getRepr(), ref);
+ parent->getRepr()->changeOrder(getRepr(), ref);
}
}
@@ -367,20 +361,20 @@ void SPItem::moveTo(SPItem *target, bool intoafter) {
Inkscape::XML::Node *target_ref = ( target ? target->getRepr() : NULL );
Inkscape::XML::Node *our_ref = getRepr();
- gboolean first = FALSE;
-
- if (target_ref == our_ref) {
- // Move to ourself ignore
- return;
- }
if (!target_ref) {
// Assume move to the "first" in the top node, find the top node
- target_ref = our_ref;
- while (target_ref->parent() != target_ref->root()) {
- target_ref = target_ref->parent();
+ intoafter = false;
+ SPObject* bottom = this->document->getObjectByRepr(our_ref->root())->firstChild();
+ while(!dynamic_cast<SPItem*>(bottom->next)){
+ bottom=bottom->next;
}
- first = TRUE;
+ target_ref = bottom->getRepr();
+ }
+
+ if (target_ref == our_ref) {
+ // Move to ourself ignore
+ return;
}
if (intoafter) {
@@ -391,16 +385,10 @@ void SPItem::moveTo(SPItem *target, bool intoafter) {
// Change in parent, need to remove and add
our_ref->parent()->removeChild(our_ref);
target_ref->parent()->addChild(our_ref, target_ref);
- } else if (!first) {
+ } else {
// Same parent, just move
our_ref->parent()->changeOrder(our_ref, target_ref);
}
-
- if (first && parent) {
- // If "first" ensure it appears after the defs etc
- lowerToBottom();
- return;
- }
}
void SPItem::build(SPDocument *document, Inkscape::XML::Node *repr) {
@@ -1234,8 +1222,8 @@ void SPItem::adjust_pattern(Geom::Affine const &postmul, bool set, PatternTransf
SPObject *server = style->getFillPaintServer();
SPPattern *serverPatt = dynamic_cast<SPPattern *>(server);
if ( serverPatt ) {
- SPPattern *pattern = sp_pattern_clone_if_necessary(this, serverPatt, "fill");
- sp_pattern_transform_multiply(pattern, postmul, set);
+ SPPattern *pattern = serverPatt->clone_if_necessary(this, "fill");
+ pattern->transform_multiply(postmul, set);
}
}
@@ -1244,8 +1232,8 @@ void SPItem::adjust_pattern(Geom::Affine const &postmul, bool set, PatternTransf
SPObject *server = style->getStrokePaintServer();
SPPattern *serverPatt = dynamic_cast<SPPattern *>(server);
if ( serverPatt ) {
- SPPattern *pattern = sp_pattern_clone_if_necessary(this, serverPatt, "stroke");
- sp_pattern_transform_multiply(pattern, postmul, set);
+ SPPattern *pattern = serverPatt->clone_if_necessary(this, "stroke");
+ pattern->transform_multiply(postmul, set);
}
}
}
diff --git a/src/sp-mask.cpp b/src/sp-mask.cpp
index d60473e1d..f8fb7aff4 100644
--- a/src/sp-mask.cpp
+++ b/src/sp-mask.cpp
@@ -209,7 +209,7 @@ Inkscape::XML::Node* SPMask::write(Inkscape::XML::Document* xml_doc, Inkscape::X
// Create a mask element (using passed elements), add it to <defs>
const gchar *
-sp_mask_create (GSList *reprs, SPDocument *document, Geom::Affine const* applyTransform)
+sp_mask_create (std::vector<Inkscape::XML::Node*> &reprs, SPDocument *document, Geom::Affine const* applyTransform)
{
Inkscape::XML::Node *defsrepr = document->getDefs()->getRepr();
@@ -221,13 +221,12 @@ sp_mask_create (GSList *reprs, SPDocument *document, Geom::Affine const* applyTr
const gchar *mask_id = repr->attribute("id");
SPObject *mask_object = document->getObjectById(mask_id);
- for (GSList *it = reprs; it != NULL; it = it->next) {
- Inkscape::XML::Node *node = (Inkscape::XML::Node *)(it->data);
+ for (std::vector<Inkscape::XML::Node*>::const_iterator it = reprs.begin(); it != reprs.end(); it++) {
+ Inkscape::XML::Node *node = (*it);
SPItem *item = SP_ITEM(mask_object->appendChildRepr(node));
if (NULL != applyTransform) {
- Geom::Affine transform (item->transform);
- transform *= (*applyTransform);
+ Geom::Affine transform (item->transform * (*applyTransform));
item->doWriteTransform(item->getRepr(), transform);
}
}
diff --git a/src/sp-mask.h b/src/sp-mask.h
index e991fedb6..3559483bb 100644
--- a/src/sp-mask.h
+++ b/src/sp-mask.h
@@ -108,6 +108,6 @@ protected:
}
};
-const char *sp_mask_create (GSList *reprs, SPDocument *document, Geom::Affine const* applyTransform);
+const char *sp_mask_create (std::vector<Inkscape::XML::Node*> &reprs, SPDocument *document, Geom::Affine const* applyTransform);
#endif // SEEN_SP_MASK_H
diff --git a/src/sp-offset.cpp b/src/sp-offset.cpp
index c5336955c..7c3d0bd03 100644
--- a/src/sp-offset.cpp
+++ b/src/sp-offset.cpp
@@ -83,7 +83,7 @@ static void sp_offset_source_modified (SPObject *iSource, guint flags, SPItem *i
// fast is not mathematically correct, because computing the offset of a single
// cubic bezier patch is not trivial; in particular, there are problems with holes
// reappearing in offset when the radius becomes too large
-static bool use_slow_but_correct_offset_method=false;
+static bool use_slow_but_correct_offset_method=true;
SPOffset::SPOffset() : SPShape() {
this->rad = 1.0;
diff --git a/src/sp-pattern.cpp b/src/sp-pattern.cpp
index e89ed77ba..755d3d162 100644
--- a/src/sp-pattern.cpp
+++ b/src/sp-pattern.cpp
@@ -5,7 +5,7 @@
* Lauris Kaplinski <lauris@kaplinski.com>
* bulia byak <buliabyak@users.sf.net>
* Jon A. Cruz <jon@joncruz.org>
- * Abhishek Sharma
+ * Abhishek Sharma
*
* Copyright (C) 2002 Lauris Kaplinski
*
@@ -13,15 +13,15 @@
*/
#ifdef HAVE_CONFIG_H
-# include "config.h"
+#include "config.h"
#endif
#include <cstring>
#include <string>
#include <glibmm.h>
#include <2geom/transforms.h>
+#include <sigc++/functors/mem_fun.h>
-#include "macros.h"
#include "svg/svg.h"
#include "display/cairo-utils.h"
#include "display/drawing-context.h"
@@ -34,67 +34,61 @@
#include "style.h"
#include "sp-pattern.h"
#include "xml/repr.h"
-#include "display/grayscale.h"
-#include <sigc++/functors/ptr_fun.h>
-#include <sigc++/adaptors/bind.h>
+#include "sp-factory.h"
-/*
- * Pattern
- */
-static void pattern_ref_changed(SPObject *old_ref, SPObject *ref, SPPattern *pat);
-static void pattern_ref_modified (SPObject *ref, guint flags, SPPattern *pattern);
-
-SPPattern::SPPattern() : SPPaintServer(), SPViewBox() {
- this->href = NULL;
-
- this->ref = new SPPatternReference(this);
- this->ref->changedSignal().connect(sigc::bind(sigc::ptr_fun(pattern_ref_changed), this));
+SPPattern::SPPattern()
+ : SPPaintServer()
+ , SPViewBox()
+{
+ this->ref = new SPPatternReference(this);
+ this->ref->changedSignal().connect(sigc::mem_fun(this, &SPPattern::_onRefChanged));
- this->patternUnits = SP_PATTERN_UNITS_OBJECTBOUNDINGBOX;
- this->patternUnits_set = FALSE;
+ this->_pattern_units = UNITS_OBJECTBOUNDINGBOX;
+ this->_pattern_units_set = false;
- this->patternContentUnits = SP_PATTERN_UNITS_USERSPACEONUSE;
- this->patternContentUnits_set = FALSE;
+ this->_pattern_content_units = UNITS_USERSPACEONUSE;
+ this->_pattern_content_units_set = false;
- this->patternTransform = Geom::identity();
- this->patternTransform_set = FALSE;
+ this->_pattern_transform = Geom::identity();
+ this->_pattern_transform_set = false;
- this->x.unset();
- this->y.unset();
- this->width.unset();
- this->height.unset();
+ this->_x.unset();
+ this->_y.unset();
+ this->_width.unset();
+ this->_height.unset();
}
-SPPattern::~SPPattern() {
-}
+SPPattern::~SPPattern() {}
-void SPPattern::build(SPDocument* doc, Inkscape::XML::Node* repr) {
- SPPaintServer::build(doc, repr);
-
- this->readAttr( "patternUnits" );
- this->readAttr( "patternContentUnits" );
- this->readAttr( "patternTransform" );
- this->readAttr( "x" );
- this->readAttr( "y" );
- this->readAttr( "width" );
- this->readAttr( "height" );
- this->readAttr( "viewBox" );
- this->readAttr( "preserveAspectRatio" );
- this->readAttr( "xlink:href" );
-
- /* Register ourselves */
- doc->addResource("pattern", this);
+void SPPattern::build(SPDocument *doc, Inkscape::XML::Node *repr)
+{
+ SPPaintServer::build(doc, repr);
+
+ this->readAttr("patternUnits");
+ this->readAttr("patternContentUnits");
+ this->readAttr("patternTransform");
+ this->readAttr("x");
+ this->readAttr("y");
+ this->readAttr("width");
+ this->readAttr("height");
+ this->readAttr("viewBox");
+ this->readAttr("preserveAspectRatio");
+ this->readAttr("xlink:href");
+
+ /* Register ourselves */
+ doc->addResource("pattern", this);
}
-void SPPattern::release() {
+void SPPattern::release()
+{
if (this->document) {
// Unregister ourselves
this->document->removeResource("pattern", this);
}
if (this->ref) {
- this->modified_connection.disconnect();
+ this->_modified_connection.disconnect();
this->ref->detach();
delete this->ref;
this->ref = NULL;
@@ -103,113 +97,121 @@ void SPPattern::release() {
SPPaintServer::release();
}
-void SPPattern::set(unsigned int key, const gchar* value) {
- switch (key) {
- case SP_ATTR_PATTERNUNITS:
- if (value) {
- if (!strcmp (value, "userSpaceOnUse")) {
- this->patternUnits = SP_PATTERN_UNITS_USERSPACEONUSE;
- } else {
- this->patternUnits = SP_PATTERN_UNITS_OBJECTBOUNDINGBOX;
- }
-
- this->patternUnits_set = TRUE;
- } else {
- this->patternUnits_set = FALSE;
- }
-
- this->requestModified(SP_OBJECT_MODIFIED_FLAG);
- break;
-
- case SP_ATTR_PATTERNCONTENTUNITS:
- if (value) {
- if (!strcmp (value, "userSpaceOnUse")) {
- this->patternContentUnits = SP_PATTERN_UNITS_USERSPACEONUSE;
- } else {
- this->patternContentUnits = SP_PATTERN_UNITS_OBJECTBOUNDINGBOX;
- }
-
- this->patternContentUnits_set = TRUE;
- } else {
- this->patternContentUnits_set = FALSE;
- }
-
- this->requestModified(SP_OBJECT_MODIFIED_FLAG);
- break;
-
- case SP_ATTR_PATTERNTRANSFORM: {
- Geom::Affine t;
-
- if (value && sp_svg_transform_read (value, &t)) {
- this->patternTransform = t;
- this->patternTransform_set = TRUE;
- } else {
- this->patternTransform = Geom::identity();
- this->patternTransform_set = FALSE;
- }
-
- this->requestModified(SP_OBJECT_MODIFIED_FLAG);
- break;
- }
- case SP_ATTR_X:
- this->x.readOrUnset(value);
- this->requestModified(SP_OBJECT_MODIFIED_FLAG);
- break;
-
- case SP_ATTR_Y:
- this->y.readOrUnset(value);
- this->requestModified(SP_OBJECT_MODIFIED_FLAG);
- break;
-
- case SP_ATTR_WIDTH:
- this->width.readOrUnset(value);
- this->requestModified(SP_OBJECT_MODIFIED_FLAG);
- break;
-
- case SP_ATTR_HEIGHT:
- this->height.readOrUnset(value);
- this->requestModified(SP_OBJECT_MODIFIED_FLAG);
- break;
-
- case SP_ATTR_VIEWBOX:
- set_viewBox( value );
+void SPPattern::set(unsigned int key, const gchar *value)
+{
+ switch (key) {
+ case SP_ATTR_PATTERNUNITS:
+ if (value) {
+ if (!strcmp(value, "userSpaceOnUse")) {
+ this->_pattern_units = UNITS_USERSPACEONUSE;
+ }
+ else {
+ this->_pattern_units = UNITS_OBJECTBOUNDINGBOX;
+ }
+
+ this->_pattern_units_set = true;
+ }
+ else {
+ this->_pattern_units_set = false;
+ }
+
+ this->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ break;
+
+ case SP_ATTR_PATTERNCONTENTUNITS:
+ if (value) {
+ if (!strcmp(value, "userSpaceOnUse")) {
+ this->_pattern_content_units = UNITS_USERSPACEONUSE;
+ }
+ else {
+ this->_pattern_content_units = UNITS_OBJECTBOUNDINGBOX;
+ }
+
+ this->_pattern_content_units_set = true;
+ }
+ else {
+ this->_pattern_content_units_set = false;
+ }
+
+ this->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ break;
+
+ case SP_ATTR_PATTERNTRANSFORM: {
+ Geom::Affine t;
+
+ if (value && sp_svg_transform_read(value, &t)) {
+ this->_pattern_transform = t;
+ this->_pattern_transform_set = true;
+ }
+ else {
+ this->_pattern_transform = Geom::identity();
+ this->_pattern_transform_set = false;
+ }
+
+ this->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ break;
+ }
+ case SP_ATTR_X:
+ this->_x.readOrUnset(value);
+ this->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ break;
+
+ case SP_ATTR_Y:
+ this->_y.readOrUnset(value);
+ this->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ break;
+
+ case SP_ATTR_WIDTH:
+ this->_width.readOrUnset(value);
+ this->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ break;
+
+ case SP_ATTR_HEIGHT:
+ this->_height.readOrUnset(value);
+ this->requestModified(SP_OBJECT_MODIFIED_FLAG);
+ break;
+
+ case SP_ATTR_VIEWBOX:
+ set_viewBox(value);
this->requestModified(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_VIEWPORT_MODIFIED_FLAG);
break;
case SP_ATTR_PRESERVEASPECTRATIO:
- set_preserveAspectRatio( value );
+ set_preserveAspectRatio(value);
this->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_VIEWPORT_MODIFIED_FLAG);
break;
- case SP_ATTR_XLINK_HREF:
- if ( value && this->href && ( strcmp(value, this->href) == 0 ) ) {
- /* Href unchanged, do nothing. */
- } else {
- g_free(this->href);
- this->href = NULL;
-
- if (value) {
- // First, set the href field; it's only used in the "unchanged" check above.
- this->href = g_strdup(value);
- // Now do the attaching, which emits the changed signal.
- if (value) {
- try {
- this->ref->attach(Inkscape::URI(value));
- } catch (Inkscape::BadURIException &e) {
- g_warning("%s", e.what());
- this->ref->detach();
- }
- } else {
- this->ref->detach();
- }
- }
- }
- break;
-
- default:
- SPPaintServer::set(key, value);
- break;
- }
+ case SP_ATTR_XLINK_HREF:
+ if (value && this->href == value) {
+ /* Href unchanged, do nothing. */
+ }
+ else {
+ this->href.clear();
+
+ if (value) {
+ // First, set the href field; it's only used in the "unchanged" check above.
+ this->href = value;
+ // Now do the attaching, which emits the changed signal.
+ if (value) {
+ try {
+ this->ref->attach(Inkscape::URI(value));
+ }
+ catch (Inkscape::BadURIException &e) {
+ g_warning("%s", e.what());
+ this->ref->detach();
+ }
+ }
+ else {
+ this->ref->detach();
+ }
+ }
+ }
+ break;
+
+ default:
+ SPPaintServer::set(key, value);
+ break;
+ }
}
@@ -217,104 +219,90 @@ void SPPattern::set(unsigned int key, const gchar* value) {
/* fixme: We need ::order_changed handler too (Lauris) */
-static GSList *pattern_getchildren(SPPattern *pat)
+void SPPattern::_getChildren(std::list<SPObject *> &l)
{
- GSList *l = NULL;
-
- for (SPPattern *pat_i = pat; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
+ for (SPPattern *pat_i = this; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
if (pat_i->firstChild()) { // find the first one with children
- for (SPObject *child = pat->firstChild() ; child ; child = child->getNext() ) {
- l = g_slist_prepend (l, child);
- }
- break; // do not go further up the chain if children are found
+ for (SPObject *child = pat_i->firstChild(); child; child = child->getNext()) {
+ l.push_back(child);
+ }
+ break; // do not go further up the chain if children are found
}
}
-
- return l;
}
-void SPPattern::update(SPCtx* ctx, unsigned int flags) {
- if (flags & SP_OBJECT_MODIFIED_FLAG) {
- flags |= SP_OBJECT_PARENT_MODIFIED_FLAG;
- }
+void SPPattern::update(SPCtx *ctx, unsigned int flags)
+{
+ typedef std::list<SPObject *>::iterator SPObjectIterator;
+
+ if (flags & SP_OBJECT_MODIFIED_FLAG) {
+ flags |= SP_OBJECT_PARENT_MODIFIED_FLAG;
+ }
- flags &= SP_OBJECT_MODIFIED_CASCADE;
+ flags &= SP_OBJECT_MODIFIED_CASCADE;
- GSList *l = pattern_getchildren (this);
- l = g_slist_reverse (l);
+ std::list<SPObject *> l;
+ _getChildren(l);
- while (l) {
- SPObject *child = SP_OBJECT (l->data);
+ for (SPObjectIterator it = l.begin(); it != l.end(); it++) {
+ SPObject *child = *it;
- sp_object_ref (child, NULL);
- l = g_slist_remove (l, child);
+ sp_object_ref(child, NULL);
- if (flags || (child->mflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) {
- child->updateDisplay(ctx, flags);
- }
+ if (flags || (child->mflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) {
+ child->updateDisplay(ctx, flags);
+ }
- sp_object_unref (child, NULL);
- }
+ sp_object_unref(child, NULL);
+ }
}
-void SPPattern::modified(unsigned int flags) {
- if (flags & SP_OBJECT_MODIFIED_FLAG) {
- flags |= SP_OBJECT_PARENT_MODIFIED_FLAG;
- }
+void SPPattern::modified(unsigned int flags)
+{
+ typedef std::list<SPObject *>::iterator SPObjectIterator;
+
+ if (flags & SP_OBJECT_MODIFIED_FLAG) {
+ flags |= SP_OBJECT_PARENT_MODIFIED_FLAG;
+ }
- flags &= SP_OBJECT_MODIFIED_CASCADE;
+ flags &= SP_OBJECT_MODIFIED_CASCADE;
- GSList *l = pattern_getchildren (this);
- l = g_slist_reverse (l);
+ std::list<SPObject *> l;
+ _getChildren(l);
- while (l) {
- SPObject *child = SP_OBJECT (l->data);
+ for (SPObjectIterator it = l.begin(); it != l.end(); it++) {
+ SPObject *child = *it;
- sp_object_ref (child, NULL);
- l = g_slist_remove (l, child);
+ sp_object_ref(child, NULL);
- if (flags || (child->mflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) {
- child->emitModified(flags);
- }
+ if (flags || (child->mflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) {
+ child->emitModified(flags);
+ }
- sp_object_unref (child, NULL);
- }
+ sp_object_unref(child, NULL);
+ }
}
-/**
-Gets called when the pattern is reattached to another <pattern>
-*/
-static void
-pattern_ref_changed(SPObject *old_ref, SPObject *ref, SPPattern *pat)
+void SPPattern::_onRefChanged(SPObject *old_ref, SPObject *ref)
{
- if (old_ref) {
- pat->modified_connection.disconnect();
- }
+ if (old_ref) {
+ _modified_connection.disconnect();
+ }
- if (SP_IS_PATTERN (ref)) {
- pat->modified_connection = ref->connectModified(sigc::bind<2>(sigc::ptr_fun(&pattern_ref_modified), pat));
- }
+ if (SP_IS_PATTERN(ref)) {
+ _modified_connection = ref->connectModified(sigc::mem_fun(this, &SPPattern::_onRefModified));
+ }
- pattern_ref_modified (ref, 0, pat);
+ _onRefModified(ref, 0);
}
-/**
-Gets called when the referenced <pattern> is changed
-*/
-static void pattern_ref_modified (SPObject */*ref*/, guint /*flags*/, SPPattern *pattern)
+void SPPattern::_onRefModified(SPObject * /*ref*/, guint /*flags*/)
{
- if ( SP_IS_OBJECT(pattern) ) {
- pattern->requestModified(SP_OBJECT_MODIFIED_FLAG);
- }
+ requestModified(SP_OBJECT_MODIFIED_FLAG);
// Conditional to avoid causing infinite loop if there's a cycle in the href chain.
}
-
-/**
-Count how many times pat is used by the styles of o and its descendants
-*/
-static guint
-count_pattern_hrefs(SPObject *o, SPPattern *pat)
+guint SPPattern::_countHrefs(SPObject *o) const
{
if (!o)
return 1;
@@ -322,84 +310,79 @@ count_pattern_hrefs(SPObject *o, SPPattern *pat)
guint i = 0;
SPStyle *style = o->style;
- if (style
- && style->fill.isPaintserver()
- && SP_IS_PATTERN(SP_STYLE_FILL_SERVER(style))
- && SP_PATTERN(SP_STYLE_FILL_SERVER(style)) == pat)
- {
- i ++;
+ if (style && style->fill.isPaintserver() && SP_IS_PATTERN(SP_STYLE_FILL_SERVER(style)) &&
+ SP_PATTERN(SP_STYLE_FILL_SERVER(style)) == this) {
+ i++;
}
- if (style
- && style->stroke.isPaintserver()
- && SP_IS_PATTERN(SP_STYLE_STROKE_SERVER(style))
- && SP_PATTERN(SP_STYLE_STROKE_SERVER(style)) == pat)
- {
- i ++;
+ if (style && style->stroke.isPaintserver() && SP_IS_PATTERN(SP_STYLE_STROKE_SERVER(style)) &&
+ SP_PATTERN(SP_STYLE_STROKE_SERVER(style)) == this) {
+ i++;
}
- for ( SPObject *child = o->firstChild(); child != NULL; child = child->next ) {
- i += count_pattern_hrefs(child, pat);
+ for (SPObject *child = o->firstChild(); child != NULL; child = child->next) {
+ i += _countHrefs(child);
}
return i;
}
-SPPattern *pattern_chain(SPPattern *pattern)
+SPPattern *SPPattern::_chain() const
{
- SPDocument *document = pattern->document;
- Inkscape::XML::Document *xml_doc = document->getReprDoc();
+ Inkscape::XML::Document *xml_doc = document->getReprDoc();
Inkscape::XML::Node *defsrepr = document->getDefs()->getRepr();
Inkscape::XML::Node *repr = xml_doc->createElement("svg:pattern");
repr->setAttribute("inkscape:collect", "always");
- gchar *parent_ref = g_strconcat("#", pattern->getRepr()->attribute("id"), NULL);
- repr->setAttribute("xlink:href", parent_ref);
- g_free (parent_ref);
+ Glib::ustring parent_ref = Glib::ustring::compose("#%1", getRepr()->attribute("id"));
+ repr->setAttribute("xlink:href", parent_ref);
defsrepr->addChild(repr, NULL);
const gchar *child_id = repr->attribute("id");
SPObject *child = document->getObjectById(child_id);
- g_assert (SP_IS_PATTERN (child));
+ g_assert(SP_IS_PATTERN(child));
- return SP_PATTERN (child);
+ return SP_PATTERN(child);
}
-SPPattern *
-sp_pattern_clone_if_necessary (SPItem *item, SPPattern *pattern, const gchar *property)
+SPPattern *SPPattern::clone_if_necessary(SPItem *item, const gchar *property)
{
- if (!pattern->href || pattern->hrefcount > count_pattern_hrefs(item, pattern)) {
- pattern = pattern_chain (pattern);
- gchar *href = g_strconcat("url(#", pattern->getRepr()->attribute("id"), ")", NULL);
+ SPPattern *pattern = this;
+ if (pattern->href.empty() || pattern->hrefcount > _countHrefs(item)) {
+ pattern = _chain();
+ Glib::ustring href = Glib::ustring::compose("url(#%1)", pattern->getRepr()->attribute("id"));
- SPCSSAttr *css = sp_repr_css_attr_new ();
- sp_repr_css_set_property (css, property, href);
+ SPCSSAttr *css = sp_repr_css_attr_new();
+ sp_repr_css_set_property(css, property, href.c_str());
sp_repr_css_change_recursive(item->getRepr(), css, "style");
}
return pattern;
}
-void
-sp_pattern_transform_multiply (SPPattern *pattern, Geom::Affine postmul, bool set)
+void SPPattern::transform_multiply(Geom::Affine postmul, bool set)
{
// this formula is for a different interpretation of pattern transforms as described in (*) in sp-pattern.cpp
// for it to work, we also need sp_object_read_attr( item, "transform");
- //pattern->patternTransform = premul * item->transform * pattern->patternTransform * item->transform.inverse() * postmul;
+ // pattern->patternTransform = premul * item->transform * pattern->patternTransform * item->transform.inverse() *
+ // postmul;
// otherwise the formula is much simpler
if (set) {
- pattern->patternTransform = postmul;
- } else {
- pattern->patternTransform = pattern_patternTransform(pattern) * postmul;
+ _pattern_transform = postmul;
}
- pattern->patternTransform_set = TRUE;
+ else {
+ _pattern_transform = getTransform() * postmul;
+ }
+ _pattern_transform_set = true;
- gchar *c=sp_svg_transform_write(pattern->patternTransform);
- pattern->getRepr()->setAttribute("patternTransform", c);
- g_free(c);
+ Glib::ustring c = sp_svg_transform_write(_pattern_transform);
+ getRepr()->setAttribute("patternTransform", c);
}
-const gchar *pattern_tile(const std::vector<Inkscape::XML::Node*> &reprs, Geom::Rect bounds, SPDocument *document, Geom::Affine transform, Geom::Affine move)
+const gchar *SPPattern::produce(const std::vector<Inkscape::XML::Node *> &reprs, Geom::Rect bounds,
+ SPDocument *document, Geom::Affine transform, Geom::Affine move)
{
+ typedef std::vector<Inkscape::XML::Node *>::const_iterator NodePtrIterator;
+
Inkscape::XML::Document *xml_doc = document->getReprDoc();
Inkscape::XML::Node *defsrepr = document->getDefs()->getRepr();
@@ -408,20 +391,19 @@ const gchar *pattern_tile(const std::vector<Inkscape::XML::Node*> &reprs, Geom::
sp_repr_set_svg_double(repr, "width", bounds.dimensions()[Geom::X]);
sp_repr_set_svg_double(repr, "height", bounds.dimensions()[Geom::Y]);
- gchar *t=sp_svg_transform_write(transform);
+ Glib::ustring t = sp_svg_transform_write(transform);
repr->setAttribute("patternTransform", t);
- g_free(t);
defsrepr->appendChild(repr);
const gchar *pat_id = repr->attribute("id");
SPObject *pat_object = document->getObjectById(pat_id);
- for (std::vector<Inkscape::XML::Node*>::const_iterator i=reprs.begin();i!=reprs.end();i++){
+ for (NodePtrIterator i = reprs.begin(); i != reprs.end(); i++) {
Inkscape::XML::Node *node = *i;
SPItem *copy = SP_ITEM(pat_object->appendChildRepr(node));
Geom::Affine dup_transform;
- if (!sp_svg_transform_read (node->attribute("transform"), &dup_transform))
+ if (!sp_svg_transform_read(node->attribute("transform"), &dup_transform))
dup_transform = Geom::identity();
dup_transform *= move;
@@ -432,14 +414,15 @@ const gchar *pattern_tile(const std::vector<Inkscape::XML::Node*> &reprs, Geom::
return pat_id;
}
-SPPattern *pattern_getroot(SPPattern *pat)
+SPPattern *SPPattern::rootPattern()
{
- for (SPPattern *pat_i = pat; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
- if ( pat_i->firstChild() ) { // find the first one with children
+ for (SPPattern *pat_i = this; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
+ if (pat_i->firstChild()) { // find the first one with children
return pat_i;
}
}
- return pat; // document is broken, we can't get to root; but at least we can return pat which is supposedly a valid pattern
+ return this; // document is broken, we can't get to root; but at least we can return pat which is supposedly a valid
+ // pattern
}
@@ -447,73 +430,73 @@ SPPattern *pattern_getroot(SPPattern *pat)
// Access functions that look up fields up the chain of referenced patterns and return the first one which is set
// FIXME: all of them must use chase_hrefs the same as in SPGradient, to avoid lockup on circular refs
-guint pattern_patternUnits (SPPattern const *pat)
+SPPattern::PatternUnits SPPattern::patternUnits() const
{
- for (SPPattern const *pat_i = pat; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
- if (pat_i->patternUnits_set)
- return pat_i->patternUnits;
+ for (SPPattern const *pat_i = this; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
+ if (pat_i->_pattern_units_set)
+ return pat_i->_pattern_units;
}
- return pat->patternUnits;
+ return _pattern_units;
}
-guint pattern_patternContentUnits (SPPattern const *pat)
+SPPattern::PatternUnits SPPattern::patternContentUnits() const
{
- for (SPPattern const *pat_i = pat; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
- if (pat_i->patternContentUnits_set)
- return pat_i->patternContentUnits;
+ for (SPPattern const *pat_i = this; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
+ if (pat_i->_pattern_content_units_set)
+ return pat_i->_pattern_content_units;
}
- return pat->patternContentUnits;
+ return _pattern_content_units;
}
-Geom::Affine const &pattern_patternTransform(SPPattern const *pat)
+Geom::Affine const &SPPattern::getTransform() const
{
- for (SPPattern const *pat_i = pat; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
- if (pat_i->patternTransform_set)
- return pat_i->patternTransform;
+ for (SPPattern const *pat_i = this; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
+ if (pat_i->_pattern_transform_set)
+ return pat_i->_pattern_transform;
}
- return pat->patternTransform;
+ return _pattern_transform;
}
-gdouble pattern_x (SPPattern const *pat)
+gdouble SPPattern::x() const
{
- for (SPPattern const *pat_i = pat; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
- if (pat_i->x._set)
- return pat_i->x.computed;
+ for (SPPattern const *pat_i = this; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
+ if (pat_i->_x._set)
+ return pat_i->_x.computed;
}
return 0;
}
-gdouble pattern_y (SPPattern const *pat)
+gdouble SPPattern::y() const
{
- for (SPPattern const *pat_i = pat; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
- if (pat_i->y._set)
- return pat_i->y.computed;
+ for (SPPattern const *pat_i = this; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
+ if (pat_i->_y._set)
+ return pat_i->_y.computed;
}
return 0;
}
-gdouble pattern_width (SPPattern const* pat)
+gdouble SPPattern::width() const
{
- for (SPPattern const *pat_i = pat; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
- if (pat_i->width._set)
- return pat_i->width.computed;
+ for (SPPattern const *pat_i = this; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
+ if (pat_i->_width._set)
+ return pat_i->_width.computed;
}
return 0;
}
-gdouble pattern_height (SPPattern const *pat)
+gdouble SPPattern::height() const
{
- for (SPPattern const *pat_i = pat; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
- if (pat_i->height._set)
- return pat_i->height.computed;
+ for (SPPattern const *pat_i = this; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
+ if (pat_i->_height._set)
+ return pat_i->_height.computed;
}
return 0;
}
-Geom::OptRect pattern_viewBox (SPPattern const *pat)
+Geom::OptRect SPPattern::viewbox() const
{
Geom::OptRect viewbox;
- for (SPPattern const *pat_i = pat; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
+ for (SPPattern const *pat_i = this; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
if (pat_i->viewBox_set) {
viewbox = pat_i->viewBox;
break;
@@ -522,10 +505,10 @@ Geom::OptRect pattern_viewBox (SPPattern const *pat)
return viewbox;
}
-static bool pattern_hasItemChildren (SPPattern const *pat)
+bool SPPattern::_hasItemChildren() const
{
bool hasChildren = false;
- for (SPObject const *child = pat->firstChild() ; child && !hasChildren ; child = child->getNext() ) {
+ for (SPObject const *child = firstChild(); child && !hasChildren; child = child->getNext()) {
if (SP_IS_ITEM(child)) {
hasChildren = true;
}
@@ -535,15 +518,16 @@ static bool pattern_hasItemChildren (SPPattern const *pat)
bool SPPattern::isValid() const
{
- double tile_width = pattern_width(this);
- double tile_height = pattern_height(this);
+ double tile_width = width();
+ double tile_height = height();
- if (tile_width <= 0 || tile_height <= 0)
- return false;
- return true;
+ if (tile_width <= 0 || tile_height <= 0)
+ return false;
+ return true;
}
-cairo_pattern_t* SPPattern::pattern_new(cairo_t *base_ct, Geom::OptRect const &bbox, double opacity) {
+cairo_pattern_t *SPPattern::pattern_new(cairo_t *base_ct, Geom::OptRect const &bbox, double opacity)
+{
bool needs_opacity = (1.0 - opacity) >= 1e-3;
bool visible = opacity >= 1e-3;
@@ -557,28 +541,28 @@ cairo_pattern_t* SPPattern::pattern_new(cairo_t *base_ct, Geom::OptRect const &b
for (SPPattern *pat_i = this; pat_i != NULL; pat_i = pat_i->ref ? pat_i->ref->getObject() : NULL) {
// find the first one with item children
- if (pat_i && SP_IS_OBJECT(pat_i) && pattern_hasItemChildren(pat_i)) {
+ if (pat_i && SP_IS_OBJECT(pat_i) && pat_i->_hasItemChildren()) {
shown = pat_i;
break; // do not go further up the chain if children are found
}
}
if (!shown) {
- return cairo_pattern_create_rgba(0,0,0,0);
+ return cairo_pattern_create_rgba(0, 0, 0, 0);
}
/* Create drawing for rendering */
Inkscape::Drawing drawing;
- unsigned int dkey = SPItem::display_key_new (1);
+ unsigned int dkey = SPItem::display_key_new(1);
Inkscape::DrawingGroup *root = new Inkscape::DrawingGroup(drawing);
drawing.setRoot(root);
- for (SPObject *child = shown->firstChild(); child != NULL; child = child->getNext() ) {
- if (SP_IS_ITEM (child)) {
+ for (SPObject *child = shown->firstChild(); child != NULL; child = child->getNext()) {
+ if (SP_IS_ITEM(child)) {
// for each item in pattern, show it on our drawing, add to the group,
// and connect to the release signal in case the item gets deleted
Inkscape::DrawingItem *cai;
- cai = SP_ITEM(child)->invoke_show (drawing, dkey, SP_ITEM_SHOW_DISPLAY);
+ cai = SP_ITEM(child)->invoke_show(drawing, dkey, SP_ITEM_SHOW_DISPLAY);
root->appendChild(cai);
}
}
@@ -591,40 +575,41 @@ cairo_pattern_t* SPPattern::pattern_new(cairo_t *base_ct, Geom::OptRect const &b
// * "x", "y", and "patternTransform" transform tile to user space after tile is generated.
// These functions recursively search up the tree to find the values.
- double tile_x = pattern_x(this);
- double tile_y = pattern_y(this);
- double tile_width = pattern_width(this);
- double tile_height = pattern_height(this);
- if ( bbox && (pattern_patternUnits(this) == SP_PATTERN_UNITS_OBJECTBOUNDINGBOX) ) {
- tile_x *= bbox->width();
- tile_y *= bbox->height();
- tile_width *= bbox->width();
+ double tile_x = x();
+ double tile_y = y();
+ double tile_width = width();
+ double tile_height = height();
+ if (bbox && (patternUnits() == UNITS_OBJECTBOUNDINGBOX)) {
+ tile_x *= bbox->width();
+ tile_y *= bbox->height();
+ tile_width *= bbox->width();
tile_height *= bbox->height();
}
// Pattern size in pattern space
Geom::Rect pattern_tile = Geom::Rect::from_xywh(0, 0, tile_width, tile_height);
-
+
// Content to tile (pattern space)
Geom::Affine content2ps;
- Geom::OptRect effective_view_box = pattern_viewBox(this);
+ Geom::OptRect effective_view_box = viewbox();
if (effective_view_box) {
- // viewBox to pattern server (using SPViewBox)
+ // viewBox to pattern server (using SPViewBox)
viewBox = *effective_view_box;
c2p.setIdentity();
- apply_viewbox( pattern_tile );
+ apply_viewbox(pattern_tile);
content2ps = c2p;
- } else {
+ }
+ else {
// Content to bbox
- if (bbox && (pattern_patternContentUnits(this) == SP_PATTERN_UNITS_OBJECTBOUNDINGBOX) ) {
- content2ps = Geom::Affine(bbox->width(), 0.0, 0.0, bbox->height(), 0,0);
+ if (bbox && (patternContentUnits() == UNITS_OBJECTBOUNDINGBOX)) {
+ content2ps = Geom::Affine(bbox->width(), 0.0, 0.0, bbox->height(), 0, 0);
}
}
// Tile (pattern space) to user.
- Geom::Affine ps2user = Geom::Translate(tile_x,tile_y) * pattern_patternTransform(this);
+ Geom::Affine ps2user = Geom::Translate(tile_x, tile_y) * getTransform();
// Transform of object with pattern (includes screen scaling)
@@ -644,7 +629,7 @@ cairo_pattern_t* SPPattern::pattern_new(cairo_t *base_ct, Geom::OptRect const &b
// to find the optimum tile size for rendering
// c is number of pixels in buffer x and y.
// Scale factor of 1.1 is too small... see bug #1251039
- Geom::Point c(pattern_tile.dimensions()*ps2user.descrim()*full.descrim()*2.0);
+ Geom::Point c(pattern_tile.dimensions() * ps2user.descrim() * full.descrim() * 2.0);
// Create drawing surface with size of pattern tile (in pattern space) but with number of pixels
// based on required resolution (c).
@@ -660,16 +645,16 @@ cairo_pattern_t* SPPattern::pattern_new(cairo_t *base_ct, Geom::OptRect const &b
}
// TODO: make sure there are no leaks.
- Inkscape::UpdateContext ctx; // UpdateContext is structure with only ctm!
+ Inkscape::UpdateContext ctx; // UpdateContext is structure with only ctm!
ctx.ctm = content2ps * pattern_surface.drawingTransform();
- dc.transform( pattern_surface.drawingTransform().inverse() );
+ dc.transform(pattern_surface.drawingTransform().inverse());
drawing.update(Geom::IntRect::infinite(), ctx);
// Render drawing to pattern_surface via drawing context, this calls root->render
// which is really DrawingItem->render().
drawing.render(dc, one_tile);
- for (SPObject *child = shown->firstChild() ; child != NULL; child = child->getNext() ) {
- if (SP_IS_ITEM (child)) {
+ for (SPObject *child = shown->firstChild(); child != NULL; child = child->getNext()) {
+ if (SP_IS_ITEM(child)) {
SP_ITEM(child)->invoke_hide(dkey);
}
}
@@ -685,12 +670,12 @@ cairo_pattern_t* SPPattern::pattern_new(cairo_t *base_ct, Geom::OptRect const &b
if (needs_opacity) {
dc.popGroupToSource(); // pop raw pattern
- dc.paint(opacity); // apply opacity
+ dc.paint(opacity); // apply opacity
}
cairo_pattern_t *cp = cairo_pattern_create_for_surface(pattern_surface.raw());
// Apply transformation to user space. Also compensate for oversampling.
- ink_cairo_pattern_set_matrix(cp, ps2user.inverse() * pattern_surface.drawingTransform() );
+ ink_cairo_pattern_set_matrix(cp, ps2user.inverse() * pattern_surface.drawingTransform());
cairo_pattern_set_extend(cp, CAIRO_EXTEND_REPEAT);
diff --git a/src/sp-pattern.h b/src/sp-pattern.h
index 34dd5a05b..145bb934e 100644
--- a/src/sp-pattern.h
+++ b/src/sp-pattern.h
@@ -1,9 +1,6 @@
-#ifndef SEEN_SP_PATTERN_H
-#define SEEN_SP_PATTERN_H
-
-/*
+/** @file
* SVG <pattern> implementation
- *
+ *//*
* Author:
* Lauris Kaplinski <lauris@kaplinski.com>
* Abhishek Sharma
@@ -13,95 +10,131 @@
* Released under GNU GPL, read the file 'COPYING' for more information
*/
-#define SP_PATTERN(obj) (dynamic_cast<SPPattern*>((SPObject*)obj))
-#define SP_IS_PATTERN(obj) (dynamic_cast<const SPPattern*>((SPObject*)obj) != NULL)
+#ifndef SEEN_SP_PATTERN_H
+#define SEEN_SP_PATTERN_H
-class SPPatternReference;
-class SPItem;
-typedef struct _GSList GSList;
+#include <list>
+#include <stddef.h>
+#include <glibmm/ustring.h>
+#include <sigc++/connection.h>
#include "svg/svg-length.h"
#include "sp-paint-server.h"
#include "uri-references.h"
#include "viewbox.h"
-#include <sigc++/connection.h>
+class SPPatternReference;
+class SPItem;
+namespace Inkscape {
+namespace XML {
+
+class Node;
+}
+}
+
+#define SP_PATTERN(obj) (dynamic_cast<SPPattern *>((SPObject *)obj))
+#define SP_IS_PATTERN(obj) (dynamic_cast<const SPPattern *>((SPObject *)obj) != NULL)
class SPPattern : public SPPaintServer, public SPViewBox {
public:
- SPPattern();
- virtual ~SPPattern();
+ enum PatternUnits { UNITS_USERSPACEONUSE, UNITS_OBJECTBOUNDINGBOX };
+
+ SPPattern();
+ virtual ~SPPattern();
/* Reference (href) */
- char *href;
+ Glib::ustring href;
SPPatternReference *ref;
- /* patternUnits and patternContentUnits attribute */
- unsigned int patternUnits : 1;
- unsigned int patternUnits_set : 1;
- unsigned int patternContentUnits : 1;
- unsigned int patternContentUnits_set : 1;
- /* patternTransform attribute */
- Geom::Affine patternTransform;
- unsigned int patternTransform_set : 1;
- /* Tile rectangle */
- SVGLength x;
- SVGLength y;
- SVGLength width;
- SVGLength height;
-
- sigc::connection modified_connection;
+ gdouble x() const;
+ gdouble y() const;
+ gdouble width() const;
+ gdouble height() const;
+ Geom::OptRect viewbox() const;
+ SPPattern::PatternUnits patternUnits() const;
+ SPPattern::PatternUnits patternContentUnits() const;
+ Geom::Affine const &getTransform() const;
+ SPPattern *rootPattern(); // TODO: const
+
+ SPPattern *clone_if_necessary(SPItem *item, const gchar *property);
+ void transform_multiply(Geom::Affine postmul, bool set);
+
+ /**
+ * @brief create a new pattern in XML tree
+ * @return created pattern id
+ */
+ static const gchar *produce(const std::vector<Inkscape::XML::Node *> &reprs, Geom::Rect bounds,
+ SPDocument *document, Geom::Affine transform, Geom::Affine move);
bool isValid() const;
- virtual cairo_pattern_t* pattern_new(cairo_t *ct, Geom::OptRect const &bbox, double opacity);
+ virtual cairo_pattern_t *pattern_new(cairo_t *ct, Geom::OptRect const &bbox, double opacity);
protected:
- virtual void build(SPDocument* doc, Inkscape::XML::Node* repr);
- virtual void release();
- virtual void set(unsigned int key, const gchar* value);
- virtual void update(SPCtx* ctx, unsigned int flags);
- virtual void modified(unsigned int flags);
+ virtual void build(SPDocument *doc, Inkscape::XML::Node *repr);
+ virtual void release();
+ virtual void set(unsigned int key, const gchar *value);
+ virtual void update(SPCtx *ctx, unsigned int flags);
+ virtual void modified(unsigned int flags);
+
+private:
+ bool _hasItemChildren() const;
+ void _getChildren(std::list<SPObject *> &l);
+ SPPattern *_chain() const;
+
+ /**
+ Count how many times pattern is used by the styles of o and its descendants
+ */
+ guint _countHrefs(SPObject *o) const;
+
+ /**
+ Gets called when the pattern is reattached to another <pattern>
+ */
+ void _onRefChanged(SPObject *old_ref, SPObject *ref);
+
+ /**
+ Gets called when the referenced <pattern> is changed
+ */
+ void _onRefModified(SPObject *ref, guint flags);
+
+ /* patternUnits and patternContentUnits attribute */
+ PatternUnits _pattern_units : 1;
+ bool _pattern_units_set : 1;
+ PatternUnits _pattern_content_units : 1;
+ bool _pattern_content_units_set : 1;
+ /* patternTransform attribute */
+ Geom::Affine _pattern_transform;
+ bool _pattern_transform_set : 1;
+ /* Tile rectangle */
+ SVGLength _x;
+ SVGLength _y;
+ SVGLength _width;
+ SVGLength _height;
+
+ sigc::connection _modified_connection;
};
class SPPatternReference : public Inkscape::URIReference {
public:
- SPPatternReference (SPObject *obj) : URIReference(obj) {}
- SPPattern *getObject() const {
+ SPPatternReference(SPObject *obj)
+ : URIReference(obj)
+ {
+ }
+
+ SPPattern *getObject() const
+ {
return reinterpret_cast<SPPattern *>(URIReference::getObject());
}
protected:
- virtual bool _acceptObject(SPObject *obj) const {
- return SP_IS_PATTERN (obj);
+ virtual bool _acceptObject(SPObject *obj) const
+ {
+ return SP_IS_PATTERN(obj);
}
};
-enum {
- SP_PATTERN_UNITS_USERSPACEONUSE,
- SP_PATTERN_UNITS_OBJECTBOUNDINGBOX
-};
-
-unsigned int pattern_users (SPPattern *pattern);
-SPPattern *pattern_chain (SPPattern *pattern);
-SPPattern *sp_pattern_clone_if_necessary (SPItem *item, SPPattern *pattern, const char *property);
-void sp_pattern_transform_multiply (SPPattern *pattern, Geom::Affine postmul, bool set);
-
-const char *pattern_tile (const std::vector<Inkscape::XML::Node*> &reprs, Geom::Rect bounds, SPDocument *document, Geom::Affine transform, Geom::Affine move);
-
-SPPattern *pattern_getroot (SPPattern *pat);
-
-unsigned int pattern_patternUnits (SPPattern const *pat);
-unsigned int pattern_patternContentUnits (SPPattern const *pat);
-Geom::Affine const &pattern_patternTransform(SPPattern const *pat);
-double pattern_x (SPPattern const *pat);
-double pattern_y (SPPattern const *pat);
-double pattern_width (SPPattern const *pat);
-double pattern_height (SPPattern const *pat);
-Geom::OptRect pattern_viewBox (SPPattern const *pat);
-
#endif // SEEN_SP_PATTERN_H
/*
diff --git a/src/sp-use.cpp b/src/sp-use.cpp
index 239f487a4..c8a0830c1 100644
--- a/src/sp-use.cpp
+++ b/src/sp-use.cpp
@@ -22,6 +22,8 @@
#include "display/drawing-group.h"
#include "attributes.h"
#include "document.h"
+#include "sp-clippath.h"
+#include "sp-mask.h"
#include "sp-factory.h"
#include "sp-flowregion.h"
#include "uri.h"
@@ -426,16 +428,43 @@ void SPUse::move_compensate(Geom::Affine const *mp) {
return;
Geom::Affine m(*mp);
+ Geom::Affine t = this->get_parent_transform();
+ Geom::Affine clone_move = t.inverse() * m * t;
// this is not a simple move, do not try to compensate
- if (!(m.isTranslation()))
+ if (!(m.isTranslation())){
+ //BUT move clippaths accordingly.
+ //if clone has a clippath, move it accordingly
+ if(clip_ref->getObject()){
+ SPObject *clip = clip_ref->getObject()->firstChild() ;
+ while(clip){
+ SPItem *item = (SPItem*) clip;
+ if(item){
+ item->transform *= m;
+ Geom::Affine identity;
+ item->doWriteTransform(clip->getRepr(),item->transform, &identity);
+ }
+ clip = clip->getNext();
+ }
+ }
+ if(mask_ref->getObject()){
+ SPObject *mask = mask_ref->getObject()->firstChild() ;
+ while(mask){
+ SPItem *item = (SPItem*) mask;
+ if(item){
+ item->transform *= m;
+ Geom::Affine identity;
+ item->doWriteTransform(mask->getRepr(),item->transform, &identity);
+ }
+ mask = mask->getNext();
+ }
+ }
return;
+ }
// restore item->transform field from the repr, in case it was changed by seltrans
this->readAttr ("transform");
- Geom::Affine t = this->get_parent_transform();
- Geom::Affine clone_move = t.inverse() * m * t;
// calculate the compensation matrix and the advertized movement matrix
Geom::Affine advertized_move;
@@ -449,6 +478,33 @@ void SPUse::move_compensate(Geom::Affine const *mp) {
g_assert_not_reached();
}
+ //if clone has a clippath, move it accordingly
+ if(clip_ref->getObject()){
+ SPObject *clip = clip_ref->getObject()->firstChild() ;
+ while(clip){
+ SPItem *item = (SPItem*) clip;
+ if(item){
+ item->transform *= clone_move.inverse();
+ Geom::Affine identity;
+ item->doWriteTransform(clip->getRepr(),item->transform, &identity);
+ }
+ clip = clip->getNext();
+ }
+ }
+ if(mask_ref->getObject()){
+ SPObject *mask = mask_ref->getObject()->firstChild() ;
+ while(mask){
+ SPItem *item = (SPItem*) mask;
+ if(item){
+ item->transform *= clone_move.inverse();
+ Geom::Affine identity;
+ item->doWriteTransform(mask->getRepr(),item->transform, &identity);
+ }
+ mask = mask->getNext();
+ }
+ }
+
+
// commit the compensation
this->transform *= clone_move;
this->doWriteTransform(this->getRepr(), this->transform, &advertized_move);
diff --git a/src/style-enums.h b/src/style-enums.h
index f235b6699..29b8e2130 100644
--- a/src/style-enums.h
+++ b/src/style-enums.h
@@ -74,44 +74,45 @@ enum SPCSSFontStretch {
// Can select more than one
enum SPCSSFontVariantLigatures {
- SP_CSS_FONT_VARIANT_LIGATURES_NORMAL,
- SP_CSS_FONT_VARIANT_LIGATURES_NONE,
- SP_CSS_FONT_VARIANT_LIGATURES_COMMON,
- SP_CSS_FONT_VARIANT_LIGATURES_NO_COMMON,
- SP_CSS_FONT_VARIANT_LIGATURES_DISCRETIONARY,
- SP_CSS_FONT_VARIANT_LIGATURES_NO_DISCRETIONARY,
- SP_CSS_FONT_VARIANT_LIGATURES_HISTORICAL,
- SP_CSS_FONT_VARIANT_LIGATURES_NO_HISTORICAL,
- SP_CSS_FONT_VARIANT_LIGATURES_CONTEXTUAL,
- SP_CSS_FONT_VARIANT_LIGATURES_NO_CONTEXTUAL
+ SP_CSS_FONT_VARIANT_LIGATURES_NONE = 0,
+ SP_CSS_FONT_VARIANT_LIGATURES_COMMON = 1,
+ SP_CSS_FONT_VARIANT_LIGATURES_DISCRETIONARY = 2,
+ SP_CSS_FONT_VARIANT_LIGATURES_HISTORICAL = 4,
+ SP_CSS_FONT_VARIANT_LIGATURES_CONTEXTUAL = 8,
+ SP_CSS_FONT_VARIANT_LIGATURES_NORMAL = 9, // Special case
+ SP_CSS_FONT_VARIANT_LIGATURES_NOCOMMON = 16,
+ SP_CSS_FONT_VARIANT_LIGATURES_NODISCRETIONARY = 32,
+ SP_CSS_FONT_VARIANT_LIGATURES_NOHISTORICAL = 64,
+ SP_CSS_FONT_VARIANT_LIGATURES_NOCONTEXTUAL = 128
};
enum SPCSSFontVariantPosition {
- SP_CSS_FONT_VARIANT_POSITION_NORMAL,
- SP_CSS_FONT_VARIANT_POSITION_SUB,
- SP_CSS_FONT_VARIANT_POSITION_SUPER
+ SP_CSS_FONT_VARIANT_POSITION_NORMAL = 1,
+ SP_CSS_FONT_VARIANT_POSITION_SUB = 2,
+ SP_CSS_FONT_VARIANT_POSITION_SUPER = 4
};
enum SPCSSFontVariantCaps {
- SP_CSS_FONT_VARIANT_CAPS_NORMAL,
- SP_CSS_FONT_VARIANT_CAPS_SMALL,
- SP_CSS_FONT_VARIANT_CAPS_ALL_SMALL,
- SP_CSS_FONT_VARIANT_CAPS_PETITE,
- SP_CSS_FONT_VARIANT_CAPS_ALL_PETITE,
- SP_CSS_FONT_VARIANT_CAPS_UNICASE,
- SP_CSS_FONT_VARIANT_CAPS_TITLING,
+ SP_CSS_FONT_VARIANT_CAPS_NORMAL = 1,
+ SP_CSS_FONT_VARIANT_CAPS_SMALL = 2,
+ SP_CSS_FONT_VARIANT_CAPS_ALL_SMALL = 4,
+ SP_CSS_FONT_VARIANT_CAPS_PETITE = 8,
+ SP_CSS_FONT_VARIANT_CAPS_ALL_PETITE = 16,
+ SP_CSS_FONT_VARIANT_CAPS_UNICASE = 32,
+ SP_CSS_FONT_VARIANT_CAPS_TITLING = 64
};
+// Can select more than one (see spec)
enum SPCSSFontVariantNumeric {
- SP_CSS_FONT_VARIANT_NUMERIC_NORMAL,
- SP_CSS_FONT_VARIANT_NUMERIC_LINING_NUMS,
- SP_CSS_FONT_VARIANT_NUMERIC_OLDSTYLE_NUMS,
- SP_CSS_FONT_VARIANT_NUMERIC_PROPORTIONAL_NUMS,
- SP_CSS_FONT_VARIANT_NUMERIC_TABULAR_NUMS,
- SP_CSS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS,
- SP_CSS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS,
- SP_CSS_FONT_VARIANT_NUMERIC_ORDINAL,
- SP_CSS_FONT_VARIANT_NUMERIC_SLASHED_ZERO
+ SP_CSS_FONT_VARIANT_NUMERIC_NORMAL = 0,
+ SP_CSS_FONT_VARIANT_NUMERIC_LINING_NUMS = 1,
+ SP_CSS_FONT_VARIANT_NUMERIC_OLDSTYLE_NUMS = 2,
+ SP_CSS_FONT_VARIANT_NUMERIC_PROPORTIONAL_NUMS = 4,
+ SP_CSS_FONT_VARIANT_NUMERIC_TABULAR_NUMS = 8,
+ SP_CSS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS = 16,
+ SP_CSS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS = 32,
+ SP_CSS_FONT_VARIANT_NUMERIC_ORDINAL = 64,
+ SP_CSS_FONT_VARIANT_NUMERIC_SLASHED_ZERO = 128
};
enum SPCSSFontVariantAlternates {
@@ -376,16 +377,16 @@ static SPStyleEnum const enum_font_stretch[] = {
};
static SPStyleEnum const enum_font_variant_ligatures[] = {
- {"normal", SP_CSS_FONT_VARIANT_LIGATURES_NORMAL},
- {"none", SP_CSS_FONT_VARIANT_LIGATURES_NONE},
- {"common-ligatures", SP_CSS_FONT_VARIANT_LIGATURES_COMMON},
- {"no-common-ligatures", SP_CSS_FONT_VARIANT_LIGATURES_NO_COMMON},
- {"discretionary-ligatures", SP_CSS_FONT_VARIANT_LIGATURES_DISCRETIONARY},
- {"no-discretionary-ligatures", SP_CSS_FONT_VARIANT_LIGATURES_NO_DISCRETIONARY},
- {"historical-ligatures", SP_CSS_FONT_VARIANT_LIGATURES_HISTORICAL},
- {"nohistorical-ligatures", SP_CSS_FONT_VARIANT_LIGATURES_NO_HISTORICAL},
- {"contextual", SP_CSS_FONT_VARIANT_LIGATURES_CONTEXTUAL},
- {"no-contextual", SP_CSS_FONT_VARIANT_LIGATURES_NO_CONTEXTUAL},
+ {"none", SP_CSS_FONT_VARIANT_LIGATURES_NONE},
+ {"common-ligatures", SP_CSS_FONT_VARIANT_LIGATURES_COMMON},
+ {"discretionary-ligatures", SP_CSS_FONT_VARIANT_LIGATURES_DISCRETIONARY},
+ {"historical-ligatures", SP_CSS_FONT_VARIANT_LIGATURES_HISTORICAL},
+ {"contextual", SP_CSS_FONT_VARIANT_LIGATURES_CONTEXTUAL},
+ {"normal", SP_CSS_FONT_VARIANT_LIGATURES_NORMAL},
+ {"no-common-ligatures", SP_CSS_FONT_VARIANT_LIGATURES_NOCOMMON},
+ {"no-discretionary-ligatures", SP_CSS_FONT_VARIANT_LIGATURES_NODISCRETIONARY},
+ {"no-historical-ligatures", SP_CSS_FONT_VARIANT_LIGATURES_NOHISTORICAL},
+ {"no-contextual", SP_CSS_FONT_VARIANT_LIGATURES_NOCONTEXTUAL},
{NULL, -1}
};
@@ -401,7 +402,7 @@ static SPStyleEnum const enum_font_variant_caps[] = {
{"small-caps", SP_CSS_FONT_VARIANT_CAPS_SMALL},
{"all-small-caps", SP_CSS_FONT_VARIANT_CAPS_ALL_SMALL},
{"petite-caps", SP_CSS_FONT_VARIANT_CAPS_PETITE},
- {"all_petite-caps", SP_CSS_FONT_VARIANT_CAPS_ALL_PETITE},
+ {"all-petite-caps", SP_CSS_FONT_VARIANT_CAPS_ALL_PETITE},
{"unicase", SP_CSS_FONT_VARIANT_CAPS_UNICASE},
{"titling", SP_CSS_FONT_VARIANT_CAPS_TITLING},
{NULL, -1}
diff --git a/src/style-internal.cpp b/src/style-internal.cpp
index 915282301..c117a97f9 100644
--- a/src/style-internal.cpp
+++ b/src/style-internal.cpp
@@ -45,6 +45,8 @@
#include <sigc++/functors/ptr_fun.h>
#include <sigc++/adaptors/bind.h>
+#include <glibmm/regex.h>
+
// TODO REMOVE OR MAKE MEMBER FUNCTIONS
void sp_style_fill_paint_server_ref_changed( SPObject *old_ref, SPObject *ref, SPStyle *style);
void sp_style_stroke_paint_server_ref_changed(SPObject *old_ref, SPObject *ref, SPStyle *style);
@@ -664,6 +666,241 @@ SPIEnum::operator==(const SPIBase& rhs) {
}
+// SPIEnumBits ----------------------------------------------------------
+// Used for 'font-variant-xxx'
+void
+SPIEnumBits::read( gchar const *str ) {
+
+ if( !str ) return;
+ std::cout << "SPIEnumBits: " << name << ": " << str << std::endl;
+ if( !strcmp(str, "inherit") ) {
+ set = true;
+ inherit = true;
+ } else {
+ for (unsigned i = 0; enums[i].key; i++) {
+ if (!strcmp(str, enums[i].key)) {
+ std::cout << " found: " << enums[i].key << std::endl;
+ set = true;
+ inherit = false;
+ value += enums[i].value;
+ /* Save copying for values not needing it */
+ computed = value;
+ }
+ }
+ }
+}
+
+const Glib::ustring
+SPIEnumBits::write( guint const flags, SPIBase const *const base) const {
+
+ SPIEnum const *const my_base = dynamic_cast<const SPIEnum*>(base);
+ if ( (flags & SP_STYLE_FLAG_ALWAYS) ||
+ ((flags & SP_STYLE_FLAG_IFSET) && this->set) ||
+ ((flags & SP_STYLE_FLAG_IFDIFF) && this->set
+ && (!my_base->set || this != my_base )))
+ {
+ if (this->inherit) {
+ return (name + ":inherit;");
+ }
+ if (this->value == 0 ) {
+ return (name + ":normal");
+ }
+ Glib::ustring return_string = name + ":";
+ unsigned j = 1;
+ for (unsigned i = 0; enums[i].key; ++i) {
+ if (j & this->value ) {
+ return_string += enums[i].value + " ";
+ }
+ j *= 2;
+ }
+ return return_string;
+ }
+ return Glib::ustring("");
+}
+
+
+// SPILigatures -----------------------------------------------------
+// Used for 'font-variant-ligatures'
+void
+SPILigatures::read( gchar const *str ) {
+
+ if( !str ) return;
+
+ value = SP_CSS_FONT_VARIANT_LIGATURES_NORMAL;
+ if( !strcmp(str, "inherit") ) {
+ set = true;
+ inherit = true;
+ } else if (!strcmp(str, "normal" )) {
+ // Defaults for TrueType
+ inherit = false;
+ set = true;
+ } else if (!strcmp(str, "none" )) {
+ value = SP_CSS_FONT_VARIANT_LIGATURES_NONE;
+ inherit = false;
+ set = true;
+ } else {
+ // We need to parse in order
+ std::vector<Glib::ustring> tokens = Glib::Regex::split_simple("\\s+", str );
+ for( unsigned i = 0; i < tokens.size(); ++i ) {
+ for (unsigned j = 0; enums[j].key; ++j ) {
+ if (tokens[i].compare( enums[j].key ) == 0 ) {
+ set = true;
+ inherit = false;
+ if( enums[j].value < SP_CSS_FONT_VARIANT_LIGATURES_NOCOMMON ) {
+ // Turn on
+ value |= enums[j].value;
+ } else {
+ // Turn off
+ value &= ~(enums[j].value >> 4);
+ }
+ }
+ }
+ }
+ }
+ computed = value;
+}
+
+const Glib::ustring
+SPILigatures::write( guint const flags, SPIBase const *const base) const {
+
+ SPIEnum const *const my_base = dynamic_cast<const SPIEnum*>(base);
+ if ( (flags & SP_STYLE_FLAG_ALWAYS) ||
+ ((flags & SP_STYLE_FLAG_IFSET) && this->set) ||
+ ((flags & SP_STYLE_FLAG_IFDIFF) && this->set
+ && (!my_base->set || this != my_base )))
+ {
+ if (this->inherit) {
+ return (name + ":inherit;");
+ }
+ if (value == SP_CSS_FONT_VARIANT_LIGATURES_NONE ) {
+ return (name + ":none;");
+ }
+ if (value == SP_CSS_FONT_VARIANT_LIGATURES_NORMAL ) {
+ return (name + ":normal;");
+ }
+
+ Glib::ustring return_string = name + ":";
+ if ( !(value & SP_CSS_FONT_VARIANT_LIGATURES_COMMON) )
+ return_string += "no-common-ligatures ";
+ if ( value & SP_CSS_FONT_VARIANT_LIGATURES_DISCRETIONARY )
+ return_string += "discretionary-ligatures ";
+ if ( value & SP_CSS_FONT_VARIANT_LIGATURES_HISTORICAL )
+ return_string += "historical-ligatures ";
+ if ( !(value & SP_CSS_FONT_VARIANT_LIGATURES_CONTEXTUAL) )
+ return_string += "no-contextual ";
+ return_string.erase( return_string.size() - 1 );
+ return_string += ";";
+ return return_string;
+ }
+ return Glib::ustring("");
+}
+
+
+// SPINumeric -----------------------------------------------------
+// Used for 'font-variant-numeric'
+void
+SPINumeric::read( gchar const *str ) {
+
+ if( !str ) return;
+
+ value = SP_CSS_FONT_VARIANT_NUMERIC_NORMAL;
+ if( !strcmp(str, "inherit") ) {
+ set = true;
+ inherit = true;
+ } else if (!strcmp(str, "normal" )) {
+ // Defaults for TrueType
+ inherit = false;
+ set = true;
+ } else {
+ // We need to parse in order
+ std::vector<Glib::ustring> tokens = Glib::Regex::split_simple("\\s+", str );
+ for( unsigned i = 0; i < tokens.size(); ++i ) {
+ for (unsigned j = 0; enums[j].key; ++j ) {
+ if (tokens[i].compare( enums[j].key ) == 0 ) {
+ set = true;
+ inherit = false;
+ value |= enums[j].value;
+
+ // Must switch off incompatible value
+ switch (enums[j].value ) {
+ case SP_CSS_FONT_VARIANT_NUMERIC_LINING_NUMS:
+ value &= ~SP_CSS_FONT_VARIANT_NUMERIC_OLDSTYLE_NUMS;
+ break;
+ case SP_CSS_FONT_VARIANT_NUMERIC_OLDSTYLE_NUMS:
+ value &= ~SP_CSS_FONT_VARIANT_NUMERIC_LINING_NUMS;
+ break;
+
+ case SP_CSS_FONT_VARIANT_NUMERIC_PROPORTIONAL_NUMS:
+ value &= ~SP_CSS_FONT_VARIANT_NUMERIC_TABULAR_NUMS;
+ break;
+ case SP_CSS_FONT_VARIANT_NUMERIC_TABULAR_NUMS:
+ value &= ~SP_CSS_FONT_VARIANT_NUMERIC_PROPORTIONAL_NUMS;
+ break;
+
+ case SP_CSS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS:
+ value &= ~SP_CSS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS;
+ break;
+ case SP_CSS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS:
+ value &= ~SP_CSS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS;
+ break;
+
+ case SP_CSS_FONT_VARIANT_NUMERIC_NORMAL:
+ case SP_CSS_FONT_VARIANT_NUMERIC_ORDINAL:
+ case SP_CSS_FONT_VARIANT_NUMERIC_SLASHED_ZERO:
+ // Do nothing
+ break;
+
+ default:
+ std::cerr << "SPINumeric::read(): Invalid value." << std::endl;
+ break;
+ }
+ }
+ }
+ }
+ }
+ computed = value;
+}
+
+const Glib::ustring
+SPINumeric::write( guint const flags, SPIBase const *const base) const {
+
+ SPIEnum const *const my_base = dynamic_cast<const SPIEnum*>(base);
+ if ( (flags & SP_STYLE_FLAG_ALWAYS) ||
+ ((flags & SP_STYLE_FLAG_IFSET) && this->set) ||
+ ((flags & SP_STYLE_FLAG_IFDIFF) && this->set
+ && (!my_base->set || this != my_base )))
+ {
+ if (this->inherit) {
+ return (name + ":inherit;");
+ }
+ if (value == SP_CSS_FONT_VARIANT_NUMERIC_NORMAL ) {
+ return (name + ":normal;");
+ }
+
+ Glib::ustring return_string = name + ":";
+ if ( value & SP_CSS_FONT_VARIANT_NUMERIC_LINING_NUMS )
+ return_string += "lining-nums ";
+ if ( value & SP_CSS_FONT_VARIANT_NUMERIC_OLDSTYLE_NUMS )
+ return_string += "oldstyle-nums ";
+ if ( value & SP_CSS_FONT_VARIANT_NUMERIC_PROPORTIONAL_NUMS )
+ return_string += "proportional-nums ";
+ if ( value & SP_CSS_FONT_VARIANT_NUMERIC_TABULAR_NUMS )
+ return_string += "tabular-nums ";
+ if ( value & SP_CSS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS )
+ return_string += "diagonal-fractions ";
+ if ( value & SP_CSS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS )
+ return_string += "stacked-fractions ";
+ if ( value & SP_CSS_FONT_VARIANT_NUMERIC_ORDINAL )
+ return_string += "ordinal ";
+ if ( value & SP_CSS_FONT_VARIANT_NUMERIC_SLASHED_ZERO )
+ return_string += "slashed-zero ";
+ return_string.erase( return_string.size() - 1 );
+ return_string += ";";
+ return return_string;
+ }
+ return Glib::ustring("");
+}
+
// SPIString ------------------------------------------------------------
@@ -1694,6 +1931,11 @@ SPIFontSize::read( gchar const *str ) {
unit = length.unit;
value = length.value;
computed = length.computed;
+ /* Set a minimum font size to something much smaller than should ever (ever!) be encountered in a real file.
+ If a bad SVG file is encountered and this is zero odd things
+ might happen because the inverse is used in some scaling actions.
+ */
+ if ( computed <= 1.0e-32 ) { computed = 1.0e-32; }
if( unit == SP_CSS_UNIT_PERCENT ) {
type = SP_FONT_SIZE_PERCENTAGE;
} else {
@@ -1774,6 +2016,11 @@ SPIFontSize::cascade( const SPIBase* const parent ) {
break;
}
}
+ /* Set a minimum font size to something much smaller than should ever (ever!) be encountered in a real file.
+ If a bad SVG file is encountered and this is zero odd things
+ might happen because the inverse is used in some scaling actions.
+ */
+ if ( computed <= 1.0e-32 ) { computed = 1.0e-32; }
} else {
std::cerr << "SPIFontSize::cascade(): Incorrect parent type" << std::endl;
}
@@ -1862,6 +2109,11 @@ SPIFontSize::merge( const SPIBase* const parent ) {
}
}
} // Relative size
+ /* Set a minimum font size to something much smaller than should ever (ever!) be encountered in a real file.
+ If a bad SVG file is encountered and this is zero odd things
+ might happen because the inverse is used in some scaling actions.
+ */
+ if ( computed <= 1.0e-32 ) { computed = 1.0e-32; }
} // Parent set and not inherit
} else {
std::cerr << "SPIFontSize::merge(): Incorrect parent type" << std::endl;
diff --git a/src/style-internal.h b/src/style-internal.h
index a8f0c5096..bd2a92c8c 100644
--- a/src/style-internal.h
+++ b/src/style-internal.h
@@ -510,6 +510,77 @@ private:
};
+/// SPIEnum w/ bits, allows values with multiple key words.
+class SPIEnumBits : public SPIEnum
+{
+
+public:
+ SPIEnumBits() :
+ SPIEnum( "anonymous_enumbits", NULL )
+ {}
+
+ SPIEnumBits( Glib::ustring const &name, SPStyleEnum const *enums, unsigned value = 0, bool inherits = true ) :
+ SPIEnum( name, enums, value, inherit )
+ {}
+
+ virtual ~SPIEnumBits()
+ {}
+
+ virtual void read( gchar const *str );
+ virtual const Glib::ustring write( guint const flags = SP_STYLE_FLAG_IFSET,
+ SPIBase const *const base = NULL ) const;
+
+};
+
+
+/// SPIEnum w/ extra bits. The 'font-variants-ligatures' property is a complete mess that needs
+/// special handling. For OpenType fonts the values 'common-ligatures', 'contextual',
+/// 'no-discretionary-ligatures', and 'no-historical-ligatures' are not useful but we still must be
+/// able to parse them.
+class SPILigatures : public SPIEnum
+{
+
+public:
+ SPILigatures() :
+ SPIEnum( "anonymous_enumligatures", NULL )
+ {}
+
+ SPILigatures( Glib::ustring const &name, SPStyleEnum const *enums) :
+ SPIEnum( name, enums, SP_CSS_FONT_VARIANT_NORMAL )
+ {}
+
+ virtual ~SPILigatures()
+ {}
+
+ virtual void read( gchar const *str );
+ virtual const Glib::ustring write( guint const flags = SP_STYLE_FLAG_IFSET,
+ SPIBase const *const base = NULL ) const;
+};
+
+
+/// SPIEnum w/ extra bits. The 'font-variants-numeric' property is a complete mess that needs
+/// special handling. Multiple key words can be specified, some exclusive of others.
+class SPINumeric : public SPIEnum
+{
+
+public:
+ SPINumeric() :
+ SPIEnum( "anonymous_enumnumeric", NULL )
+ {}
+
+ SPINumeric( Glib::ustring const &name, SPStyleEnum const *enums) :
+ SPIEnum( name, enums, SP_CSS_FONT_VARIANT_NUMERIC_NORMAL )
+ {}
+
+ virtual ~SPINumeric()
+ {}
+
+ virtual void read( gchar const *str );
+ virtual const Glib::ustring write( guint const flags = SP_STYLE_FLAG_IFSET,
+ SPIBase const *const base = NULL ) const;
+};
+
+
/// String type internal to SPStyle.
// Used for 'marker', ..., 'font', 'font-family', 'inkscape-font-specification'
class SPIString : public SPIBase
diff --git a/src/style-test.h b/src/style-test.h
index cd6769b24..c6bb665e0 100644
--- a/src/style-test.h
+++ b/src/style-test.h
@@ -109,13 +109,13 @@ public:
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"),
+ "font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80%;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%;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"),
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"),
+ "font-style:normal;font-variant:small-caps;font-weight:normal;font-stretch:normal;font-size:120%;line-height:120%;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:16px;line-height:normal;font-family:\'Helvetica Neue\', serif"),
@@ -137,6 +137,34 @@ public:
TestCase("font-weight:bolder"),
TestCase("font-stretch:condensed"), // SPIEnum
+ TestCase("font-variant-ligatures:none"), // SPILigatures
+ TestCase("font-variant-ligatures:normal"),
+ TestCase("font-variant-ligatures:no-common-ligatures"),
+ TestCase("font-variant-ligatures:discretionary-ligatures"),
+ TestCase("font-variant-ligatures:historical-ligatures"),
+ TestCase("font-variant-ligatures:no-contextual"),
+ TestCase("font-variant-ligatures:common-ligatures", "font-variant-ligatures:normal"),
+ TestCase("font-variant-ligatures:contextual", "font-variant-ligatures:normal"),
+ TestCase("font-variant-ligatures:no-common-ligatures historical-ligatures"),
+ TestCase("font-variant-ligatures:historical-ligatures no-contextual"),
+ TestCase("font-variant-position:normal"),
+ TestCase("font-variant-position:sub"),
+ TestCase("font-variant-position:super"),
+ TestCase("font-variant-caps:normal"),
+ TestCase("font-variant-caps:small-caps"),
+ TestCase("font-variant-caps:all-small-caps"),
+ TestCase("font-variant-numeric:normal"),
+ TestCase("font-variant-numeric:lining-nums"),
+ TestCase("font-variant-numeric:oldstyle-nums"),
+ TestCase("font-variant-numeric:proportional-nums"),
+ TestCase("font-variant-numeric:tabular-nums"),
+ TestCase("font-variant-numeric:diagonal-fractions"),
+ TestCase("font-variant-numeric:stacked-fractions"),
+ TestCase("font-variant-numeric:ordinal"),
+ TestCase("font-variant-numeric:slashed-zero"),
+ TestCase("font-variant-numeric:tabular-nums slashed-zero"),
+ TestCase("font-variant-numeric:tabular-nums proportional-nums", "font-variant-numeric:proportional-nums"),
+
// Should be moved down
TestCase("text-indent:12em"), // SPILength?
TestCase("text-align:center"), // SPIEnum
diff --git a/src/style.cpp b/src/style.cpp
index 49a13604b..b218f4e4d 100644
--- a/src/style.cpp
+++ b/src/style.cpp
@@ -119,10 +119,10 @@ SPStyle::SPStyle(SPDocument *document_in, SPObject *object_in) :
font_specification( "-inkscape-font-specification" ), // SPIString
// Font variants
- font_variant_ligatures( "font-variant-ligatures", enum_font_variant_ligatures, SP_CSS_FONT_VARIANT_LIGATURES_NORMAL ),
+ font_variant_ligatures( "font-variant-ligatures", enum_font_variant_ligatures ),
font_variant_position( "font-variant-position", enum_font_variant_position, SP_CSS_FONT_VARIANT_POSITION_NORMAL ),
font_variant_caps( "font-variant-caps", enum_font_variant_caps, SP_CSS_FONT_VARIANT_CAPS_NORMAL ),
- font_variant_numeric( "font-variant-numeric", enum_font_variant_numeric, SP_CSS_FONT_VARIANT_NUMERIC_NORMAL ),
+ font_variant_numeric( "font-variant-numeric", enum_font_variant_numeric ),
font_variant_alternates("font-variant-alternates", enum_font_variant_alternates, SP_CSS_FONT_VARIANT_ALTERNATES_NORMAL ),
font_variant_east_asian("font-variant-east_asian", enum_font_variant_east_asian, SP_CSS_FONT_VARIANT_EAST_ASIAN_NORMAL ),
font_feature_settings( "font-feature-settings", "normal" ),
diff --git a/src/style.h b/src/style.h
index 2618662f5..8e22b3121 100644
--- a/src/style.h
+++ b/src/style.h
@@ -113,13 +113,13 @@ public:
/* Font variants -------------------- */
/** Font variant ligatures */
- SPIEnum font_variant_ligatures;
+ SPILigatures font_variant_ligatures;
/** Font variant position (subscript/superscript) */
SPIEnum font_variant_position;
/** Font variant caps (small caps) */
SPIEnum font_variant_caps;
/** Font variant numeric (numerical formatting) */
- SPIEnum font_variant_numeric;
+ SPINumeric font_variant_numeric;
/** Font variant alternates (alternates/swatches) */
SPIEnum font_variant_alternates;
/** Font variant East Asian */
diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt
index 991d11feb..fbf25d039 100644
--- a/src/ui/CMakeLists.txt
+++ b/src/ui/CMakeLists.txt
@@ -6,6 +6,7 @@ set(ui_SRC
interface.cpp
object-edit.cpp
previewholder.cpp
+ selected-color.cpp
shape-editor.cpp
tool-factory.cpp
tools-switch.cpp
@@ -115,13 +116,20 @@ set(ui_SRC
widget/anchor-selector.cpp
widget/button.cpp
widget/clipmaskicon.cpp
+ widget/color-entry.cpp
+ widget/color-icc-selector.cpp
+ widget/color-notebook.cpp
widget/color-picker.cpp
widget/color-preview.cpp
+ widget/color-scales.cpp
+ widget/color-slider.cpp
+ widget/color-wheel-selector.cpp
widget/dock-item.cpp
widget/dock.cpp
widget/entity-entry.cpp
widget/entry.cpp
widget/filter-effect-chooser.cpp
+ widget/font-variants.cpp
widget/frame.cpp
widget/gimpcolorwheel.c
widget/gimpspinscale.c
@@ -174,6 +182,7 @@ set(ui_SRC
previewable.h
previewfillable.h
previewholder.h
+ selected-color.h
shape-editor.h
tool-factory.h
tools-switch.h
@@ -287,14 +296,21 @@ set(ui_SRC
widget/anchor-selector.h
widget/attr-widget.h
widget/button.h
+ widget/color-entry.h
+ widget/color-icc-selector.h
+ widget/color-notebook.h
widget/color-picker.h
widget/color-preview.h
+ widget/color-scales.h
+ widget/color-slider.h
+ widget/color-wheel-selector.h
widget/combo-enums.h
widget/dock-item.h
widget/dock.h
widget/entity-entry.h
widget/entry.h
widget/filter-effect-chooser.h
+ widget/font-variants.h
widget/frame.h
widget/gimpspinscale.h
widget/gimpcolorwheel.h
diff --git a/src/ui/Makefile_insert b/src/ui/Makefile_insert
index f94cba4e9..bbfdb532c 100644
--- a/src/ui/Makefile_insert
+++ b/src/ui/Makefile_insert
@@ -19,6 +19,8 @@ ink_common_sources += \
ui/previewfillable.h \
ui/previewholder.cpp \
ui/previewholder.h \
+ ui/selected-color.h \
+ ui/selected-color.cpp \
ui/shape-editor.cpp \
ui/shape-editor.h \
ui/tool-factory.cpp \
diff --git a/src/ui/dialog/layers.cpp b/src/ui/dialog/layers.cpp
index 65351cb68..c6888386f 100644
--- a/src/ui/dialog/layers.cpp
+++ b/src/ui/dialog/layers.cpp
@@ -713,13 +713,21 @@ bool LayersPanel::_handleDragDrop(const Glib::RefPtr<Gdk::DragContext>& /*contex
*/
void LayersPanel::_doTreeMove( )
{
- if (_dnd_source ) {
+ if (_dnd_source && _dnd_source->getRepr() ) {
+ if(!_dnd_target){
+ _dnd_source->doWriteTransform(_dnd_source->getRepr(), _dnd_source->document->getRoot()->i2doc_affine().inverse() * _dnd_source->i2doc_affine());
+ }else{
+ SPItem* parent = _dnd_into ? _dnd_target : dynamic_cast<SPItem*>(_dnd_target->parent);
+ if(parent){
+ Geom::Affine move = parent->i2doc_affine().inverse() * _dnd_source->i2doc_affine();
+ _dnd_source->doWriteTransform(_dnd_source->getRepr(), move);
+ }
+ }
_dnd_source->moveTo(_dnd_target, _dnd_into);
_selectLayer(_dnd_source);
_dnd_source = NULL;
DocumentUndo::done( _desktop->doc() , SP_VERB_NONE,
_("Moved layer"));
-
}
}
diff --git a/src/ui/dialog/lpe-fillet-chamfer-properties.cpp b/src/ui/dialog/lpe-fillet-chamfer-properties.cpp
index f63b19e86..061055feb 100644
--- a/src/ui/dialog/lpe-fillet-chamfer-properties.cpp
+++ b/src/ui/dialog/lpe-fillet-chamfer-properties.cpp
@@ -27,7 +27,6 @@
#include "selection-chemistry.h"
#include "ui/icon-names.h"
#include "ui/widget/imagetoggler.h"
-#include "util/units.h"
#include <cmath>
//#include "event-context.h"
@@ -122,18 +121,14 @@ void FilletChamferPropertiesDialog::showDialog(
SPDesktop *desktop, Geom::Point knotpoint,
const Inkscape::LivePathEffect::
FilletChamferPointArrayParamKnotHolderEntity *pt,
- const gchar *unit,
bool use_distance,
- bool aprox_radius,
- Glib::ustring documentUnit)
+ bool aprox_radius)
{
FilletChamferPropertiesDialog *dialog = new FilletChamferPropertiesDialog();
dialog->_set_desktop(desktop);
- dialog->_set_unit(unit);
dialog->_set_use_distance(use_distance);
dialog->_set_aprox(aprox_radius);
- dialog->_set_document_unit(documentUnit);
dialog->_set_knot_point(knotpoint);
dialog->_set_pt(pt);
@@ -168,7 +163,6 @@ void FilletChamferPropertiesDialog::_apply()
}
d_pos = _index + (d_pos / 100);
} else {
- d_pos = Inkscape::Util::Quantity::convert(d_pos, unit, document_unit);
d_pos = d_pos * -1;
}
_knotpoint->knot_set_offset(Geom::Point(d_pos, d_width));
@@ -218,11 +212,9 @@ void FilletChamferPropertiesDialog::_set_knot_point(Geom::Point knotpoint)
_fillet_chamfer_position_label.set_label(_("Position (%):"));
} else {
_flexible = false;
- std::string posConcat = Glib::ustring::compose (_("%1 (%2):"), distance_or_radius, unit);
+ std::string posConcat = Glib::ustring::compose (_("%1:"), distance_or_radius);
_fillet_chamfer_position_label.set_label(_(posConcat.c_str()));
position = knotpoint[Geom::X] * -1;
-
- position = Inkscape::Util::Quantity::convert(position, document_unit, unit);
}
_fillet_chamfer_position_numeric.set_value(position);
if (knotpoint.y() == 1) {
@@ -247,16 +239,6 @@ void FilletChamferPropertiesDialog::_set_pt(
pt);
}
-void FilletChamferPropertiesDialog::_set_unit(const gchar *abbr)
-{
- unit = abbr;
-}
-
-void FilletChamferPropertiesDialog::_set_document_unit(Glib::ustring abbr)
-{
- document_unit = abbr;
-}
-
void FilletChamferPropertiesDialog::_set_use_distance(bool use_knot_distance)
{
use_distance = use_knot_distance;
diff --git a/src/ui/dialog/lpe-fillet-chamfer-properties.h b/src/ui/dialog/lpe-fillet-chamfer-properties.h
index 870a1734f..99494bd63 100644
--- a/src/ui/dialog/lpe-fillet-chamfer-properties.h
+++ b/src/ui/dialog/lpe-fillet-chamfer-properties.h
@@ -30,10 +30,8 @@ public:
static void showDialog(SPDesktop *desktop, Geom::Point knotpoint,
const Inkscape::LivePathEffect::
FilletChamferPointArrayParamKnotHolderEntity *pt,
- const gchar *unit,
bool use_distance,
- bool aprox_radius,
- Glib::ustring documentUnit);
+ bool aprox_radius);
protected:
@@ -68,15 +66,11 @@ protected:
void _set_desktop(SPDesktop *desktop);
void _set_pt(const Inkscape::LivePathEffect::
FilletChamferPointArrayParamKnotHolderEntity *pt);
- void _set_unit(const gchar *abbr);
- void _set_document_unit(Glib::ustring abbr);
void _set_use_distance(bool use_knot_distance);
void _set_aprox(bool aprox_radius);
void _apply();
void _close();
bool _flexible;
- const gchar *unit;
- Glib::ustring document_unit;
bool use_distance;
bool aprox;
void _set_knot_point(Geom::Point knotpoint);
diff --git a/src/ui/dialog/object-properties.cpp b/src/ui/dialog/object-properties.cpp
index fc21a30d4..75430ed44 100644
--- a/src/ui/dialog/object-properties.cpp
+++ b/src/ui/dialog/object-properties.cpp
@@ -529,10 +529,12 @@ void ObjectProperties::_imageRenderingChanged()
SPCSSAttr *css = sp_repr_css_attr_new();
sp_repr_css_set_property(css, "image-rendering", scale.c_str());
Inkscape::XML::Node *image_node = item->getRepr();
- if( image_node ) {
+ if (image_node) {
sp_repr_css_change(image_node, css, "style");
+ DocumentUndo::done(SP_ACTIVE_DOCUMENT, SP_VERB_DIALOG_ITEM,
+ _("Set image rendering option"));
}
- sp_repr_css_attr_unref( css );
+ sp_repr_css_attr_unref(css);
_blocked = false;
}
diff --git a/src/ui/dialog/objects.cpp b/src/ui/dialog/objects.cpp
index 781c6ef93..be04e7149 100644
--- a/src/ui/dialog/objects.cpp
+++ b/src/ui/dialog/objects.cpp
@@ -45,6 +45,7 @@
#include "style.h"
#include "ui/tools-switch.h"
#include "ui/icon-names.h"
+#include "ui/selected-color.h"
#include "ui/widget/imagetoggler.h"
#include "ui/widget/layertypeicon.h"
#include "ui/widget/insertordericon.h"
@@ -53,7 +54,7 @@
#include "ui/tools/node-tool.h"
#include "ui/tools/tool-base.h"
#include "verbs.h"
-#include "widgets/sp-color-notebook.h"
+#include "ui/widget/color-notebook.h"
#include "widgets/icon.h"
#include "xml/node.h"
#include "xml/node-observer.h"
@@ -928,12 +929,12 @@ bool ObjectsPanel::_handleButtonEvent(GdkEventButton* event)
//If the current item is not selected, store only it in the highlight source
_storeHighlightTarget(iter);
}
- if (_colorSelector)
+ if (_selectedColor)
{
//Set up the color selector
SPColor color;
color.set( row[_model->_colHighlight] );
- _colorSelector->base->setColorAlpha(color, SP_RGBA32_A_F(row[_model->_colHighlight]));
+ _selectedColor->setColorAlpha(color, SP_RGBA32_A_F(row[_model->_colHighlight]));
}
//Show the color selector dialog
_colorSelectorDialog.show();
@@ -1440,17 +1441,16 @@ void ObjectsPanel::_setExpanded(const Gtk::TreeModel::iterator& iter, const Gtk:
* @param csel Color selector
* @param cp Objects panel
*/
-void sp_highlight_picker_color_mod(SPColorSelector *csel, GObject * cp)
+void ObjectsPanel::_highlightPickerColorMod()
{
SPColor color;
float alpha = 0;
- csel->base->getColorAlpha(color, alpha);
+ _selectedColor->colorAlpha(color, alpha);
+
guint32 rgba = color.toRGBA32( alpha );
-
- ObjectsPanel *ptr = reinterpret_cast<ObjectsPanel *>(cp);
//Set the highlight color for all items in the _highlight_target (all selected items)
- for (std::vector<SPItem *>::iterator iter = ptr->_highlight_target.begin(); iter != ptr->_highlight_target.end(); ++iter)
+ for (std::vector<SPItem *>::iterator iter = _highlight_target.begin(); iter != _highlight_target.end(); ++iter)
{
SPItem * target = *iter;
target->setHighlightColor(rgba);
@@ -1922,18 +1922,16 @@ ObjectsPanel::ObjectsPanel() :
_colorSelectorDialog.set_title (_("Select Highlight Color"));
_colorSelectorDialog.set_border_width (4);
_colorSelectorDialog.property_modal() = true;
- _colorSelector = SP_COLOR_SELECTOR(sp_color_selector_new(SP_TYPE_COLOR_NOTEBOOK));
+ _selectedColor.reset(new Inkscape::UI::SelectedColor);
+ Gtk::Widget *color_selector = Gtk::manage(new Inkscape::UI::Widget::ColorNotebook(*_selectedColor));
_colorSelectorDialog.get_vbox()->pack_start (
- *Glib::wrap(&_colorSelector->vbox), true, true, 0);
+ *color_selector, true, true, 0);
- g_signal_connect(G_OBJECT(_colorSelector), "dragged",
- G_CALLBACK(sp_highlight_picker_color_mod), (void *)this);
- g_signal_connect(G_OBJECT(_colorSelector), "released",
- G_CALLBACK(sp_highlight_picker_color_mod), (void *)this);
- g_signal_connect(G_OBJECT(_colorSelector), "changed",
- G_CALLBACK(sp_highlight_picker_color_mod), (void *)this);
+ _selectedColor->signal_dragged.connect(sigc::mem_fun(*this, &ObjectsPanel::_highlightPickerColorMod));
+ _selectedColor->signal_released.connect(sigc::mem_fun(*this, &ObjectsPanel::_highlightPickerColorMod));
+ _selectedColor->signal_changed.connect(sigc::mem_fun(*this, &ObjectsPanel::_highlightPickerColorMod));
- gtk_widget_show(GTK_WIDGET(_colorSelector));
+ color_selector->show();
setDesktop( targetDesktop );
@@ -1951,7 +1949,6 @@ ObjectsPanel::~ObjectsPanel()
{
//Close the highlight selection dialog
_colorSelectorDialog.hide();
- _colorSelector = NULL;
//Set the desktop to null, which will disconnect all object watchers
setDesktop(NULL);
diff --git a/src/ui/dialog/objects.h b/src/ui/dialog/objects.h
index 1842fea11..7a826d02e 100644
--- a/src/ui/dialog/objects.h
+++ b/src/ui/dialog/objects.h
@@ -16,6 +16,7 @@
# include <config.h>
#endif
+#include <boost/scoped_ptr.hpp>
#include <gtkmm/box.h>
#include <gtkmm/treeview.h>
#include <gtkmm/treestore.h>
@@ -36,6 +37,9 @@ struct SPColorSelector;
namespace Inkscape {
namespace UI {
+
+class SelectedColor;
+
namespace Dialog {
@@ -166,8 +170,7 @@ private:
Gtk::Alignment _blur_alignment;
Gtk::Dialog _colorSelectorDialog;
- SPColorSelector *_colorSelector;
-
+ boost::scoped_ptr<Inkscape::UI::SelectedColor> _selectedColor;
//Methods:
@@ -233,7 +236,7 @@ private:
void setupDialog(const Glib::ustring &title);
- friend void sp_highlight_picker_color_mod(SPColorSelector *csel, GObject *cp);
+ void _highlightPickerColorMod();
};
diff --git a/src/ui/dialog/tags.cpp b/src/ui/dialog/tags.cpp
index ed71c826f..f36e3f18d 100644
--- a/src/ui/dialog/tags.cpp
+++ b/src/ui/dialog/tags.cpp
@@ -51,7 +51,7 @@
#include "ui/tools/tool-base.h" //"event-context.h"
#include "selection.h"
//#include "dialogs/dialog-events.h"
-#include "widgets/sp-color-notebook.h"
+#include "ui/widget/color-notebook.h"
#include "style.h"
#include "filter-chemistry.h"
#include "filters/blend.h"
diff --git a/src/ui/dialog/text-edit.cpp b/src/ui/dialog/text-edit.cpp
index 815aa12ef..1a696c820 100644
--- a/src/ui/dialog/text-edit.cpp
+++ b/src/ui/dialog/text-edit.cpp
@@ -69,6 +69,7 @@ TextEdit::TextEdit()
font_label(_("_Font"), true),
layout_frame(),
text_label(_("_Text"), true),
+ vari_label(_("_Variants"), true),
setasdefault_button(_("Set as _default")),
close_button(Gtk::Stock::CLOSE),
apply_button(Gtk::Stock::APPLY),
@@ -195,7 +196,8 @@ TextEdit::TextEdit()
notebook.append_page(font_vbox, font_label);
notebook.append_page(text_vbox, text_label);
-
+ notebook.append_page(vari_vbox, vari_label);
+
/* Buttons */
setasdefault_button.set_use_underline(true);
apply_button.set_can_default();
@@ -216,6 +218,7 @@ TextEdit::TextEdit()
setasdefault_button.signal_clicked().connect(sigc::mem_fun(*this, &TextEdit::onSetDefault));
apply_button.signal_clicked().connect(sigc::mem_fun(*this, &TextEdit::onApply));
close_button.signal_clicked().connect(sigc::bind(_signal_response.make_slot(), GTK_RESPONSE_CLOSE));
+ fontVariantChangedConn = vari_vbox.connectChanged(sigc::bind(sigc::ptr_fun(&onFontVariantChange), this));
desktopChangeConn = deskTrack.connectDesktopChanged( sigc::mem_fun(*this, &TextEdit::setTargetDesktop) );
deskTrack.connect(GTK_WIDGET(gobj()));
@@ -230,6 +233,7 @@ TextEdit::~TextEdit()
selectChangedConn.disconnect();
desktopChangeConn.disconnect();
deskTrack.disconnect();
+ fontVariantChangedConn.disconnect();
}
void TextEdit::styleButton(Gtk::RadioButton *button, gchar const *tooltip, gchar const *icon_name, Gtk::RadioButton *group_button )
@@ -384,6 +388,11 @@ void TextEdit::onReadSelection ( gboolean dostyle, gboolean /*docontent*/ )
gtk_entry_set_text ((GtkEntry *) gtk_bin_get_child ((GtkBin *) spacing_combo), sstr);
g_free(sstr);
+ // Update font variant widget
+ //int result_variants =
+ sp_desktop_query_style (SP_ACTIVE_DESKTOP, &query, QUERY_STYLE_PROPERTY_FONTVARIANTS);
+ vari_vbox.update( &query );
+
}
blocked = false;
}
@@ -510,12 +519,15 @@ SPCSSAttr *TextEdit::fillTextStyle ()
sp_repr_css_set_property (css, "writing-mode", "tb");
}
- // Note that CSS 1.1 does not support line-height; we set it for consistency, but also set
+ // Note that SVG 1.1 does not support line-height; we set it for consistency, but also set
// sodipodi:linespacing for backwards compatibility; in 1.2 we use line-height for flowtext
const gchar *sstr = gtk_combo_box_text_get_active_text ((GtkComboBoxText *) spacing_combo);
sp_repr_css_set_property (css, "line-height", sstr);
+ // Font variants
+ vari_vbox.fill_css( css );
+
return css;
}
@@ -646,6 +658,19 @@ void TextEdit::onFontChange(SPFontSelector * /*fontsel*/, gchar* fontspec, TextE
}
+void TextEdit::onFontVariantChange(TextEdit *self)
+{
+ if( self->blocked )
+ return;
+
+ SPItem *text = self->getSelectedTextItem ();
+
+ if (text) {
+ self->apply_button.set_sensitive ( true );
+ }
+ self->setasdefault_button.set_sensitive ( true );
+}
+
void TextEdit::onStartOffsetChange(GtkTextBuffer * /*text_buffer*/, TextEdit *self)
{
SPItem *text = self->getSelectedTextItem();
diff --git a/src/ui/dialog/text-edit.h b/src/ui/dialog/text-edit.h
index 117ad2e28..41f89b3e7 100644
--- a/src/ui/dialog/text-edit.h
+++ b/src/ui/dialog/text-edit.h
@@ -32,9 +32,11 @@
#include "ui/widget/panel.h"
#include "ui/widget/frame.h"
#include "ui/dialog/desktop-tracker.h"
+#include "ui/widget/font-variants.h"
class SPItem;
struct SPFontSelector;
+class FontVariants;
class font_instance;
class SPCSSAttr;
@@ -111,6 +113,17 @@ protected:
static void onFontChange (SPFontSelector *fontsel, gchar* fontspec, TextEdit *self);
/**
+ * Callback invoked when the user modifies the font variant through the dialog.
+ *
+ * onFontChange updates the dialog UI. The subfunction setPreviewText updates the preview label.
+ *
+ * @param fontsel pointer to FontVariant (currently not used).
+ * @param fontspec for the text to be previewed.
+ * @param self pointer to the current instance of the dialog.
+ */
+ static void onFontVariantChange (TextEdit *self);
+
+ /**
* Callback invoked when the user modifies the startOffset of text on a path.
*
* @param text_buffer pointer to the GtkTextBuffer with the text of the selected text object.
@@ -213,6 +226,9 @@ private:
GtkWidget *text_view; // TODO - Convert this to a Gtk::TextView, but GtkSpell doesn't seem to work with it
GtkTextBuffer *text_buffer;
+ Inkscape::UI::Widget::FontVariants vari_vbox;
+ Gtk::Label vari_label;
+
Gtk::HBox button_row;
Gtk::Button setasdefault_button;
Gtk::Button close_button;
@@ -224,6 +240,7 @@ private:
sigc::connection selectChangedConn;
sigc::connection subselChangedConn;
sigc::connection selectModifiedConn;
+ sigc::connection fontVariantChangedConn;
bool blocked;
const Glib::ustring samplephrase;
diff --git a/src/ui/selected-color.cpp b/src/ui/selected-color.cpp
new file mode 100644
index 000000000..8c37ee7e0
--- /dev/null
+++ b/src/ui/selected-color.cpp
@@ -0,0 +1,163 @@
+/** @file
+ * Color selected in color selector widget.
+ * This file was created during the refactoring of SPColorSelector
+ *//*
+ * Authors:
+ * bulia byak <buliabyak@users.sf.net>
+ * Jon A. Cruz <jon@joncruz.org>
+ * Tomasz Boczkowski <penginsbacon@gmail.com>
+ *
+ * Copyright (C) 2014 Authors
+ * Released under GNU GPL, read the file 'COPYING' for more information
+ */
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <glibmm/ustring.h>
+#include <cmath>
+
+#include "svg/svg-icc-color.h"
+#include "ui/selected-color.h"
+
+namespace Inkscape {
+namespace UI {
+
+double const SelectedColor::_EPSILON = 1e-4;
+
+SelectedColor::SelectedColor()
+ : _color(0)
+ , _alpha(1.0)
+ , _held(false)
+ , _virgin(true)
+ , _updating(false)
+{
+
+}
+
+SelectedColor::~SelectedColor() {
+
+}
+
+void SelectedColor::setColor(SPColor const &color)
+{
+ setColorAlpha( color, _alpha);
+}
+
+SPColor SelectedColor::color() const
+{
+ return _color;
+}
+
+void SelectedColor::setAlpha(gfloat alpha)
+{
+ g_return_if_fail( ( 0.0 <= alpha ) && ( alpha <= 1.0 ) );
+ setColorAlpha( _color, alpha);
+}
+
+gfloat SelectedColor::alpha() const
+{
+ return _alpha;
+}
+
+void SelectedColor::setValue(guint32 value)
+{
+ SPColor color(value);
+ gfloat alpha = SP_RGBA32_A_F(value);
+ setColorAlpha(color, alpha);
+}
+
+guint32 SelectedColor::value() const
+{
+ return color().toRGBA32(_alpha);
+}
+
+void SelectedColor::setColorAlpha(SPColor const &color, gfloat alpha, bool emit_signal)
+{
+#ifdef DUMP_CHANGE_INFO
+ g_message("SelectedColor::setColorAlpha( this=%p, %f, %f, %f, %s, %f, %s)", this, color.v.c[0], color.v.c[1], color.v.c[2], (color.icc?color.icc->colorProfile.c_str():"<null>"), alpha, (emit_signal?"YES":"no"));
+#endif
+ g_return_if_fail( ( 0.0 <= alpha ) && ( alpha <= 1.0 ) );
+
+ if (_updating) {
+ return;
+ }
+
+#ifdef DUMP_CHANGE_INFO
+ g_message("---- SelectedColor::setColorAlpha virgin:%s !close:%s alpha is:%s",
+ (_virgin?"YES":"no"),
+ (!color.isClose( _color, _EPSILON )?"YES":"no"),
+ ((fabs((_alpha) - (alpha)) >= _EPSILON )?"YES":"no")
+ );
+#endif
+
+ if ( _virgin || !color.isClose( _color, _EPSILON ) ||
+ (fabs((_alpha) - (alpha)) >= _EPSILON )) {
+
+ _virgin = false;
+
+ _color = color;
+ _alpha = alpha;
+
+ if (emit_signal)
+ {
+ _updating = true;
+ if (_held) {
+ signal_dragged.emit();
+ } else {
+ signal_changed.emit();
+ }
+ _updating = false;
+ }
+
+#ifdef DUMP_CHANGE_INFO
+ } else {
+ g_message("++++ SelectedColor::setColorAlpha color:%08x ==> _color:%08X isClose:%s", color.toRGBA32(alpha), _color.toRGBA32(_alpha),
+ (color.isClose( _color, _EPSILON )?"YES":"no"));
+#endif
+ }
+}
+
+void SelectedColor::colorAlpha(SPColor &color, gfloat &alpha) const {
+ color = _color;
+ alpha = _alpha;
+}
+
+void SelectedColor::setHeld(bool held) {
+ if (_updating) {
+ return;
+ }
+ bool grabbed = held && !_held;
+ bool released = !held && _held;
+
+ _held = held;
+
+ _updating = true;
+ if (grabbed) {
+ signal_grabbed.emit();
+ }
+
+ if (released) {
+ signal_released.emit();
+ signal_changed.emit();
+ }
+ _updating = false;
+}
+
+void SelectedColor::preserveICC() {
+ _color.icc = _color.icc ? new SVGICCColor(*_color.icc) : 0;
+}
+
+}
+}
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/ui/selected-color.h b/src/ui/selected-color.h
new file mode 100644
index 000000000..e9e702d43
--- /dev/null
+++ b/src/ui/selected-color.h
@@ -0,0 +1,96 @@
+/** @file
+ * Color selected in color selector widget.
+ * This file was created during the refactoring of SPColorSelector
+ *//*
+ * Authors:
+ * bulia byak <buliabyak@users.sf.net>
+ * Jon A. Cruz <jon@joncruz.org>
+ * Tomasz Boczkowski <penginsbacon@gmail.com>
+ *
+ * Copyright (C) 2014 Authors
+ * Released under GNU GPL, read the file 'COPYING' for more information
+ */
+#ifndef SEEN_SELECTED_COLOR
+#define SEEN_SELECTED_COLOR
+
+#include <sigc++/signal.h>
+#include "color.h"
+
+namespace Gtk
+{
+ class Widget;
+}
+
+namespace Inkscape {
+namespace UI {
+
+class SelectedColor {
+public:
+ SelectedColor();
+ virtual ~SelectedColor();
+
+ void setColor(SPColor const &color);
+ SPColor color() const;
+
+ void setAlpha(gfloat alpha);
+ gfloat alpha() const;
+
+ void setValue(guint32 value);
+ guint32 value() const;
+
+ void setColorAlpha(SPColor const &color, gfloat alpha, bool emit_signal = true);
+ void colorAlpha(SPColor &color, gfloat &alpha) const;
+
+ void setHeld(bool held);
+
+ void preserveICC();
+
+ sigc::signal<void> signal_grabbed;
+ sigc::signal<void> signal_dragged;
+ sigc::signal<void> signal_released;
+ sigc::signal<void> signal_changed;
+private:
+ // By default, disallow copy constructor and assignment operator
+ SelectedColor(SelectedColor const &obj);
+ SelectedColor& operator=(SelectedColor const &obj);
+
+ SPColor _color;
+ /**
+ * Color alpha value guaranteed to be in [0, 1].
+ */
+ gfloat _alpha;
+
+ bool _held;
+ /**
+ * This flag is true if no color is set yet
+ */
+ bool _virgin;
+
+ bool _updating;
+
+ static double const _EPSILON;
+};
+
+class ColorSelectorFactory {
+public:
+ virtual ~ColorSelectorFactory() {
+ }
+
+ virtual Gtk::Widget* createWidget(SelectedColor &color) const = 0;
+ virtual Glib::ustring modeName() const = 0;
+};
+
+}
+}
+
+#endif
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/ui/widget/Makefile_insert b/src/ui/widget/Makefile_insert
index e18b790bd..eb98e6872 100644
--- a/src/ui/widget/Makefile_insert
+++ b/src/ui/widget/Makefile_insert
@@ -6,10 +6,22 @@ ink_common_sources += \
ui/widget/attr-widget.h \
ui/widget/button.h \
ui/widget/button.cpp \
+ ui/widget/color-entry.cpp \
+ ui/widget/color-entry.h \
+ ui/widget/color-icc-selector.cpp \
+ ui/widget/color-icc-selector.h \
+ ui/widget/color-notebook.cpp \
+ ui/widget/color-notebook.h \
+ ui/widget/color-wheel-selector.cpp \
+ ui/widget/color-wheel-selector.h \
ui/widget/color-picker.cpp \
ui/widget/color-picker.h \
ui/widget/color-preview.cpp \
ui/widget/color-preview.h \
+ ui/widget/color-slider.cpp \
+ ui/widget/color-slider.h \
+ ui/widget/color-scales.cpp \
+ ui/widget/color-scales.h \
ui/widget/combo-enums.h \
ui/widget/dock.h \
ui/widget/dock.cpp \
@@ -21,8 +33,10 @@ ink_common_sources += \
ui/widget/entry.h \
ui/widget/filter-effect-chooser.h \
ui/widget/filter-effect-chooser.cpp \
- ui/widget/gimpspinscale.c \
- ui/widget/gimpspinscale.h \
+ ui/widget/font-variants.h \
+ ui/widget/font-variants.cpp \
+ ui/widget/gimpspinscale.c \
+ ui/widget/gimpspinscale.h \
ui/widget/gimpcolorwheel.c \
ui/widget/gimpcolorwheel.h \
ui/widget/frame.cpp \
diff --git a/src/ui/widget/color-entry.cpp b/src/ui/widget/color-entry.cpp
new file mode 100644
index 000000000..f5658c3a6
--- /dev/null
+++ b/src/ui/widget/color-entry.cpp
@@ -0,0 +1,114 @@
+/** @file
+ * Entry widget for typing color value in css form
+ *//*
+ * Authors:
+ * Tomasz Boczkowski <penginsbacon@gmail.com>
+ *
+ * Copyright (C) 2014 Authors
+ * Released under GNU GPL, read the file 'COPYING' for more information
+ */
+#include <glibmm.h>
+#include <glibmm/i18n.h>
+#include <iomanip>
+
+#include "color-entry.h"
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+ColorEntry::ColorEntry(SelectedColor &color)
+ : _color(color)
+ , _updating(false)
+ , _updatingrgba(false)
+{
+ _color_changed_connection = color.signal_changed.connect(sigc::mem_fun(this, &ColorEntry::_onColorChanged));
+ _color_dragged_connection = color.signal_dragged.connect(sigc::mem_fun(this, &ColorEntry::_onColorChanged));
+ _onColorChanged();
+
+ set_max_length(8);
+ set_width_chars(8);
+ set_tooltip_text(_("Hexadecimal RGBA value of the color"));
+}
+
+ColorEntry::~ColorEntry()
+{
+ _color_changed_connection.disconnect();
+ _color_dragged_connection.disconnect();
+}
+
+void ColorEntry::on_changed()
+{
+ if (_updating) {
+ return;
+ }
+ if (_updatingrgba) {
+ return; // Typing text into entry box
+ }
+
+ Glib::ustring text = get_text();
+ bool changed = false;
+
+ // Coerce the value format to eight hex digits
+ if (!text.empty() && text[0] == '#') {
+ changed = true;
+ text.erase(0, 1);
+ if (text.size() == 6) {
+ // it was a standard RGB hex
+ unsigned int alpha = SP_COLOR_F_TO_U(_color.alpha());
+ text += Glib::ustring::format(std::hex, std::setw(2), std::setfill(L'0'), alpha);
+ }
+ }
+
+ gchar *str = g_strdup(text.c_str());
+ gchar *end = 0;
+ guint64 rgba = g_ascii_strtoull(str, &end, 16);
+ if (end != str) {
+ ptrdiff_t len = end - str;
+ if (len < 8) {
+ rgba = rgba << (4 * (8 - len));
+ }
+ _updatingrgba = true;
+ if (changed) {
+ set_text(str);
+ }
+ SPColor color(rgba);
+ _color.setColorAlpha(color, SP_RGBA32_A_F(rgba));
+ _updatingrgba = false;
+ }
+ g_free(str);
+}
+
+
+void ColorEntry::_onColorChanged()
+{
+ if (_updatingrgba) {
+ return;
+ }
+
+ SPColor color = _color.color();
+ gdouble alpha = _color.alpha();
+
+ guint32 rgba = color.toRGBA32(alpha);
+ Glib::ustring text = Glib::ustring::format(std::hex, std::setw(8), std::setfill(L'0'), rgba);
+
+ Glib::ustring old_text = get_text();
+ if (old_text != text) {
+ _updating = true;
+ set_text(text);
+ _updating = false;
+ }
+}
+}
+}
+}
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/ui/widget/color-entry.h b/src/ui/widget/color-entry.h
new file mode 100644
index 000000000..edabe1980
--- /dev/null
+++ b/src/ui/widget/color-entry.h
@@ -0,0 +1,54 @@
+/** @file
+ * Entry widget for typing color value in css form
+ *//*
+ * Authors:
+ * Tomasz Boczkowski <penginsbacon@gmail.com>
+ *
+ * Copyright (C) 2014 Authors
+ * Released under GNU GPL, read the file 'COPYING' for more information
+ */
+
+#ifndef SEEN_COLOR_ENTRY_H
+#define SEEN_COLOR_ENTRY_H_
+
+#include <gtkmm/entry.h>
+#include "ui/selected-color.h"
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+class ColorEntry : public Gtk::Entry
+{
+public:
+ ColorEntry(SelectedColor &color);
+ virtual ~ColorEntry();
+
+protected:
+ void on_changed();
+
+private:
+ void _onColorChanged();
+
+ SelectedColor &_color;
+ sigc::connection _color_changed_connection;
+ sigc::connection _color_dragged_connection;
+ bool _updating;
+ bool _updatingrgba;
+};
+
+}
+}
+}
+
+#endif
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/ui/widget/color-icc-selector.cpp b/src/ui/widget/color-icc-selector.cpp
new file mode 100644
index 000000000..1c31ae33a
--- /dev/null
+++ b/src/ui/widget/color-icc-selector.cpp
@@ -0,0 +1,1079 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <math.h>
+#include <gtkmm/adjustment.h>
+#include <glibmm/i18n.h>
+
+#include <gtk/gtk.h>
+#include <map>
+#include <set>
+#include <vector>
+
+#include "ui/dialog-events.h"
+#include "ui/widget/color-icc-selector.h"
+#include "ui/widget/color-scales.h"
+#include "ui/widget/color-slider.h"
+#include "svg/svg-icc-color.h"
+#include "colorspace.h"
+#include "document.h"
+#include "inkscape.h"
+#include "profile-manager.h"
+#include "widgets/gradient-vector.h"
+
+#define noDEBUG_LCMS
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+#include "color-profile.h"
+#include "cms-system.h"
+#include "color-profile-cms-fns.h"
+
+#ifdef DEBUG_LCMS
+#include "preferences.h"
+#endif // DEBUG_LCMS
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+
+#ifdef DEBUG_LCMS
+extern guint update_in_progress;
+#define DEBUG_MESSAGE(key, ...) \
+ { \
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get(); \
+ bool dump = prefs->getBool("/options/scislac/" #key); \
+ bool dumpD = prefs->getBool("/options/scislac/" #key "D"); \
+ bool dumpD2 = prefs->getBool("/options/scislac/" #key "D2"); \
+ dumpD && = ((update_in_progress == 0) || dumpD2); \
+ if (dump) { \
+ g_message(__VA_ARGS__); \
+ } \
+ if (dumpD) { \
+ GtkWidget *dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, \
+ GTK_BUTTONS_OK, __VA_ARGS__); \
+ g_signal_connect_swapped(dialog, "response", G_CALLBACK(gtk_widget_destroy), dialog); \
+ gtk_widget_show_all(dialog); \
+ } \
+ }
+#endif // DEBUG_LCMS
+
+
+#define XPAD 4
+#define YPAD 1
+
+namespace {
+
+size_t maxColorspaceComponentCount = 0;
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+
+/**
+ * Internal variable to track all known colorspaces.
+ */
+std::set<cmsUInt32Number> knownColorspaces;
+
+#endif
+
+
+/**
+ * Simple helper to allow bitwise or on GtkAttachOptions.
+ */
+GtkAttachOptions operator|(GtkAttachOptions lhs, GtkAttachOptions rhs)
+{
+ return static_cast<GtkAttachOptions>(static_cast<int>(lhs) | static_cast<int>(rhs));
+}
+
+/**
+ * Helper function to handle GTK2/GTK3 attachment #ifdef code.
+ */
+void attachToGridOrTable(GtkWidget *parent, GtkWidget *child, guint left, guint top, guint width, guint height,
+ bool hexpand = false, bool centered = false, guint xpadding = XPAD, guint ypadding = YPAD)
+{
+#if GTK_CHECK_VERSION(3, 0, 0)
+ #if GTK_CHECK_VERSION(3, 12, 0)
+ gtk_widget_set_margin_start(child, xpadding);
+ gtk_widget_set_margin_end(child, xpadding);
+ #else
+ gtk_widget_set_margin_left(child, xpadding);
+ gtk_widget_set_margin_right(child, xpadding);
+ #endif
+
+ gtk_widget_set_margin_top(child, ypadding);
+ gtk_widget_set_margin_bottom(child, ypadding);
+ if (hexpand) {
+ gtk_widget_set_hexpand(child, TRUE);
+ }
+ if (centered) {
+ gtk_widget_set_halign(child, GTK_ALIGN_CENTER);
+ gtk_widget_set_valign(child, GTK_ALIGN_CENTER);
+ }
+ gtk_grid_attach(GTK_GRID(parent), child, left, top, width, height);
+#else
+ GtkAttachOptions xoptions =
+ centered ? static_cast<GtkAttachOptions>(0) : hexpand ? (GTK_EXPAND | GTK_FILL) : GTK_FILL;
+ GtkAttachOptions yoptions = centered ? static_cast<GtkAttachOptions>(0) : GTK_FILL;
+
+ gtk_table_attach(GTK_TABLE(parent), child, left, left + width, top, top + height, xoptions, yoptions, xpadding,
+ ypadding);
+#endif
+}
+
+} // namespace
+
+/*
+icSigRgbData
+icSigCmykData
+icSigCmyData
+*/
+#define SPACE_ID_RGB 0
+#define SPACE_ID_CMY 1
+#define SPACE_ID_CMYK 2
+
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+static cmsUInt16Number *getScratch()
+{
+ // bytes per pixel * input channels * width
+ static cmsUInt16Number *scritch = static_cast<cmsUInt16Number *>(g_new(cmsUInt16Number, 4 * 1024));
+
+ return scritch;
+}
+
+colorspace::Component::Component()
+ : name()
+ , tip()
+ , scale(1)
+{
+}
+
+colorspace::Component::Component(std::string const &name, std::string const &tip, guint scale)
+ : name(name)
+ , tip(tip)
+ , scale(scale)
+{
+}
+
+std::vector<colorspace::Component> colorspace::getColorSpaceInfo(uint32_t space)
+{
+ static std::map<cmsUInt32Number, std::vector<Component> > sets;
+ if (sets.empty()) {
+ sets[cmsSigXYZData].push_back(Component("_X", "X", 2)); // TYPE_XYZ_16
+ sets[cmsSigXYZData].push_back(Component("_Y", "Y", 1));
+ sets[cmsSigXYZData].push_back(Component("_Z", "Z", 2));
+
+ sets[cmsSigLabData].push_back(Component("_L", "L", 100)); // TYPE_Lab_16
+ sets[cmsSigLabData].push_back(Component("_a", "a", 256));
+ sets[cmsSigLabData].push_back(Component("_b", "b", 256));
+
+ // cmsSigLuvData
+
+ sets[cmsSigYCbCrData].push_back(Component("_Y", "Y", 1)); // TYPE_YCbCr_16
+ sets[cmsSigYCbCrData].push_back(Component("C_b", "Cb", 1));
+ sets[cmsSigYCbCrData].push_back(Component("C_r", "Cr", 1));
+
+ sets[cmsSigYxyData].push_back(Component("_Y", "Y", 1)); // TYPE_Yxy_16
+ sets[cmsSigYxyData].push_back(Component("_x", "x", 1));
+ sets[cmsSigYxyData].push_back(Component("y", "y", 1));
+
+ sets[cmsSigRgbData].push_back(Component(_("_R:"), _("Red"), 1)); // TYPE_RGB_16
+ sets[cmsSigRgbData].push_back(Component(_("_G:"), _("Green"), 1));
+ sets[cmsSigRgbData].push_back(Component(_("_B:"), _("Blue"), 1));
+
+ sets[cmsSigGrayData].push_back(Component(_("G:"), _("Gray"), 1)); // TYPE_GRAY_16
+
+ sets[cmsSigHsvData].push_back(Component(_("_H:"), _("Hue"), 360)); // TYPE_HSV_16
+ sets[cmsSigHsvData].push_back(Component(_("_S:"), _("Saturation"), 1));
+ sets[cmsSigHsvData].push_back(Component("_V:", "Value", 1));
+
+ sets[cmsSigHlsData].push_back(Component(_("_H:"), _("Hue"), 360)); // TYPE_HLS_16
+ sets[cmsSigHlsData].push_back(Component(_("_L:"), _("Lightness"), 1));
+ sets[cmsSigHlsData].push_back(Component(_("_S:"), _("Saturation"), 1));
+
+ sets[cmsSigCmykData].push_back(Component(_("_C:"), _("Cyan"), 1)); // TYPE_CMYK_16
+ sets[cmsSigCmykData].push_back(Component(_("_M:"), _("Magenta"), 1));
+ sets[cmsSigCmykData].push_back(Component(_("_Y:"), _("Yellow"), 1));
+ sets[cmsSigCmykData].push_back(Component(_("_K:"), _("Black"), 1));
+
+ sets[cmsSigCmyData].push_back(Component(_("_C:"), _("Cyan"), 1)); // TYPE_CMY_16
+ sets[cmsSigCmyData].push_back(Component(_("_M:"), _("Magenta"), 1));
+ sets[cmsSigCmyData].push_back(Component(_("_Y:"), _("Yellow"), 1));
+
+ for (std::map<cmsUInt32Number, std::vector<Component> >::iterator it = sets.begin(); it != sets.end(); ++it) {
+ knownColorspaces.insert(it->first);
+ maxColorspaceComponentCount = std::max(maxColorspaceComponentCount, it->second.size());
+ }
+ }
+
+ std::vector<Component> target;
+
+ if (sets.find(space) != sets.end()) {
+ target = sets[space];
+ }
+ return target;
+}
+
+
+std::vector<colorspace::Component> colorspace::getColorSpaceInfo(Inkscape::ColorProfile *prof)
+{
+ return getColorSpaceInfo(asICColorSpaceSig(prof->getColorSpace()));
+}
+
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+/**
+ * Class containing the parts for a single color component's UI presence.
+ */
+class ComponentUI {
+ public:
+ ComponentUI()
+ : _component()
+ , _adj(0)
+ , _slider(0)
+ , _btn(0)
+ , _label(0)
+ , _map(0)
+ {
+ }
+
+ ComponentUI(colorspace::Component const &component)
+ : _component(component)
+ , _adj(0)
+ , _slider(0)
+ , _btn(0)
+ , _label(0)
+ , _map(0)
+ {
+ }
+
+ colorspace::Component _component;
+ GtkAdjustment *_adj; // Component adjustment
+ Inkscape::UI::Widget::ColorSlider *_slider;
+ GtkWidget *_btn; // spinbutton
+ GtkWidget *_label; // Label
+ guchar *_map;
+};
+
+/**
+ * Class that implements the internals of the selector.
+ */
+class ColorICCSelectorImpl {
+ public:
+ ColorICCSelectorImpl(ColorICCSelector *owner, SelectedColor &color);
+
+ ~ColorICCSelectorImpl();
+
+ static void _adjustmentChanged(GtkAdjustment *adjustment, ColorICCSelectorImpl *cs);
+
+ void _sliderGrabbed();
+ void _sliderReleased();
+ void _sliderChanged();
+
+ static void _profileSelected(GtkWidget *src, gpointer data);
+ static void _fixupHit(GtkWidget *src, gpointer data);
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ void _setProfile(SVGICCColor *profile);
+ void _switchToProfile(gchar const *name);
+#endif
+ void _updateSliders(gint ignore);
+ void _profilesChanged(std::string const &name);
+
+ ColorICCSelector *_owner;
+ SelectedColor &_color;
+
+ gboolean _updating : 1;
+ gboolean _dragging : 1;
+
+ guint32 _fixupNeeded;
+ GtkWidget *_fixupBtn;
+ GtkWidget *_profileSel;
+
+ std::vector<ComponentUI> _compUI;
+
+ GtkAdjustment *_adj; // Channel adjustment
+ Inkscape::UI::Widget::ColorSlider *_slider;
+ GtkWidget *_sbtn; // Spinbutton
+ GtkWidget *_label; // Label
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ std::string _profileName;
+ Inkscape::ColorProfile *_prof;
+ guint _profChannelCount;
+ gulong _profChangedID;
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+};
+
+
+
+const gchar *ColorICCSelector::MODE_NAME = N_("CMS");
+
+ColorICCSelector::ColorICCSelector(SelectedColor &color)
+ : _impl(NULL)
+{
+ _impl = new ColorICCSelectorImpl(this, color);
+ init();
+ color.signal_changed.connect(sigc::mem_fun(this, &ColorICCSelector::_colorChanged));
+ // color.signal_dragged.connect(sigc::mem_fun(this, &ColorICCSelector::_colorChanged));
+}
+
+ColorICCSelector::~ColorICCSelector()
+{
+ if (_impl) {
+ delete _impl;
+ _impl = 0;
+ }
+}
+
+
+
+ColorICCSelectorImpl::ColorICCSelectorImpl(ColorICCSelector *owner, SelectedColor &color)
+ : _owner(owner)
+ , _color(color)
+ , _updating(FALSE)
+ , _dragging(FALSE)
+ , _fixupNeeded(0)
+ , _fixupBtn(0)
+ , _profileSel(0)
+ , _compUI()
+ , _adj(0)
+ , _slider(0)
+ , _sbtn(0)
+ , _label(0)
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ , _profileName()
+ , _prof(0)
+ , _profChannelCount(0)
+ , _profChangedID(0)
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+{
+}
+
+ColorICCSelectorImpl::~ColorICCSelectorImpl()
+{
+ _adj = 0;
+ _sbtn = 0;
+ _label = 0;
+}
+
+void ColorICCSelector::init()
+{
+ gint row = 0;
+
+ _impl->_updating = FALSE;
+ _impl->_dragging = FALSE;
+
+ GtkWidget *t = GTK_WIDGET(gobj());
+
+ _impl->_compUI.clear();
+
+ // Create components
+ row = 0;
+
+
+ _impl->_fixupBtn = gtk_button_new_with_label(_("Fix"));
+ g_signal_connect(G_OBJECT(_impl->_fixupBtn), "clicked", G_CALLBACK(ColorICCSelectorImpl::_fixupHit),
+ (gpointer)_impl);
+ gtk_widget_set_sensitive(_impl->_fixupBtn, FALSE);
+ gtk_widget_set_tooltip_text(_impl->_fixupBtn, _("Fix RGB fallback to match icc-color() value."));
+ // gtk_misc_set_alignment( GTK_MISC (_impl->_fixupBtn), 1.0, 0.5 );
+ gtk_widget_show(_impl->_fixupBtn);
+
+ attachToGridOrTable(t, _impl->_fixupBtn, 0, row, 1, 1);
+
+ // Combobox and store with 2 columns : label (0) and full name (1)
+ GtkListStore *store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING);
+ _impl->_profileSel = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store));
+
+ GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
+ gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(_impl->_profileSel), renderer, TRUE);
+ gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(_impl->_profileSel), renderer, "text", 0, NULL);
+
+ GtkTreeIter iter;
+ gtk_list_store_append(store, &iter);
+ gtk_list_store_set(store, &iter, 0, _("<none>"), 1, _("<none>"), -1);
+
+ gtk_widget_show(_impl->_profileSel);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(_impl->_profileSel), 0);
+
+ attachToGridOrTable(t, _impl->_profileSel, 1, row, 1, 1);
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ _impl->_profChangedID = g_signal_connect(G_OBJECT(_impl->_profileSel), "changed",
+ G_CALLBACK(ColorICCSelectorImpl::_profileSelected), (gpointer)_impl);
+#else
+ gtk_widget_set_sensitive(_impl->_profileSel, false);
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+
+
+ row++;
+
+// populate the data for colorspaces and channels:
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ std::vector<colorspace::Component> things = colorspace::getColorSpaceInfo(cmsSigRgbData);
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+
+ for (size_t i = 0; i < maxColorspaceComponentCount; i++) {
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ if (i < things.size()) {
+ _impl->_compUI.push_back(ComponentUI(things[i]));
+ }
+ else {
+ _impl->_compUI.push_back(ComponentUI());
+ }
+
+ std::string labelStr = (i < things.size()) ? things[i].name.c_str() : "";
+#else
+ _impl->_compUI.push_back(ComponentUI());
+
+ std::string labelStr = ".";
+#endif
+
+ _impl->_compUI[i]._label = gtk_label_new_with_mnemonic(labelStr.c_str());
+ gtk_misc_set_alignment(GTK_MISC(_impl->_compUI[i]._label), 1.0, 0.5);
+ gtk_widget_show(_impl->_compUI[i]._label);
+ gtk_widget_set_no_show_all(_impl->_compUI[i]._label, TRUE);
+
+ attachToGridOrTable(t, _impl->_compUI[i]._label, 0, row, 1, 1);
+
+ // Adjustment
+ guint scaleValue = _impl->_compUI[i]._component.scale;
+ gdouble step = static_cast<gdouble>(scaleValue) / 100.0;
+ gdouble page = static_cast<gdouble>(scaleValue) / 10.0;
+ gint digits = (step > 0.9) ? 0 : 2;
+ _impl->_compUI[i]._adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, scaleValue, step, page, page));
+
+ // Slider
+ _impl->_compUI[i]._slider =
+ Gtk::manage(new Inkscape::UI::Widget::ColorSlider(Glib::wrap(_impl->_compUI[i]._adj, true)));
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ _impl->_compUI[i]._slider->set_tooltip_text((i < things.size()) ? things[i].tip.c_str() : "");
+#else
+ _impl->_compUI[i]._slider->set_tooltip_text(".");
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ _impl->_compUI[i]._slider->show();
+ _impl->_compUI[i]._slider->set_no_show_all();
+
+ attachToGridOrTable(t, _impl->_compUI[i]._slider->gobj(), 1, row, 1, 1, true);
+
+ _impl->_compUI[i]._btn = gtk_spin_button_new(_impl->_compUI[i]._adj, step, digits);
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ gtk_widget_set_tooltip_text(_impl->_compUI[i]._btn, (i < things.size()) ? things[i].tip.c_str() : "");
+#else
+ gtk_widget_set_tooltip_text(_impl->_compUI[i]._btn, ".");
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ sp_dialog_defocus_on_enter(_impl->_compUI[i]._btn);
+ gtk_label_set_mnemonic_widget(GTK_LABEL(_impl->_compUI[i]._label), _impl->_compUI[i]._btn);
+ gtk_widget_show(_impl->_compUI[i]._btn);
+ gtk_widget_set_no_show_all(_impl->_compUI[i]._btn, TRUE);
+
+ attachToGridOrTable(t, _impl->_compUI[i]._btn, 2, row, 1, 1, false, true);
+
+ _impl->_compUI[i]._map = g_new(guchar, 4 * 1024);
+ memset(_impl->_compUI[i]._map, 0x0ff, 1024 * 4);
+
+
+ // Signals
+ g_signal_connect(G_OBJECT(_impl->_compUI[i]._adj), "value_changed",
+ G_CALLBACK(ColorICCSelectorImpl::_adjustmentChanged), _impl);
+
+ _impl->_compUI[i]._slider->signal_grabbed.connect(sigc::mem_fun(_impl, &ColorICCSelectorImpl::_sliderGrabbed));
+ _impl->_compUI[i]._slider->signal_released.connect(
+ sigc::mem_fun(_impl, &ColorICCSelectorImpl::_sliderReleased));
+ _impl->_compUI[i]._slider->signal_value_changed.connect(
+ sigc::mem_fun(_impl, &ColorICCSelectorImpl::_sliderChanged));
+
+ row++;
+ }
+
+ // Label
+ _impl->_label = gtk_label_new_with_mnemonic(_("_A:"));
+ gtk_misc_set_alignment(GTK_MISC(_impl->_label), 1.0, 0.5);
+ gtk_widget_show(_impl->_label);
+
+ attachToGridOrTable(t, _impl->_label, 0, row, 1, 1);
+
+ // Adjustment
+ _impl->_adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 255.0, 1.0, 10.0, 10.0));
+
+ // Slider
+ _impl->_slider = Gtk::manage(new Inkscape::UI::Widget::ColorSlider(Glib::wrap(_impl->_adj, true)));
+ _impl->_slider->set_tooltip_text(_("Alpha (opacity)"));
+ _impl->_slider->show();
+
+ attachToGridOrTable(t, _impl->_slider->gobj(), 1, row, 1, 1, true);
+
+ _impl->_slider->setColors(SP_RGBA32_F_COMPOSE(1.0, 1.0, 1.0, 0.0), SP_RGBA32_F_COMPOSE(1.0, 1.0, 1.0, 0.5),
+ SP_RGBA32_F_COMPOSE(1.0, 1.0, 1.0, 1.0));
+
+
+ // Spinbutton
+ _impl->_sbtn = gtk_spin_button_new(GTK_ADJUSTMENT(_impl->_adj), 1.0, 0);
+ gtk_widget_set_tooltip_text(_impl->_sbtn, _("Alpha (opacity)"));
+ sp_dialog_defocus_on_enter(_impl->_sbtn);
+ gtk_label_set_mnemonic_widget(GTK_LABEL(_impl->_label), _impl->_sbtn);
+ gtk_widget_show(_impl->_sbtn);
+
+ attachToGridOrTable(t, _impl->_sbtn, 2, row, 1, 1, false, true);
+
+ // Signals
+ g_signal_connect(G_OBJECT(_impl->_adj), "value_changed", G_CALLBACK(ColorICCSelectorImpl::_adjustmentChanged),
+ _impl);
+
+ _impl->_slider->signal_grabbed.connect(sigc::mem_fun(_impl, &ColorICCSelectorImpl::_sliderGrabbed));
+ _impl->_slider->signal_released.connect(sigc::mem_fun(_impl, &ColorICCSelectorImpl::_sliderReleased));
+ _impl->_slider->signal_value_changed.connect(sigc::mem_fun(_impl, &ColorICCSelectorImpl::_sliderChanged));
+
+ gtk_widget_show(t);
+}
+
+void ColorICCSelectorImpl::_fixupHit(GtkWidget * /*src*/, gpointer data)
+{
+ ColorICCSelectorImpl *self = reinterpret_cast<ColorICCSelectorImpl *>(data);
+ gtk_widget_set_sensitive(self->_fixupBtn, FALSE);
+ self->_adjustmentChanged(self->_compUI[0]._adj, self);
+}
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+void ColorICCSelectorImpl::_profileSelected(GtkWidget * /*src*/, gpointer data)
+{
+ ColorICCSelectorImpl *self = reinterpret_cast<ColorICCSelectorImpl *>(data);
+
+ GtkTreeIter iter;
+ if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(self->_profileSel), &iter)) {
+ GtkTreeModel *store = gtk_combo_box_get_model(GTK_COMBO_BOX(self->_profileSel));
+ gchar *name = 0;
+
+ gtk_tree_model_get(store, &iter, 1, &name, -1);
+ self->_switchToProfile(name);
+ gtk_widget_set_tooltip_text(self->_profileSel, name);
+
+ if (name) {
+ g_free(name);
+ }
+ }
+}
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+void ColorICCSelectorImpl::_switchToProfile(gchar const *name)
+{
+ bool dirty = false;
+ SPColor tmp(_color.color());
+
+ if (name) {
+ if (tmp.icc && tmp.icc->colorProfile == name) {
+#ifdef DEBUG_LCMS
+ g_message("Already at name [%s]", name);
+#endif // DEBUG_LCMS
+ }
+ else {
+#ifdef DEBUG_LCMS
+ g_message("Need to switch to profile [%s]", name);
+#endif // DEBUG_LCMS
+ if (tmp.icc) {
+ tmp.icc->colors.clear();
+ }
+ else {
+ tmp.icc = new SVGICCColor();
+ }
+ tmp.icc->colorProfile = name;
+ Inkscape::ColorProfile *newProf = SP_ACTIVE_DOCUMENT->profileManager->find(name);
+ if (newProf) {
+ cmsHTRANSFORM trans = newProf->getTransfFromSRGB8();
+ if (trans) {
+ guint32 val = _color.color().toRGBA32(0);
+ guchar pre[4] = {
+ static_cast<guchar>(SP_RGBA32_R_U(val)),
+ static_cast<guchar>(SP_RGBA32_G_U(val)),
+ static_cast<guchar>(SP_RGBA32_B_U(val)),
+ 255};
+#ifdef DEBUG_LCMS
+ g_message("Shoving in [%02x] [%02x] [%02x]", pre[0], pre[1], pre[2]);
+#endif // DEBUG_LCMS
+ cmsUInt16Number post[4] = { 0, 0, 0, 0 };
+ cmsDoTransform(trans, pre, post, 1);
+#ifdef DEBUG_LCMS
+ g_message("got on out [%04x] [%04x] [%04x] [%04x]", post[0], post[1], post[2], post[3]);
+#endif // DEBUG_LCMS
+#if HAVE_LIBLCMS1
+ guint count = _cmsChannelsOf(asICColorSpaceSig(newProf->getColorSpace()));
+#elif HAVE_LIBLCMS2
+ guint count = cmsChannelsOf(asICColorSpaceSig(newProf->getColorSpace()));
+#endif
+
+ std::vector<colorspace::Component> things =
+ colorspace::getColorSpaceInfo(asICColorSpaceSig(newProf->getColorSpace()));
+
+ for (guint i = 0; i < count; i++) {
+ gdouble val =
+ (((gdouble)post[i]) / 65535.0) * (gdouble)((i < things.size()) ? things[i].scale : 1);
+#ifdef DEBUG_LCMS
+ g_message(" scaled %d by %d to be %f", i, ((i < things.size()) ? things[i].scale : 1), val);
+#endif // DEBUG_LCMS
+ tmp.icc->colors.push_back(val);
+ }
+ cmsHTRANSFORM retrans = newProf->getTransfToSRGB8();
+ if (retrans) {
+ cmsDoTransform(retrans, post, pre, 1);
+#ifdef DEBUG_LCMS
+ g_message(" back out [%02x] [%02x] [%02x]", pre[0], pre[1], pre[2]);
+#endif // DEBUG_LCMS
+ tmp.set(SP_RGBA32_U_COMPOSE(pre[0], pre[1], pre[2], 0xff));
+ }
+ }
+ }
+ dirty = true;
+ }
+ }
+ else {
+#ifdef DEBUG_LCMS
+ g_message("NUKE THE ICC");
+#endif // DEBUG_LCMS
+ if (tmp.icc) {
+ delete tmp.icc;
+ tmp.icc = 0;
+ dirty = true;
+ _fixupHit(0, this);
+ }
+ else {
+#ifdef DEBUG_LCMS
+ g_message("No icc to nuke");
+#endif // DEBUG_LCMS
+ }
+ }
+
+ if (dirty) {
+#ifdef DEBUG_LCMS
+ g_message("+----------------");
+ g_message("+ new color is [%s]", tmp.toString().c_str());
+#endif // DEBUG_LCMS
+ _setProfile(tmp.icc);
+ //_adjustmentChanged( _compUI[0]._adj, SP_COLOR_ICC_SELECTOR(_csel) );
+ _color.setColor(tmp);
+#ifdef DEBUG_LCMS
+ g_message("+_________________");
+#endif // DEBUG_LCMS
+ }
+}
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+void ColorICCSelectorImpl::_profilesChanged(std::string const &name)
+{
+ GtkComboBox *combo = GTK_COMBO_BOX(_profileSel);
+
+ g_signal_handler_block(G_OBJECT(_profileSel), _profChangedID);
+
+ GtkListStore *store = GTK_LIST_STORE(gtk_combo_box_get_model(combo));
+ gtk_list_store_clear(store);
+
+ GtkTreeIter iter;
+ gtk_list_store_append(store, &iter);
+ gtk_list_store_set(store, &iter, 0, _("<none>"), 1, _("<none>"), -1);
+
+ gtk_combo_box_set_active(combo, 0);
+
+ int index = 1;
+ const GSList *current = SP_ACTIVE_DOCUMENT->getResourceList("iccprofile");
+ while (current) {
+ SPObject *obj = SP_OBJECT(current->data);
+ Inkscape::ColorProfile *prof = reinterpret_cast<Inkscape::ColorProfile *>(obj);
+
+ gtk_list_store_append(store, &iter);
+ gtk_list_store_set(store, &iter, 0, gr_ellipsize_text(prof->name, 25).c_str(), 1, prof->name, -1);
+
+ if (name == prof->name) {
+ gtk_combo_box_set_active(combo, index);
+ gtk_widget_set_tooltip_text(_profileSel, prof->name);
+ }
+
+ index++;
+ current = g_slist_next(current);
+ }
+
+ g_signal_handler_unblock(G_OBJECT(_profileSel), _profChangedID);
+}
+#else
+void ColorICCSelectorImpl::_profilesChanged(std::string const & /*name*/) {}
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+
+void ColorICCSelector::on_show()
+{
+#if GTK_CHECK_VERSION(3, 0, 0)
+ Gtk::Grid::on_show();
+#else
+ Gtk::Table::on_show();
+#endif
+ _colorChanged();
+}
+
+// Helpers for setting color value
+
+void ColorICCSelector::_colorChanged()
+{
+ _impl->_updating = TRUE;
+// sp_color_icc_set_color( SP_COLOR_ICC( _icc ), &color );
+
+#ifdef DEBUG_LCMS
+ g_message("/^^^^^^^^^ %p::_colorChanged(%08x:%s)", this, _impl->_color.color().toRGBA32(_impl->_color.alpha()),
+ ((_impl->_color.color().icc) ? _impl->_color.color().icc->colorProfile.c_str() : "<null>"));
+#endif // DEBUG_LCMS
+
+#ifdef DEBUG_LCMS
+ g_message("FLIPPIES!!!! %p '%s'", _impl->_color.color().icc,
+ (_impl->_color.color().icc ? _impl->_color.color().icc->colorProfile.c_str() : "<null>"));
+#endif // DEBUG_LCMS
+
+ _impl->_profilesChanged((_impl->_color.color().icc) ? _impl->_color.color().icc->colorProfile : std::string(""));
+ ColorScales::setScaled(_impl->_adj, _impl->_color.alpha());
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ _impl->_setProfile(_impl->_color.color().icc);
+ _impl->_fixupNeeded = 0;
+ gtk_widget_set_sensitive(_impl->_fixupBtn, FALSE);
+
+ if (_impl->_prof) {
+ if (_impl->_prof->getTransfToSRGB8()) {
+ cmsUInt16Number tmp[4];
+ for (guint i = 0; i < _impl->_profChannelCount; i++) {
+ gdouble val = 0.0;
+ if (_impl->_color.color().icc->colors.size() > i) {
+ if (_impl->_compUI[i]._component.scale == 256) {
+ val = (_impl->_color.color().icc->colors[i] + 128.0) /
+ static_cast<gdouble>(_impl->_compUI[i]._component.scale);
+ }
+ else {
+ val = _impl->_color.color().icc->colors[i] /
+ static_cast<gdouble>(_impl->_compUI[i]._component.scale);
+ }
+ }
+ tmp[i] = val * 0x0ffff;
+ }
+ guchar post[4] = { 0, 0, 0, 0 };
+ cmsHTRANSFORM trans = _impl->_prof->getTransfToSRGB8();
+ if (trans) {
+ cmsDoTransform(trans, tmp, post, 1);
+ guint32 other = SP_RGBA32_U_COMPOSE(post[0], post[1], post[2], 255);
+ if (other != _impl->_color.color().toRGBA32(255)) {
+ _impl->_fixupNeeded = other;
+ gtk_widget_set_sensitive(_impl->_fixupBtn, TRUE);
+#ifdef DEBUG_LCMS
+ g_message("Color needs to change 0x%06x to 0x%06x", _color.toRGBA32(255) >> 8, other >> 8);
+#endif // DEBUG_LCMS
+ }
+ }
+ }
+ }
+#else
+//(void)color;
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ _impl->_updateSliders(-1);
+
+
+ _impl->_updating = FALSE;
+#ifdef DEBUG_LCMS
+ g_message("\\_________ %p::_colorChanged()", this);
+#endif // DEBUG_LCMS
+}
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+void ColorICCSelectorImpl::_setProfile(SVGICCColor *profile)
+{
+#ifdef DEBUG_LCMS
+ g_message("/^^^^^^^^^ %p::_setProfile(%s)", this, ((profile) ? profile->colorProfile.c_str() : "<null>"));
+#endif // DEBUG_LCMS
+ bool profChanged = false;
+ if (_prof && (!profile || (_profileName != profile->colorProfile))) {
+ // Need to clear out the prior one
+ profChanged = true;
+ _profileName.clear();
+ _prof = 0;
+ _profChannelCount = 0;
+ }
+ else if (profile && !_prof) {
+ profChanged = true;
+ }
+
+ for (size_t i = 0; i < _compUI.size(); i++) {
+ gtk_widget_hide(_compUI[i]._label);
+ _compUI[i]._slider->hide();
+ gtk_widget_hide(_compUI[i]._btn);
+ }
+
+ if (profile) {
+ _prof = SP_ACTIVE_DOCUMENT->profileManager->find(profile->colorProfile.c_str());
+ if (_prof && (asICColorProfileClassSig(_prof->getProfileClass()) != cmsSigNamedColorClass)) {
+#if HAVE_LIBLCMS1
+ _profChannelCount = _cmsChannelsOf(asICColorSpaceSig(_prof->getColorSpace()));
+#elif HAVE_LIBLCMS2
+ _profChannelCount = cmsChannelsOf(asICColorSpaceSig(_prof->getColorSpace()));
+#endif
+
+ if (profChanged) {
+ std::vector<colorspace::Component> things =
+ colorspace::getColorSpaceInfo(asICColorSpaceSig(_prof->getColorSpace()));
+ for (size_t i = 0; (i < things.size()) && (i < _profChannelCount); ++i) {
+ _compUI[i]._component = things[i];
+ }
+
+ for (guint i = 0; i < _profChannelCount; i++) {
+ gtk_label_set_text_with_mnemonic(GTK_LABEL(_compUI[i]._label),
+ (i < things.size()) ? things[i].name.c_str() : "");
+
+ _compUI[i]._slider->set_tooltip_text((i < things.size()) ? things[i].tip.c_str() : "");
+ gtk_widget_set_tooltip_text(_compUI[i]._btn, (i < things.size()) ? things[i].tip.c_str() : "");
+
+ _compUI[i]._slider->setColors(SPColor(0.0, 0.0, 0.0).toRGBA32(0xff),
+ SPColor(0.5, 0.5, 0.5).toRGBA32(0xff),
+ SPColor(1.0, 1.0, 1.0).toRGBA32(0xff));
+ /*
+ _compUI[i]._adj = GTK_ADJUSTMENT( gtk_adjustment_new( val, 0.0, _fooScales[i],
+ step, page, page ) );
+ g_signal_connect( G_OBJECT( _compUI[i]._adj ), "value_changed", G_CALLBACK(
+ _adjustmentChanged ), _csel );
+
+ sp_color_slider_set_adjustment( SP_COLOR_SLIDER(_compUI[i]._slider),
+ _compUI[i]._adj );
+ gtk_spin_button_set_adjustment( GTK_SPIN_BUTTON(_compUI[i]._btn),
+ _compUI[i]._adj );
+ gtk_spin_button_set_digits( GTK_SPIN_BUTTON(_compUI[i]._btn), digits );
+ */
+ gtk_widget_show(_compUI[i]._label);
+ _compUI[i]._slider->show();
+ gtk_widget_show(_compUI[i]._btn);
+ // gtk_adjustment_set_value( _compUI[i]._adj, 0.0 );
+ // gtk_adjustment_set_value( _compUI[i]._adj, val );
+ }
+ for (size_t i = _profChannelCount; i < _compUI.size(); i++) {
+ gtk_widget_hide(_compUI[i]._label);
+ _compUI[i]._slider->hide();
+ gtk_widget_hide(_compUI[i]._btn);
+ }
+ }
+ }
+ else {
+ // Give up for now on named colors
+ _prof = 0;
+ }
+ }
+
+#ifdef DEBUG_LCMS
+ g_message("\\_________ %p::_setProfile()", this);
+#endif // DEBUG_LCMS
+}
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+
+void ColorICCSelectorImpl::_updateSliders(gint ignore)
+{
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ if (_color.color().icc) {
+ for (guint i = 0; i < _profChannelCount; i++) {
+ gdouble val = 0.0;
+ if (_color.color().icc->colors.size() > i) {
+ if (_compUI[i]._component.scale == 256) {
+ val = (_color.color().icc->colors[i] + 128.0) / static_cast<gdouble>(_compUI[i]._component.scale);
+ }
+ else {
+ val = _color.color().icc->colors[i] / static_cast<gdouble>(_compUI[i]._component.scale);
+ }
+ }
+ gtk_adjustment_set_value(_compUI[i]._adj, val);
+ }
+
+ if (_prof) {
+ if (_prof->getTransfToSRGB8()) {
+ for (guint i = 0; i < _profChannelCount; i++) {
+ if (static_cast<gint>(i) != ignore) {
+ cmsUInt16Number *scratch = getScratch();
+ cmsUInt16Number filler[4] = { 0, 0, 0, 0 };
+ for (guint j = 0; j < _profChannelCount; j++) {
+ filler[j] = 0x0ffff * ColorScales::getScaled(_compUI[j]._adj);
+ }
+
+ cmsUInt16Number *p = scratch;
+ for (guint x = 0; x < 1024; x++) {
+ for (guint j = 0; j < _profChannelCount; j++) {
+ if (j == i) {
+ *p++ = x * 0x0ffff / 1024;
+ }
+ else {
+ *p++ = filler[j];
+ }
+ }
+ }
+
+ cmsHTRANSFORM trans = _prof->getTransfToSRGB8();
+ if (trans) {
+ cmsDoTransform(trans, scratch, _compUI[i]._map, 1024);
+ if (_compUI[i]._slider)
+ {
+ _compUI[i]._slider->setMap(_compUI[i]._map);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+#else
+ (void)ignore;
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+
+ guint32 start = _color.color().toRGBA32(0x00);
+ guint32 mid = _color.color().toRGBA32(0x7f);
+ guint32 end = _color.color().toRGBA32(0xff);
+
+ _slider->setColors(start, mid, end);
+}
+
+
+void ColorICCSelectorImpl::_adjustmentChanged(GtkAdjustment *adjustment, ColorICCSelectorImpl *cs)
+{
+// // TODO check this. It looks questionable:
+// // if a value is entered between 0 and 1 exclusive, normalize it to (int) 0..255 or 0..100
+// if (adjustment->value > 0.0 && adjustment->value < 1.0) {
+// gtk_adjustment_set_value( adjustment, floor ((adjustment->value) * adjustment->upper + 0.5) );
+// }
+
+#ifdef DEBUG_LCMS
+ g_message("/^^^^^^^^^ %p::_adjustmentChanged()", cs);
+#endif // DEBUG_LCMS
+
+ ColorICCSelector *iccSelector = cs->_owner;
+ if (iccSelector->_impl->_updating) {
+ return;
+ }
+
+ iccSelector->_impl->_updating = TRUE;
+
+ gint match = -1;
+
+ SPColor newColor(iccSelector->_impl->_color.color());
+ gfloat scaled = ColorScales::getScaled(iccSelector->_impl->_adj);
+ if (iccSelector->_impl->_adj == adjustment) {
+#ifdef DEBUG_LCMS
+ g_message("ALPHA");
+#endif // DEBUG_LCMS
+ }
+ else {
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ for (size_t i = 0; i < iccSelector->_impl->_compUI.size(); i++) {
+ if (iccSelector->_impl->_compUI[i]._adj == adjustment) {
+ match = i;
+ break;
+ }
+ }
+ if (match >= 0) {
+#ifdef DEBUG_LCMS
+ g_message(" channel %d", match);
+#endif // DEBUG_LCMS
+ }
+
+
+ cmsUInt16Number tmp[4];
+ for (guint i = 0; i < 4; i++) {
+ tmp[i] = ColorScales::getScaled(iccSelector->_impl->_compUI[i]._adj) * 0x0ffff;
+ }
+ guchar post[4] = { 0, 0, 0, 0 };
+
+ cmsHTRANSFORM trans = iccSelector->_impl->_prof->getTransfToSRGB8();
+ if (trans) {
+ cmsDoTransform(trans, tmp, post, 1);
+ }
+
+ SPColor other(SP_RGBA32_U_COMPOSE(post[0], post[1], post[2], 255));
+ other.icc = new SVGICCColor();
+ if (iccSelector->_impl->_color.color().icc) {
+ other.icc->colorProfile = iccSelector->_impl->_color.color().icc->colorProfile;
+ }
+
+ guint32 prior = iccSelector->_impl->_color.color().toRGBA32(255);
+ guint32 newer = other.toRGBA32(255);
+
+ if (prior != newer) {
+#ifdef DEBUG_LCMS
+ g_message("Transformed color from 0x%08x to 0x%08x", prior, newer);
+ g_message(" ~~~~ FLIP");
+#endif // DEBUG_LCMS
+ newColor = other;
+ newColor.icc->colors.clear();
+ for (guint i = 0; i < iccSelector->_impl->_profChannelCount; i++) {
+ gdouble val = ColorScales::getScaled(iccSelector->_impl->_compUI[i]._adj);
+ val *= iccSelector->_impl->_compUI[i]._component.scale;
+ if (iccSelector->_impl->_compUI[i]._component.scale == 256) {
+ val -= 128;
+ }
+ newColor.icc->colors.push_back(val);
+ }
+ }
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ }
+ iccSelector->_impl->_color.setColorAlpha(newColor, scaled);
+ // iccSelector->_updateInternals( newColor, scaled, iccSelector->_impl->_dragging );
+ iccSelector->_impl->_updateSliders(match);
+
+ iccSelector->_impl->_updating = FALSE;
+#ifdef DEBUG_LCMS
+ g_message("\\_________ %p::_adjustmentChanged()", cs);
+#endif // DEBUG_LCMS
+}
+
+void ColorICCSelectorImpl::_sliderGrabbed()
+{
+ // ColorICCSelector* iccSelector = dynamic_cast<ColorICCSelector*>(SP_COLOR_SELECTOR(cs)->base);
+ // if (!iccSelector->_dragging) {
+ // iccSelector->_dragging = TRUE;
+ // iccSelector->_grabbed();
+ // iccSelector->_updateInternals( iccSelector->_color, ColorScales::getScaled( iccSelector->_impl->_adj ),
+ // iccSelector->_dragging );
+ // }
+}
+
+void ColorICCSelectorImpl::_sliderReleased()
+{
+ // ColorICCSelector* iccSelector = dynamic_cast<ColorICCSelector*>(SP_COLOR_SELECTOR(cs)->base);
+ // if (iccSelector->_dragging) {
+ // iccSelector->_dragging = FALSE;
+ // iccSelector->_released();
+ // iccSelector->_updateInternals( iccSelector->_color, ColorScales::getScaled( iccSelector->_adj ),
+ // iccSelector->_dragging );
+ // }
+}
+
+#ifdef DEBUG_LCMS
+void ColorICCSelectorImpl::_sliderChanged(SPColorSlider *slider, SPColorICCSelector *cs)
+#else
+void ColorICCSelectorImpl::_sliderChanged()
+#endif // DEBUG_LCMS
+{
+#ifdef DEBUG_LCMS
+ g_message("Changed %p and %p", slider, cs);
+#endif // DEBUG_LCMS
+ // ColorICCSelector* iccSelector = dynamic_cast<ColorICCSelector*>(SP_COLOR_SELECTOR(cs)->base);
+
+ // iccSelector->_updateInternals( iccSelector->_color, ColorScales::getScaled( iccSelector->_adj ),
+ // iccSelector->_dragging );
+}
+
+Gtk::Widget *ColorICCSelectorFactory::createWidget(Inkscape::UI::SelectedColor &color) const
+{
+ Gtk::Widget *w = Gtk::manage(new ColorICCSelector(color));
+ return w;
+}
+
+Glib::ustring ColorICCSelectorFactory::modeName() const { return gettext(ColorICCSelector::MODE_NAME); }
+}
+}
+}
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/ui/widget/color-icc-selector.h b/src/ui/widget/color-icc-selector.h
new file mode 100644
index 000000000..1bcb0a540
--- /dev/null
+++ b/src/ui/widget/color-icc-selector.h
@@ -0,0 +1,78 @@
+#ifndef SEEN_SP_COLOR_ICC_SELECTOR_H
+#define SEEN_SP_COLOR_ICC_SELECTOR_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <gtkmm/widget.h>
+#if WITH_GTKMM_3_0
+#include <gtkmm/grid.h>
+#else
+#include <gtkmm/table.h>
+#endif
+
+#include "ui/selected-color.h"
+
+namespace Inkscape {
+
+class ColorProfile;
+
+namespace UI {
+namespace Widget {
+
+class ColorICCSelectorImpl;
+
+class ColorICCSelector
+#if GTK_CHECK_VERSION(3, 0, 0)
+ : public Gtk::Grid
+#else
+ : public Gtk::Table
+#endif
+ {
+ public:
+ static const gchar *MODE_NAME;
+
+ ColorICCSelector(SelectedColor &color);
+ virtual ~ColorICCSelector();
+
+ virtual void init();
+
+ protected:
+ void on_show();
+
+ virtual void _colorChanged();
+
+ void _recalcColor(gboolean changing);
+
+ private:
+ friend class ColorICCSelectorImpl;
+
+ // By default, disallow copy constructor and assignment operator
+ ColorICCSelector(const ColorICCSelector &obj);
+ ColorICCSelector &operator=(const ColorICCSelector &obj);
+
+ ColorICCSelectorImpl *_impl;
+};
+
+
+class ColorICCSelectorFactory : public ColorSelectorFactory {
+ public:
+ Gtk::Widget *createWidget(SelectedColor &color) const;
+ Glib::ustring modeName() const;
+};
+}
+}
+}
+#endif // SEEN_SP_COLOR_ICC_SELECTOR_H
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/ui/widget/color-notebook.cpp b/src/ui/widget/color-notebook.cpp
new file mode 100644
index 000000000..60abf43bf
--- /dev/null
+++ b/src/ui/widget/color-notebook.cpp
@@ -0,0 +1,379 @@
+/**
+ * @file
+ * A notebook with RGB, CMYK, CMS, HSL, and Wheel pages - implementation
+ */
+/* Authors:
+ * Lauris Kaplinski <lauris@kaplinski.com>
+ * bulia byak <buliabyak@users.sf.net>
+ * Tomasz Boczkowski <penginsbacon@gmail.com> (c++-sification)
+ *
+ * Copyright (C) 2001-2014 Authors
+ *
+ * This code is in public domain
+ */
+
+#undef SPCS_PREVIEW
+#define noDUMP_CHANGE_INFO
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "widgets/icon.h"
+#include <cstring>
+#include <string>
+#include <cstdlib>
+#include <cstddef>
+#include <glibmm/i18n.h>
+#include <gtkmm/label.h>
+#include <gtkmm/notebook.h>
+
+#include "preferences.h"
+#include "widgets/spw-utilities.h"
+#include "svg/svg-icc-color.h"
+#include "inkscape.h"
+#include "document.h"
+#include "profile-manager.h"
+#include "color-profile.h"
+#include "cms-system.h"
+#include "ui/dialog-events.h"
+#include "ui/tools-switch.h"
+#include "ui/tools/tool-base.h"
+#include "ui/widget/color-entry.h"
+#include "ui/widget/color-icc-selector.h"
+#include "ui/widget/color-notebook.h"
+#include "ui/widget/color-scales.h"
+#include "ui/widget/color-wheel-selector.h"
+
+using Inkscape::CMSSystem;
+
+#define XPAD 4
+#define YPAD 1
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+
+ColorNotebook::ColorNotebook(SelectedColor &color)
+#if GTK_CHECK_VERSION(3, 0, 0)
+ : Gtk::Grid()
+#else
+ : Gtk::Table(2, 3, false)
+#endif
+ , _selected_color(color)
+
+{
+ Page *page;
+
+ page = new Page(new ColorScalesFactory(SP_COLOR_SCALES_MODE_RGB), true);
+ _available_pages.push_back(page);
+ page = new Page(new ColorScalesFactory(SP_COLOR_SCALES_MODE_HSV), true);
+ _available_pages.push_back(page);
+ page = new Page(new ColorScalesFactory(SP_COLOR_SCALES_MODE_CMYK), true);
+ _available_pages.push_back(page);
+ page = new Page(new ColorWheelSelectorFactory, true);
+ _available_pages.push_back(page);
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ page = new Page(new ColorICCSelectorFactory, true);
+ _available_pages.push_back(page);
+#endif
+
+ _initUI();
+
+ _selected_color.signal_changed.connect(sigc::mem_fun(this, &ColorNotebook::_onSelectedColorChanged));
+ _selected_color.signal_dragged.connect(sigc::mem_fun(this, &ColorNotebook::_onSelectedColorChanged));
+}
+
+ColorNotebook::~ColorNotebook()
+{
+ if (_buttons) {
+ delete[] _buttons;
+ _buttons = 0;
+ }
+}
+
+ColorNotebook::Page::Page(Inkscape::UI::ColorSelectorFactory *selector_factory, bool enabled_full)
+ : selector_factory(selector_factory)
+ , enabled_full(enabled_full)
+{
+}
+
+
+void ColorNotebook::_initUI()
+{
+ guint row = 0;
+
+ Gtk::Notebook *notebook = Gtk::manage(new Gtk::Notebook);
+ notebook->show();
+ notebook->set_show_border(false);
+ notebook->set_show_tabs(false);
+ _book = GTK_WIDGET(notebook->gobj());
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ _buttonbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 2);
+ gtk_box_set_homogeneous(GTK_BOX(_buttonbox), TRUE);
+#else
+ _buttonbox = gtk_hbox_new(TRUE, 2);
+#endif
+
+ gtk_widget_show(_buttonbox);
+ _buttons = new GtkWidget *[_available_pages.size()];
+
+ for (int i = 0; static_cast<size_t>(i) < _available_pages.size(); i++) {
+ _addPage(_available_pages[i]);
+ }
+
+ sp_set_font_size_smaller(_buttonbox);
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ #if GTK_CHECK_VERSION(3, 12, 0)
+ gtk_widget_set_margin_start(_buttonbox, XPAD);
+ gtk_widget_set_margin_end(_buttonbox, XPAD);
+ #else
+ gtk_widget_set_margin_left(_buttonbox, XPAD);
+ gtk_widget_set_margin_right(_buttonbox, XPAD);
+ #endif
+ gtk_widget_set_margin_top(_buttonbox, YPAD);
+ gtk_widget_set_margin_bottom(_buttonbox, YPAD);
+ gtk_widget_set_hexpand(_buttonbox, TRUE);
+ gtk_widget_set_valign(_buttonbox, GTK_ALIGN_CENTER);
+ attach(*Glib::wrap(_buttonbox), 0, row, 2, 1);
+#else
+ attach(*Glib::wrap(_buttonbox), 0, 2, row, row + 1, Gtk::EXPAND | Gtk::FILL, static_cast<Gtk::AttachOptions>(0),
+ XPAD, YPAD);
+#endif
+
+ row++;
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+#if GTK_CHECK_VERSION(3, 12, 0)
+ gtk_widget_set_margin_start(_book, XPAD * 2);
+ gtk_widget_set_margin_end(_book, XPAD * 2);
+#else
+ gtk_widget_set_margin_left(_book, XPAD * 2);
+ gtk_widget_set_margin_right(_book, XPAD * 2);
+#endif
+ gtk_widget_set_margin_top(_book, YPAD);
+ gtk_widget_set_margin_bottom(_book, YPAD);
+ gtk_widget_set_hexpand(_book, TRUE);
+ gtk_widget_set_vexpand(_book, TRUE);
+ attach(*notebook, 0, row, 2, 1);
+#else
+ attach(*notebook, 0, 2, row, row + 1, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, XPAD * 2, YPAD);
+#endif
+
+ // restore the last active page
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ _setCurrentPage(prefs->getInt("/colorselector/page", 0));
+ row++;
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ GtkWidget *rgbabox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+#else
+ GtkWidget *rgbabox = gtk_hbox_new(FALSE, 0);
+#endif
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ /* Create color management icons */
+ _box_colormanaged = gtk_event_box_new();
+ GtkWidget *colormanaged = gtk_image_new_from_icon_name("color-management-icon", GTK_ICON_SIZE_SMALL_TOOLBAR);
+ gtk_container_add(GTK_CONTAINER(_box_colormanaged), colormanaged);
+ gtk_widget_set_tooltip_text(_box_colormanaged, _("Color Managed"));
+ gtk_widget_set_sensitive(_box_colormanaged, false);
+ gtk_box_pack_start(GTK_BOX(rgbabox), _box_colormanaged, FALSE, FALSE, 2);
+
+ _box_outofgamut = gtk_event_box_new();
+ GtkWidget *outofgamut = gtk_image_new_from_icon_name("out-of-gamut-icon", GTK_ICON_SIZE_SMALL_TOOLBAR);
+ gtk_container_add(GTK_CONTAINER(_box_outofgamut), outofgamut);
+ gtk_widget_set_tooltip_text(_box_outofgamut, _("Out of gamut!"));
+ gtk_widget_set_sensitive(_box_outofgamut, false);
+ gtk_box_pack_start(GTK_BOX(rgbabox), _box_outofgamut, FALSE, FALSE, 2);
+
+ _box_toomuchink = gtk_event_box_new();
+ GtkWidget *toomuchink = gtk_image_new_from_icon_name("too-much-ink-icon", GTK_ICON_SIZE_SMALL_TOOLBAR);
+ gtk_container_add(GTK_CONTAINER(_box_toomuchink), toomuchink);
+ gtk_widget_set_tooltip_text(_box_toomuchink, _("Too much ink!"));
+ gtk_widget_set_sensitive(_box_toomuchink, false);
+ gtk_box_pack_start(GTK_BOX(rgbabox), _box_toomuchink, FALSE, FALSE, 2);
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+
+
+ /* Color picker */
+ GtkWidget *picker = gtk_image_new_from_icon_name("color-picker", GTK_ICON_SIZE_SMALL_TOOLBAR);
+ _btn_picker = gtk_button_new();
+ gtk_button_set_relief(GTK_BUTTON(_btn_picker), GTK_RELIEF_NONE);
+ gtk_container_add(GTK_CONTAINER(_btn_picker), picker);
+ gtk_widget_set_tooltip_text(_btn_picker, _("Pick colors from image"));
+ gtk_box_pack_start(GTK_BOX(rgbabox), _btn_picker, FALSE, FALSE, 2);
+ g_signal_connect(G_OBJECT(_btn_picker), "clicked", G_CALLBACK(ColorNotebook::_onPickerClicked), this);
+
+ /* Create RGBA entry and color preview */
+ _rgbal = gtk_label_new_with_mnemonic(_("RGBA_:"));
+ gtk_misc_set_alignment(GTK_MISC(_rgbal), 1.0, 0.5);
+ gtk_box_pack_start(GTK_BOX(rgbabox), _rgbal, TRUE, TRUE, 2);
+
+ ColorEntry *rgba_entry = Gtk::manage(new ColorEntry(_selected_color));
+ sp_dialog_defocus_on_enter(GTK_WIDGET(rgba_entry->gobj()));
+ gtk_box_pack_start(GTK_BOX(rgbabox), GTK_WIDGET(rgba_entry->gobj()), FALSE, FALSE, 0);
+ gtk_label_set_mnemonic_widget(GTK_LABEL(_rgbal), GTK_WIDGET(rgba_entry->gobj()));
+
+ sp_set_font_size_smaller(rgbabox);
+ gtk_widget_show_all(rgbabox);
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ // the "too much ink" icon is initially hidden
+ gtk_widget_hide(GTK_WIDGET(_box_toomuchink));
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ #if GTK_CHECK_VERSION(3, 12, 0)
+ gtk_widget_set_margin_start(rgbabox, XPAD);
+ gtk_widget_set_margin_end(rgbabox, XPAD);
+ #else
+ gtk_widget_set_margin_left(rgbabox, XPAD);
+ gtk_widget_set_margin_right(rgbabox, XPAD);
+ #endif
+ gtk_widget_set_margin_top(rgbabox, YPAD);
+ gtk_widget_set_margin_bottom(rgbabox, YPAD);
+ attach(*Glib::wrap(rgbabox), 0, row, 2, 1);
+#else
+ attach(*Glib::wrap(rgbabox), 0, 2, row, row + 1, Gtk::FILL, Gtk::SHRINK, XPAD, YPAD);
+#endif
+
+#ifdef SPCS_PREVIEW
+ _p = sp_color_preview_new(0xffffffff);
+ gtk_widget_show(_p);
+ attach(*Glib::wrap(_p), 2, 3, row, row + 1, Gtk::FILL, Gtk::FILL, XPAD, YPAD);
+#endif
+
+ g_signal_connect(G_OBJECT(_book), "switch-page", G_CALLBACK(ColorNotebook::_onPageSwitched), this);
+}
+
+void ColorNotebook::_onPickerClicked(GtkWidget * /*widget*/, ColorNotebook * /*colorbook*/)
+{
+ // Set the dropper into a "one click" mode, so it reverts to the previous tool after a click
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ prefs->setBool("/tools/dropper/onetimepick", true);
+ Inkscape::UI::Tools::sp_toggle_dropper(SP_ACTIVE_DESKTOP);
+}
+
+void ColorNotebook::_onButtonClicked(GtkWidget *widget, ColorNotebook *nb)
+{
+ if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) {
+ return;
+ }
+
+ for (gint i = 0; i < gtk_notebook_get_n_pages(GTK_NOTEBOOK(nb->_book)); i++) {
+ if (nb->_buttons[i] == widget) {
+ gtk_notebook_set_current_page(GTK_NOTEBOOK(nb->_book), i);
+ }
+ }
+}
+
+void ColorNotebook::_onSelectedColorChanged() { _updateICCButtons(); }
+
+void ColorNotebook::_onPageSwitched(GtkNotebook *notebook, GtkWidget *page, guint page_num, ColorNotebook *colorbook)
+{
+ if (colorbook->get_visible()) {
+ // remember the page we switched to
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ prefs->setInt("/colorselector/page", page_num);
+ }
+}
+
+
+// TODO pass in param so as to avoid the need for SP_ACTIVE_DOCUMENT
+void ColorNotebook::_updateICCButtons()
+{
+ SPColor color = _selected_color.color();
+ gfloat alpha = _selected_color.alpha();
+
+ g_return_if_fail((0.0 <= alpha) && (alpha <= 1.0));
+
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ /* update color management icon*/
+ gtk_widget_set_sensitive(_box_colormanaged, color.icc != NULL);
+
+ /* update out-of-gamut icon */
+ gtk_widget_set_sensitive(_box_outofgamut, false);
+ if (color.icc) {
+ Inkscape::ColorProfile *target_profile =
+ SP_ACTIVE_DOCUMENT->profileManager->find(color.icc->colorProfile.c_str());
+ if (target_profile)
+ gtk_widget_set_sensitive(_box_outofgamut, target_profile->GamutCheck(color));
+ }
+
+ /* update too-much-ink icon */
+ gtk_widget_set_sensitive(_box_toomuchink, false);
+ if (color.icc) {
+ Inkscape::ColorProfile *prof = SP_ACTIVE_DOCUMENT->profileManager->find(color.icc->colorProfile.c_str());
+ if (prof && CMSSystem::isPrintColorSpace(prof)) {
+ gtk_widget_show(GTK_WIDGET(_box_toomuchink));
+ double ink_sum = 0;
+ for (unsigned int i = 0; i < color.icc->colors.size(); i++) {
+ ink_sum += color.icc->colors[i];
+ }
+
+ /* Some literature states that when the sum of paint values exceed 320%, it is considered to be a satured
+ color,
+ which means the paper can get too wet due to an excessive ammount of ink. This may lead to several
+ issues
+ such as misalignment and poor quality of printing in general.*/
+ if (ink_sum > 3.2)
+ gtk_widget_set_sensitive(_box_toomuchink, true);
+ }
+ else {
+ gtk_widget_hide(GTK_WIDGET(_box_toomuchink));
+ }
+ }
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+}
+
+void ColorNotebook::_setCurrentPage(int i)
+{
+ gtk_notebook_set_current_page(GTK_NOTEBOOK(_book), i);
+
+ if (_buttons && (static_cast<size_t>(i) < _available_pages.size())) {
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_buttons[i]), TRUE);
+ }
+}
+
+void ColorNotebook::_addPage(Page &page)
+{
+ Gtk::Widget *selector_widget;
+
+ selector_widget = page.selector_factory->createWidget(_selected_color);
+ if (selector_widget) {
+ selector_widget->show();
+
+ Glib::ustring mode_name = page.selector_factory->modeName();
+ Gtk::Widget *tab_label = Gtk::manage(new Gtk::Label(mode_name));
+ gint page_num = gtk_notebook_append_page(GTK_NOTEBOOK(_book), selector_widget->gobj(), tab_label->gobj());
+
+ _buttons[page_num] = gtk_radio_button_new_with_label(NULL, mode_name.c_str());
+ gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(_buttons[page_num]), FALSE);
+ if (page_num > 0) {
+ GSList *group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(_buttons[0]));
+ gtk_radio_button_set_group(GTK_RADIO_BUTTON(_buttons[page_num]), group);
+ }
+ gtk_widget_show(_buttons[page_num]);
+ gtk_box_pack_start(GTK_BOX(_buttonbox), _buttons[page_num], TRUE, TRUE, 0);
+
+ g_signal_connect(G_OBJECT(_buttons[page_num]), "clicked", G_CALLBACK(_onButtonClicked), this);
+ }
+}
+}
+}
+}
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/ui/widget/color-notebook.h b/src/ui/widget/color-notebook.h
new file mode 100644
index 000000000..d28028c72
--- /dev/null
+++ b/src/ui/widget/color-notebook.h
@@ -0,0 +1,99 @@
+/**
+ * @file
+ * A notebook with RGB, CMYK, CMS, HSL, and Wheel pages
+ */
+/* Authors:
+ * Lauris Kaplinski <lauris@kaplinski.com>
+ * bulia byak <buliabyak@users.sf.net>
+ * Tomasz Boczkowski <penginsbacon@gmail.com> (c++-sification)
+ *
+ * Copyright (C) 2001-2014 Authors
+ *
+ * This code is in public domain
+ */
+#ifndef SEEN_SP_COLOR_NOTEBOOK_H
+#define SEEN_SP_COLOR_NOTEBOOK_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <boost/ptr_container/ptr_vector.hpp>
+#if WITH_GTKMM_3_0
+#include <gtkmm/grid.h>
+#else
+#include <gtkmm/table.h>
+#endif
+#include <gtk/gtk.h>
+#include <glib.h>
+
+#include "color.h"
+#include "ui/selected-color.h"
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+class ColorNotebook
+#if GTK_CHECK_VERSION(3, 0, 0)
+ : public Gtk::Grid
+#else
+ : public Gtk::Table
+#endif
+{
+public:
+ ColorNotebook(SelectedColor &color);
+ virtual ~ColorNotebook();
+
+protected:
+ struct Page {
+ Page(Inkscape::UI::ColorSelectorFactory *selector_factory, bool enabled_full);
+
+ Inkscape::UI::ColorSelectorFactory *selector_factory;
+ bool enabled_full;
+ };
+
+ virtual void _initUI();
+ void _addPage(Page &page);
+
+ static void _onButtonClicked(GtkWidget *widget, ColorNotebook *colorbook);
+ static void _onPickerClicked(GtkWidget *widget, ColorNotebook *colorbook);
+ static void _onPageSwitched(GtkNotebook *notebook, GtkWidget *page, guint page_num, ColorNotebook *colorbook);
+ virtual void _onSelectedColorChanged();
+
+ void _updateICCButtons();
+ void _setCurrentPage(int i);
+
+ Inkscape::UI::SelectedColor &_selected_color;
+ gulong _entryId;
+ GtkWidget *_book;
+ GtkWidget *_buttonbox;
+ GtkWidget **_buttons;
+ GtkWidget *_rgbal; /* RGBA entry */
+#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ GtkWidget *_box_outofgamut, *_box_colormanaged, *_box_toomuchink;
+#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+ GtkWidget *_btn_picker;
+ GtkWidget *_p; /* Color preview */
+ boost::ptr_vector<Page> _available_pages;
+
+private:
+ // By default, disallow copy constructor and assignment operator
+ ColorNotebook(const ColorNotebook &obj);
+ ColorNotebook &operator=(const ColorNotebook &obj);
+};
+}
+}
+}
+#endif // SEEN_SP_COLOR_NOTEBOOK_H
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
+
diff --git a/src/ui/widget/color-picker.cpp b/src/ui/widget/color-picker.cpp
index d4c4d394e..a66fbfc9c 100644
--- a/src/ui/widget/color-picker.cpp
+++ b/src/ui/widget/color-picker.cpp
@@ -17,7 +17,7 @@
#include "document-undo.h"
#include "ui/dialog-events.h"
-#include "widgets/sp-color-notebook.h"
+#include "ui/widget/color-notebook.h"
#include "verbs.h"
@@ -27,8 +27,6 @@ namespace Inkscape {
namespace UI {
namespace Widget {
-void sp_color_picker_color_mod(SPColorSelector *csel, GObject *cp);
-
ColorPicker::ColorPicker (const Glib::ustring& title, const Glib::ustring& tip,
guint32 rgba, bool undo)
: _preview(rgba), _title(title), _rgba(rgba), _undo(undo),
@@ -39,12 +37,15 @@ ColorPicker::ColorPicker (const Glib::ustring& title, const Glib::ustring& tip,
_preview.show();
add (_preview);
set_tooltip_text (tip);
+
+ _selected_color.signal_changed.connect(sigc::mem_fun(this, &ColorPicker::_onSelectedColorChanged));
+ _selected_color.signal_dragged.connect(sigc::mem_fun(this, &ColorPicker::_onSelectedColorChanged));
+ _selected_color.signal_released.connect(sigc::mem_fun(this, &ColorPicker::_onSelectedColorChanged));
}
ColorPicker::~ColorPicker()
{
closeWindow();
- _colorSelector = NULL;
}
void ColorPicker::setupDialog(const Glib::ustring &title)
@@ -55,25 +56,17 @@ void ColorPicker::setupDialog(const Glib::ustring &title)
_colorSelectorDialog.hide();
_colorSelectorDialog.set_title (title);
_colorSelectorDialog.set_border_width (4);
- _colorSelector = SP_COLOR_SELECTOR(sp_color_selector_new(SP_TYPE_COLOR_NOTEBOOK));
+
+ _color_selector = Gtk::manage(new ColorNotebook(_selected_color));
#if WITH_GTKMM_3_0
_colorSelectorDialog.get_content_area()->pack_start (
- *Glib::wrap(&_colorSelector->vbox), true, true, 0);
+ *_color_selector, true, true, 0);
#else
_colorSelectorDialog.get_vbox()->pack_start (
- *Glib::wrap(&_colorSelector->vbox), true, true, 0);
+ *_color_selector, true, true, 0);
#endif
-
- g_signal_connect(G_OBJECT(_colorSelector), "dragged",
- G_CALLBACK(sp_color_picker_color_mod), (void *)this);
- g_signal_connect(G_OBJECT(_colorSelector), "released",
- G_CALLBACK(sp_color_picker_color_mod), (void *)this);
- g_signal_connect(G_OBJECT(_colorSelector), "changed",
- G_CALLBACK(sp_color_picker_color_mod), (void *)this);
-
- gtk_widget_show(GTK_WIDGET(_colorSelector));
-
+ _color_selector->show();
}
void ColorPicker::setRgba32 (guint32 rgba)
@@ -82,11 +75,11 @@ void ColorPicker::setRgba32 (guint32 rgba)
_preview.setRgba32 (rgba);
_rgba = rgba;
- if (_colorSelector)
+ if (_color_selector)
{
- SPColor color;
- color.set( rgba );
- _colorSelector->base->setColorAlpha(color, SP_RGBA32_A_F(rgba));
+ _updating = true;
+ _selected_color.setValue(rgba);
+ _updating = false;
}
}
@@ -97,11 +90,11 @@ void ColorPicker::closeWindow()
void ColorPicker::on_clicked()
{
- if (_colorSelector)
+ if (_color_selector)
{
- SPColor color;
- color.set( _rgba );
- _colorSelector->base->setColorAlpha(color, SP_RGBA32_A_F(_rgba));
+ _updating = true;
+ _selected_color.setValue(_rgba);
+ _updating = false;
}
_colorSelectorDialog.show();
}
@@ -110,34 +103,31 @@ void ColorPicker::on_changed (guint32)
{
}
-void sp_color_picker_color_mod(SPColorSelector *csel, GObject *cp)
-{
+void ColorPicker::_onSelectedColorChanged() {
+ if (_updating) {
+ return;
+ }
+
if (_in_use) {
return;
} else {
_in_use = true;
}
- SPColor color;
- float alpha = 0;
- csel->base->getColorAlpha(color, alpha);
- guint32 rgba = color.toRGBA32( alpha );
-
- ColorPicker *ptr = reinterpret_cast<ColorPicker *>(cp);
-
- (ptr->_preview).setRgba32 (rgba);
+ guint32 rgba = _selected_color.value();
+ _preview.setRgba32(rgba);
- if (ptr->_undo && SP_ACTIVE_DESKTOP)
+ if (_undo && SP_ACTIVE_DESKTOP) {
DocumentUndo::done(SP_ACTIVE_DESKTOP->getDocument(), SP_VERB_NONE,
/* TODO: annotate */ "color-picker.cpp:130");
+ }
- ptr->on_changed (rgba);
+ on_changed(rgba);
_in_use = false;
- ptr->_changed_signal.emit (rgba);
- ptr->_rgba = rgba;
+ _changed_signal.emit(rgba);
+ _rgba = rgba;
}
-
}//namespace Widget
}//namespace UI
}//namespace Inkscape
diff --git a/src/ui/widget/color-picker.h b/src/ui/widget/color-picker.h
index 99904b081..e8a738b5b 100644
--- a/src/ui/widget/color-picker.h
+++ b/src/ui/widget/color-picker.h
@@ -18,6 +18,7 @@
#include <gtkmm/dialog.h>
#include <gtkmm/button.h>
#include <sigc++/sigc++.h>
+#include "ui/selected-color.h"
#include "ui/widget/color-preview.h"
struct SPColorSelector;
@@ -49,7 +50,7 @@ public:
protected:
- friend void sp_color_picker_color_mod(SPColorSelector *csel, GObject *cp);
+ void _onSelectedColorChanged();
virtual void on_clicked();
virtual void on_changed (guint32);
@@ -59,13 +60,14 @@ protected:
sigc::signal<void,guint32> _changed_signal;
guint32 _rgba;
bool _undo;
-
+ bool _updating;
//Dialog
void setupDialog(const Glib::ustring &title);
//Inkscape::UI::Dialog::Dialog _colorSelectorDialog;
Gtk::Dialog _colorSelectorDialog;
- SPColorSelector *_colorSelector;
+ SelectedColor _selected_color;
+ Gtk::Widget *_color_selector;
};
}//namespace Widget
diff --git a/src/ui/widget/color-scales.cpp b/src/ui/widget/color-scales.cpp
new file mode 100644
index 000000000..170f83887
--- /dev/null
+++ b/src/ui/widget/color-scales.cpp
@@ -0,0 +1,677 @@
+/*
+ * bulia byak <buliabyak@users.sf.net>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <math.h>
+#include <gtkmm/adjustment.h>
+#include <glibmm/i18n.h>
+#include <gtk/gtk.h>
+
+#include "svg/svg-icc-color.h"
+#include "ui/dialog-events.h"
+#include "ui/widget/color-scales.h"
+#include "ui/widget/color-slider.h"
+
+#define CSC_CHANNEL_R (1 << 0)
+#define CSC_CHANNEL_G (1 << 1)
+#define CSC_CHANNEL_B (1 << 2)
+#define CSC_CHANNEL_A (1 << 3)
+#define CSC_CHANNEL_H (1 << 0)
+#define CSC_CHANNEL_S (1 << 1)
+#define CSC_CHANNEL_V (1 << 2)
+#define CSC_CHANNEL_C (1 << 0)
+#define CSC_CHANNEL_M (1 << 1)
+#define CSC_CHANNEL_Y (1 << 2)
+#define CSC_CHANNEL_K (1 << 3)
+#define CSC_CHANNEL_CMYKA (1 << 4)
+
+#define CSC_CHANNELS_ALL 0
+
+#define XPAD 4
+#define YPAD 1
+
+#define noDUMP_CHANGE_INFO 1
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+
+static const gchar *sp_color_scales_hue_map();
+
+const gchar *ColorScales::SUBMODE_NAMES[] = { N_("None"), N_("RGB"), N_("HSL"), N_("CMYK") };
+
+ColorScales::ColorScales(SelectedColor &color, SPColorScalesMode mode)
+#if GTK_CHECK_VERSION(3, 0, 0)
+ : Gtk::Grid()
+#else
+ : Gtk::Table(5, 3, false)
+#endif
+ , _color(color)
+ , _rangeLimit(255.0)
+ , _updating(FALSE)
+ , _dragging(FALSE)
+{
+ for (gint i = 0; i < 5; i++) {
+ _l[i] = 0;
+ _a[i] = 0;
+ _s[i] = 0;
+ _b[i] = 0;
+ }
+
+ _initUI(mode);
+
+ _color.signal_changed.connect(sigc::mem_fun(this, &ColorScales::_onColorChanged));
+ _color.signal_dragged.connect(sigc::mem_fun(this, &ColorScales::_onColorChanged));
+}
+
+ColorScales::~ColorScales()
+{
+ for (gint i = 0; i < 5; i++) {
+ _l[i] = 0;
+ _a[i] = 0;
+ _s[i] = 0;
+ _b[i] = 0;
+ }
+}
+
+void ColorScales::_initUI(SPColorScalesMode mode)
+{
+ gint i;
+
+ _updating = FALSE;
+ _dragging = FALSE;
+
+ GtkWidget *t = GTK_WIDGET(gobj());
+
+ /* Create components */
+ for (i = 0; i < static_cast<gint>(G_N_ELEMENTS(_a)); i++) {
+ /* Label */
+ _l[i] = gtk_label_new("");
+ gtk_misc_set_alignment(GTK_MISC(_l[i]), 1.0, 0.5);
+ gtk_widget_show(_l[i]);
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ #if GTK_CHECK_VERSION(3, 12, 0)
+ gtk_widget_set_margin_start(_l[i], XPAD);
+ gtk_widget_set_margin_end(_l[i], XPAD);
+ #else
+ gtk_widget_set_margin_left(_l[i], XPAD);
+ gtk_widget_set_margin_right(_l[i], XPAD);
+ #endif
+ gtk_widget_set_margin_top(_l[i], YPAD);
+ gtk_widget_set_margin_bottom(_l[i], YPAD);
+ gtk_grid_attach(GTK_GRID(t), _l[i], 0, i, 1, 1);
+#else
+ gtk_table_attach(GTK_TABLE(t), _l[i], 0, 1, i, i + 1, GTK_FILL, GTK_FILL, XPAD, YPAD);
+#endif
+
+ /* Adjustment */
+ _a[i] = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, _rangeLimit, 1.0, 10.0, 10.0));
+ /* Slider */
+ _s[i] = Gtk::manage(new Inkscape::UI::Widget::ColorSlider(Glib::wrap(_a[i], true)));
+ _s[i]->show();
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ #if GTK_CHECK_VERSION(3, 12, 0)
+ _s[i]->set_margin_start(XPAD);
+ _s[i]->set_margin_end(XPAD);
+ #else
+ _s[i]->set_margin_left(XPAD);
+ _s[i]->set_margin_right(XPAD);
+ #endif
+ _s[i]->set_margin_top(YPAD);
+ _s[i]->set_margin_bottom(YPAD);
+ _s[i]->set_hexpand(true);
+ gtk_grid_attach(GTK_GRID(t), _s[i]->gobj(), 1, i, 1, 1);
+#else
+ gtk_table_attach(GTK_TABLE(t), _s[i]->gobj(), 1, 2, i, i + 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
+ GTK_FILL, XPAD, YPAD);
+#endif
+
+ /* Spinbutton */
+ _b[i] = gtk_spin_button_new(GTK_ADJUSTMENT(_a[i]), 1.0, 0);
+ sp_dialog_defocus_on_enter(_b[i]);
+ gtk_label_set_mnemonic_widget(GTK_LABEL(_l[i]), _b[i]);
+ gtk_widget_show(_b[i]);
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ #if GTK_CHECK_VERSION(3, 12, 0)
+ gtk_widget_set_margin_start(_b[i], XPAD);
+ gtk_widget_set_margin_end(_b[i], XPAD);
+ #else
+ gtk_widget_set_margin_left(_b[i], XPAD);
+ gtk_widget_set_margin_right(_b[i], XPAD);
+ #endif
+ gtk_widget_set_margin_top(_b[i], YPAD);
+ gtk_widget_set_margin_bottom(_b[i], YPAD);
+ gtk_widget_set_halign(_b[i], GTK_ALIGN_CENTER);
+ gtk_widget_set_valign(_b[i], GTK_ALIGN_CENTER);
+ gtk_grid_attach(GTK_GRID(t), _b[i], 2, i, 1, 1);
+#else
+ gtk_table_attach(GTK_TABLE(t), _b[i], 2, 3, i, i + 1, (GtkAttachOptions)0, (GtkAttachOptions)0, XPAD, YPAD);
+#endif
+
+ /* Attach channel value to adjustment */
+ g_object_set_data(G_OBJECT(_a[i]), "channel", GINT_TO_POINTER(i));
+ /* Signals */
+ g_signal_connect(G_OBJECT(_a[i]), "value_changed", G_CALLBACK(_adjustmentAnyChanged), this);
+ _s[i]->signal_grabbed.connect(sigc::mem_fun(this, &ColorScales::_sliderAnyGrabbed));
+ _s[i]->signal_released.connect(sigc::mem_fun(this, &ColorScales::_sliderAnyReleased));
+ _s[i]->signal_value_changed.connect(sigc::mem_fun(this, &ColorScales::_sliderAnyChanged));
+ }
+
+ //Prevent 5th bar from being shown by PanelDialog::show_all_children
+ gtk_widget_set_no_show_all(_l[4], TRUE);
+ _s[4]->set_no_show_all(true);
+ gtk_widget_set_no_show_all(_b[4], TRUE);
+
+ /* Initial mode is none, so it works */
+ setMode(mode);
+}
+
+void ColorScales::_recalcColor()
+{
+ SPColor color;
+ gfloat alpha = 1.0;
+ gfloat c[5];
+
+ switch (_mode) {
+ case SP_COLOR_SCALES_MODE_RGB:
+ case SP_COLOR_SCALES_MODE_HSV:
+ _getRgbaFloatv(c);
+ color.set(c[0], c[1], c[2]);
+ alpha = c[3];
+ break;
+ case SP_COLOR_SCALES_MODE_CMYK: {
+ _getCmykaFloatv(c);
+
+ float rgb[3];
+ sp_color_cmyk_to_rgb_floatv(rgb, c[0], c[1], c[2], c[3]);
+ color.set(rgb[0], rgb[1], rgb[2]);
+ alpha = c[4];
+ break;
+ }
+ default:
+ g_warning("file %s: line %d: Illegal color selector mode %d", __FILE__, __LINE__, _mode);
+ break;
+ }
+
+ _color.preserveICC();
+ _color.setColorAlpha(color, alpha);
+}
+
+void ColorScales::_updateDisplay()
+{
+#ifdef DUMP_CHANGE_INFO
+ g_message("ColorScales::_onColorChanged( this=%p, %f, %f, %f, %f)", this, _color.color().v.c[0],
+ _color.color().v.c[1], _color.color().v.c[2], _color.alpha());
+#endif
+ gfloat tmp[3];
+ gfloat c[5] = { 0.0, 0.0, 0.0, 0.0 };
+
+ SPColor color = _color.color();
+
+ switch (_mode) {
+ case SP_COLOR_SCALES_MODE_RGB:
+ sp_color_get_rgb_floatv(&color, c);
+ c[3] = _color.alpha();
+ c[4] = 0.0;
+ break;
+ case SP_COLOR_SCALES_MODE_HSV:
+ sp_color_get_rgb_floatv(&color, tmp);
+ sp_color_rgb_to_hsl_floatv(c, tmp[0], tmp[1], tmp[2]);
+ c[3] = _color.alpha();
+ c[4] = 0.0;
+ break;
+ case SP_COLOR_SCALES_MODE_CMYK:
+ sp_color_get_cmyk_floatv(&color, c);
+ c[4] = _color.alpha();
+ break;
+ default:
+ g_warning("file %s: line %d: Illegal color selector mode %d", __FILE__, __LINE__, _mode);
+ break;
+ }
+
+ _updating = TRUE;
+ setScaled(_a[0], c[0]);
+ setScaled(_a[1], c[1]);
+ setScaled(_a[2], c[2]);
+ setScaled(_a[3], c[3]);
+ setScaled(_a[4], c[4]);
+ _updateSliders(CSC_CHANNELS_ALL);
+ _updating = FALSE;
+}
+
+/* Helpers for setting color value */
+gfloat ColorScales::getScaled(const GtkAdjustment *a)
+{
+ gfloat val = gtk_adjustment_get_value(const_cast<GtkAdjustment *>(a)) /
+ gtk_adjustment_get_upper(const_cast<GtkAdjustment *>(a));
+ return val;
+}
+
+void ColorScales::setScaled(GtkAdjustment *a, gfloat v)
+{
+ gfloat val = v * gtk_adjustment_get_upper(a);
+ gtk_adjustment_set_value(a, val);
+}
+
+void ColorScales::_setRangeLimit(gdouble upper)
+{
+ _rangeLimit = upper;
+ for (gint i = 0; i < static_cast<gint>(G_N_ELEMENTS(_a)); i++) {
+ gtk_adjustment_set_upper(_a[i], upper);
+ gtk_adjustment_changed(_a[i]);
+ }
+}
+
+void ColorScales::_onColorChanged()
+{
+ if (!get_visible()) {
+ return;
+ }
+ _updateDisplay();
+}
+
+void ColorScales::on_show()
+{
+#if GTK_CHECK_VERSION(3, 0, 0)
+ Gtk::Grid::on_show();
+#else
+ Gtk::Table::on_show();
+#endif
+ _updateDisplay();
+}
+
+void ColorScales::_getRgbaFloatv(gfloat *rgba)
+{
+ g_return_if_fail(rgba != NULL);
+
+ switch (_mode) {
+ case SP_COLOR_SCALES_MODE_RGB:
+ rgba[0] = getScaled(_a[0]);
+ rgba[1] = getScaled(_a[1]);
+ rgba[2] = getScaled(_a[2]);
+ rgba[3] = getScaled(_a[3]);
+ break;
+ case SP_COLOR_SCALES_MODE_HSV:
+ sp_color_hsl_to_rgb_floatv(rgba, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]));
+ rgba[3] = getScaled(_a[3]);
+ break;
+ case SP_COLOR_SCALES_MODE_CMYK:
+ sp_color_cmyk_to_rgb_floatv(rgba, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), getScaled(_a[3]));
+ rgba[3] = getScaled(_a[4]);
+ break;
+ default:
+ g_warning("file %s: line %d: Illegal color selector mode", __FILE__, __LINE__);
+ break;
+ }
+}
+
+void ColorScales::_getCmykaFloatv(gfloat *cmyka)
+{
+ gfloat rgb[3];
+
+ g_return_if_fail(cmyka != NULL);
+
+ switch (_mode) {
+ case SP_COLOR_SCALES_MODE_RGB:
+ sp_color_rgb_to_cmyk_floatv(cmyka, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]));
+ cmyka[4] = getScaled(_a[3]);
+ break;
+ case SP_COLOR_SCALES_MODE_HSV:
+ sp_color_hsl_to_rgb_floatv(rgb, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]));
+ sp_color_rgb_to_cmyk_floatv(cmyka, rgb[0], rgb[1], rgb[2]);
+ cmyka[4] = getScaled(_a[3]);
+ break;
+ case SP_COLOR_SCALES_MODE_CMYK:
+ cmyka[0] = getScaled(_a[0]);
+ cmyka[1] = getScaled(_a[1]);
+ cmyka[2] = getScaled(_a[2]);
+ cmyka[3] = getScaled(_a[3]);
+ cmyka[4] = getScaled(_a[4]);
+ break;
+ default:
+ g_warning("file %s: line %d: Illegal color selector mode", __FILE__, __LINE__);
+ break;
+ }
+}
+
+guint32 ColorScales::_getRgba32()
+{
+ gfloat c[4];
+ guint32 rgba;
+
+ _getRgbaFloatv(c);
+
+ rgba = SP_RGBA32_F_COMPOSE(c[0], c[1], c[2], c[3]);
+
+ return rgba;
+}
+
+void ColorScales::setMode(SPColorScalesMode mode)
+{
+ gfloat rgba[4];
+ gfloat c[4];
+
+ if (_mode == mode)
+ return;
+
+ if ((_mode == SP_COLOR_SCALES_MODE_RGB) || (_mode == SP_COLOR_SCALES_MODE_HSV) ||
+ (_mode == SP_COLOR_SCALES_MODE_CMYK)) {
+ _getRgbaFloatv(rgba);
+ }
+ else {
+ rgba[0] = rgba[1] = rgba[2] = rgba[3] = 1.0;
+ }
+
+ _mode = mode;
+
+ switch (mode) {
+ case SP_COLOR_SCALES_MODE_RGB:
+ _setRangeLimit(255.0);
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[0]), _("_R:"));
+ _s[0]->set_tooltip_text(_("Red"));
+ gtk_widget_set_tooltip_text(_b[0], _("Red"));
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[1]), _("_G:"));
+ _s[1]->set_tooltip_text(_("Green"));
+ gtk_widget_set_tooltip_text(_b[1], _("Green"));
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[2]), _("_B:"));
+ _s[2]->set_tooltip_text(_("Blue"));
+ gtk_widget_set_tooltip_text(_b[2], _("Blue"));
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[3]), _("_A:"));
+ _s[3]->set_tooltip_text(_("Alpha (opacity)"));
+ gtk_widget_set_tooltip_text(_b[3], _("Alpha (opacity)"));
+ _s[0]->setMap(NULL);
+ gtk_widget_hide(_l[4]);
+ _s[4]->hide();
+ gtk_widget_hide(_b[4]);
+ _updating = TRUE;
+ setScaled(_a[0], rgba[0]);
+ setScaled(_a[1], rgba[1]);
+ setScaled(_a[2], rgba[2]);
+ setScaled(_a[3], rgba[3]);
+ _updateSliders(CSC_CHANNELS_ALL);
+ _updating = FALSE;
+ break;
+ case SP_COLOR_SCALES_MODE_HSV:
+ _setRangeLimit(255.0);
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[0]), _("_H:"));
+ _s[0]->set_tooltip_text(_("Hue"));
+ gtk_widget_set_tooltip_text(_b[0], _("Hue"));
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[1]), _("_S:"));
+ _s[1]->set_tooltip_text(_("Saturation"));
+ gtk_widget_set_tooltip_text(_b[1], _("Saturation"));
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[2]), _("_L:"));
+ _s[2]->set_tooltip_text(_("Lightness"));
+ gtk_widget_set_tooltip_text(_b[2], _("Lightness"));
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[3]), _("_A:"));
+ _s[3]->set_tooltip_text(_("Alpha (opacity)"));
+ gtk_widget_set_tooltip_text(_b[3], _("Alpha (opacity)"));
+ _s[0]->setMap((guchar *)(sp_color_scales_hue_map()));
+ gtk_widget_hide(_l[4]);
+ _s[4]->hide();
+ gtk_widget_hide(_b[4]);
+ _updating = TRUE;
+ c[0] = 0.0;
+ sp_color_rgb_to_hsl_floatv(c, rgba[0], rgba[1], rgba[2]);
+ setScaled(_a[0], c[0]);
+ setScaled(_a[1], c[1]);
+ setScaled(_a[2], c[2]);
+ setScaled(_a[3], rgba[3]);
+ _updateSliders(CSC_CHANNELS_ALL);
+ _updating = FALSE;
+ break;
+ case SP_COLOR_SCALES_MODE_CMYK:
+ _setRangeLimit(100.0);
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[0]), _("_C:"));
+ _s[0]->set_tooltip_text(_("Cyan"));
+ gtk_widget_set_tooltip_text(_b[0], _("Cyan"));
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[1]), _("_M:"));
+ _s[1]->set_tooltip_text(_("Magenta"));
+ gtk_widget_set_tooltip_text(_b[1], _("Magenta"));
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[2]), _("_Y:"));
+ _s[2]->set_tooltip_text(_("Yellow"));
+ gtk_widget_set_tooltip_text(_b[2], _("Yellow"));
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[3]), _("_K:"));
+ _s[3]->set_tooltip_text(_("Black"));
+ gtk_widget_set_tooltip_text(_b[3], _("Black"));
+ gtk_label_set_markup_with_mnemonic(GTK_LABEL(_l[4]), _("_A:"));
+ _s[4]->set_tooltip_text(_("Alpha (opacity)"));
+ gtk_widget_set_tooltip_text(_b[4], _("Alpha (opacity)"));
+ _s[0]->setMap(NULL);
+ gtk_widget_show(_l[4]);
+ _s[4]->show();
+ gtk_widget_show(_b[4]);
+ _updating = TRUE;
+
+ sp_color_rgb_to_cmyk_floatv(c, rgba[0], rgba[1], rgba[2]);
+ setScaled(_a[0], c[0]);
+ setScaled(_a[1], c[1]);
+ setScaled(_a[2], c[2]);
+ setScaled(_a[3], c[3]);
+
+ setScaled(_a[4], rgba[3]);
+ _updateSliders(CSC_CHANNELS_ALL);
+ _updating = FALSE;
+ break;
+ default:
+ g_warning("file %s: line %d: Illegal color selector mode", __FILE__, __LINE__);
+ break;
+ }
+}
+
+SPColorScalesMode ColorScales::getMode() const { return _mode; }
+
+void ColorScales::_adjustmentAnyChanged(GtkAdjustment *adjustment, ColorScales *cs)
+{
+ gint channel = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(adjustment), "channel"));
+
+ _adjustmentChanged(cs, channel);
+}
+
+void ColorScales::_sliderAnyGrabbed()
+{
+ if (_updating) {
+ return;
+ }
+ if (!_dragging) {
+ _dragging = TRUE;
+ _color.setHeld(true);
+ }
+}
+
+void ColorScales::_sliderAnyReleased()
+{
+ if (_updating) {
+ return;
+ }
+ if (_dragging) {
+ _dragging = FALSE;
+ _color.setHeld(false);
+ }
+}
+
+void ColorScales::_sliderAnyChanged()
+{
+ if (_updating) {
+ return;
+ }
+ _recalcColor();
+}
+
+void ColorScales::_adjustmentChanged(ColorScales *scales, guint channel)
+{
+ if (scales->_updating) {
+ return;
+ }
+
+ scales->_updateSliders((1 << channel));
+ scales->_recalcColor();
+}
+
+void ColorScales::_updateSliders(guint channels)
+{
+ gfloat rgb0[3], rgbm[3], rgb1[3];
+#ifdef SPCS_PREVIEW
+ guint32 rgba;
+#endif
+ switch (_mode) {
+ case SP_COLOR_SCALES_MODE_RGB:
+ if ((channels != CSC_CHANNEL_R) && (channels != CSC_CHANNEL_A)) {
+ /* Update red */
+ _s[0]->setColors(SP_RGBA32_F_COMPOSE(0.0, getScaled(_a[1]), getScaled(_a[2]), 1.0),
+ SP_RGBA32_F_COMPOSE(0.5, getScaled(_a[1]), getScaled(_a[2]), 1.0),
+ SP_RGBA32_F_COMPOSE(1.0, getScaled(_a[1]), getScaled(_a[2]), 1.0));
+ }
+ if ((channels != CSC_CHANNEL_G) && (channels != CSC_CHANNEL_A)) {
+ /* Update green */
+ _s[1]->setColors(SP_RGBA32_F_COMPOSE(getScaled(_a[0]), 0.0, getScaled(_a[2]), 1.0),
+ SP_RGBA32_F_COMPOSE(getScaled(_a[0]), 0.5, getScaled(_a[2]), 1.0),
+ SP_RGBA32_F_COMPOSE(getScaled(_a[0]), 1.0, getScaled(_a[2]), 1.0));
+ }
+ if ((channels != CSC_CHANNEL_B) && (channels != CSC_CHANNEL_A)) {
+ /* Update blue */
+ _s[2]->setColors(SP_RGBA32_F_COMPOSE(getScaled(_a[0]), getScaled(_a[1]), 0.0, 1.0),
+ SP_RGBA32_F_COMPOSE(getScaled(_a[0]), getScaled(_a[1]), 0.5, 1.0),
+ SP_RGBA32_F_COMPOSE(getScaled(_a[0]), getScaled(_a[1]), 1.0, 1.0));
+ }
+ if (channels != CSC_CHANNEL_A) {
+ /* Update alpha */
+ _s[3]->setColors(SP_RGBA32_F_COMPOSE(getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), 0.0),
+ SP_RGBA32_F_COMPOSE(getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), 0.5),
+ SP_RGBA32_F_COMPOSE(getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), 1.0));
+ }
+ break;
+ case SP_COLOR_SCALES_MODE_HSV:
+ /* Hue is never updated */
+ if ((channels != CSC_CHANNEL_S) && (channels != CSC_CHANNEL_A)) {
+ /* Update saturation */
+ sp_color_hsl_to_rgb_floatv(rgb0, getScaled(_a[0]), 0.0, getScaled(_a[2]));
+ sp_color_hsl_to_rgb_floatv(rgbm, getScaled(_a[0]), 0.5, getScaled(_a[2]));
+ sp_color_hsl_to_rgb_floatv(rgb1, getScaled(_a[0]), 1.0, getScaled(_a[2]));
+ _s[1]->setColors(SP_RGBA32_F_COMPOSE(rgb0[0], rgb0[1], rgb0[2], 1.0),
+ SP_RGBA32_F_COMPOSE(rgbm[0], rgbm[1], rgbm[2], 1.0),
+ SP_RGBA32_F_COMPOSE(rgb1[0], rgb1[1], rgb1[2], 1.0));
+ }
+ if ((channels != CSC_CHANNEL_V) && (channels != CSC_CHANNEL_A)) {
+ /* Update value */
+ sp_color_hsl_to_rgb_floatv(rgb0, getScaled(_a[0]), getScaled(_a[1]), 0.0);
+ sp_color_hsl_to_rgb_floatv(rgbm, getScaled(_a[0]), getScaled(_a[1]), 0.5);
+ sp_color_hsl_to_rgb_floatv(rgb1, getScaled(_a[0]), getScaled(_a[1]), 1.0);
+ _s[2]->setColors(SP_RGBA32_F_COMPOSE(rgb0[0], rgb0[1], rgb0[2], 1.0),
+ SP_RGBA32_F_COMPOSE(rgbm[0], rgbm[1], rgbm[2], 1.0),
+ SP_RGBA32_F_COMPOSE(rgb1[0], rgb1[1], rgb1[2], 1.0));
+ }
+ if (channels != CSC_CHANNEL_A) {
+ /* Update alpha */
+ sp_color_hsl_to_rgb_floatv(rgb0, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]));
+ _s[3]->setColors(SP_RGBA32_F_COMPOSE(rgb0[0], rgb0[1], rgb0[2], 0.0),
+ SP_RGBA32_F_COMPOSE(rgb0[0], rgb0[1], rgb0[2], 0.5),
+ SP_RGBA32_F_COMPOSE(rgb0[0], rgb0[1], rgb0[2], 1.0));
+ }
+ break;
+ case SP_COLOR_SCALES_MODE_CMYK:
+ if ((channels != CSC_CHANNEL_C) && (channels != CSC_CHANNEL_CMYKA)) {
+ /* Update C */
+ sp_color_cmyk_to_rgb_floatv(rgb0, 0.0, getScaled(_a[1]), getScaled(_a[2]), getScaled(_a[3]));
+ sp_color_cmyk_to_rgb_floatv(rgbm, 0.5, getScaled(_a[1]), getScaled(_a[2]), getScaled(_a[3]));
+ sp_color_cmyk_to_rgb_floatv(rgb1, 1.0, getScaled(_a[1]), getScaled(_a[2]), getScaled(_a[3]));
+ _s[0]->setColors(SP_RGBA32_F_COMPOSE(rgb0[0], rgb0[1], rgb0[2], 1.0),
+ SP_RGBA32_F_COMPOSE(rgbm[0], rgbm[1], rgbm[2], 1.0),
+ SP_RGBA32_F_COMPOSE(rgb1[0], rgb1[1], rgb1[2], 1.0));
+ }
+ if ((channels != CSC_CHANNEL_M) && (channels != CSC_CHANNEL_CMYKA)) {
+ /* Update M */
+ sp_color_cmyk_to_rgb_floatv(rgb0, getScaled(_a[0]), 0.0, getScaled(_a[2]), getScaled(_a[3]));
+ sp_color_cmyk_to_rgb_floatv(rgbm, getScaled(_a[0]), 0.5, getScaled(_a[2]), getScaled(_a[3]));
+ sp_color_cmyk_to_rgb_floatv(rgb1, getScaled(_a[0]), 1.0, getScaled(_a[2]), getScaled(_a[3]));
+ _s[1]->setColors(SP_RGBA32_F_COMPOSE(rgb0[0], rgb0[1], rgb0[2], 1.0),
+ SP_RGBA32_F_COMPOSE(rgbm[0], rgbm[1], rgbm[2], 1.0),
+ SP_RGBA32_F_COMPOSE(rgb1[0], rgb1[1], rgb1[2], 1.0));
+ }
+ if ((channels != CSC_CHANNEL_Y) && (channels != CSC_CHANNEL_CMYKA)) {
+ /* Update Y */
+ sp_color_cmyk_to_rgb_floatv(rgb0, getScaled(_a[0]), getScaled(_a[1]), 0.0, getScaled(_a[3]));
+ sp_color_cmyk_to_rgb_floatv(rgbm, getScaled(_a[0]), getScaled(_a[1]), 0.5, getScaled(_a[3]));
+ sp_color_cmyk_to_rgb_floatv(rgb1, getScaled(_a[0]), getScaled(_a[1]), 1.0, getScaled(_a[3]));
+ _s[2]->setColors(SP_RGBA32_F_COMPOSE(rgb0[0], rgb0[1], rgb0[2], 1.0),
+ SP_RGBA32_F_COMPOSE(rgbm[0], rgbm[1], rgbm[2], 1.0),
+ SP_RGBA32_F_COMPOSE(rgb1[0], rgb1[1], rgb1[2], 1.0));
+ }
+ if ((channels != CSC_CHANNEL_K) && (channels != CSC_CHANNEL_CMYKA)) {
+ /* Update K */
+ sp_color_cmyk_to_rgb_floatv(rgb0, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), 0.0);
+ sp_color_cmyk_to_rgb_floatv(rgbm, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), 0.5);
+ sp_color_cmyk_to_rgb_floatv(rgb1, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), 1.0);
+ _s[3]->setColors(SP_RGBA32_F_COMPOSE(rgb0[0], rgb0[1], rgb0[2], 1.0),
+ SP_RGBA32_F_COMPOSE(rgbm[0], rgbm[1], rgbm[2], 1.0),
+ SP_RGBA32_F_COMPOSE(rgb1[0], rgb1[1], rgb1[2], 1.0));
+ }
+ if (channels != CSC_CHANNEL_CMYKA) {
+ /* Update alpha */
+ sp_color_cmyk_to_rgb_floatv(rgb0, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]),
+ getScaled(_a[3]));
+ _s[4]->setColors(SP_RGBA32_F_COMPOSE(rgb0[0], rgb0[1], rgb0[2], 0.0),
+ SP_RGBA32_F_COMPOSE(rgb0[0], rgb0[1], rgb0[2], 0.5),
+ SP_RGBA32_F_COMPOSE(rgb0[0], rgb0[1], rgb0[2], 1.0));
+ }
+ break;
+ default:
+ g_warning("file %s: line %d: Illegal color selector mode", __FILE__, __LINE__);
+ break;
+ }
+
+#ifdef SPCS_PREVIEW
+ rgba = sp_color_scales_get_rgba32(cs);
+ sp_color_preview_set_rgba32(SP_COLOR_PREVIEW(_p), rgba);
+#endif
+}
+
+static const gchar *sp_color_scales_hue_map(void)
+{
+ static gchar *map = NULL;
+
+ if (!map) {
+ gchar *p;
+ gint h;
+ map = g_new(gchar, 4 * 1024);
+ p = map;
+ for (h = 0; h < 1024; h++) {
+ gfloat rgb[3];
+ sp_color_hsl_to_rgb_floatv(rgb, h / 1024.0, 1.0, 0.5);
+ *p++ = SP_COLOR_F_TO_U(rgb[0]);
+ *p++ = SP_COLOR_F_TO_U(rgb[1]);
+ *p++ = SP_COLOR_F_TO_U(rgb[2]);
+ *p++ = 255;
+ }
+ }
+
+ return map;
+}
+
+ColorScalesFactory::ColorScalesFactory(SPColorScalesMode submode)
+ : _submode(submode)
+{
+}
+
+ColorScalesFactory::~ColorScalesFactory() {}
+
+Gtk::Widget *ColorScalesFactory::createWidget(Inkscape::UI::SelectedColor &color) const
+{
+ Gtk::Widget *w = Gtk::manage(new ColorScales(color, _submode));
+ return w;
+}
+
+Glib::ustring ColorScalesFactory::modeName() const {
+ return gettext(ColorScales::SUBMODE_NAMES[_submode]);
+}
+
+}
+}
+}
diff --git a/src/ui/widget/color-scales.h b/src/ui/widget/color-scales.h
new file mode 100644
index 000000000..aeacfbcc1
--- /dev/null
+++ b/src/ui/widget/color-scales.h
@@ -0,0 +1,112 @@
+#ifndef SEEN_SP_COLOR_SCALES_H
+#define SEEN_SP_COLOR_SCALES_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#if WITH_GTKMM_3_0
+#include <gtkmm/grid.h>
+#else
+#include <gtkmm/table.h>
+#endif
+
+#include "ui/selected-color.h"
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+class ColorSlider;
+
+typedef enum {
+ SP_COLOR_SCALES_MODE_NONE = 0,
+ SP_COLOR_SCALES_MODE_RGB = 1,
+ SP_COLOR_SCALES_MODE_HSV = 2,
+ SP_COLOR_SCALES_MODE_CMYK = 3
+} SPColorScalesMode;
+
+class ColorScales
+#if GTK_CHECK_VERSION(3, 0, 0)
+ : public Gtk::Grid
+#else
+ : public Gtk::Table
+#endif
+{
+public:
+ static const gchar *SUBMODE_NAMES[];
+
+ static gfloat getScaled(const GtkAdjustment *a);
+ static void setScaled(GtkAdjustment *a, gfloat v);
+
+ ColorScales(SelectedColor &color, SPColorScalesMode mode);
+ virtual ~ColorScales();
+
+ virtual void _initUI(SPColorScalesMode mode);
+
+ void setMode(SPColorScalesMode mode);
+ SPColorScalesMode getMode() const;
+
+protected:
+ void _onColorChanged();
+ void on_show();
+
+ static void _adjustmentAnyChanged(GtkAdjustment *adjustment, ColorScales *cs);
+ void _sliderAnyGrabbed();
+ void _sliderAnyReleased();
+ void _sliderAnyChanged();
+ static void _adjustmentChanged(ColorScales *cs, guint channel);
+
+ void _getRgbaFloatv(gfloat *rgba);
+ void _getCmykaFloatv(gfloat *cmyka);
+ guint32 _getRgba32();
+ void _updateSliders(guint channels);
+ void _recalcColor();
+ void _updateDisplay();
+
+ void _setRangeLimit(gdouble upper);
+
+ SelectedColor &_color;
+ SPColorScalesMode _mode;
+ gdouble _rangeLimit;
+ gboolean _updating : 1;
+ gboolean _dragging : 1;
+ GtkAdjustment *_a[5]; /* Channel adjustments */
+ Inkscape::UI::Widget::ColorSlider *_s[5]; /* Channel sliders */
+ GtkWidget *_b[5]; /* Spinbuttons */
+ GtkWidget *_l[5]; /* Labels */
+
+private:
+ // By default, disallow copy constructor and assignment operator
+ ColorScales(ColorScales const &obj);
+ ColorScales &operator=(ColorScales const &obj);
+};
+
+class ColorScalesFactory : public Inkscape::UI::ColorSelectorFactory
+{
+public:
+ ColorScalesFactory(SPColorScalesMode submode);
+ ~ColorScalesFactory();
+
+ Gtk::Widget *createWidget(Inkscape::UI::SelectedColor &color) const;
+ Glib::ustring modeName() const;
+
+private:
+ SPColorScalesMode _submode;
+};
+
+}
+}
+}
+
+#endif /* !SEEN_SP_COLOR_SCALES_H */
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
diff --git a/src/ui/widget/color-slider.cpp b/src/ui/widget/color-slider.cpp
new file mode 100644
index 000000000..0c9586a67
--- /dev/null
+++ b/src/ui/widget/color-slider.cpp
@@ -0,0 +1,633 @@
+/**
+ * @file
+ * A slider with colored background - implementation.
+ */
+/* Author:
+ * Lauris Kaplinski <lauris@kaplinski.com>
+ * bulia byak <buliabyak@users.sf.net>
+ *
+ * Copyright (C) 2001-2002 Lauris Kaplinski
+ *
+ * This code is in public domain
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gdkmm/cursor.h>
+#include <gdkmm/screen.h>
+#include <gdkmm/general.h>
+#include <gtkmm/adjustment.h>
+#if WITH_GTKMM_3_0
+#include <gtkmm/stylecontext.h>
+#else
+#include <gtkmm/style.h>
+#endif
+#include <gtk/gtk.h>
+
+#include "ui/widget/color-scales.h"
+#include "ui/widget/color-slider.h"
+#include "preferences.h"
+
+static const gint SLIDER_WIDTH = 96;
+static const gint SLIDER_HEIGHT = 8;
+static const gint ARROW_SIZE = 7;
+
+static const guchar *sp_color_slider_render_gradient(gint x0, gint y0, gint width, gint height, gint c[], gint dc[],
+ guint b0, guint b1, guint mask);
+static const guchar *sp_color_slider_render_map(gint x0, gint y0, gint width, gint height, guchar *map, gint start,
+ gint step, guint b0, guint b1, guint mask);
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ColorSlider::ColorSlider(Glib::RefPtr<Gtk::Adjustment> adjustment)
+ : _dragging(false)
+#else
+ColorSlider::ColorSlider(Gtk::Adjustment *adjustment)
+ : _dragging(false)
+ , _adjustment(NULL)
+#endif
+ , _value(0.0)
+ , _oldvalue(0.0)
+ , _mapsize(0)
+ , _map(NULL)
+{
+ _c0[0] = 0x00;
+ _c0[1] = 0x00;
+ _c0[2] = 0x00;
+ _c0[3] = 0xff;
+
+ _cm[0] = 0xff;
+ _cm[1] = 0x00;
+ _cm[2] = 0x00;
+ _cm[3] = 0xff;
+
+ _c0[0] = 0xff;
+ _c0[1] = 0xff;
+ _c0[2] = 0xff;
+ _c0[3] = 0xff;
+
+ _b0 = 0x5f;
+ _b1 = 0xa0;
+ _bmask = 0x08;
+
+ setAdjustment(adjustment);
+}
+
+ColorSlider::~ColorSlider()
+{
+ if (_adjustment) {
+ _adjustment_changed_connection.disconnect();
+ _adjustment_value_changed_connection.disconnect();
+#if GTK_CHECK_VERSION(3, 0, 0)
+ _adjustment.reset();
+#else
+ _adjustment->unreference();
+ _adjustment = NULL;
+#endif
+ }
+}
+
+void ColorSlider::on_realize()
+{
+ set_realized();
+
+ if (!_gdk_window) {
+ GdkWindowAttr attributes;
+ gint attributes_mask;
+ Gtk::Allocation allocation = get_allocation();
+
+ memset(&attributes, 0, sizeof(attributes));
+ attributes.x = allocation.get_x();
+ attributes.y = allocation.get_y();
+ attributes.width = allocation.get_width();
+ attributes.height = allocation.get_height();
+ attributes.window_type = GDK_WINDOW_CHILD;
+ attributes.wclass = GDK_INPUT_OUTPUT;
+ attributes.visual = gdk_screen_get_system_visual(gdk_screen_get_default());
+#if !GTK_CHECK_VERSION(3, 0, 0)
+ attributes.colormap = gdk_screen_get_system_colormap(gdk_screen_get_default());
+#endif
+ attributes.event_mask = get_events();
+ attributes.event_mask |= (Gdk::EXPOSURE_MASK | Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK |
+ Gdk::POINTER_MOTION_MASK | Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK);
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
+#else
+ attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
+#endif
+
+ _gdk_window = Gdk::Window::create(get_parent_window(), &attributes, attributes_mask);
+ set_window(_gdk_window);
+ _gdk_window->set_user_data(gobj());
+
+#if !GTK_CHECK_VERSION(3, 0, 0)
+ style_attach();
+#endif
+ }
+}
+
+void ColorSlider::on_unrealize()
+{
+ _gdk_window.reset();
+
+ Gtk::Widget::on_unrealize();
+}
+
+void ColorSlider::on_size_allocate(Gtk::Allocation &allocation)
+{
+ set_allocation(allocation);
+
+ if (get_realized()) {
+ _gdk_window->move_resize(allocation.get_x(), allocation.get_y(), allocation.get_width(),
+ allocation.get_height());
+ }
+}
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+
+void ColorSlider::get_preferred_width_vfunc(int &minimum_width, int &natural_width) const
+{
+ Glib::RefPtr<Gtk::StyleContext> style_context = get_style_context();
+ Gtk::Border padding = style_context->get_padding(get_state_flags());
+ int width = SLIDER_WIDTH + padding.get_left() + padding.get_right();
+ minimum_width = natural_width = width;
+}
+
+void ColorSlider::get_preferred_width_for_height_vfunc(int /*height*/, int &minimum_width, int &natural_width) const
+{
+ get_preferred_width(minimum_width, natural_width);
+}
+
+void ColorSlider::get_preferred_height_vfunc(int &minimum_height, int &natural_height) const
+{
+ Glib::RefPtr<Gtk::StyleContext> style_context = get_style_context();
+ Gtk::Border padding = style_context->get_padding(get_state_flags());
+ int height = SLIDER_HEIGHT + padding.get_top() + padding.get_bottom();
+ minimum_height = natural_height = height;
+}
+
+void ColorSlider::get_preferred_height_for_width_vfunc(int /*width*/, int &minimum_height, int &natural_height) const
+{
+ get_preferred_height(minimum_height, natural_height);
+}
+
+#else
+
+void ColorSlider::on_size_request(Gtk::Requisition *requisition)
+{
+ GtkStyle *style = gtk_widget_get_style(gobj());
+ requisition->width = SLIDER_WIDTH + style->xthickness * 2;
+ requisition->height = SLIDER_HEIGHT + style->ythickness * 2;
+}
+
+bool ColorSlider::on_expose_event(GdkEventExpose *event)
+{
+ bool result = false;
+
+ if (get_is_drawable()) {
+ Cairo::RefPtr<Cairo::Context> cr = _gdk_window->create_cairo_context();
+ result = on_draw(cr);
+ }
+ return result;
+}
+
+#endif
+
+bool ColorSlider::on_button_press_event(GdkEventButton *event)
+{
+ if (event->button == 1) {
+ Gtk::Allocation allocation = get_allocation();
+ gint cx, cw;
+#if GTK_CHECK_VERSION(3, 0, 0)
+ cx = get_style_context()->get_padding(get_state_flags()).get_left();
+#else
+ cx = get_style()->get_xthickness();
+#endif
+ cw = allocation.get_width() - 2 * cx;
+ signal_grabbed.emit();
+ _dragging = true;
+ _oldvalue = _value;
+ ColorScales::setScaled(_adjustment->gobj(), CLAMP((gfloat)(event->x - cx) / cw, 0.0, 1.0));
+ signal_dragged.emit();
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ gdk_device_grab(
+ gdk_event_get_device(reinterpret_cast<GdkEvent *>(event)), _gdk_window->gobj(), GDK_OWNERSHIP_NONE, FALSE,
+ static_cast<GdkEventMask>(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK), NULL, event->time);
+#else
+ gdk_pointer_grab(get_window()->gobj(), FALSE,
+ static_cast<GdkEventMask>(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK), NULL, NULL,
+ event->time);
+#endif
+ }
+
+ return false;
+}
+
+bool ColorSlider::on_button_release_event(GdkEventButton *event)
+{
+ if (event->button == 1) {
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ gdk_device_ungrab(gdk_event_get_device(reinterpret_cast<GdkEvent *>(event)),
+ gdk_event_get_time(reinterpret_cast<GdkEvent *>(event)));
+#else
+ get_window()->pointer_ungrab(event->time);
+#endif
+
+ _dragging = false;
+ signal_released.emit();
+ if (_value != _oldvalue) {
+ signal_value_changed.emit();
+ }
+ }
+
+ return false;
+}
+
+bool ColorSlider::on_motion_notify_event(GdkEventMotion *event)
+{
+ if (_dragging) {
+ gint cx, cw;
+ Gtk::Allocation allocation = get_allocation();
+#if GTK_CHECK_VERSION(3, 0, 0)
+ cx = get_style_context()->get_padding(get_state_flags()).get_left();
+#else
+ cx = get_style()->get_xthickness();
+#endif
+ cw = allocation.get_width() - 2 * cx;
+ ColorScales::setScaled(_adjustment->gobj(), CLAMP((gfloat)(event->x - cx) / cw, 0.0, 1.0));
+ signal_dragged.emit();
+ }
+
+ return false;
+}
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+void ColorSlider::setAdjustment(Glib::RefPtr<Gtk::Adjustment> adjustment)
+{
+#else
+void ColorSlider::setAdjustment(Gtk::Adjustment *adjustment)
+{
+#endif
+ if (!adjustment) {
+#if GTK_CHECK_VERSION(3, 0, 0)
+ _adjustment = Gtk::Adjustment::create(0.0, 0.0, 1.0, 0.01, 0.0, 0.0);
+#else
+ _adjustment = Gtk::manage(new Gtk::Adjustment(0.0, 0.0, 1.0, 0.01, 0.0, 0.0));
+#endif
+ }
+ else {
+ adjustment->set_page_increment(0.0);
+ adjustment->set_page_size(0.0);
+ }
+
+ if (_adjustment != adjustment) {
+ if (_adjustment) {
+ _adjustment_changed_connection.disconnect();
+ _adjustment_value_changed_connection.disconnect();
+#if !GTK_CHECK_VERSION(3, 0, 0)
+ _adjustment->unreference();
+#endif
+ }
+
+ _adjustment = adjustment;
+ _adjustment_changed_connection =
+ _adjustment->signal_changed().connect(sigc::mem_fun(this, &ColorSlider::_onAdjustmentChanged));
+ _adjustment_value_changed_connection =
+ _adjustment->signal_value_changed().connect(sigc::mem_fun(this, &ColorSlider::_onAdjustmentValueChanged));
+
+ _value = ColorScales::getScaled(_adjustment->gobj());
+
+ _onAdjustmentChanged();
+ }
+}
+
+void ColorSlider::_onAdjustmentChanged() { queue_draw(); }
+
+void ColorSlider::_onAdjustmentValueChanged()
+{
+ if (_value != ColorScales::getScaled(_adjustment->gobj())) {
+ gint cx, cy, cw, ch;
+#if GTK_CHECK_VERSION(3, 0, 0)
+ Glib::RefPtr<Gtk::StyleContext> style_context = get_style_context();
+ Gtk::Allocation allocation = get_allocation();
+ Gtk::Border padding = style_context->get_padding(get_state_flags());
+ cx = padding.get_left();
+ cy = padding.get_top();
+#else
+ Glib::RefPtr<Gtk::Style> style = get_style();
+ Gtk::Allocation allocation = get_allocation();
+ cx = style->get_xthickness();
+ cy = style->get_ythickness();
+#endif
+ cw = allocation.get_width() - 2 * cx;
+ ch = allocation.get_height() - 2 * cy;
+ if ((gint)(ColorScales::getScaled(_adjustment->gobj()) * cw) != (gint)(_value * cw)) {
+ gint ax, ay;
+ gfloat value;
+ value = _value;
+ _value = ColorScales::getScaled(_adjustment->gobj());
+ ax = (int)(cx + value * cw - ARROW_SIZE / 2 - 2);
+ ay = cy;
+ queue_draw_area(ax, ay, ARROW_SIZE + 4, ch);
+ ax = (int)(cx + _value * cw - ARROW_SIZE / 2 - 2);
+ ay = cy;
+ queue_draw_area(ax, ay, ARROW_SIZE + 4, ch);
+ }
+ else {
+ _value = ColorScales::getScaled(_adjustment->gobj());
+ }
+ }
+}
+
+void ColorSlider::setColors(guint32 start, guint32 mid, guint32 end)
+{
+ // Remove any map, if set
+ _map = 0;
+
+ _c0[0] = start >> 24;
+ _c0[1] = (start >> 16) & 0xff;
+ _c0[2] = (start >> 8) & 0xff;
+ _c0[3] = start & 0xff;
+
+ _cm[0] = mid >> 24;
+ _cm[1] = (mid >> 16) & 0xff;
+ _cm[2] = (mid >> 8) & 0xff;
+ _cm[3] = mid & 0xff;
+
+ _c1[0] = end >> 24;
+ _c1[1] = (end >> 16) & 0xff;
+ _c1[2] = (end >> 8) & 0xff;
+ _c1[3] = end & 0xff;
+
+ queue_draw();
+}
+
+void ColorSlider::setMap(const guchar *map)
+{
+ _map = const_cast<guchar *>(map);
+
+ queue_draw();
+}
+
+void ColorSlider::setBackground(guint dark, guint light, guint size)
+{
+ _b0 = dark;
+ _b1 = light;
+ _bmask = size;
+
+ queue_draw();
+}
+
+bool ColorSlider::on_draw(const Cairo::RefPtr<Cairo::Context> &cr)
+{
+ gboolean colorsOnTop = Inkscape::Preferences::get()->getBool("/options/workarounds/colorsontop", false);
+
+ Gtk::Allocation allocation = get_allocation();
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ Glib::RefPtr<Gtk::StyleContext> style_context = get_style_context();
+#else
+ Glib::RefPtr<Gdk::Window> window = get_window();
+ Glib::RefPtr<Gtk::Style> style = get_style();
+#endif
+
+ // Draw shadow
+ if (colorsOnTop) {
+#if GTK_CHECK_VERSION(3, 0, 0)
+ style_context->render_frame(cr, 0, 0, allocation.get_width(), allocation.get_height());
+#else
+ gtk_paint_shadow(style->gobj(), window->gobj(), gtk_widget_get_state(gobj()), GTK_SHADOW_IN, NULL, gobj(),
+ "colorslider", 0, 0, allocation.get_width(), allocation.get_height());
+#endif
+ }
+
+ /* Paintable part of color gradient area */
+ Gdk::Rectangle carea;
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ Gtk::Border padding;
+
+ padding = style_context->get_padding(get_state_flags());
+
+ carea.set_x(padding.get_left());
+ carea.set_y(padding.get_top());
+ ;
+#else
+ carea.set_x(style->get_xthickness());
+ carea.set_y(style->get_ythickness());
+#endif
+
+ carea.set_width(allocation.get_width() - 2 * carea.get_x());
+ carea.set_height(allocation.get_height() - 2 * carea.get_y());
+
+ if (_map) {
+ /* Render map pixelstore */
+ gint d = (1024 << 16) / carea.get_width();
+ gint s = 0;
+
+ const guchar *b =
+ sp_color_slider_render_map(0, 0, carea.get_width(), carea.get_height(), _map, s, d, _b0, _b1, _bmask);
+
+ if (b != NULL && carea.get_width() > 0) {
+ Glib::RefPtr<Gdk::Pixbuf> pb = Gdk::Pixbuf::create_from_data(
+ b, Gdk::COLORSPACE_RGB, false, 8, carea.get_width(), carea.get_height(), carea.get_width() * 3);
+
+ Gdk::Cairo::set_source_pixbuf(cr, pb, carea.get_x(), carea.get_y());
+ cr->paint();
+ }
+ }
+ else {
+ gint c[4], dc[4];
+
+ /* Render gradient */
+
+ // part 1: from c0 to cm
+ if (carea.get_width() > 0) {
+ for (gint i = 0; i < 4; i++) {
+ c[i] = _c0[i] << 16;
+ dc[i] = ((_cm[i] << 16) - c[i]) / (carea.get_width() / 2);
+ }
+ guint wi = carea.get_width() / 2;
+ const guchar *b = sp_color_slider_render_gradient(0, 0, wi, carea.get_height(), c, dc, _b0, _b1, _bmask);
+
+ /* Draw pixelstore 1 */
+ if (b != NULL && wi > 0) {
+ Glib::RefPtr<Gdk::Pixbuf> pb =
+ Gdk::Pixbuf::create_from_data(b, Gdk::COLORSPACE_RGB, false, 8, wi, carea.get_height(), wi * 3);
+
+ Gdk::Cairo::set_source_pixbuf(cr, pb, carea.get_x(), carea.get_y());
+ cr->paint();
+ }
+ }
+
+ // part 2: from cm to c1
+ if (carea.get_width() > 0) {
+ for (gint i = 0; i < 4; i++) {
+ c[i] = _cm[i] << 16;
+ dc[i] = ((_c1[i] << 16) - c[i]) / (carea.get_width() / 2);
+ }
+ guint wi = carea.get_width() / 2;
+ const guchar *b = sp_color_slider_render_gradient(carea.get_width() / 2, 0, wi, carea.get_height(), c, dc,
+ _b0, _b1, _bmask);
+
+ /* Draw pixelstore 2 */
+ if (b != NULL && wi > 0) {
+ Glib::RefPtr<Gdk::Pixbuf> pb =
+ Gdk::Pixbuf::create_from_data(b, Gdk::COLORSPACE_RGB, false, 8, wi, carea.get_height(), wi * 3);
+
+ Gdk::Cairo::set_source_pixbuf(cr, pb, carea.get_width() / 2 + carea.get_x(), carea.get_y());
+ cr->paint();
+ }
+ }
+ }
+
+ /* Draw shadow */
+ if (!colorsOnTop) {
+#if GTK_CHECK_VERSION(3, 0, 0)
+ style_context->render_frame(cr, 0, 0, allocation.get_width(), allocation.get_height());
+#else
+ gtk_paint_shadow(style->gobj(), window->gobj(), gtk_widget_get_state(gobj()), GTK_SHADOW_IN, NULL, gobj(),
+ "colorslider", 0, 0, allocation.get_width(), allocation.get_height());
+#endif
+ }
+
+ /* Draw arrow */
+ gint x = (int)(_value * (carea.get_width() - 1) - ARROW_SIZE / 2 + carea.get_x());
+ gint y1 = carea.get_y();
+ gint y2 = carea.get_y() + carea.get_height() - 1;
+ cr->set_line_width(1.0);
+
+ // Define top arrow
+ cr->move_to(x - 0.5, y1 + 0.5);
+ cr->line_to(x + ARROW_SIZE - 0.5, y1 + 0.5);
+ cr->line_to(x + (ARROW_SIZE - 1) / 2.0, y1 + ARROW_SIZE / 2.0 + 0.5);
+ cr->line_to(x - 0.5, y1 + 0.5);
+
+ // Define bottom arrow
+ cr->move_to(x - 0.5, y2 + 0.5);
+ cr->line_to(x + ARROW_SIZE - 0.5, y2 + 0.5);
+ cr->line_to(x + (ARROW_SIZE - 1) / 2.0, y2 - ARROW_SIZE / 2.0 + 0.5);
+ cr->line_to(x - 0.5, y2 + 0.5);
+
+ // Render both arrows
+ cr->set_source_rgb(1.0, 1.0, 1.0);
+ cr->stroke_preserve();
+ cr->set_source_rgb(0.0, 0.0, 0.0);
+ cr->fill();
+
+ return false;
+}
+
+} // namespace Widget
+} // namespace UI
+} // namespace Inkscape
+
+/* Colors are << 16 */
+
+static const guchar *sp_color_slider_render_gradient(gint x0, gint y0, gint width, gint height, gint c[], gint dc[],
+ guint b0, guint b1, guint mask)
+{
+ static guchar *buf = NULL;
+ static gint bs = 0;
+ guchar *dp;
+ gint x, y;
+ guint r, g, b, a;
+
+ if (buf && (bs < width * height)) {
+ g_free(buf);
+ buf = NULL;
+ }
+ if (!buf) {
+ buf = g_new(guchar, width * height * 3);
+ bs = width * height;
+ }
+
+ dp = buf;
+ r = c[0];
+ g = c[1];
+ b = c[2];
+ a = c[3];
+ for (x = x0; x < x0 + width; x++) {
+ gint cr, cg, cb, ca;
+ guchar *d;
+ cr = r >> 16;
+ cg = g >> 16;
+ cb = b >> 16;
+ ca = a >> 16;
+ d = dp;
+ for (y = y0; y < y0 + height; y++) {
+ guint bg, fc;
+ /* Background value */
+ bg = ((x & mask) ^ (y & mask)) ? b0 : b1;
+ fc = (cr - bg) * ca;
+ d[0] = bg + ((fc + (fc >> 8) + 0x80) >> 8);
+ fc = (cg - bg) * ca;
+ d[1] = bg + ((fc + (fc >> 8) + 0x80) >> 8);
+ fc = (cb - bg) * ca;
+ d[2] = bg + ((fc + (fc >> 8) + 0x80) >> 8);
+ d += 3 * width;
+ }
+ r += dc[0];
+ g += dc[1];
+ b += dc[2];
+ a += dc[3];
+ dp += 3;
+ }
+
+ return buf;
+}
+
+/* Positions are << 16 */
+
+static const guchar *sp_color_slider_render_map(gint x0, gint y0, gint width, gint height, guchar *map, gint start,
+ gint step, guint b0, guint b1, guint mask)
+{
+ static guchar *buf = NULL;
+ static gint bs = 0;
+ guchar *dp;
+ gint x, y;
+
+ if (buf && (bs < width * height)) {
+ g_free(buf);
+ buf = NULL;
+ }
+ if (!buf) {
+ buf = g_new(guchar, width * height * 3);
+ bs = width * height;
+ }
+
+ dp = buf;
+ for (x = x0; x < x0 + width; x++) {
+ gint cr, cg, cb, ca;
+ guchar *d = dp;
+ guchar *sp = map + 4 * (start >> 16);
+ cr = *sp++;
+ cg = *sp++;
+ cb = *sp++;
+ ca = *sp++;
+ for (y = y0; y < y0 + height; y++) {
+ guint bg, fc;
+ /* Background value */
+ bg = ((x & mask) ^ (y & mask)) ? b0 : b1;
+ fc = (cr - bg) * ca;
+ d[0] = bg + ((fc + (fc >> 8) + 0x80) >> 8);
+ fc = (cg - bg) * ca;
+ d[1] = bg + ((fc + (fc >> 8) + 0x80) >> 8);
+ fc = (cb - bg) * ca;
+ d[2] = bg + ((fc + (fc >> 8) + 0x80) >> 8);
+ d += 3 * width;
+ }
+ dp += 3;
+ start += step;
+ }
+
+ return buf;
+}
diff --git a/src/ui/widget/color-slider.h b/src/ui/widget/color-slider.h
new file mode 100644
index 000000000..253f3123c
--- /dev/null
+++ b/src/ui/widget/color-slider.h
@@ -0,0 +1,110 @@
+/*
+ * A slider with colored background
+ *
+ * Author:
+ * Lauris Kaplinski <lauris@kaplinski.com>
+ *
+ * Copyright (C) 2001-2002 Lauris Kaplinski
+ *
+ * This code is in public domain
+ */
+
+#ifndef SEEN_COLOR_SLIDER_H
+#define SEEN_COLOR_SLIDER_H
+
+#include <gtkmm/widget.h>
+#include <sigc++/signal.h>
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+/*
+ * A slider with colored background
+ */
+class ColorSlider : public Gtk::Widget {
+public:
+#if GTK_CHECK_VERSION(3, 0, 0)
+ ColorSlider(Glib::RefPtr<Gtk::Adjustment> adjustment);
+#else
+ ColorSlider(Gtk::Adjustment *adjustment);
+#endif
+ ~ColorSlider();
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ void setAdjustment(Glib::RefPtr<Gtk::Adjustment> adjustment);
+#else
+ void setAdjustment(Gtk::Adjustment *adjustment);
+#endif
+
+ void setColors(guint32 start, guint32 mid, guint32 end);
+
+ void setMap(const guchar *map);
+
+ void setBackground(guint dark, guint light, guint size);
+
+ sigc::signal<void> signal_grabbed;
+ sigc::signal<void> signal_dragged;
+ sigc::signal<void> signal_released;
+ sigc::signal<void> signal_value_changed;
+
+protected:
+ void on_size_allocate(Gtk::Allocation &allocation);
+ void on_realize();
+ void on_unrealize();
+ bool on_button_press_event(GdkEventButton *event);
+ bool on_button_release_event(GdkEventButton *event);
+ bool on_motion_notify_event(GdkEventMotion *event);
+ bool on_draw(const Cairo::RefPtr<Cairo::Context> &cr);
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ void get_preferred_width_vfunc(int &minimum_width, int &natural_width) const;
+ void get_preferred_width_for_height_vfunc(int height, int &minimum_width, int &natural_width) const;
+ void get_preferred_height_vfunc(int &minimum_height, int &natural_height) const;
+ void get_preferred_height_for_width_vfunc(int width, int &minimum_height, int &natural_height) const;
+#else
+ void on_size_request(Gtk::Requisition *requisition);
+ bool on_expose_event(GdkEventExpose *event);
+#endif
+
+private:
+ void _onAdjustmentChanged();
+ void _onAdjustmentValueChanged();
+
+ bool _dragging;
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ Glib::RefPtr<Gtk::Adjustment> _adjustment;
+#else
+ Gtk::Adjustment *_adjustment;
+#endif
+ sigc::connection _adjustment_changed_connection;
+ sigc::connection _adjustment_value_changed_connection;
+
+ gfloat _value;
+ gfloat _oldvalue;
+ guchar _c0[4], _cm[4], _c1[4];
+ guchar _b0, _b1;
+ guchar _bmask;
+
+ gint _mapsize;
+ guchar *_map;
+
+ Glib::RefPtr<Gdk::Window> _gdk_window;
+};
+
+} // namespace Widget
+} // namespace UI
+} // namespace Inkscape
+
+#endif
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/ui/widget/color-wheel-selector.cpp b/src/ui/widget/color-wheel-selector.cpp
new file mode 100644
index 000000000..ed3400bb5
--- /dev/null
+++ b/src/ui/widget/color-wheel-selector.cpp
@@ -0,0 +1,302 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "color-wheel-selector.h"
+
+#include <math.h>
+#include <gtk/gtk.h>
+#include <glibmm/i18n.h>
+#include <gtkmm/adjustment.h>
+#include <gtkmm/label.h>
+#include <gtkmm/spinbutton.h>
+#include "svg/svg-icc-color.h"
+#include "ui/dialog-events.h"
+#include "ui/selected-color.h"
+#include "ui/widget/color-scales.h"
+#include "ui/widget/color-slider.h"
+#include "ui/widget/gimpcolorwheel.h"
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+
+#define XPAD 4
+#define YPAD 1
+
+
+const gchar *ColorWheelSelector::MODE_NAME = N_("Wheel");
+
+ColorWheelSelector::ColorWheelSelector(SelectedColor &color)
+#if GTK_CHECK_VERSION(3, 0, 0)
+ : Gtk::Grid()
+#else
+ : Gtk::Table(5, 3, false)
+#endif
+ , _color(color)
+ , _updating(false)
+#if !GTK_CHECK_VERSION(3, 0, 0)
+ , _alpha_adjustment(NULL)
+#endif
+ , _wheel(0)
+ , _slider(0)
+{
+ _initUI();
+ _color_changed_connection = color.signal_changed.connect(sigc::mem_fun(this, &ColorWheelSelector::_colorChanged));
+ _color_dragged_connection = color.signal_dragged.connect(sigc::mem_fun(this, &ColorWheelSelector::_colorChanged));
+}
+
+ColorWheelSelector::~ColorWheelSelector()
+{
+ _wheel = 0;
+#if !GTK_CHECK_VERSION(3, 0, 0)
+ delete _alpha_adjustment;
+#endif
+
+ _color_changed_connection.disconnect();
+ _color_dragged_connection.disconnect();
+}
+
+void ColorWheelSelector::_initUI()
+{
+ /* Create components */
+ gint row = 0;
+
+ _wheel = gimp_color_wheel_new();
+ gtk_widget_show(_wheel);
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ gtk_widget_set_halign(_wheel, GTK_ALIGN_FILL);
+ gtk_widget_set_valign(_wheel, GTK_ALIGN_FILL);
+ gtk_widget_set_hexpand(_wheel, TRUE);
+ gtk_widget_set_vexpand(_wheel, TRUE);
+ gtk_grid_attach(GTK_GRID(gobj()), _wheel, 0, row, 3, 1);
+#else
+ gtk_table_attach(GTK_TABLE(gobj()), _wheel, 0, 3, row, row + 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), 0, 0);
+#endif
+
+ row++;
+
+ /* Label */
+ Gtk::Label *label = Gtk::manage(new Gtk::Label(_("_A:"), true));
+ label->set_alignment(1.0, 0.5);
+ label->show();
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ #if GTK_CHECK_VERSION(3, 12, 0)
+ label->set_margin_start(XPAD);
+ label->set_margin_end(XPAD);
+ #else
+ label->set_margin_left(XPAD);
+ label->set_margin_right(XPAD);
+ #endif
+ label->set_margin_top(YPAD);
+ label->set_margin_bottom(YPAD);
+ label->set_halign(Gtk::ALIGN_FILL);
+ label->set_valign(Gtk::ALIGN_FILL);
+ attach(*label, 0, row, 1, 1);
+#else
+ attach(*label, 0, 1, row, row + 1, Gtk::FILL, Gtk::FILL, XPAD, YPAD);
+#endif
+
+/* Adjustment */
+#if GTK_CHECK_VERSION(3, 0, 0)
+ _alpha_adjustment = Gtk::Adjustment::create(0.0, 0.0, 255.0, 1.0, 10.0, 10.0);
+#else
+ _alpha_adjustment = new Gtk::Adjustment(0.0, 0.0, 255.0, 1.0, 10.0, 10.0);
+#endif
+ /* Slider */
+ _slider = Gtk::manage(new Inkscape::UI::Widget::ColorSlider(_alpha_adjustment));
+ _slider->set_tooltip_text(_("Alpha (opacity)"));
+ _slider->show();
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ #if GTK_CHECK_VERSION(3, 12, 0)
+ _slider->set_margin_start(XPAD);
+ _slider->set_margin_end(XPAD);
+ #else
+ _slider->set_margin_left(XPAD);
+ _slider->set_margin_right(XPAD);
+ #endif
+ _slider->set_margin_top(YPAD);
+ _slider->set_margin_bottom(YPAD);
+ _slider->set_hexpand(true);
+ _slider->set_halign(Gtk::ALIGN_FILL);
+ _slider->set_valign(Gtk::ALIGN_FILL);
+ attach(*_slider, 1, row, 1, 1);
+#else
+ attach(*_slider, 1, 2, row, row + 1, Gtk::EXPAND | Gtk::FILL, Gtk::FILL, XPAD, YPAD);
+#endif
+
+ _slider->setColors(SP_RGBA32_F_COMPOSE(1.0, 1.0, 1.0, 0.0), SP_RGBA32_F_COMPOSE(1.0, 1.0, 1.0, 0.5),
+ SP_RGBA32_F_COMPOSE(1.0, 1.0, 1.0, 1.0));
+
+/* Spinbutton */
+#if GTK_CHECK_VERSION(3, 0, 0)
+ Gtk::SpinButton *spin_button = Gtk::manage(new Gtk::SpinButton(_alpha_adjustment, 1.0, 0));
+#else
+ Gtk::SpinButton *spin_button = Gtk::manage(new Gtk::SpinButton(*_alpha_adjustment, 1.0, 0));
+#endif
+ spin_button->set_tooltip_text(_("Alpha (opacity)"));
+ sp_dialog_defocus_on_enter(GTK_WIDGET(spin_button->gobj()));
+ label->set_mnemonic_widget(*spin_button);
+ spin_button->show();
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ #if GTK_CHECK_VERSION(3, 12, 0)
+ spin_button->set_margin_start(XPAD);
+ spin_button->set_margin_end(XPAD);
+ #else
+ spin_button->set_margin_left(XPAD);
+ spin_button->set_margin_right(XPAD);
+ #endif
+ spin_button->set_margin_top(YPAD);
+ spin_button->set_margin_bottom(YPAD);
+ spin_button->set_halign(Gtk::ALIGN_CENTER);
+ spin_button->set_valign(Gtk::ALIGN_CENTER);
+ attach(*spin_button, 2, row, 1, 1);
+#else
+ attach(*spin_button, 2, 3, row, row + 1, (Gtk::AttachOptions)0, (Gtk::AttachOptions)0, XPAD, YPAD);
+#endif
+
+ /* Signals */
+ _alpha_adjustment->signal_value_changed().connect(sigc::mem_fun(this, &ColorWheelSelector::_adjustmentChanged));
+ _slider->signal_grabbed.connect(sigc::mem_fun(*this, &ColorWheelSelector::_sliderGrabbed));
+ _slider->signal_released.connect(sigc::mem_fun(*this, &ColorWheelSelector::_sliderReleased));
+ _slider->signal_value_changed.connect(sigc::mem_fun(*this, &ColorWheelSelector::_sliderChanged));
+
+ g_signal_connect(G_OBJECT(_wheel), "changed", G_CALLBACK(_wheelChanged), this);
+}
+
+void ColorWheelSelector::on_show()
+{
+#if GTK_CHECK_VERSION(3, 0, 0)
+ Gtk::Grid::on_show();
+#else
+ Gtk::Table::on_show();
+#endif
+ _updateDisplay();
+}
+
+void ColorWheelSelector::_colorChanged()
+{
+ _updateDisplay();
+}
+
+void ColorWheelSelector::_adjustmentChanged()
+{
+ if (_updating) {
+ return;
+ }
+
+ // TODO check this. It looks questionable:
+ // if a value is entered between 0 and 1 exclusive, normalize it to (int) 0..255 or 0..100
+ gdouble value = _alpha_adjustment->get_value();
+ gdouble upper = _alpha_adjustment->get_upper();
+ if (value > 0.0 && value < 1.0) {
+ _alpha_adjustment->set_value(floor(value * upper + 0.5));
+ }
+
+ _color.preserveICC();
+ _color.setAlpha(ColorScales::getScaled(_alpha_adjustment->gobj()));
+}
+
+void ColorWheelSelector::_sliderGrabbed()
+{
+ _color.preserveICC();
+ _color.setHeld(true);
+}
+
+void ColorWheelSelector::_sliderReleased()
+{
+ _color.preserveICC();
+ _color.setHeld(false);
+}
+
+void ColorWheelSelector::_sliderChanged()
+{
+ if (_updating) {
+ return;
+ }
+
+ _color.preserveICC();
+ _color.setAlpha(ColorScales::getScaled(_alpha_adjustment->gobj()));
+}
+
+void ColorWheelSelector::_wheelChanged(GimpColorWheel *wheel, ColorWheelSelector *wheelSelector)
+{
+ if (wheelSelector->_updating) {
+ return;
+ }
+
+ gdouble h = 0;
+ gdouble s = 0;
+ gdouble v = 0;
+ gimp_color_wheel_get_color(wheel, &h, &s, &v);
+
+ float rgb[3] = { 0, 0, 0 };
+ sp_color_hsv_to_rgb_floatv(rgb, h, s, v);
+
+ SPColor color(rgb[0], rgb[1], rgb[2]);
+
+ guint32 start = color.toRGBA32(0x00);
+ guint32 mid = color.toRGBA32(0x7f);
+ guint32 end = color.toRGBA32(0xff);
+
+ wheelSelector->_slider->setColors(start, mid, end);
+
+ wheelSelector->_color.preserveICC();
+
+ wheelSelector->_color.setHeld(gimp_color_wheel_is_adjusting(wheel));
+ wheelSelector->_color.setColor(color);
+}
+
+void ColorWheelSelector::_updateDisplay()
+{
+#ifdef DUMP_CHANGE_INFO
+ g_message("ColorWheelSelector::_colorChanged( this=%p, %f, %f, %f, %f)", this, _color.color().v.c[0],
+ _color.color().v.c[1], _color.color().v.c[2], alpha);
+#endif
+
+ bool oldval = _updating;
+ _updating = true;
+ {
+ float hsv[3] = { 0, 0, 0 };
+ sp_color_rgb_to_hsv_floatv(hsv, _color.color().v.c[0], _color.color().v.c[1], _color.color().v.c[2]);
+ gimp_color_wheel_set_color(GIMP_COLOR_WHEEL(_wheel), hsv[0], hsv[1], hsv[2]);
+ }
+
+ guint32 start = _color.color().toRGBA32(0x00);
+ guint32 mid = _color.color().toRGBA32(0x7f);
+ guint32 end = _color.color().toRGBA32(0xff);
+
+ _slider->setColors(start, mid, end);
+
+ ColorScales::setScaled(_alpha_adjustment->gobj(), _color.alpha());
+
+ _updating = oldval;
+}
+
+
+Gtk::Widget *ColorWheelSelectorFactory::createWidget(Inkscape::UI::SelectedColor &color) const
+{
+ Gtk::Widget *w = Gtk::manage(new ColorWheelSelector(color));
+ return w;
+}
+
+Glib::ustring ColorWheelSelectorFactory::modeName() const { return gettext(ColorWheelSelector::MODE_NAME); }
+}
+}
+}
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/ui/widget/color-wheel-selector.h b/src/ui/widget/color-wheel-selector.h
new file mode 100644
index 000000000..5711d417c
--- /dev/null
+++ b/src/ui/widget/color-wheel-selector.h
@@ -0,0 +1,101 @@
+/**
+ * @file
+ * Color selector widget containing GIMP color wheel and slider
+ */
+/* Authors:
+ * Tomasz Boczkowski <penginsbacon@gmail.com> (c++-sification)
+ *
+ * Copyright (C) 2014 Authors
+ *
+ * This code is in public domain
+ */
+#ifndef SEEN_SP_COLOR_WHEEL_SELECTOR_H
+#define SEEN_SP_COLOR_WHEEL_SELECTOR_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#if WITH_GTKMM_3_0
+#include <gtkmm/grid.h>
+#else
+#include <gtkmm/table.h>
+#endif
+
+#include "ui/selected-color.h"
+
+typedef struct _GimpColorWheel GimpColorWheel;
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+class ColorSlider;
+
+class ColorWheelSelector
+#if GTK_CHECK_VERSION(3, 0, 0)
+ : public Gtk::Grid
+#else
+ : public Gtk::Table
+#endif
+{
+public:
+ static const gchar *MODE_NAME;
+
+ ColorWheelSelector(SelectedColor &color);
+ virtual ~ColorWheelSelector();
+
+protected:
+ void _initUI();
+
+ void on_show();
+
+ void _colorChanged();
+ void _adjustmentChanged();
+ void _sliderGrabbed();
+ void _sliderReleased();
+ void _sliderChanged();
+ static void _wheelChanged(GimpColorWheel *wheel, ColorWheelSelector *cs);
+
+ void _updateDisplay();
+
+ SelectedColor &_color;
+ bool _updating;
+#if GTK_CHECK_VERSION(3, 0, 0)
+ Glib::RefPtr<Gtk::Adjustment> _alpha_adjustment;
+#else
+ Gtk::Adjustment *_alpha_adjustment;
+#endif
+ GtkWidget *_wheel;
+ Inkscape::UI::Widget::ColorSlider *_slider;
+
+private:
+ // By default, disallow copy constructor and assignment operator
+ ColorWheelSelector(const ColorWheelSelector &obj);
+ ColorWheelSelector &operator=(const ColorWheelSelector &obj);
+
+ sigc::connection _color_changed_connection;
+ sigc::connection _color_dragged_connection;
+};
+
+class ColorWheelSelectorFactory : public ColorSelectorFactory {
+public:
+ Gtk::Widget *createWidget(SelectedColor &color) const;
+ Glib::ustring modeName() const;
+};
+}
+}
+}
+
+#endif // SEEN_SP_COLOR_WHEEL_SELECTOR_H
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/ui/widget/font-variants.cpp b/src/ui/widget/font-variants.cpp
new file mode 100644
index 000000000..637631fda
--- /dev/null
+++ b/src/ui/widget/font-variants.cpp
@@ -0,0 +1,512 @@
+/*
+ * Author:
+ * Tavmjong Bah <tavmjong@free.fr>
+ *
+ * Copyright (C) 2015 Tavmong Bah
+ *
+ * Released under GNU GPL. Read the file 'COPYING' for more information.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <gtkmm.h>
+#include <glibmm/i18n.h>
+
+#include <iostream>
+
+#include "font-variants.h"
+
+// For updating from selection
+#include "desktop.h"
+#include "selection.h"
+#include "style.h"
+#include "sp-text.h"
+#include "sp-tspan.h"
+#include "sp-tref.h"
+#include "sp-textpath.h"
+#include "sp-item-group.h"
+#include "xml/repr.h"
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+ FontVariants::FontVariants () :
+ Gtk::VBox (),
+ _ligatures_frame ( Glib::ustring(_("Ligatures" )) ),
+ _ligatures_common ( Glib::ustring(_("Common" )) ),
+ _ligatures_discretionary ( Glib::ustring(_("Discretionary")) ),
+ _ligatures_historical ( Glib::ustring(_("Historical" )) ),
+ _ligatures_contextual ( Glib::ustring(_("Contextual" )) ),
+
+ _position_frame ( Glib::ustring(_("Position" )) ),
+ _position_normal ( Glib::ustring(_("Normal" )) ),
+ _position_sub ( Glib::ustring(_("Subscript" )) ),
+ _position_super ( Glib::ustring(_("Superscript" )) ),
+
+ _caps_frame ( Glib::ustring(_("Capitals" )) ),
+ _caps_normal ( Glib::ustring(_("Normal" )) ),
+ _caps_small ( Glib::ustring(_("Small" )) ),
+ _caps_all_small ( Glib::ustring(_("All small" )) ),
+ _caps_petite ( Glib::ustring(_("Petite" )) ),
+ _caps_all_petite ( Glib::ustring(_("All petite" )) ),
+ _caps_unicase ( Glib::ustring(_("Unicase" )) ),
+ _caps_titling ( Glib::ustring(_("Titling" )) ),
+
+ _numeric_frame ( Glib::ustring(_("Numeric" )) ),
+ _numeric_lining ( Glib::ustring(_("Lining" )) ),
+ _numeric_old_style ( Glib::ustring(_("Old Style" )) ),
+ _numeric_default_style ( Glib::ustring(_("Default Style")) ),
+ _numeric_proportional ( Glib::ustring(_("Proportional" )) ),
+ _numeric_tabular ( Glib::ustring(_("Tabular" )) ),
+ _numeric_default_width ( Glib::ustring(_("Default Width")) ),
+ _numeric_diagonal ( Glib::ustring(_("Diagonal" )) ),
+ _numeric_stacked ( Glib::ustring(_("Stacked" )) ),
+ _numeric_default_fractions( Glib::ustring(_("Default Fractions")) ),
+ _numeric_ordinal ( Glib::ustring(_("Ordinal" )) ),
+ _numeric_slashed_zero ( Glib::ustring(_("Slashed Zero" )) ),
+
+ _ligatures_changed( false ),
+ _position_changed( false ),
+ _caps_changed( false ),
+ _numeric_changed( false )
+
+ {
+
+ // Ligatures --------------------------
+
+ // Add tooltips
+ _ligatures_common.set_tooltip_text(
+ _("Common ligatures. On by default. OpenType tables: 'liga', 'clig'"));
+ _ligatures_discretionary.set_tooltip_text(
+ _("Discretionary ligatures. Off by default. OpenType table: 'dlig'"));
+ _ligatures_historical.set_tooltip_text(
+ _("Historical ligatures. Off by default. OpenType table: 'hlig'"));
+ _ligatures_contextual.set_tooltip_text(
+ _("Contextual forms. On by default. OpenType table: 'calt'"));
+
+ // Add signals
+ _ligatures_common.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::ligatures_callback) );
+ _ligatures_discretionary.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::ligatures_callback) );
+ _ligatures_historical.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::ligatures_callback) );
+ _ligatures_contextual.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::ligatures_callback) );
+
+ // Add to frame
+ _ligatures_vbox.add( _ligatures_common );
+ _ligatures_vbox.add( _ligatures_discretionary );
+ _ligatures_vbox.add( _ligatures_historical );
+ _ligatures_vbox.add( _ligatures_contextual );
+ _ligatures_frame.add( _ligatures_vbox );
+ add( _ligatures_frame );
+
+ ligatures_init();
+
+ // Position ----------------------------------
+
+ // Add tooltips
+ _position_normal.set_tooltip_text( _("Normal position."));
+ _position_sub.set_tooltip_text( _("Subscript. OpenType table: 'subs'") );
+ _position_super.set_tooltip_text( _("Superscript. OpenType table: 'sups'") );
+
+ // Group buttons
+ Gtk::RadioButton::Group position_group = _position_normal.get_group();
+ _position_sub.set_group(position_group);
+ _position_super.set_group(position_group);
+
+ // Add signals
+ _position_normal.signal_pressed().connect ( sigc::mem_fun(*this, &FontVariants::position_callback) );
+ _position_sub.signal_pressed().connect ( sigc::mem_fun(*this, &FontVariants::position_callback) );
+ _position_super.signal_pressed().connect ( sigc::mem_fun(*this, &FontVariants::position_callback) );
+
+ // Add to frame
+ _position_vbox.add( _position_normal );
+ _position_vbox.add( _position_sub );
+ _position_vbox.add( _position_super );
+ _position_frame.add( _position_vbox );
+ add( _position_frame );
+
+ position_init();
+
+ // Caps ----------------------------------
+
+ // Add tooltips
+ _caps_normal.set_tooltip_text( _("Normal capitalization."));
+ _caps_small.set_tooltip_text( _("Small-caps (lowercase). OpenType table: 'smcp'"));
+ _caps_all_small.set_tooltip_text( _("All small-caps (uppercase and lowercase). OpenType tables: 'c2sc' and 'smcp'"));
+ _caps_petite.set_tooltip_text( _("Petite-caps (lowercase). OpenType table: 'pcap'"));
+ _caps_all_petite.set_tooltip_text( _("All petite-caps (uppercase and lowercase). OpenType tables: 'c2sc' and 'pcap'"));
+ _caps_unicase.set_tooltip_text( _("Unicase (small caps for uppercase, normal for lowercase). OpenType table: 'unic'"));
+ _caps_titling.set_tooltip_text( _("Titling caps (lighter-weight uppercase for use in titles). OpenType table: 'titl'"));
+
+ // Group buttons
+ Gtk::RadioButton::Group caps_group = _caps_normal.get_group();
+ _caps_small.set_group(caps_group);
+ _caps_all_small.set_group(caps_group);
+ _caps_petite.set_group(caps_group);
+ _caps_all_petite.set_group(caps_group);
+ _caps_unicase.set_group(caps_group);
+ _caps_titling.set_group(caps_group);
+
+ // Add signals
+ _caps_normal.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::caps_callback) );
+ _caps_small.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::caps_callback) );
+ _caps_all_small.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::caps_callback) );
+ _caps_petite.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::caps_callback) );
+ _caps_all_petite.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::caps_callback) );
+ _caps_unicase.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::caps_callback) );
+ _caps_titling.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::caps_callback) );
+
+ // Add to frame
+ _caps_vbox.add( _caps_normal );
+ _caps_vbox.add( _caps_small );
+ _caps_vbox.add( _caps_all_small );
+ _caps_vbox.add( _caps_petite );
+ _caps_vbox.add( _caps_all_petite );
+ _caps_vbox.add( _caps_unicase );
+ _caps_vbox.add( _caps_titling );
+ _caps_frame.add( _caps_vbox );
+ add( _caps_frame );
+
+ caps_init();
+
+ // Numeric ------------------------------
+
+ // Add tooltips
+ _numeric_default_style.set_tooltip_text( _("Normal style."));
+ _numeric_lining.set_tooltip_text( _("Lining numerals. OpenType table: 'lnum'"));
+ _numeric_old_style.set_tooltip_text( _("Old style numerals. OpenType table: 'onum'"));
+ _numeric_default_width.set_tooltip_text( _("Normal widths."));
+ _numeric_proportional.set_tooltip_text( _("Proportional width numerals. OpenType table: 'pnum'"));
+ _numeric_tabular.set_tooltip_text( _("Same width numerals. OpenType table: 'tnum'"));
+ _numeric_default_fractions.set_tooltip_text( _("Normal fractions."));
+ _numeric_diagonal.set_tooltip_text( _("Diagonal fractions. OpenType table: 'frac'"));
+ _numeric_stacked.set_tooltip_text( _("Stacked fractions. OpenType table: 'afrc'"));
+ _numeric_ordinal.set_tooltip_text( _("Ordinals (raised 'th', etc.). OpenType table: 'ordn'"));
+ _numeric_slashed_zero.set_tooltip_text( _("Slashed zeros. OpenType table: 'zero'"));
+
+ // Group buttons
+ Gtk::RadioButton::Group style_group = _numeric_default_style.get_group();
+ _numeric_lining.set_group(style_group);
+ _numeric_old_style.set_group(style_group);
+
+ Gtk::RadioButton::Group width_group = _numeric_default_width.get_group();
+ _numeric_proportional.set_group(width_group);
+ _numeric_tabular.set_group(width_group);
+
+ Gtk::RadioButton::Group fraction_group = _numeric_default_fractions.get_group();
+ _numeric_diagonal.set_group(fraction_group);
+ _numeric_stacked.set_group(fraction_group);
+
+ // Add signals
+ _numeric_default_style.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::numeric_callback) );
+ _numeric_lining.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::numeric_callback) );
+ _numeric_old_style.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::numeric_callback) );
+ _numeric_default_width.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::numeric_callback) );
+ _numeric_proportional.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::numeric_callback) );
+ _numeric_tabular.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::numeric_callback) );
+ _numeric_default_fractions.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::numeric_callback) );
+ _numeric_diagonal.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::numeric_callback) );
+ _numeric_stacked.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::numeric_callback) );
+ _numeric_ordinal.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::numeric_callback) );
+ _numeric_slashed_zero.signal_clicked().connect ( sigc::mem_fun(*this, &FontVariants::numeric_callback) );
+
+ // Add to frame
+ _numeric_stylebox.add( _numeric_default_style );
+ _numeric_stylebox.add( _numeric_lining );
+ _numeric_stylebox.add( _numeric_old_style );
+ _numeric_vbox.add( _numeric_stylebox );
+ _numeric_widthbox.add( _numeric_default_width );
+ _numeric_widthbox.add( _numeric_proportional );
+ _numeric_widthbox.add( _numeric_tabular );
+ _numeric_vbox.add( _numeric_widthbox );
+ _numeric_fractionbox.add( _numeric_default_fractions );
+ _numeric_fractionbox.add( _numeric_diagonal );
+ _numeric_fractionbox.add( _numeric_stacked );
+ _numeric_vbox.add( _numeric_fractionbox );
+ _numeric_vbox.add( _numeric_ordinal );
+ _numeric_vbox.add( _numeric_slashed_zero );
+ _numeric_frame.add( _numeric_vbox );
+ add( _numeric_frame );
+
+
+ show_all_children();
+
+ }
+
+ void
+ FontVariants::ligatures_init() {
+ // std::cout << "FontVariants::ligatures_init()" << std::endl;
+ }
+
+ void
+ FontVariants::ligatures_callback() {
+ // std::cout << "FontVariants::ligatures_callback()" << std::endl;
+ _ligatures_changed = true;
+ _changed_signal.emit();
+ }
+
+ void
+ FontVariants::position_init() {
+ // std::cout << "FontVariants::position_init()" << std::endl;
+ }
+
+ void
+ FontVariants::position_callback() {
+ // std::cout << "FontVariants::position_callback()" << std::endl;
+ _position_changed = true;
+ _changed_signal.emit();
+ }
+
+ void
+ FontVariants::caps_init() {
+ // std::cout << "FontVariants::caps_init()" << std::endl;
+ }
+
+ void
+ FontVariants::caps_callback() {
+ // std::cout << "FontVariants::caps_callback()" << std::endl;
+ _caps_changed = true;
+ _changed_signal.emit();
+ }
+
+ void
+ FontVariants::numeric_init() {
+ // std::cout << "FontVariants::numeric_init()" << std::endl;
+ }
+
+ void
+ FontVariants::numeric_callback() {
+ // std::cout << "FontVariants::numeric_callback()" << std::endl;
+ _numeric_changed = true;
+ _changed_signal.emit();
+ }
+
+ // Update GUI based on query.
+ void
+ FontVariants::update( SPStyle const *query ) {
+
+ _ligatures_all = query->font_variant_ligatures.computed;
+ _ligatures_mix = query->font_variant_ligatures.value;
+
+ _ligatures_common.set_active( _ligatures_all & SP_CSS_FONT_VARIANT_LIGATURES_COMMON );
+ _ligatures_discretionary.set_active(_ligatures_all & SP_CSS_FONT_VARIANT_LIGATURES_DISCRETIONARY );
+ _ligatures_historical.set_active( _ligatures_all & SP_CSS_FONT_VARIANT_LIGATURES_HISTORICAL );
+ _ligatures_contextual.set_active( _ligatures_all & SP_CSS_FONT_VARIANT_LIGATURES_CONTEXTUAL );
+
+ _ligatures_common.set_inconsistent( _ligatures_mix & SP_CSS_FONT_VARIANT_LIGATURES_COMMON );
+ _ligatures_discretionary.set_inconsistent( _ligatures_mix & SP_CSS_FONT_VARIANT_LIGATURES_DISCRETIONARY );
+ _ligatures_historical.set_inconsistent( _ligatures_mix & SP_CSS_FONT_VARIANT_LIGATURES_HISTORICAL );
+ _ligatures_contextual.set_inconsistent( _ligatures_mix & SP_CSS_FONT_VARIANT_LIGATURES_CONTEXTUAL );
+
+ _position_all = query->font_variant_position.computed;
+ _position_mix = query->font_variant_position.value;
+
+ _position_normal.set_active( _position_all & SP_CSS_FONT_VARIANT_POSITION_NORMAL );
+ _position_sub.set_active( _position_all & SP_CSS_FONT_VARIANT_POSITION_SUB );
+ _position_super.set_active( _position_all & SP_CSS_FONT_VARIANT_POSITION_SUPER );
+
+ _position_normal.set_inconsistent( _position_mix & SP_CSS_FONT_VARIANT_POSITION_NORMAL );
+ _position_sub.set_inconsistent( _position_mix & SP_CSS_FONT_VARIANT_POSITION_SUB );
+ _position_super.set_inconsistent( _position_mix & SP_CSS_FONT_VARIANT_POSITION_SUPER );
+
+ _caps_all = query->font_variant_caps.computed;
+ _caps_mix = query->font_variant_caps.value;
+
+ _caps_normal.set_active( _caps_all & SP_CSS_FONT_VARIANT_CAPS_NORMAL );
+ _caps_small.set_active( _caps_all & SP_CSS_FONT_VARIANT_CAPS_SMALL );
+ _caps_all_small.set_active( _caps_all & SP_CSS_FONT_VARIANT_CAPS_ALL_SMALL );
+ _caps_petite.set_active( _caps_all & SP_CSS_FONT_VARIANT_CAPS_PETITE );
+ _caps_all_petite.set_active( _caps_all & SP_CSS_FONT_VARIANT_CAPS_ALL_PETITE );
+ _caps_unicase.set_active( _caps_all & SP_CSS_FONT_VARIANT_CAPS_UNICASE );
+ _caps_titling.set_active( _caps_all & SP_CSS_FONT_VARIANT_CAPS_TITLING );
+
+ _caps_normal.set_inconsistent( _caps_mix & SP_CSS_FONT_VARIANT_CAPS_NORMAL );
+ _caps_small.set_inconsistent( _caps_mix & SP_CSS_FONT_VARIANT_CAPS_SMALL );
+ _caps_all_small.set_inconsistent( _caps_mix & SP_CSS_FONT_VARIANT_CAPS_ALL_SMALL );
+ _caps_petite.set_inconsistent( _caps_mix & SP_CSS_FONT_VARIANT_CAPS_PETITE );
+ _caps_all_petite.set_inconsistent( _caps_mix & SP_CSS_FONT_VARIANT_CAPS_ALL_PETITE );
+ _caps_unicase.set_inconsistent( _caps_mix & SP_CSS_FONT_VARIANT_CAPS_UNICASE );
+ _caps_titling.set_inconsistent( _caps_mix & SP_CSS_FONT_VARIANT_CAPS_TITLING );
+
+ _numeric_all = query->font_variant_numeric.computed;
+ _numeric_mix = query->font_variant_numeric.value;
+
+ if (_numeric_all & SP_CSS_FONT_VARIANT_NUMERIC_LINING_NUMS) {
+ _numeric_lining.set_active();
+ } else if (_numeric_all & SP_CSS_FONT_VARIANT_NUMERIC_OLDSTYLE_NUMS) {
+ _numeric_old_style.set_active();
+ } else {
+ _numeric_default_style.set_active();
+ }
+
+ if (_numeric_all & SP_CSS_FONT_VARIANT_NUMERIC_PROPORTIONAL_NUMS) {
+ _numeric_proportional.set_active();
+ } else if (_numeric_all & SP_CSS_FONT_VARIANT_NUMERIC_TABULAR_NUMS) {
+ _numeric_tabular.set_active();
+ } else {
+ _numeric_default_width.set_active();
+ }
+
+ if (_numeric_all & SP_CSS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS) {
+ _numeric_diagonal.set_active();
+ } else if (_numeric_all & SP_CSS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS) {
+ _numeric_stacked.set_active();
+ } else {
+ _numeric_default_fractions.set_active();
+ }
+
+ _numeric_ordinal.set_active( _numeric_all & SP_CSS_FONT_VARIANT_NUMERIC_ORDINAL );
+ _numeric_slashed_zero.set_active( _numeric_all & SP_CSS_FONT_VARIANT_NUMERIC_SLASHED_ZERO );
+
+
+ _numeric_lining.set_inconsistent( _numeric_mix & SP_CSS_FONT_VARIANT_NUMERIC_LINING_NUMS );
+ _numeric_old_style.set_inconsistent( _numeric_mix & SP_CSS_FONT_VARIANT_NUMERIC_OLDSTYLE_NUMS );
+ _numeric_proportional.set_inconsistent( _numeric_mix & SP_CSS_FONT_VARIANT_NUMERIC_PROPORTIONAL_NUMS );
+ _numeric_tabular.set_inconsistent( _numeric_mix & SP_CSS_FONT_VARIANT_NUMERIC_TABULAR_NUMS );
+ _numeric_diagonal.set_inconsistent( _numeric_mix & SP_CSS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS );
+ _numeric_stacked.set_inconsistent( _numeric_mix & SP_CSS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS );
+ _numeric_ordinal.set_inconsistent( _numeric_mix & SP_CSS_FONT_VARIANT_NUMERIC_ORDINAL );
+ _numeric_slashed_zero.set_inconsistent( _numeric_mix & SP_CSS_FONT_VARIANT_NUMERIC_SLASHED_ZERO );
+
+ _ligatures_changed = false;
+ _position_changed = false;
+ _caps_changed = false;
+ _numeric_changed = false;
+ }
+
+ void
+ FontVariants::fill_css( SPCSSAttr *css ) {
+
+ // Ligatures
+ bool common = _ligatures_common.get_active();
+ bool discretionary = _ligatures_discretionary.get_active();
+ bool historical = _ligatures_historical.get_active();
+ bool contextual = _ligatures_contextual.get_active();
+
+ if( !common && !discretionary && !historical && !contextual ) {
+ sp_repr_css_set_property(css, "font-variant-ligatures", "none" );
+ } else if ( common && !discretionary && !historical && contextual ) {
+ sp_repr_css_set_property(css, "font-variant-ligatures", "normal" );
+ } else {
+ Glib::ustring css_string;
+ if ( !common )
+ css_string += "no-common-ligatures ";
+ if ( discretionary )
+ css_string += "discretionary-ligatures ";
+ if ( historical )
+ css_string += "historical-ligatures ";
+ if ( !contextual )
+ css_string += "no-contextual ";
+ sp_repr_css_set_property(css, "font-variant-ligatures", css_string.c_str() );
+ }
+
+ // Position
+ {
+ unsigned position_new = SP_CSS_FONT_VARIANT_POSITION_NORMAL;
+ Glib::ustring css_string;
+ if( _position_normal.get_active() ) {
+ css_string = "normal";
+ } else if( _position_sub.get_active() ) {
+ css_string = "sub";
+ position_new = SP_CSS_FONT_VARIANT_POSITION_SUB;
+ } else if( _position_super.get_active() ) {
+ css_string = "super";
+ position_new = SP_CSS_FONT_VARIANT_POSITION_SUPER;
+ }
+
+ // 'if' may not be necessary... need to test.
+ if( (_position_all != position_new) || ((_position_mix != 0) && _position_changed) ) {
+ sp_repr_css_set_property(css, "font-variant-position", css_string.c_str() );
+ }
+ }
+
+ // Caps
+ {
+ unsigned caps_new = SP_CSS_FONT_VARIANT_CAPS_NORMAL;
+ Glib::ustring css_string;
+ if( _caps_normal.get_active() ) {
+ css_string = "normal";
+ caps_new = SP_CSS_FONT_VARIANT_CAPS_NORMAL;
+ } else if( _caps_small.get_active() ) {
+ css_string = "small-caps";
+ caps_new = SP_CSS_FONT_VARIANT_CAPS_SMALL;
+ } else if( _caps_all_small.get_active() ) {
+ css_string = "all-small-caps";
+ caps_new = SP_CSS_FONT_VARIANT_CAPS_ALL_SMALL;
+ } else if( _caps_all_petite.get_active() ) {
+ css_string = "petite";
+ caps_new = SP_CSS_FONT_VARIANT_CAPS_PETITE;
+ } else if( _caps_all_petite.get_active() ) {
+ css_string = "all-petite";
+ caps_new = SP_CSS_FONT_VARIANT_CAPS_ALL_PETITE;
+ } else if( _caps_unicase.get_active() ) {
+ css_string = "unicase";
+ caps_new = SP_CSS_FONT_VARIANT_CAPS_UNICASE;
+ } else if( _caps_titling.get_active() ) {
+ css_string = "titling";
+ caps_new = SP_CSS_FONT_VARIANT_CAPS_TITLING;
+ }
+
+ // May not be necessary... need to test.
+ //if( (_caps_all != caps_new) || ((_caps_mix != 0) && _caps_changed) ) {
+ sp_repr_css_set_property(css, "font-variant-caps", css_string.c_str() );
+ //}
+ }
+
+ // Numeric
+ bool default_style = _numeric_default_style.get_active();
+ bool lining = _numeric_lining.get_active();
+ bool old_style = _numeric_old_style.get_active();
+
+ bool default_width = _numeric_default_width.get_active();
+ bool proportional = _numeric_proportional.get_active();
+ bool tabular = _numeric_tabular.get_active();
+
+ bool default_fractions = _numeric_default_fractions.get_active();
+ bool diagonal = _numeric_diagonal.get_active();
+ bool stacked = _numeric_stacked.get_active();
+
+ bool ordinal = _numeric_ordinal.get_active();
+ bool slashed_zero = _numeric_slashed_zero.get_active();
+
+ if (default_style & default_width & default_fractions & !ordinal & !slashed_zero) {
+ sp_repr_css_set_property(css, "font-variant-numeric", "normal");
+ } else {
+ Glib::ustring css_string;
+ if ( lining )
+ css_string += "lining-nums ";
+ if ( old_style )
+ css_string += "oldstyle-nums ";
+ if ( proportional )
+ css_string += "proportional-nums ";
+ if ( tabular )
+ css_string += "tabular-nums ";
+ if ( diagonal )
+ css_string += "diagonal-fractions ";
+ if ( stacked )
+ css_string += "stacked-fractions ";
+ if ( ordinal )
+ css_string += "ordinal ";
+ if ( slashed_zero )
+ css_string += "slashed-zero ";
+ sp_repr_css_set_property(css, "font-variant-numeric", css_string.c_str() );
+ }
+
+ }
+
+} // namespace Widget
+} // namespace UI
+} // namespace Inkscape
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/ui/widget/font-variants.h b/src/ui/widget/font-variants.h
new file mode 100644
index 000000000..e6a9dd68b
--- /dev/null
+++ b/src/ui/widget/font-variants.h
@@ -0,0 +1,152 @@
+/*
+ * Author:
+ * Tavmjong Bah <tavmjong@free.fr>
+ *
+ * Copyright (C) 2015 Tavmong Bah
+ *
+ * Released under GNU GPL. Read the file 'COPYING' for more information.
+ */
+
+#ifndef INKSCAPE_UI_WIDGET_FONT_VARIANT_H
+#define INKSCAPE_UI_WIDGET_FONT_VARIANT_H
+
+#include <gtkmm/expander.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/radiobutton.h>
+
+class SPDesktop;
+class SPObject;
+class SPStyle;
+class SPCSSAttr;
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+/**
+ * A container for selecting font variants (OpenType Features).
+ */
+class FontVariants : public Gtk::VBox
+{
+
+public:
+
+ /**
+ * Constructor
+ */
+ FontVariants();
+
+protected:
+ // To start, use four check buttons.
+ Gtk::Expander _ligatures_frame;
+ Gtk::VBox _ligatures_vbox;
+ Gtk::CheckButton _ligatures_common;
+ Gtk::CheckButton _ligatures_discretionary;
+ Gtk::CheckButton _ligatures_historical;
+ Gtk::CheckButton _ligatures_contextual;
+
+ // Exclusive options
+ Gtk::Expander _position_frame;
+ Gtk::VBox _position_vbox;
+ Gtk::RadioButton _position_normal;
+ Gtk::RadioButton _position_sub;
+ Gtk::RadioButton _position_super;
+
+ // Exclusive options (maybe a dropdown menu to save space?)
+ Gtk::Expander _caps_frame;
+ Gtk::VBox _caps_vbox;
+ Gtk::RadioButton _caps_normal;
+ Gtk::RadioButton _caps_small;
+ Gtk::RadioButton _caps_all_small;
+ Gtk::RadioButton _caps_petite;
+ Gtk::RadioButton _caps_all_petite;
+ Gtk::RadioButton _caps_unicase;
+ Gtk::RadioButton _caps_titling;
+
+ // Complicated!
+ Gtk::Expander _numeric_frame;
+ Gtk::VBox _numeric_vbox;
+ Gtk::HBox _numeric_stylebox;
+ Gtk::RadioButton _numeric_lining;
+ Gtk::RadioButton _numeric_old_style;
+ Gtk::RadioButton _numeric_default_style;
+ Gtk::HBox _numeric_widthbox;
+ Gtk::RadioButton _numeric_proportional;
+ Gtk::RadioButton _numeric_tabular;
+ Gtk::RadioButton _numeric_default_width;
+ Gtk::HBox _numeric_fractionbox;
+ Gtk::RadioButton _numeric_diagonal;
+ Gtk::RadioButton _numeric_stacked;
+ Gtk::RadioButton _numeric_default_fractions;
+ Gtk::CheckButton _numeric_ordinal;
+ Gtk::CheckButton _numeric_slashed_zero;
+
+private:
+ void ligatures_init();
+ void ligatures_callback();
+
+ void position_init();
+ void position_callback();
+
+ void caps_init();
+ void caps_callback();
+
+ void numeric_init();
+ void numeric_callback();
+
+ // To determine if we need to write out property (may not be necessary)
+ unsigned _ligatures_all;
+ unsigned _position_all;
+ unsigned _caps_all;
+ unsigned _numeric_all;
+
+ unsigned _ligatures_mix;
+ unsigned _position_mix;
+ unsigned _caps_mix;
+ unsigned _numeric_mix;
+
+ bool _ligatures_changed;
+ bool _position_changed;
+ bool _caps_changed;
+ bool _numeric_changed;
+
+ sigc::signal<void> _changed_signal;
+
+public:
+
+ /**
+ * Update GUI based on query results.
+ */
+ void update( SPStyle const *query );
+
+ /**
+ * Fill SPCSSAttr based on settings of buttons.
+ */
+ void fill_css( SPCSSAttr* css );
+
+ /**
+ * Let others know that user has changed GUI settings.
+ * (Used to enable 'Apply' and 'Default' buttons.)
+ */
+ sigc::connection connectChanged(sigc::slot<void> slot) {
+ return _changed_signal.connect(slot);
+ }
+};
+
+
+} // namespace Widget
+} // namespace UI
+} // namespace Inkscape
+
+#endif // INKSCAPE_UI_WIDGET_FONT_VARIANT_H
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/verbs.cpp b/src/verbs.cpp
index ea2c06dcf..e0ef27b0d 100644
--- a/src/verbs.cpp
+++ b/src/verbs.cpp
@@ -1350,39 +1350,9 @@ void LayerVerb::perform(SPAction *action, void *data)
}
case SP_VERB_LAYER_DUPLICATE: {
if ( dt->currentLayer() != dt->currentRoot() ) {
- // Note with either approach:
- // Any clone masters are duplicated, their clones use the *original*,
- // but the duplicated master is not linked up as master nor clone of the original.
-#if 0
- // Only copies selectable things, honoring locks, visibility, avoids sublayers.
- SPObject *new_layer = Inkscape::create_layer(dt->currentRoot(), dt->currentLayer(), LPOS_BELOW);
- if ( dt->currentLayer()->label() ) {
- gchar* name = g_strdup_printf(_("%s copy"), dt->currentLayer()->label());
- dt->layer_manager->renameLayer( new_layer, name, TRUE );
- g_free(name);
- }
- sp_edit_select_all(dt);
- sp_selection_duplicate(dt, true);
- sp_selection_to_prev_layer(dt, true);
- dt->setCurrentLayer(new_layer);
- sp_edit_select_all(dt);
-#else
- // Copies everything, regardless of locks, visibility, sublayers.
- //XML Tree being directly used here while it shouldn't be.
- Inkscape::XML::Node *selected = dt->currentLayer()->getRepr();
- Inkscape::XML::Node *parent = selected->parent();
- Inkscape::XML::Node *dup = selected->duplicate(parent->document());
- parent->addChild(dup, selected);
- SPObject *new_layer = dt->currentLayer()->next;
- if (new_layer) {
- if (new_layer->label()) {
- gchar* name = g_strdup_printf(_("%s copy"), new_layer->label());
- dt->layer_manager->renameLayer( new_layer, name, TRUE );
- g_free(name);
- }
- dt->setCurrentLayer(new_layer);
- }
-#endif
+
+ sp_selection_duplicate(dt, true, true);
+
DocumentUndo::done(dt->getDocument(), SP_VERB_LAYER_DUPLICATE,
_("Duplicate layer"));
diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt
index 072b905a2..a3e9e14d0 100644
--- a/src/widgets/CMakeLists.txt
+++ b/src/widgets/CMakeLists.txt
@@ -41,12 +41,7 @@ set(widgets_SRC
select-toolbar.cpp
shrink-wrap-button.cpp
sp-attribute-widget.cpp
- sp-color-icc-selector.cpp
- sp-color-notebook.cpp
- sp-color-scales.cpp
sp-color-selector.cpp
- sp-color-slider.cpp
- sp-color-wheel-selector.cpp
sp-widget.cpp
sp-xmlview-attr-list.cpp
sp-xmlview-content.cpp
@@ -103,12 +98,7 @@ set(widgets_SRC
select-toolbar.h
shrink-wrap-button.h
sp-attribute-widget.h
- sp-color-icc-selector.h
- sp-color-notebook.h
- sp-color-scales.h
sp-color-selector.h
- sp-color-slider.h
- sp-color-wheel-selector.h
sp-widget.h
sp-xmlview-attr-list.h
sp-xmlview-content.h
diff --git a/src/widgets/Makefile_insert b/src/widgets/Makefile_insert
index dc4c12967..f66be66ed 100644
--- a/src/widgets/Makefile_insert
+++ b/src/widgets/Makefile_insert
@@ -76,18 +76,8 @@ ink_common_sources += \
widgets/spiral-toolbar.h \
widgets/sp-attribute-widget.cpp \
widgets/sp-attribute-widget.h \
- widgets/sp-color-icc-selector.cpp \
- widgets/sp-color-icc-selector.h \
- widgets/sp-color-notebook.cpp \
- widgets/sp-color-notebook.h \
- widgets/sp-color-scales.cpp \
- widgets/sp-color-scales.h \
widgets/sp-color-selector.cpp \
widgets/sp-color-selector.h \
- widgets/sp-color-slider.cpp \
- widgets/sp-color-slider.h \
- widgets/sp-color-wheel-selector.cpp \
- widgets/sp-color-wheel-selector.h \
widgets/spinbutton-events.cpp \
widgets/spinbutton-events.h \
widgets/sp-widget.cpp \
diff --git a/src/widgets/fill-style.cpp b/src/widgets/fill-style.cpp
index b1f812338..fa5eabab4 100644
--- a/src/widgets/fill-style.cpp
+++ b/src/widgets/fill-style.cpp
@@ -300,7 +300,7 @@ void FillNStroke::performUpdate()
psel->setGradientProperties( rg->getUnits(),
rg->getSpread() );
} else if (SP_IS_PATTERN(server)) {
- SPPattern *pat = pattern_getroot(SP_PATTERN(server));
+ SPPattern *pat = SP_PATTERN(server)->rootPattern();
psel->updatePatternList( pat );
}
}
@@ -431,8 +431,7 @@ void FillNStroke::dragFromPaint()
update = true;
switch (psel->mode) {
- case SPPaintSelector::MODE_COLOR_RGB:
- case SPPaintSelector::MODE_COLOR_CMYK:
+ case SPPaintSelector::MODE_SOLID_COLOR:
{
// local change, do not update from selection
dragId = g_timeout_add_full(G_PRIORITY_DEFAULT, 100, dragDelayCB, this, 0);
@@ -505,8 +504,7 @@ void FillNStroke::updateFromPaint()
break;
}
- case SPPaintSelector::MODE_COLOR_RGB:
- case SPPaintSelector::MODE_COLOR_CMYK:
+ case SPPaintSelector::MODE_SOLID_COLOR:
{
if (kind == FILL) {
// FIXME: fix for GTK breakage, see comment in SelectedStyle::on_opacity_changed; here it results in losing release events
@@ -656,7 +654,7 @@ void FillNStroke::updateFromPaint()
SPPaintServer *server = (kind == FILL) ?
selobj->style->getFillPaintServer() :
selobj->style->getStrokePaintServer();
- if (SP_IS_PATTERN(server) && pattern_getroot(SP_PATTERN(server)) == pattern)
+ if (SP_IS_PATTERN(server) && SP_PATTERN(server)->rootPattern() == pattern)
// only if this object's pattern is not rooted in our selected pattern, apply
continue;
}
diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp
index 42e59cbfe..402f30846 100644
--- a/src/widgets/gradient-selector.cpp
+++ b/src/widgets/gradient-selector.cpp
@@ -17,6 +17,10 @@
# include "config.h"
#endif
+#if GLIBMM_DISABLE_DEPRECATED && HAVE_GLIBMM_THREADS_H
+#include <glibmm/threads.h>
+#endif
+
#include <gtkmm/treeview.h>
#include "gradient-vector.h"
diff --git a/src/widgets/gradient-vector.cpp b/src/widgets/gradient-vector.cpp
index 10d1cc107..259d4c9af 100644
--- a/src/widgets/gradient-vector.cpp
+++ b/src/widgets/gradient-vector.cpp
@@ -31,17 +31,16 @@
#include "macros.h"
#include <glibmm/i18n.h>
#include <set>
-#include "widgets/gradient-image.h"
-#include "inkscape.h"
-#include "document-private.h"
-#include "gradient-chemistry.h"
-#include "helper/window.h"
+#include "../widgets/gradient-image.h"
+#include "../inkscape.h"
+#include "../document-private.h"
+#include "../gradient-chemistry.h"
+#include "../helper/window.h"
#include "io/resource.h"
#include "xml/repr.h"
-#include "ui/dialog-events.h"
-#include "preferences.h"
+#include "../preferences.h"
#include "svg/css-ostringstream.h"
#include "sp-stop.h"
#include "selection-chemistry.h"
@@ -51,10 +50,16 @@
#include "desktop.h"
#include "layer-manager.h"
-#include <sigc++/sigc++.h>
+#include <sigc++/functors/ptr_fun.h>
+#include <sigc++/adaptors/bind.h>
#include "document-undo.h"
+#include "ui/dialog-events.h"
+#include "ui/selected-color.h"
+#include "ui/widget/color-notebook.h"
+
using Inkscape::DocumentUndo;
+using Inkscape::UI::SelectedColor;
enum {
VECTOR_SET,
@@ -468,11 +473,10 @@ void SPGradientVectorSelector::setSwatched()
### Vector Editing Widget
##################################################################*/
-#include "widgets/sp-color-notebook.h"
#include "widgets/widget-sizes.h"
#include "xml/node-event-vector.h"
#include "svg/svg-color.h"
-
+#include "ui/widget/color-notebook.h"
#define PAD 4
@@ -491,8 +495,8 @@ static void sp_gradient_vector_widget_destroy(GtkObject *object, gpointer data);
static void sp_gradient_vector_gradient_release(SPObject *obj, GtkWidget *widget);
static void sp_gradient_vector_gradient_modified(SPObject *obj, guint flags, GtkWidget *widget);
-static void sp_gradient_vector_color_dragged(SPColorSelector *csel, GObject *object);
-static void sp_gradient_vector_color_changed(SPColorSelector *csel, GObject *object);
+static void sp_gradient_vector_color_dragged(Inkscape::UI::SelectedColor *selected_color, GObject *object);
+static void sp_gradient_vector_color_changed(Inkscape::UI::SelectedColor *selected_color, GObject *object);
static void update_stop_list( GtkWidget *vb, SPGradient *gradient, SPStop *new_stop);
static gboolean blocked = FALSE;
@@ -649,9 +653,11 @@ static void sp_grad_edit_combo_box_changed (GtkComboBox * /*widget*/, GtkWidget
blocked = TRUE;
- SPColorSelector *csel = static_cast<SPColorSelector*>(g_object_get_data(G_OBJECT(tbl), "cselector"));
+ SelectedColor *csel = static_cast<SelectedColor*>(g_object_get_data(G_OBJECT(tbl), "cselector"));
// set its color, from the stored array
- csel->base->setColorAlpha( stop->getEffectiveColor(), stop->opacity );
+ g_object_set_data(G_OBJECT(tbl), "updating_color", reinterpret_cast<void*>(1));
+ csel->setColorAlpha(stop->getEffectiveColor(), stop->opacity);
+ g_object_set_data(G_OBJECT(tbl), "updating_color", reinterpret_cast<void*>(0));
GtkWidget *offspin = GTK_WIDGET(g_object_get_data(G_OBJECT(tbl), "offspn"));
GtkWidget *offslide =GTK_WIDGET(g_object_get_data(G_OBJECT(tbl), "offslide"));
@@ -832,7 +838,9 @@ static void sp_grd_ed_del_stop(GtkWidget */*widget*/, GtkWidget *vb)
static GtkWidget * sp_gradient_vector_widget_new(SPGradient *gradient, SPStop *select_stop)
{
- GtkWidget *vb, *w, *f, *csel;
+ using Inkscape::UI::Widget::ColorNotebook;
+
+ GtkWidget *vb, *w, *f;
g_return_val_if_fail(!gradient || SP_IS_GRADIENT(gradient), NULL);
@@ -960,12 +968,23 @@ static GtkWidget * sp_gradient_vector_widget_new(SPGradient *gradient, SPStop *s
f = gtk_frame_new(_("Stop Color"));
gtk_widget_show(f);
gtk_box_pack_start(GTK_BOX(vb), f, TRUE, TRUE, PAD);
- csel = static_cast<GtkWidget*>(sp_color_selector_new(SP_TYPE_COLOR_NOTEBOOK));
- g_object_set_data(G_OBJECT(vb), "cselector", csel);
+
+ Inkscape::UI::SelectedColor *selected_color = new Inkscape::UI::SelectedColor;
+ g_object_set_data(G_OBJECT(vb), "cselector", selected_color);
+ g_object_set_data(G_OBJECT(vb), "updating_color", reinterpret_cast<void*>(0));
+ selected_color->signal_dragged.connect(sigc::bind(sigc::ptr_fun(&sp_gradient_vector_color_dragged), selected_color, G_OBJECT(vb)));
+ selected_color->signal_dragged.connect(sigc::bind(sigc::ptr_fun(&sp_gradient_vector_color_changed), selected_color, G_OBJECT(vb)));
+
+ Gtk::Widget *color_selector = Gtk::manage(new ColorNotebook(*selected_color));
+ color_selector->show();
+ gtk_container_add(GTK_CONTAINER(f), color_selector->gobj());
+
+ /*
gtk_widget_show(csel);
gtk_container_add(GTK_CONTAINER(f), csel);
g_signal_connect(G_OBJECT(csel), "dragged", G_CALLBACK(sp_gradient_vector_color_dragged), vb);
g_signal_connect(G_OBJECT(csel), "changed", G_CALLBACK(sp_gradient_vector_color_changed), vb);
+ */
gtk_widget_show(vb);
@@ -1126,9 +1145,11 @@ static void sp_gradient_vector_widget_load_gradient(GtkWidget *widget, SPGradien
}
// get the color selector
- SPColorSelector *csel = SP_COLOR_SELECTOR(g_object_get_data(G_OBJECT(widget), "cselector"));
+ SelectedColor *csel = static_cast<SelectedColor*>(g_object_get_data(G_OBJECT(widget), "cselector"));
- csel->base->setColorAlpha( stop->getEffectiveColor(), stop->opacity );
+ g_object_set_data(G_OBJECT(widget), "updating_color", reinterpret_cast<void*>(1));
+ csel->setColorAlpha(stop->getEffectiveColor(), stop->opacity);
+ g_object_set_data(G_OBJECT(widget), "updating_color", reinterpret_cast<void*>(0));
/* Fill preview */
GtkWidget *w = static_cast<GtkWidget *>(g_object_get_data(G_OBJECT(widget), "preview"));
@@ -1228,6 +1249,12 @@ static void sp_gradient_vector_widget_destroy(GtkObject *object, gpointer /*data
sp_repr_remove_listener_by_data(gradient->getRepr(), object);
}
}
+
+ SelectedColor *selected_color = static_cast<SelectedColor *>(g_object_get_data(G_OBJECT(object), "cselector"));
+ if (selected_color) {
+ delete selected_color;
+ g_object_set_data(G_OBJECT(object), "cselector", NULL);
+ }
}
static void sp_gradient_vector_gradient_release(SPObject */*object*/, GtkWidget *widget)
@@ -1245,7 +1272,7 @@ static void sp_gradient_vector_gradient_modified(SPObject *object, guint /*flags
}
}
-static void sp_gradient_vector_color_dragged(SPColorSelector *csel, GObject *object)
+static void sp_gradient_vector_color_dragged(Inkscape::UI::SelectedColor *selected_color, GObject *object)
{
SPGradient *gradient, *ngr;
@@ -1273,14 +1300,21 @@ static void sp_gradient_vector_color_dragged(SPColorSelector *csel, GObject *obj
return;
}
- csel->base->getColorAlpha(stop->specified_color, stop->opacity);
+ selected_color->colorAlpha(stop->specified_color, stop->opacity);
stop->currentColor = false;
blocked = FALSE;
}
-static void sp_gradient_vector_color_changed(SPColorSelector *csel, GObject *object)
+static void sp_gradient_vector_color_changed(Inkscape::UI::SelectedColor *selected_color, GObject *object)
{
+ (void)selected_color;
+
+ void* updating_color = g_object_get_data(G_OBJECT(object), "updating_color");
+ if (updating_color) {
+ return;
+ }
+
if (blocked) {
return;
}
@@ -1309,10 +1343,10 @@ static void sp_gradient_vector_color_changed(SPColorSelector *csel, GObject *obj
return;
}
- csel = static_cast<SPColorSelector*>(g_object_get_data(G_OBJECT(object), "cselector"));
+ SelectedColor *csel = static_cast<SelectedColor *>(g_object_get_data(G_OBJECT(object), "cselector"));
SPColor color;
float alpha = 0;
- csel->base->getColorAlpha( color, alpha );
+ csel->colorAlpha(color, alpha);
sp_repr_set_css_double(stop->getRepr(), "offset", stop->offset);
Inkscape::CSSOStringStream os;
diff --git a/src/widgets/paint-selector.cpp b/src/widgets/paint-selector.cpp
index 221344296..846ded511 100644
--- a/src/widgets/paint-selector.cpp
+++ b/src/widgets/paint-selector.cpp
@@ -31,7 +31,6 @@
#include "widgets/widget-sizes.h"
#include "xml/repr.h"
-#include "sp-color-notebook.h"
#include "sp-linear-gradient.h"
#include "sp-radial-gradient.h"
#include "sp-mesh.h"
@@ -48,6 +47,7 @@
#include "io/sys.h"
#include "helper/stock-items.h"
#include "ui/icon-names.h"
+#include "ui/widget/color-notebook.h"
#include "paint-selector.h"
@@ -58,6 +58,7 @@
#include <gtk/gtk.h>
using Inkscape::Widgets::SwatchSelector;
+using Inkscape::UI::SelectedColor;
enum {
MODE_CHANGED,
@@ -94,8 +95,7 @@ static gchar const* modeStrings[] = {
"MODE_EMPTY",
"MODE_MULTIPLE",
"MODE_NONE",
- "MODE_COLOR_RGB",
- "MODE_COLOR_CMYK",
+ "MODE_SOLID_COLOR",
"MODE_GRADIENT_LINEAR",
"MODE_GRADIENT_RADIAL",
"MODE_PATTERN",
@@ -218,7 +218,7 @@ sp_paint_selector_init(SPPaintSelector *psel)
psel->none = sp_paint_selector_style_button_add(psel, INKSCAPE_ICON("paint-none"),
SPPaintSelector::MODE_NONE, _("No paint"));
psel->solid = sp_paint_selector_style_button_add(psel, INKSCAPE_ICON("paint-solid"),
- SPPaintSelector::MODE_COLOR_RGB, _("Flat color"));
+ SPPaintSelector::MODE_SOLID_COLOR, _("Flat color"));
psel->gradient = sp_paint_selector_style_button_add(psel, INKSCAPE_ICON("paint-gradient-linear"),
SPPaintSelector::MODE_GRADIENT_LINEAR, _("Linear gradient"));
psel->radial = sp_paint_selector_style_button_add(psel, INKSCAPE_ICON("paint-gradient-radial"),
@@ -292,8 +292,13 @@ sp_paint_selector_init(SPPaintSelector *psel)
/* Last used color */
- psel->color.set( 0.0, 0.0, 0.0 );
- psel->alpha = 1.0;
+ psel->selected_color = new SelectedColor;
+ psel->updating_color = false;
+
+ psel->selected_color->signal_grabbed.connect(sigc::mem_fun(psel, &SPPaintSelector::onSelectedColorGrabbed));
+ psel->selected_color->signal_dragged.connect(sigc::mem_fun(psel, &SPPaintSelector::onSelectedColorDragged));
+ psel->selected_color->signal_released.connect(sigc::mem_fun(psel, &SPPaintSelector::onSelectedColorReleased));
+ psel->selected_color->signal_changed.connect(sigc::mem_fun(psel, &SPPaintSelector::onSelectedColorChanged));
}
static void sp_paint_selector_dispose(GObject *object)
@@ -303,6 +308,11 @@ static void sp_paint_selector_dispose(GObject *object)
// clean up our long-living pattern menu
g_object_set_data(G_OBJECT(psel),"patternmenu",NULL);
+ if (psel->selected_color) {
+ delete psel->selected_color;
+ psel->selected_color = NULL;
+ }
+
if ((G_OBJECT_CLASS(sp_paint_selector_parent_class))->dispose)
(G_OBJECT_CLASS(sp_paint_selector_parent_class))->dispose(object);
}
@@ -396,8 +406,7 @@ void SPPaintSelector::setMode(Mode mode)
case MODE_NONE:
sp_paint_selector_set_mode_none(this);
break;
- case MODE_COLOR_RGB:
- case MODE_COLOR_CMYK:
+ case MODE_SOLID_COLOR:
sp_paint_selector_set_mode_color(this, mode);
break;
case MODE_GRADIENT_LINEAR:
@@ -438,7 +447,6 @@ void SPPaintSelector::setFillrule(FillRule fillrule)
void SPPaintSelector::setColorAlpha(SPColor const &color, float alpha)
{
g_return_if_fail( ( 0.0 <= alpha ) && ( alpha <= 1.0 ) );
- SPColorSelector *csel = 0;
/*
guint32 rgba = 0;
@@ -455,12 +463,13 @@ void SPPaintSelector::setColorAlpha(SPColor const &color, float alpha)
#ifdef SP_PS_VERBOSE
g_print("PaintSelector set RGBA\n");
#endif
- setMode(MODE_COLOR_RGB);
+ setMode(MODE_SOLID_COLOR);
}
- csel = reinterpret_cast<SPColorSelector*>(g_object_get_data(G_OBJECT(selector), "color-selector"));
+ updating_color = true;
+ selected_color->setColorAlpha(color, alpha);
+ updating_color = false;
//rgba = color.toRGBA32( alpha );
- csel->base->setColorAlpha( color, alpha );
}
void SPPaintSelector::setSwatch(SPGradient *vector )
@@ -541,11 +550,7 @@ void SPPaintSelector::getGradientProperties( SPGradientUnits &units, SPGradientS
*/
void SPPaintSelector::getColorAlpha(SPColor &color, gfloat &alpha) const
{
- SPColorSelector *csel;
-
- csel = reinterpret_cast<SPColorSelector*>(g_object_get_data(G_OBJECT(selector), "color-selector"));
-
- csel->base->getColorAlpha( color, alpha );
+ selected_color->colorAlpha(color, alpha);
g_assert( ( 0.0 <= alpha )
&& ( alpha <= 1.0 ) );
@@ -581,6 +586,9 @@ sp_paint_selector_clear_frame(SPPaintSelector *psel)
if (psel->selector) {
+ //This is a hack to work around GtkNotebook bug in ColorSelector. Is sends signal switch-page on destroy
+ //The widget is hidden firts so it can recognize that it should not process signals from notebook child
+ gtk_widget_set_visible(psel->selector, false);
gtk_widget_destroy(psel->selector);
psel->selector = NULL;
}
@@ -633,82 +641,82 @@ sp_paint_selector_set_mode_none(SPPaintSelector *psel)
/* Color paint */
-static void sp_paint_selector_color_grabbed(SPColorSelector * /*csel*/, SPPaintSelector *psel)
-{
- g_signal_emit(G_OBJECT(psel), psel_signals[GRABBED], 0);
+void SPPaintSelector::onSelectedColorGrabbed() {
+ g_signal_emit(G_OBJECT(this), psel_signals[GRABBED], 0);
}
-static void sp_paint_selector_color_dragged(SPColorSelector * /*csel*/, SPPaintSelector *psel)
-{
- g_signal_emit(G_OBJECT(psel), psel_signals[DRAGGED], 0);
+void SPPaintSelector::onSelectedColorDragged() {
+ if (updating_color) {
+ return;
+ }
+ g_signal_emit(G_OBJECT(this), psel_signals[DRAGGED], 0);
}
-static void sp_paint_selector_color_released(SPColorSelector * /*csel*/, SPPaintSelector *psel)
-{
- g_signal_emit(G_OBJECT(psel), psel_signals[RELEASED], 0);
+void SPPaintSelector::onSelectedColorReleased() {
+ g_signal_emit(G_OBJECT(this), psel_signals[RELEASED], 0);
}
-static void
-sp_paint_selector_color_changed(SPColorSelector *csel, SPPaintSelector *psel)
-{
- csel->base->getColorAlpha( psel->color, psel->alpha );
+void SPPaintSelector::onSelectedColorChanged() {
+ if (updating_color) {
+ return;
+ }
- g_signal_emit(G_OBJECT(psel), psel_signals[CHANGED], 0);
+ if (mode == MODE_SOLID_COLOR) {
+ g_signal_emit(G_OBJECT(this), psel_signals[CHANGED], 0);
+ } else {
+ g_warning("SPPaintSelector::onSelectedColorChanged(): selected color changed while not in color selection mode");
+ }
}
static void sp_paint_selector_set_mode_color(SPPaintSelector *psel, SPPaintSelector::Mode /*mode*/)
{
- GtkWidget *csel;
-
- SPColor newcolor = psel->color;
- float newalpha = psel->alpha;
-
+ using Inkscape::UI::Widget::ColorNotebook;
+
if ((psel->mode == SPPaintSelector::MODE_SWATCH)
|| (psel->mode == SPPaintSelector::MODE_GRADIENT_LINEAR)
|| (psel->mode == SPPaintSelector::MODE_GRADIENT_RADIAL) ) {
SPGradientSelector *gsel = getGradientFromData(psel);
if (gsel) {
SPGradient *gradient = gsel->getVector();
- newcolor = gradient->getFirstStop()->specified_color;
- newalpha = gradient->getFirstStop()->opacity;
+
+ // Gradient can be null if object paint is changed externally (ie. with a color picker tool)
+ if (gradient)
+ {
+ SPColor color = gradient->getFirstStop()->specified_color;
+ float alpha = gradient->getFirstStop()->opacity;
+ psel->selected_color->setColorAlpha(color, alpha, false);
+ }
}
}
sp_paint_selector_set_style_buttons(psel, psel->solid);
gtk_widget_set_sensitive(psel->style, TRUE);
- if ((psel->mode == SPPaintSelector::MODE_COLOR_RGB) || (psel->mode == SPPaintSelector::MODE_COLOR_CMYK)) {
+ if ((psel->mode == SPPaintSelector::MODE_SOLID_COLOR)) {
/* Already have color selector */
- csel = GTK_WIDGET(g_object_get_data(G_OBJECT(psel->selector), "color-selector"));
+ // Do nothing
} else {
sp_paint_selector_clear_frame(psel);
/* Create new color selector */
/* Create vbox */
#if GTK_CHECK_VERSION(3,0,0)
- GtkWidget *vb = gtk_box_new(GTK_ORIENTATION_VERTICAL, 4);
- gtk_box_set_homogeneous(GTK_BOX(vb), FALSE);
+ GtkWidget *vb = gtk_box_new(GTK_ORIENTATION_VERTICAL, 4);
+ gtk_box_set_homogeneous(GTK_BOX(vb), FALSE);
#else
GtkWidget *vb = gtk_vbox_new(FALSE, 4);
#endif
gtk_widget_show(vb);
/* Color selector */
- csel = sp_color_selector_new( SP_TYPE_COLOR_NOTEBOOK );
- gtk_widget_show(csel);
- g_object_set_data(G_OBJECT(vb), "color-selector", csel);
- gtk_box_pack_start(GTK_BOX(vb), csel, TRUE, TRUE, 0);
- g_signal_connect(G_OBJECT(csel), "grabbed", G_CALLBACK(sp_paint_selector_color_grabbed), psel);
- g_signal_connect(G_OBJECT(csel), "dragged", G_CALLBACK(sp_paint_selector_color_dragged), psel);
- g_signal_connect(G_OBJECT(csel), "released", G_CALLBACK(sp_paint_selector_color_released), psel);
- g_signal_connect(G_OBJECT(csel), "changed", G_CALLBACK(sp_paint_selector_color_changed), psel);
+ Gtk::Widget *color_selector = Gtk::manage(new ColorNotebook(*(psel->selected_color)));
+ color_selector->show();
+ gtk_box_pack_start(GTK_BOX(vb), color_selector->gobj(), TRUE, TRUE, 0);
+
/* Pack everything to frame */
gtk_container_add(GTK_CONTAINER(psel->frame), vb);
psel->selector = vb;
-
- /* Set color */
- SP_COLOR_SELECTOR( csel )->base->setColorAlpha( newcolor, newalpha );
}
gtk_label_set_markup(GTK_LABEL(psel->label), _("<b>Flat color</b>"));
@@ -720,22 +728,22 @@ static void sp_paint_selector_set_mode_color(SPPaintSelector *psel, SPPaintSelec
/* Gradient */
-static void sp_paint_selector_gradient_grabbed(SPColorSelector * /*csel*/, SPPaintSelector *psel)
+static void sp_paint_selector_gradient_grabbed(SPGradientSelector * /*csel*/, SPPaintSelector *psel)
{
g_signal_emit(G_OBJECT(psel), psel_signals[GRABBED], 0);
}
-static void sp_paint_selector_gradient_dragged(SPColorSelector * /*csel*/, SPPaintSelector *psel)
+static void sp_paint_selector_gradient_dragged(SPGradientSelector * /*csel*/, SPPaintSelector *psel)
{
g_signal_emit(G_OBJECT(psel), psel_signals[DRAGGED], 0);
}
-static void sp_paint_selector_gradient_released(SPColorSelector * /*csel*/, SPPaintSelector *psel)
+static void sp_paint_selector_gradient_released(SPGradientSelector * /*csel*/, SPPaintSelector *psel)
{
g_signal_emit(G_OBJECT(psel), psel_signals[RELEASED], 0);
}
-static void sp_paint_selector_gradient_changed(SPColorSelector * /*csel*/, SPPaintSelector *psel)
+static void sp_paint_selector_gradient_changed(SPGradientSelector * /*csel*/, SPPaintSelector *psel)
{
g_signal_emit(G_OBJECT(psel), psel_signals[CHANGED], 0);
}
@@ -838,7 +846,7 @@ ink_pattern_list_get (SPDocument *source)
GSList *pl = NULL;
GSList const *patterns = source->getResourceList("pattern");
for (GSList *l = const_cast<GSList *>(patterns); l != NULL; l = l->next) {
- if (SP_PATTERN(l->data) == pattern_getroot(SP_PATTERN(l->data))) { // only if this is a root pattern
+ if (SP_PATTERN(l->data) == SP_PATTERN(l->data)->rootPattern()) { // only if this is a root pattern
pl = g_slist_prepend(pl, l->data);
}
}
@@ -1158,7 +1166,7 @@ SPPattern *SPPaintSelector::getPattern()
}
g_free(paturn);
} else {
- pat = pattern_getroot(SP_PATTERN(patid));
+ pat = SP_PATTERN(patid)->rootPattern();
}
if (pat && !SP_IS_PATTERN(pat)) {
@@ -1265,7 +1273,7 @@ SPPaintSelector::Mode SPPaintSelector::getModeForStyle(SPStyle const & style, Fi
}
} else if ( target.isColor() ) {
// TODO this is no longer a valid assertion:
- mode = MODE_COLOR_RGB; // so far only rgb can be read from svg
+ mode = MODE_SOLID_COLOR; // so far only rgb can be read from svg
} else if ( target.isNone() ) {
mode = MODE_NONE;
} else {
diff --git a/src/widgets/paint-selector.h b/src/widgets/paint-selector.h
index 788aa673e..23c2dd456 100644
--- a/src/widgets/paint-selector.h
+++ b/src/widgets/paint-selector.h
@@ -12,12 +12,18 @@
*
*/
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <glib.h>
#include <gtk/gtk.h>
#include "color.h"
#include "fill-or-stroke.h"
#include "sp-gradient-spread.h"
#include "sp-gradient-units.h"
+#include "ui/selected-color.h"
class SPGradient;
class SPDesktop;
@@ -44,8 +50,7 @@ struct SPPaintSelector {
MODE_EMPTY,
MODE_MULTIPLE,
MODE_NONE,
- MODE_COLOR_RGB,
- MODE_COLOR_CMYK,
+ MODE_SOLID_COLOR,
MODE_GRADIENT_LINEAR,
MODE_GRADIENT_RADIAL,
#ifdef WITH_MESH
@@ -83,9 +88,8 @@ struct SPPaintSelector {
GtkWidget *frame, *selector;
GtkWidget *label;
- SPColor color;
- float alpha;
-
+ Inkscape::UI::SelectedColor *selected_color;
+ bool updating_color;
static Mode getModeForStyle(SPStyle const & style, FillOrStroke kind);
@@ -114,6 +118,11 @@ struct SPPaintSelector {
// TODO move this elsewhere:
void setFlatColor( SPDesktop *desktop, const gchar *color_property, const gchar *opacity_property );
+
+ void onSelectedColorGrabbed();
+ void onSelectedColorDragged();
+ void onSelectedColorReleased();
+ void onSelectedColorChanged();
};
enum {COMBO_COL_LABEL=0, COMBO_COL_STOCK=1, COMBO_COL_PATTERN=2, COMBO_COL_SEP=3, COMBO_N_COLS=4};
diff --git a/src/widgets/sp-color-icc-selector.cpp b/src/widgets/sp-color-icc-selector.cpp
deleted file mode 100644
index 6e910c582..000000000
--- a/src/widgets/sp-color-icc-selector.cpp
+++ /dev/null
@@ -1,1113 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "gradient-vector.h"
-#include <math.h>
-#include <gtk/gtk.h>
-#include <glibmm/i18n.h>
-#include <map>
-#include <set>
-#include <vector>
-
-#include "ui/dialog-events.h"
-#include "sp-color-icc-selector.h"
-#include "sp-color-scales.h"
-#include "sp-color-slider.h"
-#include "svg/svg-icc-color.h"
-#include "colorspace.h"
-#include "document.h"
-#include "inkscape.h"
-#include "profile-manager.h"
-
-#define noDEBUG_LCMS
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-#include "color-profile.h"
-#include "cms-system.h"
-#include "color-profile-cms-fns.h"
-
-#ifdef DEBUG_LCMS
-#include "preferences.h"
-#endif // DEBUG_LCMS
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
-
-#ifdef DEBUG_LCMS
-extern guint update_in_progress;
-#define DEBUG_MESSAGE(key, ...) \
-{\
- Inkscape::Preferences *prefs = Inkscape::Preferences::get();\
- bool dump = prefs->getBool("/options/scislac/" #key);\
- bool dumpD = prefs->getBool("/options/scislac/" #key "D");\
- bool dumpD2 = prefs->getBool("/options/scislac/" #key "D2");\
- dumpD &&= ( (update_in_progress == 0) || dumpD2 );\
- if ( dump )\
- {\
- g_message( __VA_ARGS__ );\
-\
- }\
- if ( dumpD )\
- {\
- GtkWidget *dialog = gtk_message_dialog_new(NULL,\
- GTK_DIALOG_DESTROY_WITH_PARENT, \
- GTK_MESSAGE_INFO, \
- GTK_BUTTONS_OK, \
- __VA_ARGS__ \
- );\
- g_signal_connect_swapped(dialog, "response",\
- G_CALLBACK(gtk_widget_destroy), \
- dialog); \
- gtk_widget_show_all( dialog );\
- }\
-}
-#endif // DEBUG_LCMS
-
-
-
-G_BEGIN_DECLS
-
-static void sp_color_icc_selector_dispose(GObject *object);
-static void sp_color_icc_selector_show_all (GtkWidget *widget);
-static void sp_color_icc_selector_hide(GtkWidget *widget);
-
-G_END_DECLS
-
-/**
- * Class containing the parts for a single color component's UI presence.
- */
-class ComponentUI
-{
-public:
- ComponentUI() :
- _component(),
- _adj(0),
- _slider(0),
- _btn(0),
- _label(0),
- _map(0)
- {
- }
-
- ComponentUI(colorspace::Component const &component) :
- _component(component),
- _adj(0),
- _slider(0),
- _btn(0),
- _label(0),
- _map(0)
- {
- }
-
- colorspace::Component _component;
- GtkAdjustment *_adj; // Component adjustment
- GtkWidget *_slider;
- GtkWidget *_btn; // spinbutton
- GtkWidget *_label; // Label
- guchar *_map;
-};
-
-/**
- * Class that implements the internals of the selector.
- */
-class ColorICCSelectorImpl
-{
-public:
-
- ColorICCSelectorImpl( ColorICCSelector *owner);
-
- ~ColorICCSelectorImpl();
-
- static void _adjustmentChanged ( GtkAdjustment *adjustment, SPColorICCSelector *cs );
-
- static void _sliderGrabbed( SPColorSlider *slider, SPColorICCSelector *cs );
- static void _sliderReleased( SPColorSlider *slider, SPColorICCSelector *cs );
- static void _sliderChanged( SPColorSlider *slider, SPColorICCSelector *cs );
-
- static void _profileSelected( GtkWidget* src, gpointer data );
- static void _fixupHit( GtkWidget* src, gpointer data );
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- void _setProfile( SVGICCColor* profile );
- void _switchToProfile( gchar const* name );
-#endif
- void _updateSliders( gint ignore );
- void _profilesChanged( std::string const & name );
-
- ColorICCSelector *_owner;
-
- gboolean _updating : 1;
- gboolean _dragging : 1;
-
- guint32 _fixupNeeded;
- GtkWidget* _fixupBtn;
- GtkWidget* _profileSel;
-
- std::vector<ComponentUI> _compUI;
-
- GtkAdjustment* _adj; // Channel adjustment
- GtkWidget* _slider;
- GtkWidget* _sbtn; // Spinbutton
- GtkWidget* _label; // Label
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- std::string _profileName;
- Inkscape::ColorProfile* _prof;
- guint _profChannelCount;
- gulong _profChangedID;
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-};
-
-#define XPAD 4
-#define YPAD 1
-
-namespace
-{
-
-size_t maxColorspaceComponentCount = 0;
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
-/**
- * Internal variable to track all known colorspaces.
- */
-std::set<cmsUInt32Number> knownColorspaces;
-
-#endif
-
-
-/**
- * Simple helper to allow bitwise or on GtkAttachOptions.
- */
-GtkAttachOptions operator|(GtkAttachOptions lhs, GtkAttachOptions rhs)
-{
- return static_cast<GtkAttachOptions>(static_cast<int>(lhs) | static_cast<int>(rhs));
-}
-
-/**
- * Helper function to handle GTK2/GTK3 attachment #ifdef code.
- */
-void attachToGridOrTable(GtkWidget *parent,
- GtkWidget *child,
- guint left,
- guint top,
- guint width,
- guint height,
- bool hexpand = false,
- bool centered = false,
- guint xpadding = XPAD,
- guint ypadding = YPAD)
-{
-#if GTK_CHECK_VERSION(3,0,0)
- #if GTK_CHECK_VERSION(3,12,0)
- gtk_widget_set_margin_start( child, xpadding );
- gtk_widget_set_margin_end( child, xpadding );
- #else
- gtk_widget_set_margin_left( child, xpadding );
- gtk_widget_set_margin_right( child, xpadding );
- #endif
-
- gtk_widget_set_margin_top( child, ypadding );
- gtk_widget_set_margin_bottom( child, ypadding );
- if (hexpand) {
- gtk_widget_set_hexpand(child, TRUE);
- }
- if (centered) {
- gtk_widget_set_halign( child, GTK_ALIGN_CENTER );
- gtk_widget_set_valign( child, GTK_ALIGN_CENTER );
- }
- gtk_grid_attach( GTK_GRID(parent), child, left, top, width, height );
-#else
- GtkAttachOptions xoptions = centered ? static_cast<GtkAttachOptions>(0) : hexpand ? (GTK_EXPAND | GTK_FILL) : GTK_FILL;
- GtkAttachOptions yoptions = centered ? static_cast<GtkAttachOptions>(0) : GTK_FILL;
-
- gtk_table_attach( GTK_TABLE(parent), child, left, left + width, top, top + height, xoptions, yoptions, xpadding, ypadding );
-#endif
-}
-
-} // namespace
-
-G_DEFINE_TYPE(SPColorICCSelector, sp_color_icc_selector, SP_TYPE_COLOR_SELECTOR);
-
-static void sp_color_icc_selector_class_init(SPColorICCSelectorClass *klass)
-{
- static const gchar* nameset[] = {N_("CMS"), 0};
- GObjectClass *object_class = G_OBJECT_CLASS(klass);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
- SPColorSelectorClass *selector_class = SP_COLOR_SELECTOR_CLASS (klass);
-
- selector_class->name = nameset;
- selector_class->submode_count = 1;
-
- object_class->dispose = sp_color_icc_selector_dispose;
-
- widget_class->show_all = sp_color_icc_selector_show_all;
- widget_class->hide = sp_color_icc_selector_hide;
-}
-
-
-ColorICCSelector::ColorICCSelector( SPColorSelector* csel )
- : ColorSelector( csel ),
- _impl(NULL)
-{
-}
-
-ColorICCSelector::~ColorICCSelector()
-{
- if (_impl)
- {
- delete _impl;
- _impl = 0;
- }
-}
-
-void sp_color_icc_selector_init(SPColorICCSelector *cs)
-{
- SP_COLOR_SELECTOR(cs)->base = new ColorICCSelector( SP_COLOR_SELECTOR(cs) );
-
- if ( SP_COLOR_SELECTOR(cs)->base )
- {
- SP_COLOR_SELECTOR(cs)->base->init();
- }
-}
-
-
-/*
-icSigRgbData
-icSigCmykData
-icSigCmyData
-*/
-#define SPACE_ID_RGB 0
-#define SPACE_ID_CMY 1
-#define SPACE_ID_CMYK 2
-
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-static cmsUInt16Number* getScratch() {
- // bytes per pixel * input channels * width
- static cmsUInt16Number* scritch = static_cast<cmsUInt16Number*>(g_new(cmsUInt16Number, 4 * 1024));
-
- return scritch;
-}
-
-colorspace::Component::Component() :
- name(),
- tip(),
- scale(1)
-{
-}
-
-colorspace::Component::Component(std::string const &name, std::string const &tip, guint scale) :
- name(name),
- tip(tip),
- scale(scale)
-{
-}
-
-std::vector<colorspace::Component> colorspace::getColorSpaceInfo( uint32_t space )
-{
- static std::map<cmsUInt32Number, std::vector<Component> > sets;
- if (sets.empty())
- {
- sets[cmsSigXYZData].push_back(Component("_X", "X", 2)); // TYPE_XYZ_16
- sets[cmsSigXYZData].push_back(Component("_Y", "Y", 1));
- sets[cmsSigXYZData].push_back(Component("_Z", "Z", 2));
-
- sets[cmsSigLabData].push_back(Component("_L", "L", 100)); // TYPE_Lab_16
- sets[cmsSigLabData].push_back(Component("_a", "a", 256));
- sets[cmsSigLabData].push_back(Component("_b", "b", 256));
-
- //cmsSigLuvData
-
- sets[cmsSigYCbCrData].push_back(Component("_Y", "Y", 1)); // TYPE_YCbCr_16
- sets[cmsSigYCbCrData].push_back(Component("C_b", "Cb", 1));
- sets[cmsSigYCbCrData].push_back(Component("C_r", "Cr", 1));
-
- sets[cmsSigYxyData].push_back(Component("_Y", "Y", 1)); // TYPE_Yxy_16
- sets[cmsSigYxyData].push_back(Component("_x", "x", 1));
- sets[cmsSigYxyData].push_back(Component("y", "y", 1));
-
- sets[cmsSigRgbData].push_back(Component(_("_R:"), _("Red"), 1)); // TYPE_RGB_16
- sets[cmsSigRgbData].push_back(Component(_("_G:"), _("Green"), 1));
- sets[cmsSigRgbData].push_back(Component(_("_B:"), _("Blue"), 1));
-
- sets[cmsSigGrayData].push_back(Component(_("G:"), _("Gray"), 1)); // TYPE_GRAY_16
-
- sets[cmsSigHsvData].push_back(Component(_("_H:"), _("Hue"), 360)); // TYPE_HSV_16
- sets[cmsSigHsvData].push_back(Component(_("_S:"), _("Saturation"), 1));
- sets[cmsSigHsvData].push_back(Component("_V:", "Value", 1));
-
- sets[cmsSigHlsData].push_back(Component(_("_H:"), _("Hue"), 360)); // TYPE_HLS_16
- sets[cmsSigHlsData].push_back(Component(_("_L:"), _("Lightness"), 1));
- sets[cmsSigHlsData].push_back(Component(_("_S:"), _("Saturation"), 1));
-
- sets[cmsSigCmykData].push_back(Component(_("_C:"), _("Cyan"), 1)); // TYPE_CMYK_16
- sets[cmsSigCmykData].push_back(Component(_("_M:"), _("Magenta"), 1));
- sets[cmsSigCmykData].push_back(Component(_("_Y:"), _("Yellow"), 1));
- sets[cmsSigCmykData].push_back(Component(_("_K:"), _("Black"), 1));
-
- sets[cmsSigCmyData].push_back(Component(_("_C:"), _("Cyan"), 1)); // TYPE_CMY_16
- sets[cmsSigCmyData].push_back(Component(_("_M:"), _("Magenta"), 1));
- sets[cmsSigCmyData].push_back(Component(_("_Y:"), _("Yellow"), 1));
-
- for (std::map<cmsUInt32Number, std::vector<Component> >::iterator it = sets.begin(); it != sets.end(); ++it)
- {
- knownColorspaces.insert(it->first);
- maxColorspaceComponentCount = std::max(maxColorspaceComponentCount, it->second.size());
- }
- }
-
- std::vector<Component> target;
-
- if (sets.find(space) != sets.end())
- {
- target = sets[space];
- }
- return target;
-}
-
-
-std::vector<colorspace::Component> colorspace::getColorSpaceInfo( Inkscape::ColorProfile *prof )
-{
- return getColorSpaceInfo( asICColorSpaceSig(prof->getColorSpace()) );
-}
-
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
-ColorICCSelectorImpl::ColorICCSelectorImpl(ColorICCSelector *owner) :
- _owner(owner),
- _updating( FALSE ),
- _dragging( FALSE ),
- _fixupNeeded(0),
- _fixupBtn(0),
- _profileSel(0),
- _compUI(),
- _adj(0),
- _slider(0),
- _sbtn(0),
- _label(0)
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- ,
- _profileName(),
- _prof(0),
- _profChannelCount(0),
- _profChangedID(0)
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-{
-}
-
-ColorICCSelectorImpl::~ColorICCSelectorImpl()
-{
- _adj = 0;
- _sbtn = 0;
- _label = 0;
-}
-
-void ColorICCSelector::init()
-{
- if (_impl) delete(_impl);
- _impl = new ColorICCSelectorImpl(this);
- gint row = 0;
-
- _impl->_updating = FALSE;
- _impl->_dragging = FALSE;
-
-#if GTK_CHECK_VERSION(3,0,0)
- GtkWidget *t = gtk_grid_new();
-#else
- GtkWidget *t = gtk_table_new(5, 3, FALSE);
-#endif
-
- gtk_widget_show (t);
- gtk_box_pack_start (GTK_BOX (_csel), t, TRUE, TRUE, 4);
-
- _impl->_compUI.clear();
-
- // Create components
- row = 0;
-
-
- _impl->_fixupBtn = gtk_button_new_with_label(_("Fix"));
- g_signal_connect( G_OBJECT(_impl->_fixupBtn), "clicked", G_CALLBACK(ColorICCSelectorImpl::_fixupHit), (gpointer)_impl );
- gtk_widget_set_sensitive( _impl->_fixupBtn, FALSE );
- gtk_widget_set_tooltip_text( _impl->_fixupBtn, _("Fix RGB fallback to match icc-color() value.") );
- //gtk_misc_set_alignment( GTK_MISC (_impl->_fixupBtn), 1.0, 0.5 );
- gtk_widget_show( _impl->_fixupBtn );
-
- attachToGridOrTable(t, _impl->_fixupBtn, 0, row, 1, 1);
-
- // Combobox and store with 2 columns : label (0) and full name (1)
- GtkListStore *store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
- _impl->_profileSel = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store));
-
- GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
- gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(_impl->_profileSel), renderer, TRUE);
- gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(_impl->_profileSel), renderer, "text", 0, NULL);
-
- GtkTreeIter iter;
- gtk_list_store_append (store, &iter);
- gtk_list_store_set (store, &iter, 0, _("<none>"), 1, _("<none>"), -1);
-
- gtk_widget_show( _impl->_profileSel );
- gtk_combo_box_set_active( GTK_COMBO_BOX(_impl->_profileSel), 0 );
-
- attachToGridOrTable(t, _impl->_profileSel, 1, row, 1, 1);
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- _impl->_profChangedID = g_signal_connect( G_OBJECT(_impl->_profileSel), "changed", G_CALLBACK(ColorICCSelectorImpl::_profileSelected), (gpointer)_impl );
-#else
- gtk_widget_set_sensitive( _impl->_profileSel, false );
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
-
- row++;
-
- // populate the data for colorspaces and channels:
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- std::vector<colorspace::Component> things = colorspace::getColorSpaceInfo( cmsSigRgbData );
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
- for ( size_t i = 0; i < maxColorspaceComponentCount; i++ ) {
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- if (i < things.size()) {
- _impl->_compUI.push_back(ComponentUI(things[i]));
- } else {
- _impl->_compUI.push_back(ComponentUI());
- }
-
- std::string labelStr = (i < things.size()) ? things[i].name.c_str() : "";
-#else
- _impl->_compUI.push_back(ComponentUI());
-
- std::string labelStr = ".";
-#endif
-
- _impl->_compUI[i]._label = gtk_label_new_with_mnemonic( labelStr.c_str() );
- gtk_misc_set_alignment( GTK_MISC (_impl->_compUI[i]._label), 1.0, 0.5 );
- gtk_widget_show( _impl->_compUI[i]._label );
-
- attachToGridOrTable(t, _impl->_compUI[i]._label, 0, row, 1, 1);
-
- // Adjustment
- guint scaleValue = _impl->_compUI[i]._component.scale;
- gdouble step = static_cast<gdouble>(scaleValue) / 100.0;
- gdouble page = static_cast<gdouble>(scaleValue) / 10.0;
- gint digits = (step > 0.9) ? 0 : 2;
- _impl->_compUI[i]._adj = GTK_ADJUSTMENT( gtk_adjustment_new( 0.0, 0.0, scaleValue, step, page, page ) );
-
- // Slider
- _impl->_compUI[i]._slider = sp_color_slider_new( _impl->_compUI[i]._adj );
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- gtk_widget_set_tooltip_text( _impl->_compUI[i]._slider, (i < things.size()) ? things[i].tip.c_str() : "" );
-#else
- gtk_widget_set_tooltip_text( _impl->_compUI[i]._slider, "." );
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- gtk_widget_show( _impl->_compUI[i]._slider );
-
- attachToGridOrTable(t, _impl->_compUI[i]._slider, 1, row, 1, 1, true);
-
- _impl->_compUI[i]._btn = gtk_spin_button_new( _impl->_compUI[i]._adj, step, digits );
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- gtk_widget_set_tooltip_text( _impl->_compUI[i]._btn, (i < things.size()) ? things[i].tip.c_str() : "" );
-#else
- gtk_widget_set_tooltip_text( _impl->_compUI[i]._btn, "." );
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- sp_dialog_defocus_on_enter( _impl->_compUI[i]._btn );
- gtk_label_set_mnemonic_widget( GTK_LABEL(_impl->_compUI[i]._label), _impl->_compUI[i]._btn );
- gtk_widget_show( _impl->_compUI[i]._btn );
-
- attachToGridOrTable(t, _impl->_compUI[i]._btn, 2, row, 1, 1, false, true);
-
- _impl->_compUI[i]._map = g_new( guchar, 4 * 1024 );
- memset( _impl->_compUI[i]._map, 0x0ff, 1024 * 4 );
-
-
- // Signals
- g_signal_connect( G_OBJECT( _impl->_compUI[i]._adj ), "value_changed", G_CALLBACK( ColorICCSelectorImpl::_adjustmentChanged ), _csel );
-
- g_signal_connect( G_OBJECT( _impl->_compUI[i]._slider ), "grabbed", G_CALLBACK( ColorICCSelectorImpl::_sliderGrabbed ), _csel );
- g_signal_connect( G_OBJECT( _impl->_compUI[i]._slider ), "released", G_CALLBACK( ColorICCSelectorImpl::_sliderReleased ), _csel );
- g_signal_connect( G_OBJECT( _impl->_compUI[i]._slider ), "changed", G_CALLBACK( ColorICCSelectorImpl::_sliderChanged ), _csel );
-
- row++;
- }
-
- // Label
- _impl->_label = gtk_label_new_with_mnemonic(_("_A:"));
- gtk_misc_set_alignment(GTK_MISC(_impl->_label), 1.0, 0.5);
- gtk_widget_show(_impl->_label);
-
- attachToGridOrTable(t, _impl->_label, 0, row, 1, 1);
-
- // Adjustment
- _impl->_adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 255.0, 1.0, 10.0, 10.0));
-
- // Slider
- _impl->_slider = sp_color_slider_new(_impl->_adj);
- gtk_widget_set_tooltip_text(_impl->_slider, _("Alpha (opacity)"));
- gtk_widget_show(_impl->_slider);
-
- attachToGridOrTable(t, _impl->_slider, 1, row, 1, 1, true);
-
- sp_color_slider_set_colors( SP_COLOR_SLIDER( _impl->_slider ),
- SP_RGBA32_F_COMPOSE( 1.0, 1.0, 1.0, 0.0 ),
- SP_RGBA32_F_COMPOSE( 1.0, 1.0, 1.0, 0.5 ),
- SP_RGBA32_F_COMPOSE( 1.0, 1.0, 1.0, 1.0 ) );
-
-
- // Spinbutton
- _impl->_sbtn = gtk_spin_button_new(GTK_ADJUSTMENT(_impl->_adj), 1.0, 0);
- gtk_widget_set_tooltip_text(_impl->_sbtn, _("Alpha (opacity)"));
- sp_dialog_defocus_on_enter(_impl->_sbtn);
- gtk_label_set_mnemonic_widget(GTK_LABEL(_impl->_label), _impl->_sbtn);
- gtk_widget_show(_impl->_sbtn);
-
- attachToGridOrTable(t, _impl->_sbtn, 2, row, 1, 1, false, true);
-
- // Signals
- g_signal_connect(G_OBJECT(_impl->_adj), "value_changed", G_CALLBACK(ColorICCSelectorImpl::_adjustmentChanged), _csel);
-
- g_signal_connect(G_OBJECT(_impl->_slider), "grabbed", G_CALLBACK(ColorICCSelectorImpl::_sliderGrabbed), _csel);
- g_signal_connect(G_OBJECT(_impl->_slider), "released", G_CALLBACK(ColorICCSelectorImpl::_sliderReleased), _csel);
- g_signal_connect(G_OBJECT(_impl->_slider), "changed", G_CALLBACK(ColorICCSelectorImpl::_sliderChanged), _csel);
-}
-
-static void sp_color_icc_selector_dispose(GObject *object)
-{
- if (G_OBJECT_CLASS(sp_color_icc_selector_parent_class)->dispose) {
- G_OBJECT_CLASS(sp_color_icc_selector_parent_class)->dispose(object);
- }
-}
-
-static void
-sp_color_icc_selector_show_all (GtkWidget *widget)
-{
- gtk_widget_show (widget);
-}
-
-static void sp_color_icc_selector_hide(GtkWidget *widget)
-{
- gtk_widget_hide(widget);
-}
-
-GtkWidget *
-sp_color_icc_selector_new (void)
-{
- SPColorICCSelector *csel;
-
- csel = static_cast<SPColorICCSelector*>(g_object_new (SP_TYPE_COLOR_ICC_SELECTOR, NULL));
-
- return GTK_WIDGET (csel);
-}
-
-
-void ColorICCSelectorImpl::_fixupHit( GtkWidget* /*src*/, gpointer data )
-{
- ColorICCSelectorImpl* self = reinterpret_cast<ColorICCSelectorImpl*>(data);
- gtk_widget_set_sensitive( self->_fixupBtn, FALSE );
- self->_adjustmentChanged( self->_compUI[0]._adj, SP_COLOR_ICC_SELECTOR(self->_owner->_csel) );
-}
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-void ColorICCSelectorImpl::_profileSelected( GtkWidget* /*src*/, gpointer data )
-{
- ColorICCSelectorImpl* self = reinterpret_cast<ColorICCSelectorImpl*>(data);
-
- GtkTreeIter iter;
- if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(self->_profileSel), &iter)) {
- GtkTreeModel *store = gtk_combo_box_get_model(GTK_COMBO_BOX(self->_profileSel));
- gchar* name = 0;
-
- gtk_tree_model_get(store, &iter, 1, &name, -1);
- self->_switchToProfile( name );
- gtk_widget_set_tooltip_text(self->_profileSel, name );
-
- if ( name ) {
- g_free( name );
- }
- }
-}
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-void ColorICCSelectorImpl::_switchToProfile( gchar const* name )
-{
- bool dirty = false;
- SPColor tmp( _owner->_color );
-
- if ( name ) {
- if ( tmp.icc && tmp.icc->colorProfile == name ) {
-#ifdef DEBUG_LCMS
- g_message("Already at name [%s]", name );
-#endif // DEBUG_LCMS
- } else {
-#ifdef DEBUG_LCMS
- g_message("Need to switch to profile [%s]", name );
-#endif // DEBUG_LCMS
- if ( tmp.icc ) {
- tmp.icc->colors.clear();
- } else {
- tmp.icc = new SVGICCColor();
- }
- tmp.icc->colorProfile = name;
- Inkscape::ColorProfile* newProf = SP_ACTIVE_DOCUMENT->profileManager->find(name);
- if ( newProf ) {
- cmsHTRANSFORM trans = newProf->getTransfFromSRGB8();
- if ( trans ) {
- guint32 val = _owner->_color.toRGBA32(0);
- guchar pre[4] = {
- static_cast<guchar>(SP_RGBA32_R_U(val)),
- static_cast<guchar>(SP_RGBA32_G_U(val)),
- static_cast<guchar>(SP_RGBA32_B_U(val)),
- 255};
-#ifdef DEBUG_LCMS
- g_message("Shoving in [%02x] [%02x] [%02x]", pre[0], pre[1], pre[2]);
-#endif // DEBUG_LCMS
- cmsUInt16Number post[4] = {0,0,0,0};
- cmsDoTransform( trans, pre, post, 1 );
-#ifdef DEBUG_LCMS
- g_message("got on out [%04x] [%04x] [%04x] [%04x]", post[0], post[1], post[2], post[3]);
-#endif // DEBUG_LCMS
-#if HAVE_LIBLCMS1
- guint count = _cmsChannelsOf( asICColorSpaceSig(newProf->getColorSpace()) );
-#elif HAVE_LIBLCMS2
- guint count = cmsChannelsOf( asICColorSpaceSig(newProf->getColorSpace()) );
-#endif
-
- std::vector<colorspace::Component> things = colorspace::getColorSpaceInfo(asICColorSpaceSig(newProf->getColorSpace()));
-
- for ( guint i = 0; i < count; i++ ) {
- gdouble val = (((gdouble)post[i])/65535.0) * (gdouble)((i < things.size()) ? things[i].scale : 1);
-#ifdef DEBUG_LCMS
- g_message(" scaled %d by %d to be %f", i, ((i < things.size()) ? things[i].scale : 1), val);
-#endif // DEBUG_LCMS
- tmp.icc->colors.push_back(val);
- }
- cmsHTRANSFORM retrans = newProf->getTransfToSRGB8();
- if ( retrans ) {
- cmsDoTransform( retrans, post, pre, 1 );
-#ifdef DEBUG_LCMS
- g_message(" back out [%02x] [%02x] [%02x]", pre[0], pre[1], pre[2]);
-#endif // DEBUG_LCMS
- tmp.set(SP_RGBA32_U_COMPOSE(pre[0], pre[1], pre[2], 0xff));
- }
- }
- }
- dirty = true;
- }
- } else {
-#ifdef DEBUG_LCMS
- g_message("NUKE THE ICC");
-#endif // DEBUG_LCMS
- if ( tmp.icc ) {
- delete tmp.icc;
- tmp.icc = 0;
- dirty = true;
- _fixupHit( 0, this );
- } else {
-#ifdef DEBUG_LCMS
- g_message("No icc to nuke");
-#endif // DEBUG_LCMS
- }
- }
-
- if ( dirty ) {
-#ifdef DEBUG_LCMS
- g_message("+----------------");
- g_message("+ new color is [%s]", tmp.toString().c_str());
-#endif // DEBUG_LCMS
- _setProfile( tmp.icc );
- //_adjustmentChanged( _compUI[0]._adj, SP_COLOR_ICC_SELECTOR(_csel) );
- _owner->setColorAlpha( tmp, _owner->_alpha, true );
-#ifdef DEBUG_LCMS
- g_message("+_________________");
-#endif // DEBUG_LCMS
- }
-}
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-void ColorICCSelectorImpl::_profilesChanged( std::string const & name )
-{
- GtkComboBox* combo = GTK_COMBO_BOX(_profileSel);
-
- g_signal_handler_block( G_OBJECT(_profileSel), _profChangedID );
-
- GtkListStore *store = GTK_LIST_STORE(gtk_combo_box_get_model(combo));
- gtk_list_store_clear(store);
-
- GtkTreeIter iter;
- gtk_list_store_append (store, &iter);
- gtk_list_store_set(store, &iter, 0, _("<none>"), 1, _("<none>"), -1);
-
- gtk_combo_box_set_active( combo, 0 );
-
- int index = 1;
- const GSList *current = SP_ACTIVE_DOCUMENT->getResourceList( "iccprofile" );
- while ( current ) {
- SPObject* obj = SP_OBJECT(current->data);
- Inkscape::ColorProfile* prof = reinterpret_cast<Inkscape::ColorProfile*>(obj);
-
- gtk_list_store_append (store, &iter);
- gtk_list_store_set(store, &iter, 0, gr_ellipsize_text(prof->name, 25).c_str(), 1, prof->name, -1);
-
- if ( name == prof->name ) {
- gtk_combo_box_set_active( combo, index );
- gtk_widget_set_tooltip_text(_profileSel, prof->name );
- }
-
- index++;
- current = g_slist_next(current);
- }
-
- g_signal_handler_unblock( G_OBJECT(_profileSel), _profChangedID );
-}
-#else
-void ColorICCSelectorImpl::_profilesChanged( std::string const & /*name*/ )
-{
-}
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
-// Helpers for setting color value
-
-void ColorICCSelector::_colorChanged()
-{
- _impl->_updating = TRUE;
- //sp_color_icc_set_color( SP_COLOR_ICC( _icc ), &color );
-
-#ifdef DEBUG_LCMS
- g_message( "/^^^^^^^^^ %p::_colorChanged(%08x:%s)", this,
- _color.toRGBA32(_alpha), ( (_color.icc) ? _color.icc->colorProfile.c_str(): "<null>" )
- );
-#endif // DEBUG_LCMS
-
-#ifdef DEBUG_LCMS
- g_message("FLIPPIES!!!! %p '%s'", _color.icc, (_color.icc ? _color.icc->colorProfile.c_str():"<null>"));
-#endif // DEBUG_LCMS
-
- _impl->_profilesChanged( (_color.icc) ? _color.icc->colorProfile : std::string("") );
- ColorScales::setScaled( _impl->_adj, _alpha );
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- _impl->_setProfile( _color.icc );
- _impl->_fixupNeeded = 0;
- gtk_widget_set_sensitive( _impl->_fixupBtn, FALSE );
-
- if (_impl->_prof) {
- if (_impl->_prof->getTransfToSRGB8() ) {
- cmsUInt16Number tmp[4];
- for ( guint i = 0; i < _impl->_profChannelCount; i++ ) {
- gdouble val = 0.0;
- if ( _color.icc->colors.size() > i ) {
- if ( _impl->_compUI[i]._component.scale == 256 ) {
- val = (_color.icc->colors[i] + 128.0) / static_cast<gdouble>(_impl->_compUI[i]._component.scale);
- } else {
- val = _color.icc->colors[i] / static_cast<gdouble>(_impl->_compUI[i]._component.scale);
- }
- }
- tmp[i] = val * 0x0ffff;
- }
- guchar post[4] = {0,0,0,0};
- cmsHTRANSFORM trans = _impl->_prof->getTransfToSRGB8();
- if ( trans ) {
- cmsDoTransform( trans, tmp, post, 1 );
- guint32 other = SP_RGBA32_U_COMPOSE(post[0], post[1], post[2], 255 );
- if ( other != _color.toRGBA32(255) ) {
- _impl->_fixupNeeded = other;
- gtk_widget_set_sensitive( _impl->_fixupBtn, TRUE );
-#ifdef DEBUG_LCMS
- g_message("Color needs to change 0x%06x to 0x%06x", _color.toRGBA32(255) >> 8, other >> 8 );
-#endif // DEBUG_LCMS
- }
- }
- }
- }
-#else
- //(void)color;
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- _impl->_updateSliders( -1 );
-
-
- _impl->_updating = FALSE;
-#ifdef DEBUG_LCMS
- g_message( "\\_________ %p::_colorChanged()", this );
-#endif // DEBUG_LCMS
-}
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-void ColorICCSelectorImpl::_setProfile( SVGICCColor* profile )
-{
-#ifdef DEBUG_LCMS
- g_message( "/^^^^^^^^^ %p::_setProfile(%s)", this,
- ( (profile) ? profile->colorProfile.c_str() : "<null>")
- );
-#endif // DEBUG_LCMS
- bool profChanged = false;
- if ( _prof && (!profile || (_profileName != profile->colorProfile) ) ) {
- // Need to clear out the prior one
- profChanged = true;
- _profileName.clear();
- _prof = 0;
- _profChannelCount = 0;
- } else if ( profile && !_prof ) {
- profChanged = true;
- }
-
- for ( size_t i = 0; i < _compUI.size(); i++ ) {
- gtk_widget_hide( _compUI[i]._label );
- gtk_widget_hide( _compUI[i]._slider );
- gtk_widget_hide( _compUI[i]._btn );
- }
-
- if ( profile ) {
- _prof = SP_ACTIVE_DOCUMENT->profileManager->find(profile->colorProfile.c_str());
- if ( _prof && (asICColorProfileClassSig(_prof->getProfileClass()) != cmsSigNamedColorClass) ) {
-#if HAVE_LIBLCMS1
- _profChannelCount = _cmsChannelsOf( asICColorSpaceSig(_prof->getColorSpace()) );
-#elif HAVE_LIBLCMS2
- _profChannelCount = cmsChannelsOf( asICColorSpaceSig(_prof->getColorSpace()) );
-#endif
-
- if ( profChanged ) {
- std::vector<colorspace::Component> things = colorspace::getColorSpaceInfo(asICColorSpaceSig(_prof->getColorSpace()));
- for (size_t i = 0; (i < things.size()) && (i < _profChannelCount); ++i)
- {
- _compUI[i]._component = things[i];
- }
-
- for ( guint i = 0; i < _profChannelCount; i++ ) {
- gtk_label_set_text_with_mnemonic( GTK_LABEL(_compUI[i]._label), (i < things.size()) ? things[i].name.c_str() : "");
-
- gtk_widget_set_tooltip_text( _compUI[i]._slider, (i < things.size()) ? things[i].tip.c_str() : "" );
- gtk_widget_set_tooltip_text( _compUI[i]._btn, (i < things.size()) ? things[i].tip.c_str() : "" );
-
- sp_color_slider_set_colors( SP_COLOR_SLIDER(_compUI[i]._slider),
- SPColor(0.0, 0.0, 0.0).toRGBA32(0xff),
- SPColor(0.5, 0.5, 0.5).toRGBA32(0xff),
- SPColor(1.0, 1.0, 1.0).toRGBA32(0xff) );
-/*
- _compUI[i]._adj = GTK_ADJUSTMENT( gtk_adjustment_new( val, 0.0, _fooScales[i], step, page, page ) );
- g_signal_connect( G_OBJECT( _compUI[i]._adj ), "value_changed", G_CALLBACK( _adjustmentChanged ), _csel );
-
- sp_color_slider_set_adjustment( SP_COLOR_SLIDER(_compUI[i]._slider), _compUI[i]._adj );
- gtk_spin_button_set_adjustment( GTK_SPIN_BUTTON(_compUI[i]._btn), _compUI[i]._adj );
- gtk_spin_button_set_digits( GTK_SPIN_BUTTON(_compUI[i]._btn), digits );
-*/
- gtk_widget_show( _compUI[i]._label );
- gtk_widget_show( _compUI[i]._slider );
- gtk_widget_show( _compUI[i]._btn );
- //gtk_adjustment_set_value( _compUI[i]._adj, 0.0 );
- //gtk_adjustment_set_value( _compUI[i]._adj, val );
- }
- for ( size_t i = _profChannelCount; i < _compUI.size(); i++ ) {
- gtk_widget_hide( _compUI[i]._label );
- gtk_widget_hide( _compUI[i]._slider );
- gtk_widget_hide( _compUI[i]._btn );
- }
- }
- } else {
- // Give up for now on named colors
- _prof = 0;
- }
- }
-
-#ifdef DEBUG_LCMS
- g_message( "\\_________ %p::_setProfile()", this );
-#endif // DEBUG_LCMS
-}
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
-void ColorICCSelectorImpl::_updateSliders( gint ignore )
-{
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- if ( _owner->_color.icc )
- {
- for ( guint i = 0; i < _profChannelCount; i++ ) {
- gdouble val = 0.0;
- if ( _owner->_color.icc->colors.size() > i ) {
- if ( _compUI[i]._component.scale == 256 ) {
- val = (_owner->_color.icc->colors[i] + 128.0) / static_cast<gdouble>(_compUI[i]._component.scale);
- } else {
- val = _owner->_color.icc->colors[i] / static_cast<gdouble>(_compUI[i]._component.scale);
- }
- }
- gtk_adjustment_set_value( _compUI[i]._adj, val );
- }
-
- if ( _prof ) {
- if ( _prof->getTransfToSRGB8() ) {
- for ( guint i = 0; i < _profChannelCount; i++ ) {
- if ( static_cast<gint>(i) != ignore ) {
- cmsUInt16Number* scratch = getScratch();
- cmsUInt16Number filler[4] = {0, 0, 0, 0};
- for ( guint j = 0; j < _profChannelCount; j++ ) {
- filler[j] = 0x0ffff * ColorScales::getScaled( _compUI[j]._adj );
- }
-
- cmsUInt16Number* p = scratch;
- for ( guint x = 0; x < 1024; x++ ) {
- for ( guint j = 0; j < _profChannelCount; j++ ) {
- if ( j == i ) {
- *p++ = x * 0x0ffff / 1024;
- } else {
- *p++ = filler[j];
- }
- }
- }
-
- cmsHTRANSFORM trans = _prof->getTransfToSRGB8();
- if ( trans ) {
- cmsDoTransform( trans, scratch, _compUI[i]._map, 1024 );
- sp_color_slider_set_map( SP_COLOR_SLIDER(_compUI[i]._slider), _compUI[i]._map );
- }
- }
- }
- }
- }
- }
-#else
- (void)ignore;
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
- guint32 start = _owner->_color.toRGBA32( 0x00 );
- guint32 mid = _owner->_color.toRGBA32( 0x7f );
- guint32 end = _owner->_color.toRGBA32( 0xff );
-
- sp_color_slider_set_colors( SP_COLOR_SLIDER(_slider), start, mid, end );
-}
-
-
-void ColorICCSelectorImpl::_adjustmentChanged( GtkAdjustment *adjustment, SPColorICCSelector *cs )
-{
-// // TODO check this. It looks questionable:
-// // if a value is entered between 0 and 1 exclusive, normalize it to (int) 0..255 or 0..100
-// if (adjustment->value > 0.0 && adjustment->value < 1.0) {
-// gtk_adjustment_set_value( adjustment, floor ((adjustment->value) * adjustment->upper + 0.5) );
-// }
-
-#ifdef DEBUG_LCMS
- g_message( "/^^^^^^^^^ %p::_adjustmentChanged()", cs );
-#endif // DEBUG_LCMS
-
- ColorICCSelector* iccSelector = static_cast<ColorICCSelector*>(SP_COLOR_SELECTOR(cs)->base);
- if (iccSelector->_impl->_updating) {
- return;
- }
-
- iccSelector->_impl->_updating = TRUE;
-
- gint match = -1;
-
- SPColor newColor( iccSelector->_color );
- gfloat scaled = ColorScales::getScaled( iccSelector->_impl->_adj );
- if ( iccSelector->_impl->_adj == adjustment ) {
-#ifdef DEBUG_LCMS
- g_message("ALPHA");
-#endif // DEBUG_LCMS
- } else {
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- for ( size_t i = 0; i < iccSelector->_impl->_compUI.size(); i++ ) {
- if ( iccSelector->_impl->_compUI[i]._adj == adjustment ) {
- match = i;
- break;
- }
- }
- if ( match >= 0 ) {
-#ifdef DEBUG_LCMS
- g_message(" channel %d", match );
-#endif // DEBUG_LCMS
- }
-
-
- cmsUInt16Number tmp[4];
- for ( guint i = 0; i < 4; i++ ) {
- tmp[i] = ColorScales::getScaled( iccSelector->_impl->_compUI[i]._adj ) * 0x0ffff;
- }
- guchar post[4] = {0,0,0,0};
-
- cmsHTRANSFORM trans = iccSelector->_impl->_prof->getTransfToSRGB8();
- if ( trans ) {
- cmsDoTransform( trans, tmp, post, 1 );
- }
-
- SPColor other( SP_RGBA32_U_COMPOSE(post[0], post[1], post[2], 255) );
- other.icc = new SVGICCColor();
- if ( iccSelector->_color.icc ) {
- other.icc->colorProfile = iccSelector->_color.icc->colorProfile;
- }
-
- guint32 prior = iccSelector->_color.toRGBA32(255);
- guint32 newer = other.toRGBA32(255);
-
- if ( prior != newer ) {
-#ifdef DEBUG_LCMS
- g_message("Transformed color from 0x%08x to 0x%08x", prior, newer );
- g_message(" ~~~~ FLIP");
-#endif // DEBUG_LCMS
- newColor = other;
- newColor.icc->colors.clear();
- for ( guint i = 0; i < iccSelector->_impl->_profChannelCount; i++ ) {
- gdouble val = ColorScales::getScaled( iccSelector->_impl->_compUI[i]._adj );
- val *= iccSelector->_impl->_compUI[i]._component.scale;
- if ( iccSelector->_impl->_compUI[i]._component.scale == 256 ) {
- val -= 128;
- }
- newColor.icc->colors.push_back( val );
- }
- }
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- }
- iccSelector->_updateInternals( newColor, scaled, iccSelector->_impl->_dragging );
- iccSelector->_impl->_updateSliders( match );
-
- iccSelector->_impl->_updating = FALSE;
-#ifdef DEBUG_LCMS
- g_message( "\\_________ %p::_adjustmentChanged()", cs );
-#endif // DEBUG_LCMS
-}
-
-void ColorICCSelectorImpl::_sliderGrabbed( SPColorSlider * /*slider*/, SPColorICCSelector * /*cs*/ )
-{
-// ColorICCSelector* iccSelector = dynamic_cast<ColorICCSelector*>(SP_COLOR_SELECTOR(cs)->base);
-// if (!iccSelector->_dragging) {
-// iccSelector->_dragging = TRUE;
-// iccSelector->_grabbed();
-// iccSelector->_updateInternals( iccSelector->_color, ColorScales::getScaled( iccSelector->_impl->_adj ), iccSelector->_dragging );
-// }
-}
-
-void ColorICCSelectorImpl::_sliderReleased( SPColorSlider * /*slider*/, SPColorICCSelector * /*cs*/ )
-{
-// ColorICCSelector* iccSelector = dynamic_cast<ColorICCSelector*>(SP_COLOR_SELECTOR(cs)->base);
-// if (iccSelector->_dragging) {
-// iccSelector->_dragging = FALSE;
-// iccSelector->_released();
-// iccSelector->_updateInternals( iccSelector->_color, ColorScales::getScaled( iccSelector->_adj ), iccSelector->_dragging );
-// }
-}
-
-#ifdef DEBUG_LCMS
-void ColorICCSelectorImpl::_sliderChanged( SPColorSlider *slider, SPColorICCSelector *cs )
-#else
-void ColorICCSelectorImpl::_sliderChanged( SPColorSlider * /*slider*/, SPColorICCSelector * /*cs*/ )
-#endif // DEBUG_LCMS
-{
-#ifdef DEBUG_LCMS
- g_message("Changed %p and %p", slider, cs );
-#endif // DEBUG_LCMS
-// ColorICCSelector* iccSelector = dynamic_cast<ColorICCSelector*>(SP_COLOR_SELECTOR(cs)->base);
-
-// iccSelector->_updateInternals( iccSelector->_color, ColorScales::getScaled( iccSelector->_adj ), iccSelector->_dragging );
-}
-
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/widgets/sp-color-icc-selector.h b/src/widgets/sp-color-icc-selector.h
deleted file mode 100644
index 6cdaff639..000000000
--- a/src/widgets/sp-color-icc-selector.h
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef SEEN_SP_COLOR_ICC_SELECTOR_H
-#define SEEN_SP_COLOR_ICC_SELECTOR_H
-
-#include <glib.h>
-#include "sp-color-selector.h"
-
-namespace Inkscape {
-class ColorProfile;
-}
-
-struct SPColorICCSelector;
-struct SPColorICCSelectorClass;
-
-class ColorICCSelectorImpl;
-
-class ColorICCSelector: public ColorSelector
-{
-public:
- ColorICCSelector( SPColorSelector* csel );
- virtual ~ColorICCSelector();
-
- virtual void init();
-
-protected:
- virtual void _colorChanged();
-
- void _recalcColor( gboolean changing );
-
-private:
- friend class ColorICCSelectorImpl;
-
- // By default, disallow copy constructor and assignment operator
- ColorICCSelector( const ColorICCSelector& obj );
- ColorICCSelector& operator=( const ColorICCSelector& obj );
-
- ColorICCSelectorImpl *_impl;
-};
-
-
-
-#define SP_TYPE_COLOR_ICC_SELECTOR (sp_color_icc_selector_get_type())
-#define SP_COLOR_ICC_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_CAST((o), SP_TYPE_COLOR_ICC_SELECTOR, SPColorICCSelector))
-#define SP_COLOR_ICC_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SP_TYPE_COLOR_ICC_SELECTOR, SPColorICCSelectorClass))
-#define SP_IS_COLOR_ICC_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), SP_TYPE_COLOR_ICC_SELECTOR))
-#define SP_IS_COLOR_ICC_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), SP_TYPE_COLOR_ICC_SELECTOR))
-
-struct SPColorICCSelector {
- SPColorSelector parent;
-};
-
-struct SPColorICCSelectorClass {
- SPColorSelectorClass parent_class;
-};
-
-GType sp_color_icc_selector_get_type(void);
-
-GtkWidget *sp_color_icc_selector_new(void);
-
-
-
-#endif // SEEN_SP_COLOR_ICC_SELECTOR_H
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/widgets/sp-color-notebook.cpp b/src/widgets/sp-color-notebook.cpp
deleted file mode 100644
index c7fa96efd..000000000
--- a/src/widgets/sp-color-notebook.cpp
+++ /dev/null
@@ -1,826 +0,0 @@
-/*
- * A notebook with RGB, CMYK, CMS, HSL, and Wheel pages
- *
- * Author:
- * Lauris Kaplinski <lauris@kaplinski.com>
- * bulia byak <buliabyak@users.sf.net>
- *
- * Copyright (C) 2001-2002 Lauris Kaplinski
- *
- * This code is in public domain
- */
-
-#undef SPCS_PREVIEW
-#define noDUMP_CHANGE_INFO
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "widgets/icon.h"
-#include <cstring>
-#include <string>
-#include <cstdlib>
-#include <cstddef>
-#include <gtk/gtk.h>
-#include <glibmm/i18n.h>
-
-#include "ui/dialog-events.h"
-#include "../preferences.h"
-#include "sp-color-notebook.h"
-#include "spw-utilities.h"
-#include "sp-color-scales.h"
-#include "sp-color-icc-selector.h"
-#include "sp-color-wheel-selector.h"
-#include "svg/svg-icc-color.h"
-#include "../inkscape.h"
-#include "../document.h"
-#include "../profile-manager.h"
-#include "color-profile.h"
-#include "cms-system.h"
-#include "ui/tools-switch.h"
-#include "ui/tools/tool-base.h"
-
-using Inkscape::CMSSystem;
-
-struct SPColorNotebookTracker {
- const gchar* name;
- const gchar* className;
- GType type;
- guint submode;
- gboolean enabledFull;
- gboolean enabledBrief;
- SPColorNotebook *backPointer;
-};
-
-static void sp_color_notebook_dispose(GObject *object);
-
-static void sp_color_notebook_show_all (GtkWidget *widget);
-static void sp_color_notebook_hide(GtkWidget *widget);
-
-#define XPAD 4
-#define YPAD 1
-
-G_DEFINE_TYPE(SPColorNotebook, sp_color_notebook, SP_TYPE_COLOR_SELECTOR);
-
-static void sp_color_notebook_class_init(SPColorNotebookClass *klass)
-{
- GObjectClass *object_class = reinterpret_cast<GObjectClass *>(klass);
- GtkWidgetClass *widget_class = reinterpret_cast<GtkWidgetClass *>(klass);
-
- object_class->dispose = sp_color_notebook_dispose;
-
- widget_class->show_all = sp_color_notebook_show_all;
- widget_class->hide = sp_color_notebook_hide;
-}
-
-static void
-sp_color_notebook_switch_page(GtkNotebook *notebook,
- GtkWidget *page,
- guint page_num,
- SPColorNotebook *colorbook)
-{
- if ( colorbook )
- {
- ColorNotebook* nb = dynamic_cast<ColorNotebook*>(SP_COLOR_SELECTOR(colorbook)->base);
- nb->switchPage( notebook, page, page_num );
-
- // remember the page we switched to
- Inkscape::Preferences *prefs = Inkscape::Preferences::get();
- prefs->setInt("/colorselector/page", page_num);
- }
-}
-
-void ColorNotebook::switchPage(GtkNotebook*,
- GtkWidget*,
- guint page_num)
-{
- SPColorSelector* csel;
- GtkWidget* widget;
-
- if ( gtk_notebook_get_current_page (GTK_NOTEBOOK (_book)) >= 0 )
- {
- csel = getCurrentSelector();
- csel->base->getColorAlpha(_color, _alpha);
- }
- widget = gtk_notebook_get_nth_page (GTK_NOTEBOOK (_book), page_num);
- if ( widget && SP_IS_COLOR_SELECTOR(widget) )
- {
- csel = SP_COLOR_SELECTOR (widget);
- csel->base->setColorAlpha( _color, _alpha );
-
- // Temporary workaround to undo a spurious GRABBED
- _released();
- }
-}
-
-static gint sp_color_notebook_menu_handler( GtkWidget *widget, GdkEvent *event )
-{
- if (event->type == GDK_BUTTON_PRESS)
- {
- SPColorSelector* csel = SP_COLOR_SELECTOR(widget);
- (dynamic_cast<ColorNotebook*>(csel->base))->menuHandler( event );
-
- /* Tell calling code that we have handled this event; the buck
- * stops here. */
- return TRUE;
- }
-
- /* Tell calling code that we have not handled this event; pass it on. */
- return FALSE;
-}
-
-gint ColorNotebook::menuHandler( GdkEvent* event )
-{
- GdkEventButton *bevent = (GdkEventButton *) event;
- gtk_menu_popup (GTK_MENU( _popup ), NULL, NULL, NULL, NULL,
- bevent->button, bevent->time);
- return TRUE;
-}
-
-static void sp_color_notebook_menuitem_response (GtkMenuItem *menuitem, gpointer user_data)
-{
- gboolean active = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem));
- SPColorNotebookTracker *entry = reinterpret_cast< SPColorNotebookTracker* > (user_data);
- if ( entry )
- {
- if ( active )
- {
- (dynamic_cast<ColorNotebook*>(SP_COLOR_SELECTOR(entry->backPointer)->base))->addPage(entry->type, entry->submode);
- }
- else
- {
- (dynamic_cast<ColorNotebook*>(SP_COLOR_SELECTOR(entry->backPointer)->base))->removePage(entry->type, entry->submode);
- }
- }
-}
-
-static void
-sp_color_notebook_init (SPColorNotebook *colorbook)
-{
- SP_COLOR_SELECTOR(colorbook)->base = new ColorNotebook( SP_COLOR_SELECTOR(colorbook) );
-
- if ( SP_COLOR_SELECTOR(colorbook)->base )
- {
- SP_COLOR_SELECTOR(colorbook)->base->init();
- }
-}
-
-void ColorNotebook::init()
-{
- guint row = 0;
- guint i = 0;
- guint j = 0;
- GType *selector_types = 0;
- guint selector_type_count = 0;
-
- /* tempory hardcoding to get types loaded */
- SP_TYPE_COLOR_SCALES;
- SP_TYPE_COLOR_WHEEL_SELECTOR;
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- SP_TYPE_COLOR_ICC_SELECTOR;
-#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
- /* REJON: Comment out the next line to not use the normal GTK Color
- wheel. */
-
-// SP_TYPE_COLOR_GTKSELECTOR;
-
- _updating = FALSE;
- _updatingrgba = FALSE;
- _btn = 0;
- _popup = 0;
- _trackerList = g_ptr_array_new ();
-
- _book = gtk_notebook_new ();
- gtk_widget_show (_book);
-
- // Dont show the notebook tabs, use radiobuttons instead
- gtk_notebook_set_show_border (GTK_NOTEBOOK (_book), false);
- gtk_notebook_set_show_tabs (GTK_NOTEBOOK (_book), false);
-
- selector_types = g_type_children (SP_TYPE_COLOR_SELECTOR, &selector_type_count);
-
- for ( i = 0; i < selector_type_count; i++ )
- {
- if (!g_type_is_a (selector_types[i], SP_TYPE_COLOR_NOTEBOOK))
- {
- guint howmany = 1;
- gpointer klass = g_type_class_ref (selector_types[i]);
- if ( klass && SP_IS_COLOR_SELECTOR_CLASS(klass) )
- {
- SPColorSelectorClass *ck = SP_COLOR_SELECTOR_CLASS (klass);
- howmany = MAX (1, ck->submode_count);
- for ( j = 0; j < howmany; j++ )
- {
- SPColorNotebookTracker *entry = reinterpret_cast< SPColorNotebookTracker* > (malloc(sizeof(SPColorNotebookTracker)));
- if ( entry )
- {
- memset( entry, 0, sizeof(SPColorNotebookTracker) );
- entry->name = ck->name[j];
- entry->type = selector_types[i];
- entry->submode = j;
- entry->enabledFull = TRUE;
- entry->enabledBrief = TRUE;
- entry->backPointer = SP_COLOR_NOTEBOOK(_csel);
-
- g_ptr_array_add (_trackerList, entry);
- }
- }
- }
- }
- }
-
-#if GTK_CHECK_VERSION(3,0,0)
- _buttonbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 2);
- gtk_box_set_homogeneous(GTK_BOX(_buttonbox), TRUE);
-#else
- _buttonbox = gtk_hbox_new (TRUE, 2);
-#endif
-
- gtk_widget_show (_buttonbox);
- _buttons = new GtkWidget *[_trackerList->len];
-
- for ( i = 0; i < _trackerList->len; i++ )
- {
- SPColorNotebookTracker *entry =
- reinterpret_cast< SPColorNotebookTracker* > (g_ptr_array_index (_trackerList, i));
- if ( entry )
- {
- addPage(entry->type, entry->submode);
- }
- }
-
-#if GTK_CHECK_VERSION(3,0,0)
- GtkWidget* table = gtk_grid_new();
-#else
- GtkWidget* table = gtk_table_new(2, 3, FALSE);
-#endif
-
- gtk_widget_show (table);
-
- gtk_box_pack_start (GTK_BOX (_csel), table, TRUE, TRUE, 0);
-
- sp_set_font_size_smaller (_buttonbox);
-
-#if GTK_CHECK_VERSION(3,0,0)
- #if GTK_CHECK_VERSION(3,12,0)
- gtk_widget_set_margin_start(_buttonbox, XPAD);
- gtk_widget_set_margin_end(_buttonbox, XPAD);
- #else
- gtk_widget_set_margin_left(_buttonbox, XPAD);
- gtk_widget_set_margin_right(_buttonbox, XPAD);
- #endif
- gtk_widget_set_margin_top(_buttonbox, YPAD);
- gtk_widget_set_margin_bottom(_buttonbox, YPAD);
- gtk_widget_set_hexpand(_buttonbox, TRUE);
- gtk_widget_set_valign(_buttonbox, GTK_ALIGN_CENTER);
- gtk_grid_attach(GTK_GRID(table), _buttonbox, 0, row, 2, 1);
-#else
- gtk_table_attach (GTK_TABLE (table), _buttonbox, 0, 2, row, row + 1,
- static_cast<GtkAttachOptions>(GTK_EXPAND|GTK_FILL),
- static_cast<GtkAttachOptions>(0),
- XPAD, YPAD);
-#endif
-
- row++;
-
-#if GTK_CHECK_VERSION(3,0,0)
- #if GTK_CHECK_VERSION(3,12,0)
- gtk_widget_set_margin_start(_book, XPAD*2);
- gtk_widget_set_margin_end(_book, XPAD*2);
- #else
- gtk_widget_set_margin_left(_book, XPAD*2);
- gtk_widget_set_margin_right(_book, XPAD*2);
- #endif
- gtk_widget_set_margin_top(_book, YPAD);
- gtk_widget_set_margin_bottom(_book, YPAD);
- gtk_widget_set_hexpand(_book, TRUE);
- gtk_widget_set_vexpand(_book, TRUE);
- gtk_grid_attach(GTK_GRID(table), _book, 0, row, 2, 1);
-#else
- gtk_table_attach (GTK_TABLE (table), _book, 0, 2, row, row + 1,
- static_cast<GtkAttachOptions>(GTK_EXPAND|GTK_FILL),
- static_cast<GtkAttachOptions>(GTK_EXPAND|GTK_FILL),
- XPAD*2, YPAD);
-#endif
-
- // restore the last active page
- Inkscape::Preferences *prefs = Inkscape::Preferences::get();
- _setCurrentPage(prefs->getInt("/colorselector/page", 0));
-
- {
- gboolean found = FALSE;
-
- _popup = gtk_menu_new();
- GtkMenu *menu = GTK_MENU (_popup);
-
- for ( i = 0; i < _trackerList->len; i++ )
- {
- SPColorNotebookTracker *entry = reinterpret_cast< SPColorNotebookTracker* > (g_ptr_array_index (_trackerList, i));
- if ( entry )
- {
- GtkWidget *item = gtk_check_menu_item_new_with_label (_(entry->name));
- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), entry->enabledFull);
- gtk_widget_show (item);
- gtk_menu_shell_append (GTK_MENU_SHELL(menu), item);
-
- g_signal_connect (G_OBJECT (item), "activate",
- G_CALLBACK (sp_color_notebook_menuitem_response),
- reinterpret_cast< gpointer > (entry) );
- found = TRUE;
- }
- }
-
- GtkWidget *arrow = gtk_arrow_new(GTK_ARROW_RIGHT, GTK_SHADOW_NONE);
- gtk_widget_show (arrow);
-
- _btn = gtk_button_new ();
- gtk_widget_show (_btn);
- gtk_container_add (GTK_CONTAINER (_btn), arrow);
-
- GtkWidget *align = gtk_alignment_new (1.0, 0.0, 0.0, 0.0);
- gtk_widget_show (align);
- gtk_container_add (GTK_CONTAINER (align), _btn);
-
- // uncomment to reenable the "show/hide modes" menu,
- // but first fix it so it remembers its settings in prefs and does not take that much space (entire vertical column!)
- //gtk_table_attach (GTK_TABLE (table), align, 2, 3, row, row + 1, GTK_FILL, GTK_FILL, XPAD, YPAD);
-
- g_signal_connect_swapped(G_OBJECT(_btn), "event", G_CALLBACK (sp_color_notebook_menu_handler), G_OBJECT(_csel));
- if ( !found )
- {
- gtk_widget_set_sensitive (_btn, FALSE);
- }
- }
-
- row++;
-
-#if GTK_CHECK_VERSION(3,0,0)
- GtkWidget *rgbabox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
-#else
- GtkWidget *rgbabox = gtk_hbox_new (FALSE, 0);
-#endif
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- /* Create color management icons */
- _box_colormanaged = gtk_event_box_new ();
- GtkWidget *colormanaged = gtk_image_new_from_icon_name ("color-management-icon", GTK_ICON_SIZE_SMALL_TOOLBAR);
- gtk_container_add (GTK_CONTAINER (_box_colormanaged), colormanaged);
- gtk_widget_set_tooltip_text (_box_colormanaged, _("Color Managed"));
- gtk_widget_set_sensitive (_box_colormanaged, false);
- gtk_box_pack_start(GTK_BOX(rgbabox), _box_colormanaged, FALSE, FALSE, 2);
-
- _box_outofgamut = gtk_event_box_new ();
- GtkWidget *outofgamut = gtk_image_new_from_icon_name ("out-of-gamut-icon", GTK_ICON_SIZE_SMALL_TOOLBAR);
- gtk_container_add (GTK_CONTAINER (_box_outofgamut), outofgamut);
- gtk_widget_set_tooltip_text (_box_outofgamut, _("Out of gamut!"));
- gtk_widget_set_sensitive (_box_outofgamut, false);
- gtk_box_pack_start(GTK_BOX(rgbabox), _box_outofgamut, FALSE, FALSE, 2);
-
- _box_toomuchink = gtk_event_box_new ();
- GtkWidget *toomuchink = gtk_image_new_from_icon_name ("too-much-ink-icon", GTK_ICON_SIZE_SMALL_TOOLBAR);
- gtk_container_add (GTK_CONTAINER (_box_toomuchink), toomuchink);
- gtk_widget_set_tooltip_text (_box_toomuchink, _("Too much ink!"));
- gtk_widget_set_sensitive (_box_toomuchink, false);
- gtk_box_pack_start(GTK_BOX(rgbabox), _box_toomuchink, FALSE, FALSE, 2);
-#endif //defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
-
- /* Color picker */
- GtkWidget *picker = gtk_image_new_from_icon_name ("color-picker", GTK_ICON_SIZE_SMALL_TOOLBAR);
- _btn_picker = gtk_button_new ();
- gtk_button_set_relief(GTK_BUTTON(_btn_picker), GTK_RELIEF_NONE);
- gtk_widget_show (_btn);
- gtk_container_add (GTK_CONTAINER (_btn_picker), picker);
- gtk_widget_set_tooltip_text (_btn_picker, _("Pick colors from image"));
- gtk_box_pack_start(GTK_BOX(rgbabox), _btn_picker, FALSE, FALSE, 2);
- g_signal_connect(G_OBJECT(_btn_picker), "clicked", G_CALLBACK(ColorNotebook::_picker_clicked), _csel);
-
- /* Create RGBA entry and color preview */
- _rgbal = gtk_label_new_with_mnemonic (_("RGBA_:"));
- gtk_misc_set_alignment (GTK_MISC (_rgbal), 1.0, 0.5);
- gtk_box_pack_start(GTK_BOX(rgbabox), _rgbal, TRUE, TRUE, 2);
-
- _rgbae = gtk_entry_new ();
- sp_dialog_defocus_on_enter (_rgbae);
- gtk_entry_set_max_length (GTK_ENTRY (_rgbae), 8);
- gtk_entry_set_width_chars (GTK_ENTRY (_rgbae), 8);
- gtk_widget_set_tooltip_text (_rgbae, _("Hexadecimal RGBA value of the color"));
- gtk_box_pack_start(GTK_BOX(rgbabox), _rgbae, FALSE, FALSE, 0);
- gtk_label_set_mnemonic_widget (GTK_LABEL(_rgbal), _rgbae);
-
- sp_set_font_size_smaller (rgbabox);
- gtk_widget_show_all (rgbabox);
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- //the "too much ink" icon is initially hidden
- gtk_widget_hide(GTK_WIDGET(_box_toomuchink));
-#endif //defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
-#if GTK_CHECK_VERSION(3,0,0)
- #if GTK_CHECK_VERSION(3,12,0)
- gtk_widget_set_margin_start(rgbabox, XPAD);
- gtk_widget_set_margin_end(rgbabox, XPAD);
- #else
- gtk_widget_set_margin_left(rgbabox, XPAD);
- gtk_widget_set_margin_right(rgbabox, XPAD);
- #endif
- gtk_widget_set_margin_top(rgbabox, YPAD);
- gtk_widget_set_margin_bottom(rgbabox, YPAD);
- gtk_grid_attach(GTK_GRID(table), rgbabox, 0, row, 2, 1);
-#else
- gtk_table_attach (GTK_TABLE (table), rgbabox, 0, 2, row, row + 1, GTK_FILL, GTK_SHRINK, XPAD, YPAD);
-#endif
-
-#ifdef SPCS_PREVIEW
- _p = sp_color_preview_new (0xffffffff);
- gtk_widget_show (_p);
- gtk_table_attach (GTK_TABLE (table), _p, 2, 3, row, row + 1, GTK_FILL, GTK_FILL, XPAD, YPAD);
-#endif
-
- _switchId = g_signal_connect(G_OBJECT (_book), "switch-page",
- G_CALLBACK (sp_color_notebook_switch_page), SP_COLOR_NOTEBOOK(_csel));
-
- _entryId = g_signal_connect (G_OBJECT (_rgbae), "changed", G_CALLBACK (ColorNotebook::_rgbaEntryChangedHook), _csel);
-}
-
-static void sp_color_notebook_dispose(GObject *object)
-{
- if (G_OBJECT_CLASS(sp_color_notebook_parent_class)->dispose)
- G_OBJECT_CLASS(sp_color_notebook_parent_class)->dispose(object);
-}
-
-ColorNotebook::~ColorNotebook()
-{
- if ( _trackerList )
- {
- g_ptr_array_free (_trackerList, TRUE);
- _trackerList = 0;
- }
-
- if ( _switchId )
- {
- if ( _book )
- {
- g_signal_handler_disconnect (_book, _switchId);
- _switchId = 0;
- }
- }
-
- if ( _buttons )
- {
- delete [] _buttons;
- _buttons = 0;
- }
-
-}
-
-static void
-sp_color_notebook_show_all (GtkWidget *widget)
-{
- gtk_widget_show (widget);
-}
-
-static void sp_color_notebook_hide(GtkWidget *widget)
-{
- gtk_widget_hide(widget);
-}
-
-GtkWidget *sp_color_notebook_new()
-{
- SPColorNotebook *colorbook = SP_COLOR_NOTEBOOK(g_object_new (SP_TYPE_COLOR_NOTEBOOK, NULL));
-
- return GTK_WIDGET(colorbook);
-}
-
-ColorNotebook::ColorNotebook( SPColorSelector* csel )
- : ColorSelector( csel )
-{
-}
-
-SPColorSelector* ColorNotebook::getCurrentSelector()
-{
- SPColorSelector* csel = NULL;
- gint current_page = gtk_notebook_get_current_page (GTK_NOTEBOOK (_book));
-
- if ( current_page >= 0 )
- {
- GtkWidget* widget = gtk_notebook_get_nth_page (GTK_NOTEBOOK (_book), current_page);
- if ( SP_IS_COLOR_SELECTOR (widget) )
- {
- csel = SP_COLOR_SELECTOR (widget);
- }
- }
-
- return csel;
-}
-
-void ColorNotebook::_colorChanged()
-{
- SPColorSelector* cselPage = getCurrentSelector();
- if ( cselPage )
- {
- cselPage->base->setColorAlpha( _color, _alpha );
- }
-
- _updateRgbaEntry( _color, _alpha );
-}
-
-void ColorNotebook::_picker_clicked(GtkWidget * /*widget*/, SPColorNotebook * /*colorbook*/)
-{
- // Set the dropper into a "one click" mode, so it reverts to the previous tool after a click
- Inkscape::Preferences *prefs = Inkscape::Preferences::get();
- prefs->setBool("/tools/dropper/onetimepick", true);
- Inkscape::UI::Tools::sp_toggle_dropper(SP_ACTIVE_DESKTOP);
-}
-
-void ColorNotebook::_rgbaEntryChangedHook(GtkEntry *entry, SPColorNotebook *colorbook)
-{
- (dynamic_cast<ColorNotebook*>(SP_COLOR_SELECTOR(colorbook)->base))->_rgbaEntryChanged( entry );
-}
-
-void ColorNotebook::_rgbaEntryChanged(GtkEntry* entry)
-{
- if (_updating) return;
- if (_updatingrgba) return;
-
- const gchar *t = gtk_entry_get_text( entry );
-
- if (t) {
- Glib::ustring text = t;
- bool changed = false;
- if (!text.empty() && text[0] == '#') {
- changed = true;
- text.erase(0,1);
- if (text.size() == 6) {
- // it was a standard RGB hex
- unsigned int alph = SP_COLOR_F_TO_U(_alpha);
- gchar* tmp = g_strdup_printf("%02x", alph);
- text += tmp;
- g_free(tmp);
- }
- }
- gchar* str = g_strdup(text.c_str());
- gchar* end = 0;
- guint64 rgba = g_ascii_strtoull( str, &end, 16 );
- if ( end != str ) {
- ptrdiff_t len = end - str;
- if ( len < 8 ) {
- rgba = rgba << ( 4 * ( 8 - len ) );
- }
- _updatingrgba = TRUE;
- if ( changed ) {
- gtk_entry_set_text( entry, str );
- }
- SPColor color( rgba );
- setColorAlpha( color, SP_RGBA32_A_F(rgba), true );
- _updatingrgba = FALSE;
- }
- g_free(str);
- }
-}
-
-// TODO pass in param so as to avoid the need for SP_ACTIVE_DOCUMENT
-void ColorNotebook::_updateRgbaEntry( const SPColor& color, gfloat alpha )
-{
- g_return_if_fail( ( 0.0 <= alpha ) && ( alpha <= 1.0 ) );
-
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- /* update color management icon*/
- gtk_widget_set_sensitive (_box_colormanaged, color.icc != NULL);
-
- /* update out-of-gamut icon */
- gtk_widget_set_sensitive (_box_outofgamut, false);
- if (color.icc){
- Inkscape::ColorProfile* target_profile = SP_ACTIVE_DOCUMENT->profileManager->find(color.icc->colorProfile.c_str());
- if ( target_profile )
- gtk_widget_set_sensitive(_box_outofgamut, target_profile->GamutCheck(color));
- }
-
- /* update too-much-ink icon */
- gtk_widget_set_sensitive (_box_toomuchink, false);
- if (color.icc){
- Inkscape::ColorProfile* prof = SP_ACTIVE_DOCUMENT->profileManager->find(color.icc->colorProfile.c_str());
- if ( prof && CMSSystem::isPrintColorSpace(prof) ) {
- gtk_widget_show(GTK_WIDGET(_box_toomuchink));
- double ink_sum = 0;
- for (unsigned int i=0; i<color.icc->colors.size(); i++){
- ink_sum += color.icc->colors[i];
- }
-
- /* Some literature states that when the sum of paint values exceed 320%, it is considered to be a satured color,
- which means the paper can get too wet due to an excessive ammount of ink. This may lead to several issues
- such as misalignment and poor quality of printing in general.*/
- if ( ink_sum > 3.2 )
- gtk_widget_set_sensitive (_box_toomuchink, true);
- } else {
- gtk_widget_hide(GTK_WIDGET(_box_toomuchink));
- }
- }
-#endif //defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-
- if ( !_updatingrgba )
- {
- gchar s[32];
- guint32 rgba;
-
- /* Update RGBA entry */
- rgba = color.toRGBA32( alpha );
-
- g_snprintf (s, 32, "%08x", rgba);
- const gchar* oldText = gtk_entry_get_text( GTK_ENTRY( _rgbae ) );
- if ( strcmp( oldText, s ) != 0 )
- {
- g_signal_handler_block( _rgbae, _entryId );
- gtk_entry_set_text( GTK_ENTRY(_rgbae), s );
- g_signal_handler_unblock( _rgbae, _entryId );
- }
- }
-}
-
-void ColorNotebook::_setCurrentPage(int i)
-{
- gtk_notebook_set_current_page(GTK_NOTEBOOK(_book), i);
-
- if (_buttons && _trackerList && (static_cast<size_t>(i) < _trackerList->len) ) {
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_buttons[i]), TRUE);
- }
-}
-
-void ColorNotebook::_buttonClicked(GtkWidget *widget, SPColorNotebook *colorbook)
-{
- ColorNotebook* nb = dynamic_cast<ColorNotebook*>(SP_COLOR_SELECTOR(colorbook)->base);
-
- if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget))) {
- return;
- }
-
- for(gint i = 0; i < gtk_notebook_get_n_pages (GTK_NOTEBOOK (nb->_book)); i++) {
- if (nb->_buttons[i] == widget) {
- gtk_notebook_set_current_page (GTK_NOTEBOOK (nb->_book), i);
- }
- }
-}
-
-void ColorNotebook::_entryGrabbed (SPColorSelector *, SPColorNotebook *colorbook)
-{
- ColorNotebook* nb = dynamic_cast<ColorNotebook*>(SP_COLOR_SELECTOR(colorbook)->base);
- nb->_grabbed();
-}
-
-void ColorNotebook::_entryDragged (SPColorSelector *csel, SPColorNotebook *colorbook)
-{
- gboolean oldState;
- ColorNotebook* nb = dynamic_cast<ColorNotebook*>(SP_COLOR_SELECTOR(colorbook)->base);
-
- oldState = nb->_dragging;
-
- nb->_dragging = TRUE;
- nb->_entryModified( csel, colorbook );
-
- nb->_dragging = oldState;
-}
-
-void ColorNotebook::_entryReleased (SPColorSelector *, SPColorNotebook *colorbook)
-{
- ColorNotebook* nb = dynamic_cast<ColorNotebook*>(SP_COLOR_SELECTOR(colorbook)->base);
- nb->_released();
-}
-
-void ColorNotebook::_entryChanged (SPColorSelector *csel, SPColorNotebook *colorbook)
-{
- gboolean oldState;
- ColorNotebook* nb = dynamic_cast<ColorNotebook*>(SP_COLOR_SELECTOR(colorbook)->base);
-
- oldState = nb->_dragging;
-
- nb->_dragging = FALSE;
- nb->_entryModified( csel, colorbook );
-
- nb->_dragging = oldState;
-}
-
-void ColorNotebook::_entryModified (SPColorSelector *csel, SPColorNotebook *colorbook)
-{
- g_return_if_fail (colorbook != NULL);
- g_return_if_fail (SP_IS_COLOR_NOTEBOOK (colorbook));
- g_return_if_fail (csel != NULL);
- g_return_if_fail (SP_IS_COLOR_SELECTOR (csel));
-
- ColorNotebook* nb = dynamic_cast<ColorNotebook*>(SP_COLOR_SELECTOR(colorbook)->base);
- SPColor color;
- gfloat alpha = 1.0;
-
- csel->base->getColorAlpha( color, alpha );
- nb->_updateRgbaEntry( color, alpha );
- nb->_updateInternals( color, alpha, nb->_dragging );
-}
-
-GtkWidget* ColorNotebook::addPage(GType page_type, guint submode)
-{
- GtkWidget *page;
-
- page = sp_color_selector_new( page_type );
- if ( page )
- {
- GtkWidget* tab_label = 0;
- SPColorSelector* csel;
-
- csel = SP_COLOR_SELECTOR (page);
- if ( submode > 0 )
- {
- csel->base->setSubmode( submode );
- }
- gtk_widget_show (page);
- int index = csel->base ? csel->base->getSubmode() : 0;
- const gchar* str = _(SP_COLOR_SELECTOR_GET_CLASS (csel)->name[index]);
-// g_message( "Hitting up for tab for '%s'", str );
- tab_label = gtk_label_new(_(str));
- gint pageNum = gtk_notebook_append_page( GTK_NOTEBOOK (_book), page, tab_label );
-
- // Add a button for each page
- _buttons[pageNum] = gtk_radio_button_new_with_label(NULL, _(str));
- gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(_buttons[pageNum]), FALSE);
- if (pageNum > 0) {
- GSList *group = gtk_radio_button_get_group (GTK_RADIO_BUTTON(_buttons[0]));
- gtk_radio_button_set_group (GTK_RADIO_BUTTON(_buttons[pageNum]), group);
- }
- gtk_widget_show (_buttons[pageNum]);
- gtk_box_pack_start (GTK_BOX (_buttonbox), _buttons[pageNum], TRUE, TRUE, 0);
-
- g_signal_connect (G_OBJECT (_buttons[pageNum]), "clicked", G_CALLBACK (_buttonClicked), _csel);
- g_signal_connect (G_OBJECT (page), "grabbed", G_CALLBACK (_entryGrabbed), _csel);
- g_signal_connect (G_OBJECT (page), "dragged", G_CALLBACK (_entryDragged), _csel);
- g_signal_connect (G_OBJECT (page), "released", G_CALLBACK (_entryReleased), _csel);
- g_signal_connect (G_OBJECT (page), "changed", G_CALLBACK (_entryChanged), _csel);
- }
-
- return page;
-}
-
-GtkWidget* ColorNotebook::getPage(GType page_type, guint submode)
-{
- gint count = 0;
- gint i = 0;
- GtkWidget* page = 0;
-
-// count = gtk_notebook_get_n_pages (_book);
- count = 200;
- for ( i = 0; i < count && !page; i++ )
- {
- page = gtk_notebook_get_nth_page (GTK_NOTEBOOK (_book), i);
- if ( page )
- {
- SPColorSelector* csel;
- guint pagemode;
- csel = SP_COLOR_SELECTOR (page);
- pagemode = csel->base->getSubmode();
- if ( G_TYPE_FROM_INSTANCE (page) == page_type
- && pagemode == submode )
- {
- // found it.
- break;
- }
- else
- {
- page = 0;
- }
- }
- else
- {
- break;
- }
- }
- return page;
-}
-
-void ColorNotebook::removePage( GType page_type, guint submode )
-{
- GtkWidget *page = 0;
-
- page = getPage(page_type, submode);
- if ( page )
- {
- gint where = gtk_notebook_page_num (GTK_NOTEBOOK (_book), page);
- if ( where >= 0 )
- {
- if ( gtk_notebook_get_current_page (GTK_NOTEBOOK (_book)) == where )
- {
-// getColorAlpha(_color, &_alpha);
- }
- gtk_notebook_remove_page (GTK_NOTEBOOK (_book), where);
- }
- }
-}
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/widgets/sp-color-notebook.h b/src/widgets/sp-color-notebook.h
deleted file mode 100644
index 469bb56e8..000000000
--- a/src/widgets/sp-color-notebook.h
+++ /dev/null
@@ -1,120 +0,0 @@
-#ifndef SEEN_SP_COLOR_NOTEBOOK_H
-#define SEEN_SP_COLOR_NOTEBOOK_H
-
-/*
- * A notebook with RGB, CMYK, CMS, HSL, and Wheel pages
- *
- * Author:
- * Lauris Kaplinski <lauris@kaplinski.com>
- *
- * Copyright (C) 2001-2002 Lauris Kaplinski
- *
- * This code is in public domain
- */
-
-#include "sp-color-selector.h"
-
-#include <glib.h>
-
-struct SPColorNotebook;
-
-class ColorNotebook: public ColorSelector
-{
-public:
- ColorNotebook( SPColorSelector* csel );
- virtual ~ColorNotebook();
-
- virtual void init();
-
- SPColorSelector* getCurrentSelector();
- void switchPage( GtkNotebook *notebook, GtkWidget *page, guint page_num );
-
- GtkWidget* addPage( GType page_type, guint submode );
- void removePage( GType page_type, guint submode );
- GtkWidget* getPage( GType page_type, guint submode );
-
- gint menuHandler( GdkEvent* event );
-
-protected:
- static void _rgbaEntryChangedHook( GtkEntry* entry, SPColorNotebook *colorbook );
- static void _entryGrabbed( SPColorSelector *csel, SPColorNotebook *colorbook );
- static void _entryDragged( SPColorSelector *csel, SPColorNotebook *colorbook );
- static void _entryReleased( SPColorSelector *csel, SPColorNotebook *colorbook );
- static void _entryChanged( SPColorSelector *csel, SPColorNotebook *colorbook );
- static void _entryModified( SPColorSelector *csel, SPColorNotebook *colorbook );
- static void _buttonClicked(GtkWidget *widget, SPColorNotebook *colorbook);
- static void _picker_clicked(GtkWidget *widget, SPColorNotebook *colorbook);
-
- virtual void _colorChanged();
-
- void _rgbaEntryChanged( GtkEntry* entry );
- void _updateRgbaEntry( const SPColor& color, gfloat alpha );
- void _setCurrentPage(int i);
-
- gboolean _updating : 1;
- gboolean _updatingrgba : 1;
- gboolean _dragging : 1;
- gulong _switchId;
- gulong _entryId;
- GtkWidget *_book;
- GtkWidget *_buttonbox;
- GtkWidget **_buttons;
- GtkWidget *_rgbal, *_rgbae; /* RGBA entry */
-#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- GtkWidget *_box_outofgamut, *_box_colormanaged, *_box_toomuchink;
-#endif //defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- GtkWidget *_btn_picker;
- GtkWidget *_p; /* Color preview */
- GtkWidget *_btn;
- GtkWidget *_popup;
- GPtrArray *_trackerList;
-
-private:
- // By default, disallow copy constructor and assignment operator
- ColorNotebook( const ColorNotebook& obj );
- ColorNotebook& operator=( const ColorNotebook& obj );
-};
-
-
-
-#define SP_TYPE_COLOR_NOTEBOOK (sp_color_notebook_get_type ())
-#define SP_COLOR_NOTEBOOK(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_COLOR_NOTEBOOK, SPColorNotebook))
-#define SP_COLOR_NOTEBOOK_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_NOTEBOOK, SPColorNotebookClass))
-#define SP_IS_COLOR_NOTEBOOK(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_COLOR_NOTEBOOK))
-#define SP_IS_COLOR_NOTEBOOK_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_NOTEBOOK))
-
-struct SPColorNotebook {
- SPColorSelector parent; /* Parent */
-};
-
-struct SPColorNotebookClass {
- SPColorSelectorClass parent_class;
-
- void (* grabbed) (SPColorNotebook *rgbsel);
- void (* dragged) (SPColorNotebook *rgbsel);
- void (* released) (SPColorNotebook *rgbsel);
- void (* changed) (SPColorNotebook *rgbsel);
-};
-
-GType sp_color_notebook_get_type(void);
-
-GtkWidget *sp_color_notebook_new (void);
-
-/* void sp_color_notebook_set_mode (SPColorNotebook *csel, SPColorNotebookMode mode); */
-/* SPColorNotebookMode sp_color_notebook_get_mode (SPColorNotebook *csel); */
-
-
-
-#endif // SEEN_SP_COLOR_NOTEBOOK_H
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
-
diff --git a/src/widgets/sp-color-scales.cpp b/src/widgets/sp-color-scales.cpp
deleted file mode 100644
index 60ba62ec5..000000000
--- a/src/widgets/sp-color-scales.cpp
+++ /dev/null
@@ -1,760 +0,0 @@
-/*
- * bulia byak <buliabyak@users.sf.net>
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-#include <math.h>
-#include <gtk/gtk.h>
-#include <glibmm/i18n.h>
-#include "ui/dialog-events.h"
-#include "sp-color-scales.h"
-#include "sp-color-slider.h"
-#include "svg/svg-icc-color.h"
-
-#define CSC_CHANNEL_R (1 << 0)
-#define CSC_CHANNEL_G (1 << 1)
-#define CSC_CHANNEL_B (1 << 2)
-#define CSC_CHANNEL_A (1 << 3)
-#define CSC_CHANNEL_H (1 << 0)
-#define CSC_CHANNEL_S (1 << 1)
-#define CSC_CHANNEL_V (1 << 2)
-#define CSC_CHANNEL_C (1 << 0)
-#define CSC_CHANNEL_M (1 << 1)
-#define CSC_CHANNEL_Y (1 << 2)
-#define CSC_CHANNEL_K (1 << 3)
-#define CSC_CHANNEL_CMYKA (1 << 4)
-
-#define CSC_CHANNELS_ALL 0
-
-
-G_BEGIN_DECLS
-
-static void sp_color_scales_dispose(GObject *object);
-
-static void sp_color_scales_show_all (GtkWidget *widget);
-static void sp_color_scales_hide(GtkWidget *widget);
-
-static const gchar *sp_color_scales_hue_map (void);
-
-G_END_DECLS
-
-#define XPAD 4
-#define YPAD 1
-
-#define noDUMP_CHANGE_INFO 1
-
-G_DEFINE_TYPE(SPColorScales, sp_color_scales, SP_TYPE_COLOR_SELECTOR);
-
-static void
-sp_color_scales_class_init (SPColorScalesClass *klass)
-{
- static const gchar* nameset[] = {N_("RGB"), N_("HSL"), N_("CMYK"), 0};
- GObjectClass *object_class = G_OBJECT_CLASS(klass);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
- SPColorSelectorClass *selector_class = SP_COLOR_SELECTOR_CLASS (klass);
-
- selector_class->name = nameset;
- selector_class->submode_count = 3;
-
- object_class->dispose = sp_color_scales_dispose;
-
- widget_class->show_all = sp_color_scales_show_all;
- widget_class->hide = sp_color_scales_hide;
-}
-
-ColorScales::ColorScales( SPColorSelector* csel )
- : ColorSelector( csel ),
- _mode( SP_COLOR_SCALES_MODE_NONE ),
- _rangeLimit( 255.0 ),
- _updating( FALSE ),
- _dragging( FALSE )
-{
- for (gint i = 0; i < 5; i++) {
- _l[i] = 0;
- _a[i] = 0;
- _s[i] = 0;
- _b[i] = 0;
- }
-}
-
-ColorScales::~ColorScales()
-{
- for (gint i = 0; i < 5; i++) {
- _l[i] = 0;
- _a[i] = 0;
- _s[i] = 0;
- _b[i] = 0;
- }
-}
-
-void sp_color_scales_init (SPColorScales *cs)
-{
- SP_COLOR_SELECTOR(cs)->base = new ColorScales( SP_COLOR_SELECTOR(cs) );
-
- if ( SP_COLOR_SELECTOR(cs)->base )
- {
- SP_COLOR_SELECTOR(cs)->base->init();
- }
-}
-
-void ColorScales::init()
-{
- gint i;
-
- _updating = FALSE;
- _dragging = FALSE;
-
-#if GTK_CHECK_VERSION(3,0,0)
- GtkWidget *t = gtk_grid_new();
-#else
- GtkWidget *t = gtk_table_new (5, 3, FALSE);
-#endif
- gtk_widget_show (t);
- gtk_box_pack_start (GTK_BOX (_csel), t, TRUE, TRUE, 4);
-
- /* Create components */
- for (i = 0; i < static_cast< gint > (G_N_ELEMENTS(_a)) ; i++) {
- /* Label */
- _l[i] = gtk_label_new("");
- gtk_misc_set_alignment (GTK_MISC (_l[i]), 1.0, 0.5);
- gtk_widget_show (_l[i]);
-
-#if GTK_CHECK_VERSION(3,0,0)
- #if GTK_CHECK_VERSION(3,12,0)
- gtk_widget_set_margin_start(_l[i], XPAD);
- gtk_widget_set_margin_end(_l[i], XPAD);
- #else
- gtk_widget_set_margin_left(_l[i], XPAD);
- gtk_widget_set_margin_right(_l[i], XPAD);
- #endif
- gtk_widget_set_margin_top(_l[i], YPAD);
- gtk_widget_set_margin_bottom(_l[i], YPAD);
- gtk_grid_attach(GTK_GRID(t), _l[i], 0, i, 1, 1);
-#else
- gtk_table_attach (GTK_TABLE (t), _l[i], 0, 1, i, i + 1, GTK_FILL, GTK_FILL, XPAD, YPAD);
-#endif
-
- /* Adjustment */
- _a[i] = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, _rangeLimit, 1.0, 10.0, 10.0));
- /* Slider */
- _s[i] = sp_color_slider_new (_a[i]);
- gtk_widget_show (_s[i]);
-
-#if GTK_CHECK_VERSION(3,0,0)
- #if GTK_CHECK_VERSION(3,12,0)
- gtk_widget_set_margin_start(_s[i], XPAD);
- gtk_widget_set_margin_end(_s[i], XPAD);
- #else
- gtk_widget_set_margin_left(_s[i], XPAD);
- gtk_widget_set_margin_right(_s[i], XPAD);
- #endif
- gtk_widget_set_margin_top(_s[i], YPAD);
- gtk_widget_set_margin_bottom(_s[i], YPAD);
- gtk_widget_set_hexpand(_s[i], TRUE);
- gtk_grid_attach(GTK_GRID(t), _s[i], 1, i, 1, 1);
-#else
- gtk_table_attach (GTK_TABLE (t), _s[i], 1, 2, i, i + 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), GTK_FILL, XPAD, YPAD);
-#endif
-
- /* Spinbutton */
- _b[i] = gtk_spin_button_new (GTK_ADJUSTMENT (_a[i]), 1.0, 0);
- sp_dialog_defocus_on_enter (_b[i]);
- gtk_label_set_mnemonic_widget (GTK_LABEL(_l[i]), _b[i]);
- gtk_widget_show (_b[i]);
-
-#if GTK_CHECK_VERSION(3,0,0)
- #if GTK_CHECK_VERSION(3,12,0)
- gtk_widget_set_margin_start(_b[i], XPAD);
- gtk_widget_set_margin_end(_b[i], XPAD);
- #else
- gtk_widget_set_margin_left(_b[i], XPAD);
- gtk_widget_set_margin_right(_b[i], XPAD);
- #endif
- gtk_widget_set_margin_top(_b[i], YPAD);
- gtk_widget_set_margin_bottom(_b[i], YPAD);
- gtk_widget_set_halign(_b[i], GTK_ALIGN_CENTER);
- gtk_widget_set_valign(_b[i], GTK_ALIGN_CENTER);
- gtk_grid_attach(GTK_GRID(t), _b[i], 2, i, 1, 1);
-#else
- gtk_table_attach (GTK_TABLE (t), _b[i], 2, 3, i, i + 1, (GtkAttachOptions)0, (GtkAttachOptions)0, XPAD, YPAD);
-#endif
-
- /* Attach channel value to adjustment */
- g_object_set_data (G_OBJECT (_a[i]), "channel", GINT_TO_POINTER (i));
- /* Signals */
- g_signal_connect (G_OBJECT (_a[i]), "value_changed",
- G_CALLBACK (_adjustmentAnyChanged), _csel);
- g_signal_connect (G_OBJECT (_s[i]), "grabbed",
- G_CALLBACK (_sliderAnyGrabbed), _csel);
- g_signal_connect (G_OBJECT (_s[i]), "released",
- G_CALLBACK (_sliderAnyReleased), _csel);
- g_signal_connect (G_OBJECT (_s[i]), "changed",
- G_CALLBACK (_sliderAnyChanged), _csel);
- }
-
- /* Initial mode is none, so it works */
- setMode(SP_COLOR_SCALES_MODE_RGB);
-}
-
-static void sp_color_scales_dispose(GObject *object)
-{
- if (G_OBJECT_CLASS(sp_color_scales_parent_class)->dispose)
- G_OBJECT_CLASS(sp_color_scales_parent_class)->dispose(object);
-}
-
-static void
-sp_color_scales_show_all (GtkWidget *widget)
-{
- gtk_widget_show (widget);
-}
-
-static void sp_color_scales_hide(GtkWidget *widget)
-{
- gtk_widget_hide(widget);
-}
-
-GtkWidget *sp_color_scales_new()
-{
- SPColorScales *csel = SP_COLOR_SCALES(g_object_new (SP_TYPE_COLOR_SCALES, NULL));
-
- return GTK_WIDGET (csel);
-}
-
-void ColorScales::_recalcColor( gboolean changing )
-{
- if ( changing )
- {
- SPColor color;
- gfloat alpha = 1.0;
- gfloat c[5];
-
- switch (_mode) {
- case SP_COLOR_SCALES_MODE_RGB:
- case SP_COLOR_SCALES_MODE_HSV:
- _getRgbaFloatv(c);
- color.set( c[0], c[1], c[2] );
- alpha = c[3];
- break;
- case SP_COLOR_SCALES_MODE_CMYK:
- {
- _getCmykaFloatv( c );
-
- float rgb[3];
- sp_color_cmyk_to_rgb_floatv( rgb, c[0], c[1], c[2], c[3] );
- color.set( rgb[0], rgb[1], rgb[2] );
- alpha = c[4];
- break;
- }
- default:
- g_warning ("file %s: line %d: Illegal color selector mode %d", __FILE__, __LINE__, _mode);
- break;
- }
-
- /* Preserve ICC */
- color.icc = _color.icc ? new SVGICCColor(*_color.icc) : 0;
-
- _updateInternals( color, alpha, _dragging );
- }
- else
- {
- _updateInternals( _color, _alpha, _dragging );
- }
-}
-
-/* Helpers for setting color value */
-gfloat ColorScales::getScaled( const GtkAdjustment *a )
-{
- gfloat val = gtk_adjustment_get_value (const_cast<GtkAdjustment*>(a))
- / gtk_adjustment_get_upper (const_cast<GtkAdjustment*>(a));
- return val;
-}
-
-void ColorScales::setScaled( GtkAdjustment *a, gfloat v )
-{
- gfloat val = v * gtk_adjustment_get_upper (a);
- gtk_adjustment_set_value( a, val );
-}
-
-void ColorScales::_setRangeLimit( gdouble upper )
-{
- _rangeLimit = upper;
- for ( gint i = 0; i < static_cast<gint>(G_N_ELEMENTS(_a)); i++ ) {
- gtk_adjustment_set_upper (_a[i], upper);
- gtk_adjustment_changed( _a[i] );
- }
-}
-
-void ColorScales::_colorChanged()
-{
-#ifdef DUMP_CHANGE_INFO
- g_message("ColorScales::_colorChanged( this=%p, %f, %f, %f, %f)", this, _color.v.c[0], _color.v.c[1], _color.v.c[2], _alpha );
-#endif
- gfloat tmp[3];
- gfloat c[5] = {0.0, 0.0, 0.0, 0.0};
-
- switch (_mode) {
- case SP_COLOR_SCALES_MODE_RGB:
- sp_color_get_rgb_floatv( &_color, c );
- c[3] = _alpha;
- c[4] = 0.0;
- break;
- case SP_COLOR_SCALES_MODE_HSV:
- sp_color_get_rgb_floatv( &_color, tmp );
- sp_color_rgb_to_hsl_floatv (c, tmp[0], tmp[1], tmp[2]);
- c[3] = _alpha;
- c[4] = 0.0;
- break;
- case SP_COLOR_SCALES_MODE_CMYK:
- sp_color_get_cmyk_floatv( &_color, c );
- c[4] = _alpha;
- break;
- default:
- g_warning ("file %s: line %d: Illegal color selector mode %d", __FILE__, __LINE__, _mode);
- break;
- }
-
- _updating = TRUE;
- setScaled( _a[0], c[0] );
- setScaled( _a[1], c[1] );
- setScaled( _a[2], c[2] );
- setScaled( _a[3], c[3] );
- setScaled( _a[4], c[4] );
- _updateSliders( CSC_CHANNELS_ALL );
- _updating = FALSE;
-}
-
-void ColorScales::_getRgbaFloatv( gfloat *rgba )
-{
- g_return_if_fail (rgba != NULL);
-
- switch (_mode) {
- case SP_COLOR_SCALES_MODE_RGB:
- rgba[0] = getScaled(_a[0]);
- rgba[1] = getScaled(_a[1]);
- rgba[2] = getScaled(_a[2]);
- rgba[3] = getScaled(_a[3]);
- break;
- case SP_COLOR_SCALES_MODE_HSV:
- sp_color_hsl_to_rgb_floatv (rgba, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]));
- rgba[3] = getScaled(_a[3]);
- break;
- case SP_COLOR_SCALES_MODE_CMYK:
- sp_color_cmyk_to_rgb_floatv (rgba, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), getScaled(_a[3]));
- rgba[3] = getScaled(_a[4]);
- break;
- default:
- g_warning ("file %s: line %d: Illegal color selector mode", __FILE__, __LINE__);
- break;
- }
-}
-
-void ColorScales::_getCmykaFloatv( gfloat *cmyka )
-{
- gfloat rgb[3];
-
- g_return_if_fail (cmyka != NULL);
-
- switch (_mode) {
- case SP_COLOR_SCALES_MODE_RGB:
- sp_color_rgb_to_cmyk_floatv (cmyka, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]));
- cmyka[4] = getScaled(_a[3]);
- break;
- case SP_COLOR_SCALES_MODE_HSV:
- sp_color_hsl_to_rgb_floatv (rgb, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]));
- sp_color_rgb_to_cmyk_floatv (cmyka, rgb[0], rgb[1], rgb[2]);
- cmyka[4] = getScaled(_a[3]);
- break;
- case SP_COLOR_SCALES_MODE_CMYK:
- cmyka[0] = getScaled(_a[0]);
- cmyka[1] = getScaled(_a[1]);
- cmyka[2] = getScaled(_a[2]);
- cmyka[3] = getScaled(_a[3]);
- cmyka[4] = getScaled(_a[4]);
- break;
- default:
- g_warning ("file %s: line %d: Illegal color selector mode", __FILE__, __LINE__);
- break;
- }
-}
-
-guint32 ColorScales::_getRgba32()
-{
- gfloat c[4];
- guint32 rgba;
-
- _getRgbaFloatv(c);
-
- rgba = SP_RGBA32_F_COMPOSE (c[0], c[1], c[2], c[3]);
-
- return rgba;
-}
-
-void ColorScales::setMode(SPColorScalesMode mode)
-{
- gfloat rgba[4];
- gfloat c[4];
-
- if (_mode == mode) return;
-
- if ((_mode == SP_COLOR_SCALES_MODE_RGB) ||
- (_mode == SP_COLOR_SCALES_MODE_HSV) ||
- (_mode == SP_COLOR_SCALES_MODE_CMYK)) {
- _getRgbaFloatv(rgba);
- } else {
- rgba[0] = rgba[1] = rgba[2] = rgba[3] = 1.0;
- }
-
- _mode = mode;
-
- switch (mode) {
- case SP_COLOR_SCALES_MODE_RGB:
- _setRangeLimit(255.0);
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[0]), _("_R:"));
- gtk_widget_set_tooltip_text (_s[0], _("Red"));
- gtk_widget_set_tooltip_text (_b[0], _("Red"));
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[1]), _("_G:"));
- gtk_widget_set_tooltip_text (_s[1], _("Green"));
- gtk_widget_set_tooltip_text (_b[1], _("Green"));
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[2]), _("_B:"));
- gtk_widget_set_tooltip_text (_s[2], _("Blue"));
- gtk_widget_set_tooltip_text (_b[2], _("Blue"));
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[3]), _("_A:"));
- gtk_widget_set_tooltip_text (_s[3], _("Alpha (opacity)"));
- gtk_widget_set_tooltip_text (_b[3], _("Alpha (opacity)"));
- sp_color_slider_set_map (SP_COLOR_SLIDER (_s[0]), NULL);
- gtk_widget_hide (_l[4]);
- gtk_widget_hide (_s[4]);
- gtk_widget_hide (_b[4]);
- _updating = TRUE;
- setScaled( _a[0], rgba[0] );
- setScaled( _a[1], rgba[1] );
- setScaled( _a[2], rgba[2] );
- setScaled( _a[3], rgba[3] );
- _updating = FALSE;
- _updateSliders( CSC_CHANNELS_ALL );
- break;
- case SP_COLOR_SCALES_MODE_HSV:
- _setRangeLimit(255.0);
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[0]), _("_H:"));
- gtk_widget_set_tooltip_text (_s[0], _("Hue"));
- gtk_widget_set_tooltip_text (_b[0], _("Hue"));
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[1]), _("_S:"));
- gtk_widget_set_tooltip_text (_s[1], _("Saturation"));
- gtk_widget_set_tooltip_text (_b[1], _("Saturation"));
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[2]), _("_L:"));
- gtk_widget_set_tooltip_text (_s[2], _("Lightness"));
- gtk_widget_set_tooltip_text (_b[2], _("Lightness"));
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[3]), _("_A:"));
- gtk_widget_set_tooltip_text (_s[3], _("Alpha (opacity)"));
- gtk_widget_set_tooltip_text (_b[3], _("Alpha (opacity)"));
- sp_color_slider_set_map (SP_COLOR_SLIDER (_s[0]), (guchar *)(sp_color_scales_hue_map()));
- gtk_widget_hide (_l[4]);
- gtk_widget_hide (_s[4]);
- gtk_widget_hide (_b[4]);
- _updating = TRUE;
- c[0] = 0.0;
- sp_color_rgb_to_hsl_floatv (c, rgba[0], rgba[1], rgba[2]);
- setScaled( _a[0], c[0] );
- setScaled( _a[1], c[1] );
- setScaled( _a[2], c[2] );
- setScaled( _a[3], rgba[3] );
- _updating = FALSE;
- _updateSliders( CSC_CHANNELS_ALL );
- break;
- case SP_COLOR_SCALES_MODE_CMYK:
- _setRangeLimit(100.0);
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[0]), _("_C:"));
- gtk_widget_set_tooltip_text (_s[0], _("Cyan"));
- gtk_widget_set_tooltip_text (_b[0], _("Cyan"));
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[1]), _("_M:"));
- gtk_widget_set_tooltip_text (_s[1], _("Magenta"));
- gtk_widget_set_tooltip_text (_b[1], _("Magenta"));
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[2]), _("_Y:"));
- gtk_widget_set_tooltip_text (_s[2], _("Yellow"));
- gtk_widget_set_tooltip_text (_b[2], _("Yellow"));
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[3]), _("_K:"));
- gtk_widget_set_tooltip_text (_s[3], _("Black"));
- gtk_widget_set_tooltip_text (_b[3], _("Black"));
- gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[4]), _("_A:"));
- gtk_widget_set_tooltip_text (_s[4], _("Alpha (opacity)"));
- gtk_widget_set_tooltip_text (_b[4], _("Alpha (opacity)"));
- sp_color_slider_set_map (SP_COLOR_SLIDER (_s[0]), NULL);
- gtk_widget_show (_l[4]);
- gtk_widget_show (_s[4]);
- gtk_widget_show (_b[4]);
- _updating = TRUE;
-
- sp_color_rgb_to_cmyk_floatv (c, rgba[0], rgba[1], rgba[2]);
- setScaled( _a[0], c[0] );
- setScaled( _a[1], c[1] );
- setScaled( _a[2], c[2] );
- setScaled( _a[3], c[3] );
-
- setScaled( _a[4], rgba[3] );
- _updating = FALSE;
- _updateSliders( CSC_CHANNELS_ALL );
- break;
- default:
- g_warning ("file %s: line %d: Illegal color selector mode", __FILE__, __LINE__);
- break;
- }
-}
-
-SPColorScalesMode ColorScales::getMode() const
-{
- return _mode;
-}
-
-void ColorScales::setSubmode( guint submode )
-{
- g_return_if_fail (_csel != NULL);
- g_return_if_fail (SP_IS_COLOR_SCALES (_csel));
- g_return_if_fail (submode < 3);
-
- switch ( submode )
- {
- default:
- case 0:
- setMode(SP_COLOR_SCALES_MODE_RGB);
- break;
- case 1:
- setMode(SP_COLOR_SCALES_MODE_HSV);
- break;
- case 2:
- setMode(SP_COLOR_SCALES_MODE_CMYK);
- break;
- }
-}
-
-guint ColorScales::getSubmode() const
-{
- guint submode = 0;
-
- switch ( _mode )
- {
- case SP_COLOR_SCALES_MODE_HSV:
- submode = 1;
- break;
- case SP_COLOR_SCALES_MODE_CMYK:
- submode = 2;
- break;
- case SP_COLOR_SCALES_MODE_RGB:
- default:
- submode = 0;
- }
-
- return submode;
-}
-
-void ColorScales::_adjustmentAnyChanged( GtkAdjustment *adjustment, SPColorScales *cs )
-{
- gint channel = GPOINTER_TO_INT (g_object_get_data(G_OBJECT (adjustment), "channel"));
-
- _adjustmentChanged(cs, channel);
-}
-
-void ColorScales::_sliderAnyGrabbed( SPColorSlider *slider, SPColorScales *cs )
-{
- (void)slider;
- ColorScales* scales = static_cast<ColorScales*>(SP_COLOR_SELECTOR(cs)->base);
- if (!scales->_dragging) {
- scales->_dragging = TRUE;
- scales->_grabbed();
- scales->_recalcColor( FALSE );
- }
-}
-
-void ColorScales::_sliderAnyReleased( SPColorSlider *slider, SPColorScales *cs )
-{
- (void)slider;
- ColorScales* scales = static_cast<ColorScales*>(SP_COLOR_SELECTOR(cs)->base);
- if (scales->_dragging) {
- scales->_dragging = FALSE;
- scales->_released();
- scales->_recalcColor( FALSE );
- }
-}
-
-void ColorScales::_sliderAnyChanged( SPColorSlider *slider, SPColorScales *cs )
-{
- (void)slider;
- ColorScales* scales = static_cast<ColorScales*>(SP_COLOR_SELECTOR(cs)->base);
-
- scales->_recalcColor( TRUE );
-}
-
-void ColorScales::_adjustmentChanged( SPColorScales *cs, guint channel )
-{
- ColorScales* scales = static_cast<ColorScales*>(SP_COLOR_SELECTOR(cs)->base);
- if (scales->_updating) return;
-
- scales->_updating = TRUE;
-
- scales->_updateSliders( (1 << channel) );
-
- scales->_recalcColor (TRUE);
-
- scales->_updating = FALSE;
-}
-
-void ColorScales::_updateSliders( guint channels )
-{
- gfloat rgb0[3], rgbm[3], rgb1[3];
-#ifdef SPCS_PREVIEW
- guint32 rgba;
-#endif
- switch (_mode) {
- case SP_COLOR_SCALES_MODE_RGB:
- if ((channels != CSC_CHANNEL_R) && (channels != CSC_CHANNEL_A)) {
- /* Update red */
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_s[0]),
- SP_RGBA32_F_COMPOSE (0.0, getScaled(_a[1]), getScaled(_a[2]), 1.0),
- SP_RGBA32_F_COMPOSE (0.5, getScaled(_a[1]), getScaled(_a[2]), 1.0),
- SP_RGBA32_F_COMPOSE (1.0, getScaled(_a[1]), getScaled(_a[2]), 1.0));
- }
- if ((channels != CSC_CHANNEL_G) && (channels != CSC_CHANNEL_A)) {
- /* Update green */
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_s[1]),
- SP_RGBA32_F_COMPOSE (getScaled(_a[0]), 0.0, getScaled(_a[2]), 1.0),
- SP_RGBA32_F_COMPOSE (getScaled(_a[0]), 0.5, getScaled(_a[2]), 1.0),
- SP_RGBA32_F_COMPOSE (getScaled(_a[0]), 1.0, getScaled(_a[2]), 1.0));
- }
- if ((channels != CSC_CHANNEL_B) && (channels != CSC_CHANNEL_A)) {
- /* Update blue */
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_s[2]),
- SP_RGBA32_F_COMPOSE (getScaled(_a[0]), getScaled(_a[1]), 0.0, 1.0),
- SP_RGBA32_F_COMPOSE (getScaled(_a[0]), getScaled(_a[1]), 0.5, 1.0),
- SP_RGBA32_F_COMPOSE (getScaled(_a[0]), getScaled(_a[1]), 1.0, 1.0));
- }
- if (channels != CSC_CHANNEL_A) {
- /* Update alpha */
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_s[3]),
- SP_RGBA32_F_COMPOSE (getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), 0.0),
- SP_RGBA32_F_COMPOSE (getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), 0.5),
- SP_RGBA32_F_COMPOSE (getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), 1.0));
- }
- break;
- case SP_COLOR_SCALES_MODE_HSV:
- /* Hue is never updated */
- if ((channels != CSC_CHANNEL_S) && (channels != CSC_CHANNEL_A)) {
- /* Update saturation */
- sp_color_hsl_to_rgb_floatv (rgb0, getScaled(_a[0]), 0.0, getScaled(_a[2]));
- sp_color_hsl_to_rgb_floatv (rgbm, getScaled(_a[0]), 0.5, getScaled(_a[2]));
- sp_color_hsl_to_rgb_floatv (rgb1, getScaled(_a[0]), 1.0, getScaled(_a[2]));
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_s[1]),
- SP_RGBA32_F_COMPOSE (rgb0[0], rgb0[1], rgb0[2], 1.0),
- SP_RGBA32_F_COMPOSE (rgbm[0], rgbm[1], rgbm[2], 1.0),
- SP_RGBA32_F_COMPOSE (rgb1[0], rgb1[1], rgb1[2], 1.0));
- }
- if ((channels != CSC_CHANNEL_V) && (channels != CSC_CHANNEL_A)) {
- /* Update value */
- sp_color_hsl_to_rgb_floatv (rgb0, getScaled(_a[0]), getScaled(_a[1]), 0.0);
- sp_color_hsl_to_rgb_floatv (rgbm, getScaled(_a[0]), getScaled(_a[1]), 0.5);
- sp_color_hsl_to_rgb_floatv (rgb1, getScaled(_a[0]), getScaled(_a[1]), 1.0);
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_s[2]),
- SP_RGBA32_F_COMPOSE (rgb0[0], rgb0[1], rgb0[2], 1.0),
- SP_RGBA32_F_COMPOSE (rgbm[0], rgbm[1], rgbm[2], 1.0),
- SP_RGBA32_F_COMPOSE (rgb1[0], rgb1[1], rgb1[2], 1.0));
- }
- if (channels != CSC_CHANNEL_A) {
- /* Update alpha */
- sp_color_hsl_to_rgb_floatv (rgb0, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]));
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_s[3]),
- SP_RGBA32_F_COMPOSE (rgb0[0], rgb0[1], rgb0[2], 0.0),
- SP_RGBA32_F_COMPOSE (rgb0[0], rgb0[1], rgb0[2], 0.5),
- SP_RGBA32_F_COMPOSE (rgb0[0], rgb0[1], rgb0[2], 1.0));
- }
- break;
- case SP_COLOR_SCALES_MODE_CMYK:
- if ((channels != CSC_CHANNEL_C) && (channels != CSC_CHANNEL_CMYKA)) {
- /* Update C */
- sp_color_cmyk_to_rgb_floatv (rgb0, 0.0, getScaled(_a[1]), getScaled(_a[2]), getScaled(_a[3]));
- sp_color_cmyk_to_rgb_floatv (rgbm, 0.5, getScaled(_a[1]), getScaled(_a[2]), getScaled(_a[3]));
- sp_color_cmyk_to_rgb_floatv (rgb1, 1.0, getScaled(_a[1]), getScaled(_a[2]), getScaled(_a[3]));
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_s[0]),
- SP_RGBA32_F_COMPOSE (rgb0[0], rgb0[1], rgb0[2], 1.0),
- SP_RGBA32_F_COMPOSE (rgbm[0], rgbm[1], rgbm[2], 1.0),
- SP_RGBA32_F_COMPOSE (rgb1[0], rgb1[1], rgb1[2], 1.0));
- }
- if ((channels != CSC_CHANNEL_M) && (channels != CSC_CHANNEL_CMYKA)) {
- /* Update M */
- sp_color_cmyk_to_rgb_floatv (rgb0, getScaled(_a[0]), 0.0, getScaled(_a[2]), getScaled(_a[3]));
- sp_color_cmyk_to_rgb_floatv (rgbm, getScaled(_a[0]), 0.5, getScaled(_a[2]), getScaled(_a[3]));
- sp_color_cmyk_to_rgb_floatv (rgb1, getScaled(_a[0]), 1.0, getScaled(_a[2]), getScaled(_a[3]));
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_s[1]),
- SP_RGBA32_F_COMPOSE (rgb0[0], rgb0[1], rgb0[2], 1.0),
- SP_RGBA32_F_COMPOSE (rgbm[0], rgbm[1], rgbm[2], 1.0),
- SP_RGBA32_F_COMPOSE (rgb1[0], rgb1[1], rgb1[2], 1.0));
- }
- if ((channels != CSC_CHANNEL_Y) && (channels != CSC_CHANNEL_CMYKA)) {
- /* Update Y */
- sp_color_cmyk_to_rgb_floatv (rgb0, getScaled(_a[0]), getScaled(_a[1]), 0.0, getScaled(_a[3]));
- sp_color_cmyk_to_rgb_floatv (rgbm, getScaled(_a[0]), getScaled(_a[1]), 0.5, getScaled(_a[3]));
- sp_color_cmyk_to_rgb_floatv (rgb1, getScaled(_a[0]), getScaled(_a[1]), 1.0, getScaled(_a[3]));
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_s[2]),
- SP_RGBA32_F_COMPOSE (rgb0[0], rgb0[1], rgb0[2], 1.0),
- SP_RGBA32_F_COMPOSE (rgbm[0], rgbm[1], rgbm[2], 1.0),
- SP_RGBA32_F_COMPOSE (rgb1[0], rgb1[1], rgb1[2], 1.0));
- }
- if ((channels != CSC_CHANNEL_K) && (channels != CSC_CHANNEL_CMYKA)) {
- /* Update K */
- sp_color_cmyk_to_rgb_floatv (rgb0, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), 0.0);
- sp_color_cmyk_to_rgb_floatv (rgbm, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), 0.5);
- sp_color_cmyk_to_rgb_floatv (rgb1, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), 1.0);
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_s[3]),
- SP_RGBA32_F_COMPOSE (rgb0[0], rgb0[1], rgb0[2], 1.0),
- SP_RGBA32_F_COMPOSE (rgbm[0], rgbm[1], rgbm[2], 1.0),
- SP_RGBA32_F_COMPOSE (rgb1[0], rgb1[1], rgb1[2], 1.0));
- }
- if (channels != CSC_CHANNEL_CMYKA) {
- /* Update alpha */
- sp_color_cmyk_to_rgb_floatv (rgb0, getScaled(_a[0]), getScaled(_a[1]), getScaled(_a[2]), getScaled(_a[3]));
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_s[4]),
- SP_RGBA32_F_COMPOSE (rgb0[0], rgb0[1], rgb0[2], 0.0),
- SP_RGBA32_F_COMPOSE (rgb0[0], rgb0[1], rgb0[2], 0.5),
- SP_RGBA32_F_COMPOSE (rgb0[0], rgb0[1], rgb0[2], 1.0));
- }
- break;
- default:
- g_warning ("file %s: line %d: Illegal color selector mode", __FILE__, __LINE__);
- break;
- }
-
- // Force the internal color to be updated
- if ( !_updating )
- {
- _recalcColor( TRUE );
- }
-
-#ifdef SPCS_PREVIEW
- rgba = sp_color_scales_get_rgba32 (cs);
- sp_color_preview_set_rgba32 (SP_COLOR_PREVIEW (_p), rgba);
-#endif
-}
-
-static const gchar *
-sp_color_scales_hue_map (void)
-{
- static gchar *map = NULL;
-
- if (!map) {
- gchar *p;
- gint h;
- map = g_new (gchar, 4 * 1024);
- p = map;
- for (h = 0; h < 1024; h++) {
- gfloat rgb[3];
- sp_color_hsl_to_rgb_floatv (rgb, h / 1024.0, 1.0, 0.5);
- *p++ = SP_COLOR_F_TO_U (rgb[0]);
- *p++ = SP_COLOR_F_TO_U (rgb[1]);
- *p++ = SP_COLOR_F_TO_U (rgb[2]);
- *p++ = 255;
- }
- }
-
- return map;
-}
-
-
diff --git a/src/widgets/sp-color-scales.h b/src/widgets/sp-color-scales.h
deleted file mode 100644
index 72cbafa2f..000000000
--- a/src/widgets/sp-color-scales.h
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef SEEN_SP_COLOR_SCALES_H
-#define SEEN_SP_COLOR_SCALES_H
-
-#include <glib.h>
-
-#include <widgets/sp-color-selector.h>
-
-struct SPColorScales;
-struct SPColorScalesClass;
-struct SPColorSlider;
-
-typedef enum {
- SP_COLOR_SCALES_MODE_NONE = 0,
- SP_COLOR_SCALES_MODE_RGB = 1,
- SP_COLOR_SCALES_MODE_HSV = 2,
- SP_COLOR_SCALES_MODE_CMYK = 3
-} SPColorScalesMode;
-
-
-
-class ColorScales: public ColorSelector
-{
-public:
- static gfloat getScaled( const GtkAdjustment *a );
- static void setScaled( GtkAdjustment *a, gfloat v);
-
- ColorScales(SPColorSelector *csel);
- virtual ~ColorScales();
-
- virtual void init();
-
- virtual void setSubmode(guint submode);
- virtual guint getSubmode() const;
-
- void setMode(SPColorScalesMode mode);
- SPColorScalesMode getMode() const;
-
-
-protected:
- virtual void _colorChanged();
-
- static void _adjustmentAnyChanged(GtkAdjustment *adjustment, SPColorScales *cs);
- static void _sliderAnyGrabbed(SPColorSlider *slider, SPColorScales *cs);
- static void _sliderAnyReleased(SPColorSlider *slider, SPColorScales *cs);
- static void _sliderAnyChanged(SPColorSlider *slider, SPColorScales *cs);
- static void _adjustmentChanged(SPColorScales *cs, guint channel);
-
- void _getRgbaFloatv(gfloat *rgba);
- void _getCmykaFloatv(gfloat *cmyka);
- guint32 _getRgba32();
- void _updateSliders(guint channels);
- void _recalcColor(gboolean changing);
-
- void _setRangeLimit( gdouble upper );
-
- SPColorScalesMode _mode;
- gdouble _rangeLimit;
- gboolean _updating : 1;
- gboolean _dragging : 1;
- GtkAdjustment *_a[5]; /* Channel adjustments */
- GtkWidget *_s[5]; /* Channel sliders */
- GtkWidget *_b[5]; /* Spinbuttons */
- GtkWidget *_l[5]; /* Labels */
-
-private:
- // By default, disallow copy constructor and assignment operator
- ColorScales(ColorScales const &obj);
- ColorScales &operator=(ColorScales const &obj );
-};
-
-
-
-#define SP_TYPE_COLOR_SCALES (sp_color_scales_get_type())
-#define SP_COLOR_SCALES(o) (G_TYPE_CHECK_INSTANCE_CAST((o), SP_TYPE_COLOR_SCALES, SPColorScales))
-#define SP_COLOR_SCALES_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SP_TYPE_COLOR_SCALES, SPColorScalesClass))
-#define SP_IS_COLOR_SCALES(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), SP_TYPE_COLOR_SCALES))
-#define SP_IS_COLOR_SCALES_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), SP_TYPE_COLOR_SCALES))
-
-struct SPColorScales {
- SPColorSelector parent;
-};
-
-struct SPColorScalesClass {
- SPColorSelectorClass parent_class;
-};
-
-GType sp_color_scales_get_type();
-
-GtkWidget *sp_color_scales_new();
-
-#endif /* !SEEN_SP_COLOR_SCALES_H */
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
diff --git a/src/widgets/sp-color-selector.cpp b/src/widgets/sp-color-selector.cpp
index e97c36431..dad0a18b0 100644
--- a/src/widgets/sp-color-selector.cpp
+++ b/src/widgets/sp-color-selector.cpp
@@ -6,6 +6,11 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
+
+#if GLIBMM_DISABLE_DEPRECATED && HAVE_GLIBMM_THREADS_H
+#include <glibmm/threads.h>
+#endif
+
#include <math.h>
#include <gtk/gtk.h>
#include <glibmm/i18n.h>
@@ -289,7 +294,7 @@ void ColorSelector::_updateInternals( const SPColor& color, gfloat alpha, gboole
(_held ? "CHANGED" : "DRAGGED" ),
color.toRGBA32( alpha ), (color.icc?color.icc->colorProfile.c_str():"<null>"), FOO_NAME(_csel));
#endif
- g_signal_emit(G_OBJECT(_csel), csel_signals[_held ? CHANGED : DRAGGED], 0);
+ g_signal_emit(G_OBJECT(_csel), csel_signals[_held ? DRAGGED : CHANGED], 0);
}
}
diff --git a/src/widgets/sp-color-selector.h b/src/widgets/sp-color-selector.h
index 30061774a..308a5519c 100644
--- a/src/widgets/sp-color-selector.h
+++ b/src/widgets/sp-color-selector.h
@@ -1,6 +1,14 @@
#ifndef SEEN_SP_COLOR_SELECTOR_H
#define SEEN_SP_COLOR_SELECTOR_H
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#if GLIBMM_DISABLE_DEPRECATED && HAVE_GLIBMM_THREADS_H
+#include <glibmm/threads.h>
+#endif
+
#include <gtk/gtk.h>
#include "color.h"
diff --git a/src/widgets/sp-color-slider.cpp b/src/widgets/sp-color-slider.cpp
deleted file mode 100644
index ab7e2cd84..000000000
--- a/src/widgets/sp-color-slider.cpp
+++ /dev/null
@@ -1,749 +0,0 @@
-/*
- * A slider with colored background
- *
- * Author:
- * Lauris Kaplinski <lauris@kaplinski.com>
- * bulia byak <buliabyak@users.sf.net>
- *
- * Copyright (C) 2001-2002 Lauris Kaplinski
- *
- * This code is in public domain
- */
-
-#include <gtk/gtk.h>
-#include "sp-color-scales.h"
-#include "sp-color-slider.h"
-#include "preferences.h"
-
-#define SLIDER_WIDTH 96
-#define SLIDER_HEIGHT 8
-#define ARROW_SIZE 7
-
-enum {
- GRABBED,
- DRAGGED,
- RELEASED,
- CHANGED,
- LAST_SIGNAL
-};
-
-static void sp_color_slider_dispose(GObject *object);
-
-static void sp_color_slider_realize (GtkWidget *widget);
-static void sp_color_slider_size_request (GtkWidget *widget, GtkRequisition *requisition);
-
-#if GTK_CHECK_VERSION(3,0,0)
-static void sp_color_slider_get_preferred_width(GtkWidget *widget,
- gint *minimal_width,
- gint *natural_width);
-
-static void sp_color_slider_get_preferred_height(GtkWidget *widget,
- gint *minimal_height,
- gint *natural_height);
-#else
-static gboolean sp_color_slider_expose(GtkWidget *widget, GdkEventExpose *event);
-#endif
-
-static void sp_color_slider_size_allocate (GtkWidget *widget, GtkAllocation *allocation);
-
-static gboolean sp_color_slider_draw(GtkWidget *widget, cairo_t *cr);
-
-static gint sp_color_slider_button_press (GtkWidget *widget, GdkEventButton *event);
-static gint sp_color_slider_button_release (GtkWidget *widget, GdkEventButton *event);
-static gint sp_color_slider_motion_notify (GtkWidget *widget, GdkEventMotion *event);
-
-static void sp_color_slider_adjustment_changed (GtkAdjustment *adjustment, SPColorSlider *slider);
-static void sp_color_slider_adjustment_value_changed (GtkAdjustment *adjustment, SPColorSlider *slider);
-
-static const guchar *sp_color_slider_render_gradient (gint x0, gint y0, gint width, gint height,
- gint c[], gint dc[], guint b0, guint b1, guint mask);
-static const guchar *sp_color_slider_render_map (gint x0, gint y0, gint width, gint height,
- guchar *map, gint start, gint step, guint b0, guint b1, guint mask);
-
-static guint slider_signals[LAST_SIGNAL] = {0};
-
-G_DEFINE_TYPE(SPColorSlider, sp_color_slider, GTK_TYPE_WIDGET);
-
-static void sp_color_slider_class_init(SPColorSliderClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS(klass);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
-
- slider_signals[GRABBED] = g_signal_new ("grabbed",
- G_TYPE_FROM_CLASS(object_class),
- (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE),
- G_STRUCT_OFFSET (SPColorSliderClass, grabbed),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- slider_signals[DRAGGED] = g_signal_new ("dragged",
- G_TYPE_FROM_CLASS(object_class),
- (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE),
- G_STRUCT_OFFSET (SPColorSliderClass, dragged),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- slider_signals[RELEASED] = g_signal_new ("released",
- G_TYPE_FROM_CLASS(object_class),
- (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE),
- G_STRUCT_OFFSET (SPColorSliderClass, released),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
- slider_signals[CHANGED] = g_signal_new ("changed",
- G_TYPE_FROM_CLASS(object_class),
- (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE),
- G_STRUCT_OFFSET (SPColorSliderClass, changed),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- object_class->dispose = sp_color_slider_dispose;
-
- widget_class->realize = sp_color_slider_realize;
-#if GTK_CHECK_VERSION(3,0,0)
- widget_class->get_preferred_width = sp_color_slider_get_preferred_width;
- widget_class->get_preferred_height = sp_color_slider_get_preferred_height;
- widget_class->draw = sp_color_slider_draw;
-#else
- widget_class->size_request = sp_color_slider_size_request;
- widget_class->expose_event = sp_color_slider_expose;
-#endif
- widget_class->size_allocate = sp_color_slider_size_allocate;
-/* widget_class->draw_focus = sp_color_slider_draw_focus; */
-/* widget_class->draw_default = sp_color_slider_draw_default; */
-
- widget_class->button_press_event = sp_color_slider_button_press;
- widget_class->button_release_event = sp_color_slider_button_release;
- widget_class->motion_notify_event = sp_color_slider_motion_notify;
-}
-
-static void
-sp_color_slider_init (SPColorSlider *slider)
-{
- /* We are widget with window */
- gtk_widget_set_has_window (GTK_WIDGET(slider), TRUE);
-
- slider->dragging = FALSE;
-
- slider->adjustment = NULL;
- slider->value = 0.0;
-
- slider->c0[0] = 0x00;
- slider->c0[1] = 0x00;
- slider->c0[2] = 0x00;
- slider->c0[3] = 0xff;
-
- slider->cm[0] = 0xff;
- slider->cm[1] = 0x00;
- slider->cm[2] = 0x00;
- slider->cm[3] = 0xff;
-
- slider->c1[0] = 0xff;
- slider->c1[1] = 0xff;
- slider->c1[2] = 0xff;
- slider->c1[3] = 0xff;
-
- slider->b0 = 0x5f;
- slider->b1 = 0xa0;
- slider->bmask = 0x08;
-
- slider->map = NULL;
-}
-
-static void sp_color_slider_dispose(GObject *object)
-{
- SPColorSlider *slider = SP_COLOR_SLIDER (object);
-
- if (slider->adjustment) {
- g_signal_handlers_disconnect_matched (G_OBJECT (slider->adjustment), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, slider);
- g_object_unref (slider->adjustment);
- slider->adjustment = NULL;
- }
-
- if (G_OBJECT_CLASS(sp_color_slider_parent_class)->dispose)
- G_OBJECT_CLASS(sp_color_slider_parent_class)->dispose (object);
-}
-
-static void
-sp_color_slider_realize (GtkWidget *widget)
-{
- GdkWindowAttr attributes;
- gint attributes_mask;
- GtkAllocation allocation;
-
- gtk_widget_get_allocation(widget, &allocation);
- gtk_widget_set_realized (widget, TRUE);
-
- attributes.window_type = GDK_WINDOW_CHILD;
- attributes.x = allocation.x;
- attributes.y = allocation.y;
- attributes.width = allocation.width;
- attributes.height = allocation.height;
- attributes.wclass = GDK_INPUT_OUTPUT;
- attributes.visual = gdk_screen_get_system_visual(gdk_screen_get_default());
-
-#if !GTK_CHECK_VERSION(3,0,0)
- attributes.colormap = gdk_screen_get_system_colormap(gdk_screen_get_default());
-#endif
-
- attributes.event_mask = gtk_widget_get_events (widget);
- attributes.event_mask |= (GDK_EXPOSURE_MASK |
- GDK_BUTTON_PRESS_MASK |
- GDK_BUTTON_RELEASE_MASK |
- GDK_POINTER_MOTION_MASK |
- GDK_ENTER_NOTIFY_MASK |
- GDK_LEAVE_NOTIFY_MASK);
-#if GTK_CHECK_VERSION(3,0,0)
- attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
-#else
- attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
-#endif
-
- gtk_widget_set_window(widget,
- gdk_window_new(gtk_widget_get_parent_window(widget),
- &attributes, attributes_mask));
-
- gdk_window_set_user_data(gtk_widget_get_window(widget), widget);
-
-#if !GTK_CHECK_VERSION(3,0,0)
- // This doesn't do anything in GTK+ 3
- gtk_widget_set_style(widget,
- gtk_style_attach(gtk_widget_get_style(widget),
- gtk_widget_get_window(widget)));
-#endif
-}
-
-static void
-sp_color_slider_size_request (GtkWidget *widget, GtkRequisition *requisition)
-{
- GtkStyle *style = gtk_widget_get_style(widget);
- requisition->width = SLIDER_WIDTH + style->xthickness * 2;
- requisition->height = SLIDER_HEIGHT + style->ythickness * 2;
-}
-
-#if GTK_CHECK_VERSION(3,0,0)
-static void sp_color_slider_get_preferred_width(GtkWidget *widget, gint *minimal_width, gint *natural_width)
-{
- GtkRequisition requisition;
- sp_color_slider_size_request(widget, &requisition);
- *minimal_width = *natural_width = requisition.width;
-}
-
-static void sp_color_slider_get_preferred_height(GtkWidget *widget, gint *minimal_height, gint *natural_height)
-{
- GtkRequisition requisition;
- sp_color_slider_size_request(widget, &requisition);
- *minimal_height = *natural_height = requisition.height;
-}
-#endif
-
-static void
-sp_color_slider_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
-{
- gtk_widget_set_allocation(widget, allocation);
-
- if (gtk_widget_get_realized (widget)) {
- /* Resize GdkWindow */
- gdk_window_move_resize(gtk_widget_get_window(widget),
- allocation->x, allocation->y,
- allocation->width, allocation->height);
- }
-}
-
-#if !GTK_CHECK_VERSION(3,0,0)
-static gboolean sp_color_slider_expose(GtkWidget *widget, GdkEventExpose * /*event*/)
-{
- gboolean result = FALSE;
-
- if (gtk_widget_is_drawable(widget)) {
- GdkWindow *window = gtk_widget_get_window(widget);
- cairo_t *cr = gdk_cairo_create(window);
- result = sp_color_slider_draw(widget, cr);
- cairo_destroy(cr);
- }
-
- return result;
-}
-#endif
-
-static gint
-sp_color_slider_button_press (GtkWidget *widget, GdkEventButton *event)
-{
- SPColorSlider *slider;
-
- slider = SP_COLOR_SLIDER (widget);
-
- if (event->button == 1) {
- GtkAllocation allocation;
- gtk_widget_get_allocation(widget, &allocation);
- gint cx, cw;
- cx = gtk_widget_get_style(widget)->xthickness;
- cw = allocation.width - 2 * cx;
- g_signal_emit (G_OBJECT (slider), slider_signals[GRABBED], 0);
- slider->dragging = TRUE;
- slider->oldvalue = slider->value;
- ColorScales::setScaled( slider->adjustment, CLAMP ((gfloat) (event->x - cx) / cw, 0.0, 1.0) );
- g_signal_emit (G_OBJECT (slider), slider_signals[DRAGGED], 0);
-
-#if GTK_CHECK_VERSION(3,0,0)
- gdk_device_grab(gdk_event_get_device(reinterpret_cast<GdkEvent *>(event)),
- gtk_widget_get_window(widget),
- GDK_OWNERSHIP_NONE,
- FALSE,
- static_cast<GdkEventMask>(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK),
- NULL,
- event->time);
-#else
- gdk_pointer_grab(gtk_widget_get_window(widget), FALSE,
- static_cast<GdkEventMask>(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK),
- NULL, NULL, event->time);
-#endif
- }
-
- return FALSE;
-}
-
-static gint
-sp_color_slider_button_release (GtkWidget *widget, GdkEventButton *event)
-{
- SPColorSlider *slider;
-
- slider = SP_COLOR_SLIDER (widget);
-
- if (event->button == 1) {
-
-#if GTK_CHECK_VERSION(3,0,0)
- gdk_device_ungrab(gdk_event_get_device(reinterpret_cast<GdkEvent *>(event)),
- gdk_event_get_time(reinterpret_cast<GdkEvent *>(event)));
-#else
- gdk_pointer_ungrab (event->time);
-#endif
-
- slider->dragging = FALSE;
- g_signal_emit (G_OBJECT (slider), slider_signals[RELEASED], 0);
- if (slider->value != slider->oldvalue) g_signal_emit (G_OBJECT (slider), slider_signals[CHANGED], 0);
- }
-
- return FALSE;
-}
-
-static gint
-sp_color_slider_motion_notify (GtkWidget *widget, GdkEventMotion *event)
-{
- SPColorSlider *slider;
-
- slider = SP_COLOR_SLIDER (widget);
-
- if (slider->dragging) {
- gint cx, cw;
- GtkAllocation allocation;
- gtk_widget_get_allocation(widget, &allocation);
- cx = gtk_widget_get_style(widget)->xthickness;
- cw = allocation.width - 2 * cx;
- ColorScales::setScaled( slider->adjustment, CLAMP ((gfloat) (event->x - cx) / cw, 0.0, 1.0) );
- g_signal_emit (G_OBJECT (slider), slider_signals[DRAGGED], 0);
- }
-
- return FALSE;
-}
-
-GtkWidget *sp_color_slider_new(GtkAdjustment *adjustment)
-{
- SPColorSlider *slider = SP_COLOR_SLIDER(g_object_new(SP_TYPE_COLOR_SLIDER, NULL));
-
- sp_color_slider_set_adjustment (slider, adjustment);
-
- return GTK_WIDGET (slider);
-}
-
-void sp_color_slider_set_adjustment(SPColorSlider *slider, GtkAdjustment *adjustment)
-{
- g_return_if_fail (slider != NULL);
- g_return_if_fail (SP_IS_COLOR_SLIDER (slider));
-
- if (!adjustment) {
- adjustment = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 1.0, 0.01, 0.0, 0.0));
- } else {
- gtk_adjustment_set_page_increment(adjustment, 0.0);
- gtk_adjustment_set_page_size(adjustment, 0.0);
- }
-
- if (slider->adjustment != adjustment) {
- if (slider->adjustment) {
- g_signal_handlers_disconnect_matched (G_OBJECT (slider->adjustment), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, slider);
- g_object_unref (slider->adjustment);
- }
-
- slider->adjustment = adjustment;
- g_object_ref (adjustment);
- g_object_ref_sink (adjustment);
-
- g_signal_connect (G_OBJECT (adjustment), "changed",
- G_CALLBACK (sp_color_slider_adjustment_changed), slider);
- g_signal_connect (G_OBJECT (adjustment), "value_changed",
- G_CALLBACK (sp_color_slider_adjustment_value_changed), slider);
-
- slider->value = ColorScales::getScaled( adjustment );
-
- sp_color_slider_adjustment_changed (adjustment, slider);
- }
-}
-
-void
-sp_color_slider_set_colors (SPColorSlider *slider, guint32 start, guint32 mid, guint32 end)
-{
- g_return_if_fail (slider != NULL);
- g_return_if_fail (SP_IS_COLOR_SLIDER (slider));
-
- // Remove any map, if set
- slider->map = 0;
-
- slider->c0[0] = start >> 24;
- slider->c0[1] = (start >> 16) & 0xff;
- slider->c0[2] = (start >> 8) & 0xff;
- slider->c0[3] = start & 0xff;
-
- slider->cm[0] = mid >> 24;
- slider->cm[1] = (mid >> 16) & 0xff;
- slider->cm[2] = (mid >> 8) & 0xff;
- slider->cm[3] = mid & 0xff;
-
- slider->c1[0] = end >> 24;
- slider->c1[1] = (end >> 16) & 0xff;
- slider->c1[2] = (end >> 8) & 0xff;
- slider->c1[3] = end & 0xff;
-
- gtk_widget_queue_draw (GTK_WIDGET (slider));
-}
-
-void
-sp_color_slider_set_map (SPColorSlider *slider, const guchar *map)
-{
- g_return_if_fail (slider != NULL);
- g_return_if_fail (SP_IS_COLOR_SLIDER (slider));
-
- slider->map = const_cast<guchar *>(map);
-
- gtk_widget_queue_draw (GTK_WIDGET (slider));
-}
-
-void
-sp_color_slider_set_background (SPColorSlider *slider, guint dark, guint light, guint size)
-{
- g_return_if_fail (slider != NULL);
- g_return_if_fail (SP_IS_COLOR_SLIDER (slider));
-
- slider->b0 = dark;
- slider->b1 = light;
- slider->bmask = size;
-
- gtk_widget_queue_draw (GTK_WIDGET (slider));
-}
-
-static void
-sp_color_slider_adjustment_changed (GtkAdjustment */*adjustment*/, SPColorSlider *slider)
-{
- gtk_widget_queue_draw (GTK_WIDGET (slider));
-}
-
-static void
-sp_color_slider_adjustment_value_changed (GtkAdjustment *adjustment, SPColorSlider *slider)
-{
- GtkWidget *widget;
-
- widget = GTK_WIDGET (slider);
-
- if (slider->value != ColorScales::getScaled( adjustment )) {
- gint cx, cy, cw, ch;
- GtkStyle *style = gtk_widget_get_style(widget);
- GtkAllocation allocation;
- gtk_widget_get_allocation(widget, &allocation);
- cx = style->xthickness;
- cy = style->ythickness;
- cw = allocation.width - 2 * cx;
- ch = allocation.height - 2 * cy;
- if ((gint) (ColorScales::getScaled( adjustment ) * cw) != (gint) (slider->value * cw)) {
- gint ax, ay;
- gfloat value;
- value = slider->value;
- slider->value = ColorScales::getScaled( adjustment );
- ax = (int)(cx + value * cw - ARROW_SIZE / 2 - 2);
- ay = cy;
- gtk_widget_queue_draw_area (widget, ax, ay, ARROW_SIZE + 4, ch);
- ax = (int)(cx + slider->value * cw - ARROW_SIZE / 2 - 2);
- ay = cy;
- gtk_widget_queue_draw_area (widget, ax, ay, ARROW_SIZE + 4, ch);
- } else {
- slider->value = ColorScales::getScaled( adjustment );
- }
- }
-}
-
-static gboolean sp_color_slider_draw(GtkWidget *widget, cairo_t *cr)
-{
- SPColorSlider *slider = SP_COLOR_SLIDER(widget);
-
- gboolean colorsOnTop = Inkscape::Preferences::get()->getBool("/options/workarounds/colorsontop", false);
-
- GtkAllocation allocation;
- gtk_widget_get_allocation(widget, &allocation);
-
-#if GTK_CHECK_VERSION(3,0,0)
- GtkStyleContext *context = gtk_widget_get_style_context(widget);
-#else
- GdkWindow *window = gtk_widget_get_window(widget);
- GtkStyle *style = gtk_widget_get_style(widget);
-#endif
-
- // Draw shadow
- if (colorsOnTop) {
-#if GTK_CHECK_VERSION(3,0,0)
- gtk_render_frame(context,
- cr,
- 0, 0,
- allocation.width, allocation.height);
-#else
- gtk_paint_shadow( style, window,
- gtk_widget_get_state(widget), GTK_SHADOW_IN,
- NULL, widget, "colorslider",
- 0, 0,
- allocation.width, allocation.height);
-#endif
- }
-
- /* Paintable part of color gradient area */
- GdkRectangle carea;
-
-#if GTK_CHECK_VERSION(3,0,0)
- GtkBorder padding;
-
- gtk_style_context_get_padding(context,
- gtk_widget_get_state_flags(widget),
- &padding);
-
- carea.x = padding.left;
- carea.y = padding.top;
-#else
- carea.x = style->xthickness;
- carea.y = style->ythickness;
-#endif
-
- carea.width = allocation.width - 2 * carea.x;
- carea.height = allocation.height - 2 * carea.y;
-
- if (slider->map) {
- /* Render map pixelstore */
- gint d = (1024 << 16) / carea.width;
- gint s = 0;
-
- const guchar *b = sp_color_slider_render_map(0, 0, carea.width, carea.height,
- slider->map, s, d,
- slider->b0, slider->b1, slider->bmask);
-
- if (b != NULL && carea.width > 0) {
- GdkPixbuf *pb = gdk_pixbuf_new_from_data (b, GDK_COLORSPACE_RGB,
- 0, 8, carea.width, carea.height, carea.width * 3, NULL, NULL);
-
- gdk_cairo_set_source_pixbuf(cr, pb, carea.x, carea.y);
- cairo_paint(cr);
- g_object_unref(pb);
- }
-
- } else {
- gint c[4], dc[4];
-
- /* Render gradient */
-
- // part 1: from c0 to cm
- if (carea.width > 0) {
- for (gint i = 0; i < 4; i++) {
- c[i] = slider->c0[i] << 16;
- dc[i] = ((slider->cm[i] << 16) - c[i]) / (carea.width/2);
- }
- guint wi = carea.width/2;
- const guchar *b = sp_color_slider_render_gradient(0, 0, wi, carea.height,
- c, dc, slider->b0, slider->b1, slider->bmask);
-
- /* Draw pixelstore 1 */
- if (b != NULL && wi > 0) {
- GdkPixbuf *pb = gdk_pixbuf_new_from_data (b, GDK_COLORSPACE_RGB,
- 0, 8, wi, carea.height, wi * 3, NULL, NULL);
-
- gdk_cairo_set_source_pixbuf(cr, pb, carea.x, carea.y);
- cairo_paint(cr);
- g_object_unref(pb);
- }
- }
-
- // part 2: from cm to c1
- if (carea.width > 0) {
- for (gint i = 0; i < 4; i++) {
- c[i] = slider->cm[i] << 16;
- dc[i] = ((slider->c1[i] << 16) - c[i]) / (carea.width/2);
- }
- guint wi = carea.width/2;
- const guchar *b = sp_color_slider_render_gradient(carea.width/2, 0, wi, carea.height,
- c, dc,
- slider->b0, slider->b1, slider->bmask);
-
- /* Draw pixelstore 2 */
- if (b != NULL && wi > 0) {
- GdkPixbuf *pb = gdk_pixbuf_new_from_data (b, GDK_COLORSPACE_RGB,
- 0, 8, wi, carea.height, wi * 3, NULL, NULL);
-
- gdk_cairo_set_source_pixbuf(cr, pb, carea.width/2 + carea.x, carea.y);
- cairo_paint(cr);
-
- g_object_unref(pb);
- }
- }
- }
-
- /* Draw shadow */
- if (!colorsOnTop) {
-#if GTK_CHECK_VERSION(3,0,0)
- gtk_render_frame(context,
- cr,
- 0, 0,
- allocation.width, allocation.height);
-#else
- gtk_paint_shadow( style, window,
- gtk_widget_get_state(widget), GTK_SHADOW_IN,
- NULL, widget, "colorslider",
- 0, 0,
- allocation.width, allocation.height);
-#endif
- }
-
- /* Draw arrow */
- gint x = (int)(slider->value * (carea.width - 1) - ARROW_SIZE / 2 + carea.x);
- gint y1 = carea.y;
- gint y2 = carea.y + carea.height - 1;
- cairo_set_line_width(cr, 1.0);
-
- // Define top arrow
- cairo_move_to(cr, x - 0.5, y1 + 0.5);
- cairo_line_to(cr, x + ARROW_SIZE - 0.5, y1 + 0.5);
- cairo_line_to(cr, x + (ARROW_SIZE-1)/2.0, y1 + ARROW_SIZE/2.0 + 0.5);
- cairo_line_to(cr, x - 0.5, y1 + 0.5);
-
- // Define bottom arrow
- cairo_move_to(cr, x - 0.5, y2 + 0.5);
- cairo_line_to(cr, x + ARROW_SIZE - 0.5, y2 + 0.5);
- cairo_line_to(cr, x + (ARROW_SIZE-1)/2.0, y2 - ARROW_SIZE/2.0 + 0.5);
- cairo_line_to(cr, x - 0.5, y2 + 0.5);
-
- // Render both arrows
- cairo_set_source_rgb(cr, 1.0, 1.0, 1.0);
- cairo_stroke_preserve(cr);
- cairo_set_source_rgb(cr, 0.0, 0.0, 0.0);
- cairo_fill(cr);
-
- return FALSE;
-}
-
-/* Colors are << 16 */
-
-static const guchar *
-sp_color_slider_render_gradient (gint x0, gint y0, gint width, gint height,
- gint c[], gint dc[], guint b0, guint b1, guint mask)
-{
- static guchar *buf = NULL;
- static gint bs = 0;
- guchar *dp;
- gint x, y;
- guint r, g, b, a;
-
- if (buf && (bs < width * height)) {
- g_free (buf);
- buf = NULL;
- }
- if (!buf) {
- buf = g_new (guchar, width * height * 3);
- bs = width * height;
- }
-
- dp = buf;
- r = c[0];
- g = c[1];
- b = c[2];
- a = c[3];
- for (x = x0; x < x0 + width; x++) {
- gint cr, cg, cb, ca;
- guchar *d;
- cr = r >> 16;
- cg = g >> 16;
- cb = b >> 16;
- ca = a >> 16;
- d = dp;
- for (y = y0; y < y0 + height; y++) {
- guint bg, fc;
- /* Background value */
- bg = ((x & mask) ^ (y & mask)) ? b0 : b1;
- fc = (cr - bg) * ca;
- d[0] = bg + ((fc + (fc >> 8) + 0x80) >> 8);
- fc = (cg - bg) * ca;
- d[1] = bg + ((fc + (fc >> 8) + 0x80) >> 8);
- fc = (cb - bg) * ca;
- d[2] = bg + ((fc + (fc >> 8) + 0x80) >> 8);
- d += 3 * width;
- }
- r += dc[0];
- g += dc[1];
- b += dc[2];
- a += dc[3];
- dp += 3;
- }
-
- return buf;
-}
-
-/* Positions are << 16 */
-
-static const guchar *
-sp_color_slider_render_map (gint x0, gint y0, gint width, gint height,
- guchar *map, gint start, gint step, guint b0, guint b1, guint mask)
-{
- static guchar *buf = NULL;
- static gint bs = 0;
- guchar *dp;
- gint x, y;
-
- if (buf && (bs < width * height)) {
- g_free (buf);
- buf = NULL;
- }
- if (!buf) {
- buf = g_new (guchar, width * height * 3);
- bs = width * height;
- }
-
- dp = buf;
- for (x = x0; x < x0 + width; x++) {
- gint cr, cg, cb, ca;
- guchar *d = dp;
- guchar *sp = map + 4 * (start >> 16);
- cr = *sp++;
- cg = *sp++;
- cb = *sp++;
- ca = *sp++;
- for (y = y0; y < y0 + height; y++) {
- guint bg, fc;
- /* Background value */
- bg = ((x & mask) ^ (y & mask)) ? b0 : b1;
- fc = (cr - bg) * ca;
- d[0] = bg + ((fc + (fc >> 8) + 0x80) >> 8);
- fc = (cg - bg) * ca;
- d[1] = bg + ((fc + (fc >> 8) + 0x80) >> 8);
- fc = (cb - bg) * ca;
- d[2] = bg + ((fc + (fc >> 8) + 0x80) >> 8);
- d += 3 * width;
- }
- dp += 3;
- start += step;
- }
-
- return buf;
-}
-
diff --git a/src/widgets/sp-color-slider.h b/src/widgets/sp-color-slider.h
deleted file mode 100644
index b81d62e41..000000000
--- a/src/widgets/sp-color-slider.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef __SP_COLOR_SLIDER_H__
-#define __SP_COLOR_SLIDER_H__
-
-/*
- * A slider with colored background
- *
- * Author:
- * Lauris Kaplinski <lauris@kaplinski.com>
- *
- * Copyright (C) 2001-2002 Lauris Kaplinski
- *
- * This code is in public domain
- */
-
-#include <gtk/gtk.h>
-
-#define SP_TYPE_COLOR_SLIDER (sp_color_slider_get_type ())
-#define SP_COLOR_SLIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_COLOR_SLIDER, SPColorSlider))
-#define SP_COLOR_SLIDER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_SLIDER, SPColorSliderClass))
-#define SP_IS_COLOR_SLIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_COLOR_SLIDER))
-#define SP_IS_COLOR_SLIDER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_SLIDER))
-
-struct SPColorSlider {
- GtkWidget widget;
-
- guint dragging : 1;
-
- GtkAdjustment *adjustment;
-
- gfloat value;
- gfloat oldvalue;
- guchar c0[4], cm[4], c1[4];
- guchar b0, b1;
- guchar bmask;
-
- gint mapsize;
- guchar *map;
-};
-
-struct SPColorSliderClass {
- GtkWidgetClass parent_class;
-
- void (* grabbed) (SPColorSlider *slider);
- void (* dragged) (SPColorSlider *slider);
- void (* released) (SPColorSlider *slider);
- void (* changed) (SPColorSlider *slider);
-};
-
-GType sp_color_slider_get_type (void);
-
-GtkWidget *sp_color_slider_new (GtkAdjustment *adjustment);
-
-void sp_color_slider_set_adjustment (SPColorSlider *slider, GtkAdjustment *adjustment);
-void sp_color_slider_set_colors (SPColorSlider *slider, guint32 start, guint32 mid, guint32 end);
-void sp_color_slider_set_map (SPColorSlider *slider, const guchar *map);
-void sp_color_slider_set_background (SPColorSlider *slider, guint dark, guint light, guint size);
-
-
-
-#endif
diff --git a/src/widgets/sp-color-wheel-selector.cpp b/src/widgets/sp-color-wheel-selector.cpp
deleted file mode 100644
index 6cfa7c14d..000000000
--- a/src/widgets/sp-color-wheel-selector.cpp
+++ /dev/null
@@ -1,348 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-#include <math.h>
-#include <gtk/gtk.h>
-#include <glibmm/i18n.h>
-#include "ui/dialog-events.h"
-#include "sp-color-wheel-selector.h"
-#include "sp-color-scales.h"
-#include "sp-color-slider.h"
-#include "sp-color-icc-selector.h"
-#include "../svg/svg-icc-color.h"
-#include "ui/widget/gimpcolorwheel.h"
-
-G_BEGIN_DECLS
-
-static void sp_color_wheel_selector_dispose(GObject *object);
-
-static void sp_color_wheel_selector_show_all (GtkWidget *widget);
-static void sp_color_wheel_selector_hide(GtkWidget *widget);
-
-
-G_END_DECLS
-
-#define XPAD 4
-#define YPAD 1
-
-G_DEFINE_TYPE(SPColorWheelSelector, sp_color_wheel_selector, SP_TYPE_COLOR_SELECTOR);
-
-static void sp_color_wheel_selector_class_init(SPColorWheelSelectorClass *klass)
-{
- static const gchar* nameset[] = {N_("Wheel"), 0};
- GObjectClass *object_class = G_OBJECT_CLASS(klass);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
- SPColorSelectorClass *selector_class = SP_COLOR_SELECTOR_CLASS (klass);
-
- selector_class->name = nameset;
- selector_class->submode_count = 1;
-
- object_class->dispose = sp_color_wheel_selector_dispose;
-
- widget_class->show_all = sp_color_wheel_selector_show_all;
- widget_class->hide = sp_color_wheel_selector_hide;
-}
-
-ColorWheelSelector::ColorWheelSelector( SPColorSelector* csel )
- : ColorSelector( csel ),
- _updating( FALSE ),
- _dragging( FALSE ),
- _adj(0),
- _wheel(0),
- _slider(0),
- _sbtn(0),
- _label(0)
-{
-}
-
-ColorWheelSelector::~ColorWheelSelector()
-{
- _adj = 0;
- _wheel = 0;
- _sbtn = 0;
- _label = 0;
-}
-
-void sp_color_wheel_selector_init (SPColorWheelSelector *cs)
-{
- SP_COLOR_SELECTOR(cs)->base = new ColorWheelSelector( SP_COLOR_SELECTOR(cs) );
-
- if ( SP_COLOR_SELECTOR(cs)->base )
- {
- SP_COLOR_SELECTOR(cs)->base->init();
- }
-}
-
-void ColorWheelSelector::init()
-{
- gint row = 0;
-
- _updating = FALSE;
- _dragging = FALSE;
-
-#if GTK_CHECK_VERSION(3,0,0)
- GtkWidget *t = gtk_grid_new();
-#else
- GtkWidget *t = gtk_table_new (5, 3, FALSE);
-#endif
-
- gtk_widget_show (t);
- gtk_box_pack_start (GTK_BOX (_csel), t, TRUE, TRUE, 0);
-
- /* Create components */
- row = 0;
-
- _wheel = gimp_color_wheel_new();
- gtk_widget_show( _wheel );
-
-#if GTK_CHECK_VERSION(3,0,0)
- gtk_widget_set_halign(_wheel, GTK_ALIGN_FILL);
- gtk_widget_set_valign(_wheel, GTK_ALIGN_FILL);
- gtk_widget_set_hexpand(_wheel, TRUE);
- gtk_widget_set_vexpand(_wheel, TRUE);
- gtk_grid_attach(GTK_GRID(t), _wheel, 0, row, 3, 1);
-#else
- gtk_table_attach(GTK_TABLE(t), _wheel, 0, 3, row, row + 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), 0, 0);
-#endif
-
- row++;
-
- /* Label */
- _label = gtk_label_new_with_mnemonic (_("_A:"));
- gtk_misc_set_alignment (GTK_MISC (_label), 1.0, 0.5);
- gtk_widget_show (_label);
-
-#if GTK_CHECK_VERSION(3,0,0)
- #if GTK_CHECK_VERSION(3,12,0)
- gtk_widget_set_margin_start(_label, XPAD);
- gtk_widget_set_margin_end(_label, XPAD);
- #else
- gtk_widget_set_margin_left(_label, XPAD);
- gtk_widget_set_margin_right(_label, XPAD);
- #endif
- gtk_widget_set_margin_top(_label, YPAD);
- gtk_widget_set_margin_bottom(_label, YPAD);
- gtk_widget_set_halign(_label, GTK_ALIGN_FILL);
- gtk_widget_set_valign(_label, GTK_ALIGN_FILL);
- gtk_grid_attach(GTK_GRID(t), _label, 0, row, 1, 1);
-#else
- gtk_table_attach (GTK_TABLE (t), _label, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, XPAD, YPAD);
-#endif
-
- /* Adjustment */
- _adj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 255.0, 1.0, 10.0, 10.0));
-
- /* Slider */
- _slider = sp_color_slider_new (_adj);
- gtk_widget_set_tooltip_text (_slider, _("Alpha (opacity)"));
- gtk_widget_show (_slider);
-
-#if GTK_CHECK_VERSION(3,0,0)
- #if GTK_CHECK_VERSION(3,12,0)
- gtk_widget_set_margin_start(_slider, XPAD);
- gtk_widget_set_margin_end(_slider, XPAD);
- #else
- gtk_widget_set_margin_left(_slider, XPAD);
- gtk_widget_set_margin_right(_slider, XPAD);
- #endif
- gtk_widget_set_margin_top(_slider, YPAD);
- gtk_widget_set_margin_bottom(_slider, YPAD);
- gtk_widget_set_hexpand(_slider, TRUE);
- gtk_widget_set_halign(_slider, GTK_ALIGN_FILL);
- gtk_widget_set_valign(_slider, GTK_ALIGN_FILL);
- gtk_grid_attach(GTK_GRID(t), _slider, 1, row, 1, 1);
-#else
- gtk_table_attach(GTK_TABLE (t), _slider, 1, 2, row, row + 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), GTK_FILL, XPAD, YPAD);
-#endif
-
- sp_color_slider_set_colors (SP_COLOR_SLIDER (_slider),
- SP_RGBA32_F_COMPOSE (1.0, 1.0, 1.0, 0.0),
- SP_RGBA32_F_COMPOSE (1.0, 1.0, 1.0, 0.5),
- SP_RGBA32_F_COMPOSE (1.0, 1.0, 1.0, 1.0));
-
-
- /* Spinbutton */
- _sbtn = gtk_spin_button_new (GTK_ADJUSTMENT (_adj), 1.0, 0);
- gtk_widget_set_tooltip_text (_sbtn, _("Alpha (opacity)"));
- sp_dialog_defocus_on_enter (_sbtn);
- gtk_label_set_mnemonic_widget (GTK_LABEL(_label), _sbtn);
- gtk_widget_show (_sbtn);
-
-#if GTK_CHECK_VERSION(3,0,0)
- #if GTK_CHECK_VERSION(3,12,0)
- gtk_widget_set_margin_start(_sbtn, XPAD);
- gtk_widget_set_margin_end(_sbtn, XPAD);
- #else
- gtk_widget_set_margin_left(_sbtn, XPAD);
- gtk_widget_set_margin_right(_sbtn, XPAD);
- #endif
- gtk_widget_set_margin_top(_sbtn, YPAD);
- gtk_widget_set_margin_bottom(_sbtn, YPAD);
- gtk_widget_set_halign(_sbtn, GTK_ALIGN_CENTER);
- gtk_widget_set_valign(_sbtn, GTK_ALIGN_CENTER);
- gtk_grid_attach(GTK_GRID(t), _sbtn, 2, row, 1, 1);
-#else
- gtk_table_attach (GTK_TABLE (t), _sbtn, 2, 3, row, row + 1, (GtkAttachOptions)0, (GtkAttachOptions)0, XPAD, YPAD);
-#endif
-
- /* Signals */
- g_signal_connect (G_OBJECT (_adj), "value_changed",
- G_CALLBACK (_adjustmentChanged), _csel);
-
- g_signal_connect (G_OBJECT (_slider), "grabbed",
- G_CALLBACK (_sliderGrabbed), _csel);
- g_signal_connect (G_OBJECT (_slider), "released",
- G_CALLBACK (_sliderReleased), _csel);
- g_signal_connect (G_OBJECT (_slider), "changed",
- G_CALLBACK (_sliderChanged), _csel);
-
- g_signal_connect( G_OBJECT(_wheel), "changed",
- G_CALLBACK (_wheelChanged), _csel );
-}
-
-static void sp_color_wheel_selector_dispose(GObject *object)
-{
- if (G_OBJECT_CLASS(sp_color_wheel_selector_parent_class)->dispose)
- G_OBJECT_CLASS(sp_color_wheel_selector_parent_class)->dispose(object);
-}
-
-static void
-sp_color_wheel_selector_show_all (GtkWidget *widget)
-{
- gtk_widget_show (widget);
-}
-
-static void sp_color_wheel_selector_hide(GtkWidget *widget)
-{
- gtk_widget_hide(widget);
-}
-
-GtkWidget *sp_color_wheel_selector_new()
-{
- SPColorWheelSelector *csel = SP_COLOR_WHEEL_SELECTOR(g_object_new (SP_TYPE_COLOR_WHEEL_SELECTOR, NULL));
-
- return GTK_WIDGET (csel);
-}
-
-/* Helpers for setting color value */
-
-static void preserve_icc(SPColor *color, SPColorWheelSelector *cs){
- ColorSelector* selector = static_cast<ColorSelector*>(SP_COLOR_SELECTOR(cs)->base);
- color->icc = selector->getColor().icc ? new SVGICCColor(*selector->getColor().icc) : 0;
-}
-
-void ColorWheelSelector::_colorChanged()
-{
-#ifdef DUMP_CHANGE_INFO
- g_message("ColorWheelSelector::_colorChanged( this=%p, %f, %f, %f, %f)", this, color.v.c[0], color.v.c[1], color.v.c[2], alpha );
-#endif
- _updating = TRUE;
- {
- float hsv[3] = {0,0,0};
- sp_color_rgb_to_hsv_floatv(hsv, _color.v.c[0], _color.v.c[1], _color.v.c[2]);
- gimp_color_wheel_set_color( GIMP_COLOR_WHEEL(_wheel), hsv[0], hsv[1], hsv[2] );
- }
-
- guint32 start = _color.toRGBA32( 0x00 );
- guint32 mid = _color.toRGBA32( 0x7f );
- guint32 end = _color.toRGBA32( 0xff );
-
- sp_color_slider_set_colors(SP_COLOR_SLIDER(_slider), start, mid, end);
-
- ColorScales::setScaled(_adj, _alpha);
-
- _updating = FALSE;
-}
-
-void ColorWheelSelector::_adjustmentChanged( GtkAdjustment *adjustment, SPColorWheelSelector *cs )
-{
-// TODO check this. It looks questionable:
- // if a value is entered between 0 and 1 exclusive, normalize it to (int) 0..255 or 0..100
- gdouble value = gtk_adjustment_get_value (adjustment);
- gdouble upper = gtk_adjustment_get_upper (adjustment);
-
- if (value > 0.0 && value < 1.0) {
- gtk_adjustment_set_value( adjustment, floor (value * upper + 0.5) );
- }
-
- ColorWheelSelector* wheelSelector = static_cast<ColorWheelSelector*>(SP_COLOR_SELECTOR(cs)->base);
- if (wheelSelector->_updating) return;
-
- wheelSelector->_updating = TRUE;
-
- preserve_icc(&wheelSelector->_color, cs);
- wheelSelector->_updateInternals( wheelSelector->_color, ColorScales::getScaled( wheelSelector->_adj ), wheelSelector->_dragging );
-
- wheelSelector->_updating = FALSE;
-}
-
-void ColorWheelSelector::_sliderGrabbed( SPColorSlider *slider, SPColorWheelSelector *cs )
-{
- (void)slider;
- ColorWheelSelector* wheelSelector = static_cast<ColorWheelSelector*>(SP_COLOR_SELECTOR(cs)->base);
- if (!wheelSelector->_dragging) {
- wheelSelector->_dragging = TRUE;
- wheelSelector->_grabbed();
-
- preserve_icc(&wheelSelector->_color, cs);
- wheelSelector->_updateInternals( wheelSelector->_color, ColorScales::getScaled( wheelSelector->_adj ), wheelSelector->_dragging );
- }
-}
-
-void ColorWheelSelector::_sliderReleased( SPColorSlider *slider, SPColorWheelSelector *cs )
-{
- (void)slider;
- ColorWheelSelector* wheelSelector = static_cast<ColorWheelSelector*>(SP_COLOR_SELECTOR(cs)->base);
- if (wheelSelector->_dragging) {
- wheelSelector->_dragging = FALSE;
- wheelSelector->_released();
-
- preserve_icc(&wheelSelector->_color, cs);
- wheelSelector->_updateInternals( wheelSelector->_color, ColorScales::getScaled( wheelSelector->_adj ), wheelSelector->_dragging );
- }
-}
-
-void ColorWheelSelector::_sliderChanged( SPColorSlider *slider, SPColorWheelSelector *cs )
-{
- (void)slider;
- ColorWheelSelector* wheelSelector = static_cast<ColorWheelSelector*>(SP_COLOR_SELECTOR(cs)->base);
-
- preserve_icc(&wheelSelector->_color, cs);
- wheelSelector->_updateInternals( wheelSelector->_color, ColorScales::getScaled( wheelSelector->_adj ), wheelSelector->_dragging );
-}
-
-void ColorWheelSelector::_wheelChanged( GimpColorWheel *wheel, SPColorWheelSelector *cs )
-{
- ColorWheelSelector* wheelSelector = static_cast<ColorWheelSelector*>(SP_COLOR_SELECTOR(cs)->base);
-
- gdouble h = 0;
- gdouble s = 0;
- gdouble v = 0;
- gimp_color_wheel_get_color( wheel, &h, &s, &v );
-
- float rgb[3] = {0,0,0};
- sp_color_hsv_to_rgb_floatv (rgb, h, s, v);
-
- SPColor color(rgb[0], rgb[1], rgb[2]);
-
- guint32 start = color.toRGBA32( 0x00 );
- guint32 mid = color.toRGBA32( 0x7f );
- guint32 end = color.toRGBA32( 0xff );
-
- sp_color_slider_set_colors (SP_COLOR_SLIDER(wheelSelector->_slider), start, mid, end);
-
- preserve_icc(&color, cs);
- wheelSelector->_updateInternals( color, wheelSelector->_alpha, gimp_color_wheel_is_adjusting(wheel) );
-}
-
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/widgets/sp-color-wheel-selector.h b/src/widgets/sp-color-wheel-selector.h
deleted file mode 100644
index 12b060dbe..000000000
--- a/src/widgets/sp-color-wheel-selector.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef SEEN_SP_COLOR_WHEEL_SELECTOR_H
-#define SEEN_SP_COLOR_WHEEL_SELECTOR_H
-
-#include <gtk/gtk.h>
-
-#include "sp-color-selector.h"
-
-typedef struct _GimpColorWheel GimpColorWheel;
-struct SPColorSlider;
-struct SPColorWheelSelector;
-struct SPColorWheelSelectorClass;
-
-class ColorWheelSelector: public ColorSelector
-{
-public:
- ColorWheelSelector( SPColorSelector* csel );
- virtual ~ColorWheelSelector();
-
- virtual void init();
-
-protected:
- virtual void _colorChanged();
-
- static void _adjustmentChanged ( GtkAdjustment *adjustment, SPColorWheelSelector *cs );
-
- static void _sliderGrabbed( SPColorSlider *slider, SPColorWheelSelector *cs );
- static void _sliderReleased( SPColorSlider *slider, SPColorWheelSelector *cs );
- static void _sliderChanged( SPColorSlider *slider, SPColorWheelSelector *cs );
- static void _wheelChanged( GimpColorWheel *wheel, SPColorWheelSelector *cs );
-
- static void _fooChanged( GtkWidget foo, SPColorWheelSelector *cs );
-
- void _recalcColor( gboolean changing );
-
- gboolean _updating : 1;
- gboolean _dragging : 1;
- GtkAdjustment* _adj; // Channel adjustment
- GtkWidget* _wheel;
- GtkWidget* _slider;
- GtkWidget* _sbtn; // Spinbutton
- GtkWidget* _label; // Label
-
-private:
- // By default, disallow copy constructor and assignment operator
- ColorWheelSelector( const ColorWheelSelector& obj );
- ColorWheelSelector& operator=( const ColorWheelSelector& obj );
-};
-
-
-
-#define SP_TYPE_COLOR_WHEEL_SELECTOR (sp_color_wheel_selector_get_type ())
-#define SP_COLOR_WHEEL_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_COLOR_WHEEL_SELECTOR, SPColorWheelSelector))
-#define SP_COLOR_WHEEL_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_WHEEL_SELECTOR, SPColorWheelSelectorClass))
-#define SP_IS_COLOR_WHEEL_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_COLOR_WHEEL_SELECTOR))
-#define SP_IS_COLOR_WHEEL_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_WHEEL_SELECTOR))
-
-struct SPColorWheelSelector {
- SPColorSelector parent;
-};
-
-struct SPColorWheelSelectorClass {
- SPColorSelectorClass parent_class;
-};
-
-GType sp_color_wheel_selector_get_type (void);
-
-GtkWidget *sp_color_wheel_selector_new (void);
-
-
-
-#endif // SEEN_SP_COLOR_WHEEL_SELECTOR_H
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/widgets/swatch-selector.cpp b/src/widgets/swatch-selector.cpp
index 7178ad072..6f2807255 100644
--- a/src/widgets/swatch-selector.cpp
+++ b/src/widgets/swatch-selector.cpp
@@ -5,11 +5,11 @@
#include "document-undo.h"
#include "gradient-chemistry.h"
#include "gradient-selector.h"
-#include "sp-color-notebook.h"
#include "sp-stop.h"
#include "svg/css-ostringstream.h"
#include "svg/svg-color.h"
#include "verbs.h"
+#include "ui/widget/color-notebook.h"
#include "xml/node.h"
namespace Inkscape
@@ -20,8 +20,10 @@ namespace Widgets
SwatchSelector::SwatchSelector() :
Gtk::VBox(),
_gsel(0),
- _csel(0)
+ _updating_color(false)
{
+ using Inkscape::UI::Widget::ColorNotebook;
+
GtkWidget *gsel = sp_gradient_selector_new();
_gsel = SP_GRADIENT_SELECTOR(gsel);
g_object_set_data( G_OBJECT(gobj()), "base", this );
@@ -31,27 +33,18 @@ SwatchSelector::SwatchSelector() :
pack_start(*Gtk::manage(Glib::wrap(gsel)));
+ Gtk::Widget *color_selector = Gtk::manage(new ColorNotebook(_selected_color));
+ color_selector->show();
+ pack_start(*color_selector);
- GtkWidget *csel = sp_color_selector_new( SP_TYPE_COLOR_NOTEBOOK );
- _csel = SP_COLOR_SELECTOR(csel);
- Gtk::Widget *wrappedCSel = Glib::wrap(csel);
- wrappedCSel->show();
- //gtk_widget_show(csel);
-
-
- GObject *obj = G_OBJECT(csel);
-
- g_signal_connect(obj, "grabbed", G_CALLBACK(_grabbedCb), this);
- g_signal_connect(obj, "dragged", G_CALLBACK(_draggedCb), this);
- g_signal_connect(obj, "released", G_CALLBACK(_releasedCb), this);
- g_signal_connect(obj, "changed", G_CALLBACK(_changedCb), this);
-
- pack_start(*Gtk::manage(wrappedCSel));
+ _selected_color.signal_grabbed.connect(sigc::mem_fun(this, &SwatchSelector::_grabbedCb));
+ _selected_color.signal_dragged.connect(sigc::mem_fun(this, &SwatchSelector::_draggedCb));
+ _selected_color.signal_released.connect(sigc::mem_fun(this, &SwatchSelector::_releasedCb));
+ _selected_color.signal_changed.connect(sigc::mem_fun(this, &SwatchSelector::_changedCb));
}
SwatchSelector::~SwatchSelector()
{
- _csel = 0; // dtor should be handled by Gtk::manage()
_gsel = 0;
}
@@ -60,13 +53,13 @@ SPGradientSelector *SwatchSelector::getGradientSelector()
return _gsel;
}
-void SwatchSelector::_grabbedCb(SPColorSelector * /*csel*/, void * /*data*/)
+void SwatchSelector::_grabbedCb()
{
}
-void SwatchSelector::_draggedCb(SPColorSelector * /*csel*/, void *data)
+void SwatchSelector::_draggedCb()
{
- if (data) {
+ // if (data) {
//SwatchSelector *swsel = reinterpret_cast<SwatchSelector*>(data);
// TODO might have to block cycles
@@ -92,50 +85,46 @@ void SwatchSelector::_draggedCb(SPColorSelector * /*csel*/, void *data)
}
}
*/
- }
+ // }
}
-void SwatchSelector::_releasedCb(SPColorSelector * /*csel*/, void * /*data*/)
+void SwatchSelector::_releasedCb()
{
}
-void SwatchSelector::_changedCb(SPColorSelector */*csel*/, void *data)
+void SwatchSelector::_changedCb()
{
- if (data) {
- SwatchSelector *swsel = reinterpret_cast<SwatchSelector*>(data);
+ if (_updating_color) {
+ return;
+ }
+ // TODO might have to block cycles
+
+ if (_gsel && _gsel->getVector()) {
+ SPGradient *gradient = _gsel->getVector();
+ SPGradient *ngr = sp_gradient_ensure_vector_normalized(gradient);
+ if (ngr != gradient) {
+ /* Our master gradient has changed */
+ // TODO replace with proper - sp_gradient_vector_widget_load_gradient(GTK_WIDGET(swsel->_gsel), ngr);
+ }
- // TODO might have to block cycles
+ ngr->ensureVector();
- if (swsel->_gsel && swsel->_gsel->getVector()) {
- SPGradient *gradient = swsel->_gsel->getVector();
- SPGradient *ngr = sp_gradient_ensure_vector_normalized(gradient);
- if (ngr != gradient) {
- /* Our master gradient has changed */
- // TODO replace with proper - sp_gradient_vector_widget_load_gradient(GTK_WIDGET(swsel->_gsel), ngr);
- }
- ngr->ensureVector();
+ SPStop* stop = ngr->getFirstStop();
+ if (stop) {
+ SPColor color = _selected_color.color();
+ gfloat alpha = _selected_color.alpha();
+ guint32 rgb = color.toRGBA32( 0x00 );
+ // TODO replace with generic shared code that also handles icc-color
+ Inkscape::CSSOStringStream os;
+ gchar c[64];
+ sp_svg_write_color(c, sizeof(c), rgb);
+ os << "stop-color:" << c << ";stop-opacity:" << static_cast<gdouble>(alpha) <<";";
+ stop->getRepr()->setAttribute("style", os.str().c_str());
- SPStop* stop = ngr->getFirstStop();
- if (stop) {
- SPColor color;
- float alpha = 0;
- guint32 rgb = 0;
-
- swsel->_csel->base->getColorAlpha( color, alpha );
- rgb = color.toRGBA32( 0x00 );
-
- // TODO replace with generic shared code that also handles icc-color
- Inkscape::CSSOStringStream os;
- gchar c[64];
- sp_svg_write_color(c, sizeof(c), rgb);
- os << "stop-color:" << c << ";stop-opacity:" << static_cast<gdouble>(alpha) <<";";
- stop->getRepr()->setAttribute("style", os.str().c_str());
-
- DocumentUndo::done(ngr->document, SP_VERB_CONTEXT_GRADIENT,
- _("Change swatch color"));
- }
+ DocumentUndo::done(ngr->document, SP_VERB_CONTEXT_GRADIENT,
+ _("Change swatch color"));
}
}
}
@@ -173,11 +162,10 @@ void SwatchSelector::setVector(SPDocument */*doc*/, SPGradient *vector)
SPStop* stop = vector->getFirstStop();
guint32 const colorVal = stop->get_rgba32();
- _csel->base->setAlpha(SP_RGBA32_A_F(colorVal));
- SPColor color( SP_RGBA32_R_F(colorVal), SP_RGBA32_G_F(colorVal), SP_RGBA32_B_F(colorVal) );
- // set its color, from the stored array
- _csel->base->setColor( color );
- gtk_widget_show_all( GTK_WIDGET(_csel) );
+ _updating_color = true;
+ _selected_color.setValue(colorVal);
+ _updating_color = false;
+ // gtk_widget_show_all( GTK_WIDGET(_csel) );
} else {
//gtk_widget_hide( GTK_WIDGET(_csel) );
}
diff --git a/src/widgets/swatch-selector.h b/src/widgets/swatch-selector.h
index 4b7aa483f..16a8cfac8 100644
--- a/src/widgets/swatch-selector.h
+++ b/src/widgets/swatch-selector.h
@@ -2,6 +2,7 @@
#define SEEN_SP_SWATCH_SELECTOR_H
#include <gtkmm/box.h>
+#include "ui/selected-color.h"
class SPDocument;
class SPGradient;
@@ -29,13 +30,14 @@ public:
SPGradientSelector *getGradientSelector();
private:
- static void _grabbedCb(SPColorSelector *csel, void *data);
- static void _draggedCb(SPColorSelector *csel, void *data);
- static void _releasedCb(SPColorSelector *csel, void *data);
- static void _changedCb(SPColorSelector *csel, void *data);
+ void _grabbedCb();
+ void _draggedCb();
+ void _releasedCb();
+ void _changedCb();
SPGradientSelector *_gsel;
- SPColorSelector *_csel;
+ Inkscape::UI::SelectedColor _selected_color;
+ bool _updating_color;
};