diff options
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) @@ -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 <" "defs>)" 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°; 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°; 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 × %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 × %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 × %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 × %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 × %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 <" "defs> 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 > Pattern > 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)" @@ -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 <defs>)" msgstr "Objekts, ko mēģinÄt atlasÄ«t, <b>nav redzams</b> (tas atrodas <defs>)" -#: ../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°; with <b>Ctrl</b> to snap angle" msgstr "<b>Å Ä·iebt</b>: %0.2f°; 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°; with <b>Ctrl</b> to snap angle" msgstr "<b>Griezt</b>: %0.2f°; 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 × %d: %s" msgstr "%d × %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°, distance %s; with <b>Ctrl</b> to msgstr "<b>LÄ«nijas posms</b>: leņķis %3.2f°, 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°, 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°, 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°, 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°, 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°, 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°, 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 × %s (constrained to ratio %d:%d); with <b>Shift</b> to draw around the starting point" msgstr "<b>TaisnstÅ«ris</b>: %s × %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 × %s (constrained to golden ratio 1.618 : 1); with <b>Shift</b> to draw around the starting point" msgstr "<b>TaisnstÅ«ris</b>: %s × %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 × %s (constrained to golden ratio 1 : 1.618); with <b>Shift</b> to draw around the starting point" msgstr "<b>TaisnstÅ«ris</b>: %s × %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 × %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 × %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 <defs> of the document" msgstr "AizvÄkt neizmantotos iestatÄ«jumus (piemÄ“ram, krÄsu pÄrejas vai izgrieÅ¡anas ceļus) no dokumenta <defs>" -#: ../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 > Pattern > 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 > FaktÅ«ra > 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" @@ -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 <" "defs>)" @@ -12550,132 +12548,132 @@ msgstr "" "Об'єкт, Ñкий ви намагаєтеÑÑŒ позначити, Ñ” <b>невидимим</b> (знаходитьÑÑ Ñƒ <" "defs>)" -#: ../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°; with <b>Ctrl</b> to snap angle" msgstr "<b>Ðахил</b>: %0.2f°; з <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°; with <b>Ctrl</b> to snap angle" msgstr "<b>ОбертаннÑ</b>: %0.2f°; з <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 × %d: %s" msgstr "%d × %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 × %s (constrained to ratio %d:%d); with <b>Shift</" @@ -23725,7 +23729,7 @@ msgstr "" "<b>ПрÑмокутник</b>: %s × %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 × %s (constrained to golden ratio 1.618 : 1); with " @@ -23734,7 +23738,7 @@ msgstr "" "<b>ПрÑмокутник</b>: %s × %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 × %s (constrained to golden ratio 1 : 1.618); with " @@ -23743,7 +23747,7 @@ msgstr "" "<b>ПрÑмокутник</b>: %s × %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 × %s; with <b>Ctrl</b> to make square or integer-" @@ -23752,7 +23756,7 @@ msgstr "" "<b>ПрÑмокутник</b>: %s × %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 <" "defs> of the document" @@ -25214,145 +25255,145 @@ msgstr "" "Прибрати непотрібні Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (наприклад, градієнти чи вирізаннÑ) з <" "defs> документа" -#: ../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 > Pattern > Objects to Pattern</b> to " @@ -28757,27 +28802,27 @@ msgstr "" "Візерунок > Об'єкти у візерунок</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; }; |
